source: chapter08/tcl.xml@ 5e06d04

multilib-10.1
Last change on this file since 5e06d04 was 5e06d04, checked in by Thomas Trepl <thomas@…>, 3 years ago

Merge changes from trunk to multilib

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12107 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 7.5 KB
RevLine 
[1fa2099]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
[5e06d04]6 <!ENTITY tdbc-ver "1.1.2">
7 <!ENTITY itcl-ver "4.2.1">
[1fa2099]8]>
9
10<sect1 id="ch-tools-tcl" role="wrap">
11 <?dbhtml filename="tcl.html"?>
12
13 <sect1info condition="script">
14 <productname>tcl</productname>
15 <productnumber>&tcl-version;</productnumber>
16 <address>&tcl-url;</address>
17 </sect1info>
18
19 <title>Tcl-&tcl-version;</title>
20
21 <indexterm zone="ch-tools-tcl">
22 <primary sortas="a-Tcl">Tcl</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title/>
27
[88ec930]28 <para>The <application>Tcl</application> package contains the Tool Command Language,
29 a robust general-purpose scripting language. The <application>Expect</application> package
30 is written in the <application>Tcl</application> language.</para>
[1fa2099]31
32 <segmentedlist>
33 <segtitle>&buildtime;</segtitle>
34 <segtitle>&diskspace;</segtitle>
35
36 <seglistitem>
[37e35d2]37 <seg>&tcl-tmp-sbu;</seg>
38 <seg>&tcl-tmp-du;</seg>
[1fa2099]39 </seglistitem>
40 </segmentedlist>
41
42 </sect2>
43
44 <sect2 role="installation">
45 <title>Installation of Tcl</title>
46
47 <para>This package and the next two (Expect and DejaGNU) are
[37e35d2]48 installed to support running the test suites for GCC and binutils and other
[1fa2099]49 packages. Installing three packages for testing purposes may seem
50 excessive, but it is very reassuring, if not essential, to know that the
[37e35d2]51 most important tools are working properly. These packages are required
52 to run the test suites in this chapter.</para>
[1fa2099]53
[37e35d2]54<!-- <para>Note that the Tcl package used here is a minimal version needed
[1fa2099]55 to run the LFS tests. For the full package, see the
[37e35d2]56 <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>-->
57
58 <para>First, unpack the documentation by issuing the following command:</para>
59
[5e06d04]60<screen><userinput remap="pre">tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1</userinput></screen>
[1fa2099]61
62 <para>Prepare Tcl for compilation:</para>
63
[37e35d2]64<screen><userinput remap="configure">SRCDIR=$(pwd)
65cd unix
66./configure --prefix=/usr \
67 --mandir=/usr/share/man \
68 $([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</userinput></screen>
69
70 <variablelist>
71 <title>The meaning of the configure options:</title>
72
73 <varlistentry>
74 <term><parameter>$([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</parameter></term>
75 <listitem>
76 <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
77 is replaced by the output of the shell command. Here this output is
78 empty if running on a 32 bit machine, and is
79 <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
80 </para>
81 </listitem>
82 </varlistentry>
83
84 </variablelist>
[1fa2099]85
86 <para>Build the package:</para>
87
[37e35d2]88<screen><userinput remap="make">make
89
90sed -e "s|$SRCDIR/unix|/usr/lib|" \
91 -e "s|$SRCDIR|/usr/include|" \
92 -i tclConfig.sh
93
94sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
95 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
96 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
97 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
98 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
99
100sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
101 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
102 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
103 -i pkgs/itcl&itcl-ver;/itclConfig.sh
104
105unset SRCDIR</userinput></screen>
[1fa2099]106
[37e35d2]107 <para>The various <quote>sed</quote> instructions after the
108 <quote>make</quote> command removes references to the build directory from
109 the configuration files and replaces them with the install directory.
110 This is not mandatory for the remainder of LFS, but may be needed in case a
111 package built later uses Tcl.</para>
[1fa2099]112
[37e35d2]113 <para>To test the results, issue:</para>
[1fa2099]114
[37e35d2]115<screen><userinput remap="test">make test</userinput></screen>
[1fa2099]116
[9f715a8]117 <note>
118 <para>
119 In the test results there are several places associated with clock.test
120 that indicate a failure, but the summary at the end indicates no
121 failures. clock.test passes on a complete LFS system.
122 </para>
123 </note>
124
[1fa2099]125 <para>Install the package:</para>
126
127<screen><userinput remap="install">make install</userinput></screen>
128
129 <para>Make the installed library writable so debugging symbols can
130 be removed later:</para>
131
[37e35d2]132<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
[1fa2099]133
[37e35d2]134 <para>Install Tcl's headers. The next package, Expect, requires them.</para>
[1fa2099]135
136<screen><userinput remap="install">make install-private-headers</userinput></screen>
137
138 <para>Now make a necessary symbolic link:</para>
139
[37e35d2]140<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
[1fa2099]141
[c69f870]142 <para>Finally, rename a man page that conflicts with a Perl man page:</para>
143
144 <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
145
[1fa2099]146 </sect2>
147
148 <sect2 id="contents-tcl" role="content">
149 <title>Contents of Tcl</title>
150
151 <segmentedlist>
152 <segtitle>Installed programs</segtitle>
153 <segtitle>Installed library</segtitle>
154
155 <seglistitem>
[37e35d2]156 <seg>
157 tclsh (link to tclsh&tcl-major-version;) and
158 tclsh&tcl-major-version;
159 </seg>
160 <seg>
161 libtcl&tcl-major-version;.so and
162 libtclstub&tcl-major-version;.a
163 </seg>
[1fa2099]164 </seglistitem>
165 </segmentedlist>
166
167 <variablelist>
168 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
169 <?dbfo list-presentation="list"?>
170 <?dbhtml list-presentation="table"?>
171
172 <varlistentry id="tclsh&tcl-major-version;">
173 <term><command>tclsh&tcl-major-version;</command></term>
174 <listitem>
175 <para>The Tcl command shell</para>
176 <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
177 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
178 </indexterm>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry id="tclsh">
183 <term><command>tclsh</command></term>
184 <listitem>
185 <para>A link to tclsh&tcl-major-version;</para>
186 <indexterm zone="ch-tools-tcl tclsh">
187 <primary sortas="b-tclsh">tclsh</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191
192 <varlistentry id="libtcl&tcl-major-version;.so">
193 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
194 <listitem>
195 <para>The Tcl library</para>
196 <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
197 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
198 </indexterm>
199 </listitem>
200 </varlistentry>
201
202 <varlistentry id="libtclstub&tcl-major-version;.a">
203 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
204 <listitem>
205 <para>The Tcl Stub library</para>
206 <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
207 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
208 </indexterm>
209 </listitem>
210 </varlistentry>
211
212 </variablelist>
213
214 </sect2>
215
216</sect1>
Note: See TracBrowser for help on using the repository browser.