source: chapter08/tcl.xml@ 8a9d779

trunk xry111/loongarch
Last change on this file since 8a9d779 was 8a9d779, checked in by Bruce Dubbs <bdubbs@…>, 10 days ago

Package updates.
Update to Python3-3.12.7.
Update to tcl9.0.0.
Update to linux-6.11.1.
Update to libtool-2.5.3.
Update to iproute2-6.11.0.
Update to bash-5.2.37.
Update to bc-7.0.3.

  • Property mode set to 100644
File size: 7.1 KB
RevLine 
[7152faa]1<?xml version="1.0" encoding="UTF-8"?>
[fcc02767]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;
[984e1f1]6 <!ENTITY tdbc-ver "1.1.9">
[8a9d779]7 <!ENTITY itcl-ver "4.3.1">
[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
[d6346a7]30 is written in <application>Tcl</application> (pronounced "tickle").</para>
[fcc02767]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
[d6346a7]48 installed to support running the test suites for Binutils, 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
53 <para>Prepare Tcl for compilation:</para>
54
55<screen><userinput remap="configure">SRCDIR=$(pwd)
56cd unix
57./configure --prefix=/usr \
[e3f47a2]58 --mandir=/usr/share/man \
59 --disable-rpath</userinput></screen>
60
61 <variablelist>
62 <title>The meaning of the new configure parameters:</title>
63
64 <varlistentry>
65 <term><parameter>--disable-rpath</parameter></term>
66 <listitem>
67 <para>This parameter prevents hard coding library search paths
68 (rpath) into the binary executable files and shared libraries.
69 This package does not need rpath for an installation into the
70 standard location, and rpath may sometimes cause unwanted effects
71 or even security issues.</para>
72 </listitem>
73 </varlistentry>
74 </variablelist>
[fcc02767]75
76 <para>Build the package:</para>
77
[8a9d779]78<screen><userinput remap="make">make NATIVE_ZIP=$PWD/minizip
[fcc02767]79
80sed -e "s|$SRCDIR/unix|/usr/lib|" \
81 -e "s|$SRCDIR|/usr/include|" \
82 -i tclConfig.sh
83
84sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
85 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
86 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
87 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
88 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
89
90sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
91 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
92 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
93 -i pkgs/itcl&itcl-ver;/itclConfig.sh
94
95unset SRCDIR</userinput></screen>
96
[aefc822]97 <para>The various <quote>sed</quote> instructions after the
[d6346a7]98 <quote>make</quote> command remove references to the build directory from
99 the configuration files and replace them with the install directory.
100 This is not mandatory for the remainder of LFS, but may be needed if a
[aefc822]101 package built later uses Tcl.</para>
[fcc02767]102
[28e610db]103 <para>To test the results, issue:</para>
104
105<screen><userinput remap="test">make test</userinput></screen>
[c8fd7fe]106
[8a9d779]107 <para>Twelve tests are known to fail in the chroot environment.</para>
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
[583156ac]130 <para>Optionally, install the documentation by issuing
[007d3bc]131 the following commands:</para>
[06e7b361]132
[583156ac]133<screen><userinput remap="install">cd ..
134tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1
135mkdir -v -p /usr/share/doc/tcl-&tcl-version;
136cp -v -r ./html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
[06e7b361]137
[fcc02767]138 </sect2>
139
140 <sect2 id="contents-tcl" role="content">
141 <title>Contents of Tcl</title>
142
143 <segmentedlist>
144 <segtitle>Installed programs</segtitle>
145 <segtitle>Installed library</segtitle>
146
147 <seglistitem>
[aefc822]148 <seg>
[d672ab7]149 tclsh (link to tclsh&tcl-major-version;) and
[aefc822]150 tclsh&tcl-major-version;
151 </seg>
152 <seg>
[d672ab7]153 libtcl&tcl-major-version;.so and
[aefc822]154 libtclstub&tcl-major-version;.a
155 </seg>
[fcc02767]156 </seglistitem>
157 </segmentedlist>
158
159 <variablelist>
160 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
161 <?dbfo list-presentation="list"?>
162 <?dbhtml list-presentation="table"?>
163
164 <varlistentry id="tclsh&tcl-major-version;">
165 <term><command>tclsh&tcl-major-version;</command></term>
166 <listitem>
167 <para>The Tcl command shell</para>
[593b439a]168 <indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
[fcc02767]169 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
170 </indexterm>
171 </listitem>
172 </varlistentry>
173
174 <varlistentry id="tclsh">
175 <term><command>tclsh</command></term>
176 <listitem>
177 <para>A link to tclsh&tcl-major-version;</para>
[593b439a]178 <indexterm zone="ch-system-tcl tclsh">
[fcc02767]179 <primary sortas="b-tclsh">tclsh</primary>
180 </indexterm>
181 </listitem>
182 </varlistentry>
183
184 <varlistentry id="libtcl&tcl-major-version;.so">
185 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
186 <listitem>
187 <para>The Tcl library</para>
[593b439a]188 <indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
[fcc02767]189 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
190 </indexterm>
191 </listitem>
192 </varlistentry>
193
194 <varlistentry id="libtclstub&tcl-major-version;.a">
195 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
196 <listitem>
197 <para>The Tcl Stub library</para>
[593b439a]198 <indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
[fcc02767]199 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
200 </indexterm>
201 </listitem>
202 </varlistentry>
203
204 </variablelist>
205
206 </sect2>
207
208</sect1>
Note: See TracBrowser for help on using the repository browser.