source: general/prog/tcl.xml@ 906cca2

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 906cca2 was 906cca2, checked in by David Jensen <djensen@…>, 19 years ago

Updated to Tcl/Tk8-4.11

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

  • Property mode set to 100644
File size: 6.6 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
65 the bootstrap phase. The significant difference between the two installations
66 (other than installing to <filename class="directory">/usr</filename>) is that
67 the package is installed in such a way that there is no need to keep the build
68 directory around after installation.</para>
69 </note>
70
71 <para>Install <application>Tcl</application> by running the following
72 commands:</para>
73
74<screen><userinput>export VERSION=&tcl-version; &amp;&amp;
75export V=`echo $VERSION | cut -d "." -f 1,2` &amp;&amp;
76export DIR=$PWD &amp;&amp;
77cd unix &amp;&amp;
78./configure --prefix=/usr --enable-threads &amp;&amp;
79make &amp;&amp;
80sed -i "s:${DIR}/unix:/usr/lib:" tclConfig.sh &amp;&amp;
81sed -i "s:${DIR}:/usr/include/tcl${V}:" tclConfig.sh &amp;&amp;
82sed -i "s,^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so',\
83TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"," tclConfig.sh</userinput></screen>
84
85 <para>To test the results, issue: <command>make test</command>.</para>
86
87 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
88
89<screen role="root"><userinput>make install &amp;&amp;
90install -v -d /usr/include/tcl${V}/unix &amp;&amp;
91install -v -m644 *.h /usr/include/tcl${V}/unix/ &amp;&amp;
92install -v -d /usr/include/tcl${V}/generic &amp;&amp;
93install -v -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &amp;&amp;
94rm -v -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &amp;&amp;
95ln -v -nsf ../../include/tcl${V} /usr/lib/tcl${V}/include &amp;&amp;
96ln -v -sf libtcl${V}.so /usr/lib/libtcl.so &amp;&amp;
97ln -v -sf tclsh${V} /usr/bin/tclsh</userinput></screen>
98
99 <para>Clean up the unprivileged user's environment using the following
100 commands:</para>
101
102<screen><userinput>unset VERSION &amp;&amp;
103unset V &amp;&amp;
104unset DIR</userinput></screen>
105
106<!--
107 <caution>
108 <para>If you build the package as an ordinary user and then switch to
109 root to install the package, ensure you set the environment variables
110 <envar>V</envar> and <envar>VERSION</envar> before running the installation
111 commands.</para>
112 </caution>
113-->
114
115 </sect2>
116
117 <sect2 role="commands">
118 <title>Command Explanations</title>
119
120 <para><parameter>--enable-threads</parameter>: This switch forces the package
121 to build with thread support.</para>
122
123 <para><command>sed -i ...</command>: The <application>Tcl</application>
124 package assumes that the source that is used to build
125 <application>Tcl</application> is always kept around for compiling packages
126 that depend on <application>Tcl</application>. These <command>sed</command>s
127 remove the reference to the build directory and replace them by saner system
128 wide locations.</para>
129
130 <para><command>install ...</command>: These commands install the internal
131 headers into a system-wide location.</para>
132
133 <para><command>ln -v -sf ...</command>: These commands create compatibility
134 symbolic links.</para>
135
136 </sect2>
137
138 <sect2 role="content">
139 <title>Contents</title>
140
141 <segmentedlist>
142 <segtitle>Installed Programs</segtitle>
143 <segtitle>Installed Libraries</segtitle>
144 <segtitle>Installed Directories</segtitle>
145
146 <seglistitem>
147 <seg>tclsh and tclsh8.4</seg>
148 <seg>libtcl.so and libtclstub8.4.a</seg>
149 <seg>/usr/include/tcl8.4 and /usr/lib/tcl8.4</seg>
150 </seglistitem>
151 </segmentedlist>
152
153 <variablelist>
154 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
155 <?dbfo list-presentation="list"?>
156 <?dbhtml list-presentation="table"?>
157
158 <varlistentry id="tclsh">
159 <term><command>tclsh</command></term>
160 <listitem>
161 <para> is a symlink to the <command>tclsh8.4</command>
162 program.</para>
163 <indexterm zone="tcl tclsh">
164 <primary sortas="g-tclsh">tclsh</primary>
165 </indexterm>
166 </listitem>
167 </varlistentry>
168
169 <varlistentry id="tclsh8.4">
170 <term><command>tclsh8.4</command></term>
171 <listitem>
172 <para> is a simple shell containing the
173 <application>Tcl</application> interpreter.</para>
174 <indexterm zone="tcl tclsh8.4">
175 <primary sortas="b-tclsh8.4">tclsh8.4</primary>
176 </indexterm>
177 </listitem>
178 </varlistentry>
179
180 <varlistentry id="libtcl">
181 <term><filename role="library">libtcl.so</filename></term>
182 <listitem>
183 <para>contains the API functions required
184 by <application>Tcl</application>.</para>
185 <indexterm zone="tcl libtcl">
186 <primary sortas="c-libtcl">libtcl.so</primary>
187 </indexterm>
188 </listitem>
189 </varlistentry>
190
191 </variablelist>
192
193 </sect2>
194
195</sect1>
Note: See TracBrowser for help on using the repository browser.