source: general/prog/tcl.xml@ 8c9ec303

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 8c9ec303 was 8c9ec303, checked in by Randy McMurchy <randy@…>, 19 years ago

Added MD5 sum to GCC-3.3.4 instructions; split long sed command in Tcl instructions to fit on the PDF page; added indexing tags to GCC-3.4.1 instructions

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3373 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 5.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7<!ENTITY tcl-download-http "http://prdownloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz">
8<!ENTITY tcl-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tcl&tcl-version;-src.tar.gz">
9<!ENTITY tcl-size "3.4 MB">
10<!ENTITY tcl-buildsize "34 MB">
11<!ENTITY tcl-time "0.33 SBU">
12]>
13
14<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
15<sect1info>
16<othername>$LastChangedBy$</othername>
17<date>$Date$</date>
18</sect1info>
19<?dbhtml filename="tcl.html"?>
20<title>Tcl-&tcl-version;</title>
21<indexterm zone="tcl">
22<primary sortas="a-Tcl">Tcl</primary></indexterm>
23
24<sect2>
25<title>Introduction to <application>Tcl</application></title>
26
27<para>The <application>Tcl</application> package contains the Tool Command
28Language, a robust general-purpose scripting language.</para>
29
30<sect3><title>Package information</title>
31<itemizedlist spacing='compact'>
32<listitem><para>Download (HTTP): <ulink
33url="&tcl-download-http;"/></para></listitem>
34<listitem><para>Download (FTP): <ulink
35url="&tcl-download-ftp;"/></para></listitem>
36<listitem><para>Download size: &tcl-size;</para></listitem>
37<listitem><para>Estimated disk space required:
38&tcl-buildsize;</para></listitem>
39<listitem><para>Estimated build time:
40&tcl-time;</para></listitem></itemizedlist>
41</sect3>
42
43</sect2>
44
45<sect2>
46<title>Installation of <application>Tcl</application></title>
47
48<note><para>This package is also installed in <acronym>LFS</acronym> during
49the bootstrap phase. The significant difference between the two installations
50(other than installing to <filename class="directory">/usr</filename>) is the
51package is installed in such a way that there is no need to keep the build
52directory around after installation.</para></note>
53
54<para>Install <application>Tcl</application> by running the following
55commands:</para>
56
57<screen><userinput><command>export VERSION=&tcl-version; &amp;&amp;
58export V=`echo $VERSION | cut -d "." -f 1,2` &amp;&amp;
59export DIR=$PWD &amp;&amp;
60cd unix &amp;&amp;
61./configure --prefix=/usr --enable-threads &amp;&amp;
62make &amp;&amp;
63sed -i "s:${DIR}/unix:/usr/lib:" tclConfig.sh &amp;&amp;
64sed -i "s:${DIR}:/usr/include/tcl${V}:" tclConfig.sh &amp;&amp;
65sed -i "s,^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so',\
66TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"," tclConfig.sh</command></userinput></screen>
67
68<para>Now, as the root user:</para>
69
70<screen><userinput role='root'><command>make install &amp;&amp;
71install -d /usr/include/tcl${V}/unix &amp;&amp;
72install -m644 *.h /usr/include/tcl${V}/unix/ &amp;&amp;
73install -d /usr/include/tcl${V}/generic &amp;&amp;
74install -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &amp;&amp;
75rm -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &amp;&amp;
76ln -nsf ../../include/tcl${V} /usr/lib/tcl${V}/include &amp;&amp;
77ln -sf libtcl${V}.so /usr/lib/libtcl.so &amp;&amp;
78ln -sf tclsh${V} /usr/bin/tclsh</command></userinput></screen>
79
80<para>Clean up the unprivileged user's environment using the following
81commands:</para>
82
83<screen><userinput><command>unset VERSION &amp;&amp;
84unset V &amp;&amp;
85unset DIR</command></userinput></screen>
86
87<!--
88<caution><para>If you build the package as an ordinary user and then switch to
89root to install the package, ensure you set the environment variables
90<envar>V</envar> and <envar>VERSION</envar> before running the installation
91commands.</para></caution>
92-->
93
94</sect2>
95
96<sect2>
97<title>Command explanations</title>
98
99<para><parameter>--enable-threads</parameter>: This switch forces the package
100to build with thread support.</para>
101
102<para><command>sed -i ...</command>: The <application>Tcl</application>
103package assumes that the source that is used to build
104<application>Tcl</application> is always kept around for compiling packages
105that depend on <application>Tcl</application>. These <command>sed</command>s
106remove the reference to the build directory and replace them by saner system
107wide locations.</para>
108
109<para><command>install ...</command>: These commands install the internal
110headers into a system-wide location.</para>
111
112<para><command>ln -sf ...</command>: These commands create compatibility
113symbolic links.</para>
114</sect2>
115
116<sect2>
117<title>Contents</title>
118
119<segmentedlist>
120<segtitle>Installed Program</segtitle>
121<segtitle>Installed Libraries</segtitle>
122<segtitle>Installed Directories</segtitle>
123<seglistitem>
124<seg>tclsh</seg>
125<seg>libtcl.so and libtclstub8.4.a</seg>
126<seg>/usr/lib/tcl8.4 and /usr/include/tcl8.4</seg></seglistitem>
127</segmentedlist>
128
129<variablelist>
130<bridgehead renderas="sect3">Short Descriptions</bridgehead>
131<?dbfo list-presentation="list"?>
132
133<varlistentry id="tclsh">
134<term><command>tclsh</command></term>
135<listitem><para> is a simple shell containing the
136<application>Tcl</application> interpreter.</para>
137<indexterm zone="tcl tclsh">
138<primary sortas="b-tclsh">tclsh</primary></indexterm>
139</listitem>
140</varlistentry>
141
142<varlistentry id="libtcl">
143<term><filename role="library">libtcl.so</filename></term>
144<listitem><para>contains the <acronym>API</acronym> functions required
145by <application>Tcl</application>.</para>
146<indexterm zone="tcl libtcl">
147<primary sortas="c-libtcl">libtcl.so</primary></indexterm>
148</listitem>
149</varlistentry>
150</variablelist>
151
152</sect2>
153
154</sect1>
Note: See TracBrowser for help on using the repository browser.