source: general/prog/tcl.xml@ bb0e136

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 bb0e136 was bb0e136, checked in by David Jensen <djensen@…>, 19 years ago

Noted Tcl version newer than LFS-6.1

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

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