source: chapter08/tcl.xml@ 83c258f

11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 83c258f was 83c258f, checked in by Xi Ruoyao <xry111@…>, 2 years ago

tcl: remove --enable-64bit

It only adds -m64 on x86_64 GNU/Linux. In 64-bit LFS -m64 is the
default.

  • Property mode set to 100644
File size: 7.1 KB
RevLine 
[fcc02767]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;
[bf6c6f8]6 <!ENTITY tdbc-ver "1.1.3">
7 <!ENTITY itcl-ver "4.2.2">
[fcc02767]8]>
9
[593b439a]10<sect1 id="ch-system-tcl" role="wrap">
[fcc02767]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
[593b439a]21 <indexterm zone="ch-system-tcl">
[fcc02767]22 <primary sortas="a-Tcl">Tcl</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title/>
27
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>
31
32 <segmentedlist>
33 <segtitle>&buildtime;</segtitle>
34 <segtitle>&diskspace;</segtitle>
35
36 <seglistitem>
[fb386e0]37 <seg>&tcl-tmp-sbu;</seg>
38 <seg>&tcl-tmp-du;</seg>
[fcc02767]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
[df2e99e]48 installed to support running the test suites for binutils and GCC and other
[fcc02767]49 packages. Installing three packages for testing purposes may seem
50 excessive, but it is very reassuring, if not essential, to know that the
[df2e99e]51 most important tools are working properly.</para>
[fcc02767]52
[28e610db]53<!-- <para>Note that the Tcl package used here is a minimal version needed
[d672ab7]54 to run the LFS tests. For the full package, see the
[28e610db]55 <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>-->
56
57 <para>First, unpack the documentation by issuing the following command:</para>
58
[a35db3f]59<screen><userinput remap="pre">tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1</userinput></screen>
[fcc02767]60
61 <para>Prepare Tcl for compilation:</para>
62
63<screen><userinput remap="configure">SRCDIR=$(pwd)
64cd unix
65./configure --prefix=/usr \
[83c258f]66 --mandir=/usr/share/man</userinput></screen>
[fcc02767]67
68 <para>Build the package:</para>
69
70<screen><userinput remap="make">make
71
72sed -e "s|$SRCDIR/unix|/usr/lib|" \
73 -e "s|$SRCDIR|/usr/include|" \
74 -i tclConfig.sh
75
76sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
77 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
78 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
79 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
80 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
81
82sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
83 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
84 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
85 -i pkgs/itcl&itcl-ver;/itclConfig.sh
86
87unset SRCDIR</userinput></screen>
88
[aefc822]89 <para>The various <quote>sed</quote> instructions after the
90 <quote>make</quote> command removes references to the build directory from
91 the configuration files and replaces them with the install directory.
92 This is not mandatory for the remainder of LFS, but may be needed in case a
93 package built later uses Tcl.</para>
[fcc02767]94
[28e610db]95 <para>To test the results, issue:</para>
96
97<screen><userinput remap="test">make test</userinput></screen>
[c2d2342]98<!--
[c8fd7fe]99 <note>
100 <para>
101 In the test results there are several places associated with clock.test
102 that indicate a failure, but the summary at the end indicates no
103 failures. clock.test passes on a complete LFS system.
104 </para>
105 </note>
[c2d2342]106-->
107 <para>One test, unixInit-1.2, is known to fail.</para>
[c8fd7fe]108
[fcc02767]109 <para>Install the package:</para>
110
111<screen><userinput remap="install">make install</userinput></screen>
112
113 <para>Make the installed library writable so debugging symbols can
114 be removed later:</para>
115
116<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
117
[aefc822]118 <para>Install Tcl's headers. The next package, Expect, requires them.</para>
[fcc02767]119
120<screen><userinput remap="install">make install-private-headers</userinput></screen>
121
122 <para>Now make a necessary symbolic link:</para>
123
124<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
125
[06e7b361]126 <para>Rename a man page that conflicts with a Perl man page:</para>
[d668398]127
128 <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
129
[06e7b361]130 <para>If you downloaded the optional documentation, install it by issuing
[007d3bc]131 the following commands:</para>
[06e7b361]132
[007d3bc]133 <screen><userinput remap="install">mkdir -v -p /usr/share/doc/tcl-&tcl-version;
[06e7b361]134cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
135
[fcc02767]136 </sect2>
137
138 <sect2 id="contents-tcl" role="content">
139 <title>Contents of Tcl</title>
140
141 <segmentedlist>
142 <segtitle>Installed programs</segtitle>
143 <segtitle>Installed library</segtitle>
144
145 <seglistitem>
[aefc822]146 <seg>
[d672ab7]147 tclsh (link to tclsh&tcl-major-version;) and
[aefc822]148 tclsh&tcl-major-version;
149 </seg>
150 <seg>
[d672ab7]151 libtcl&tcl-major-version;.so and
[aefc822]152 libtclstub&tcl-major-version;.a
153 </seg>
[fcc02767]154 </seglistitem>
155 </segmentedlist>
156
157 <variablelist>
158 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
159 <?dbfo list-presentation="list"?>
160 <?dbhtml list-presentation="table"?>
161
162 <varlistentry id="tclsh&tcl-major-version;">
163 <term><command>tclsh&tcl-major-version;</command></term>
164 <listitem>
165 <para>The Tcl command shell</para>
[593b439a]166 <indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
[fcc02767]167 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
168 </indexterm>
169 </listitem>
170 </varlistentry>
171
172 <varlistentry id="tclsh">
173 <term><command>tclsh</command></term>
174 <listitem>
175 <para>A link to tclsh&tcl-major-version;</para>
[593b439a]176 <indexterm zone="ch-system-tcl tclsh">
[fcc02767]177 <primary sortas="b-tclsh">tclsh</primary>
178 </indexterm>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry id="libtcl&tcl-major-version;.so">
183 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
184 <listitem>
185 <para>The Tcl library</para>
[593b439a]186 <indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
[fcc02767]187 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191
192 <varlistentry id="libtclstub&tcl-major-version;.a">
193 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
194 <listitem>
195 <para>The Tcl Stub library</para>
[593b439a]196 <indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
[fcc02767]197 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
198 </indexterm>
199 </listitem>
200 </varlistentry>
201
202 </variablelist>
203
204 </sect2>
205
206</sect1>
Note: See TracBrowser for help on using the repository browser.