2020-06-07 21:16:00 +01:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
%general-entities;
|
2022-12-01 23:40:16 +00:00
|
|
|
<!ENTITY tdbc-ver "1.1.5">
|
|
|
|
<!ENTITY itcl-ver "4.2.3">
|
2020-06-07 21:16:00 +01:00
|
|
|
]>
|
|
|
|
|
2021-07-22 01:53:52 +01:00
|
|
|
<sect1 id="ch-system-tcl" role="wrap">
|
2020-06-07 21:16:00 +01:00
|
|
|
<?dbhtml filename="tcl.html"?>
|
|
|
|
|
|
|
|
<sect1info condition="script">
|
|
|
|
<productname>tcl</productname>
|
|
|
|
<productnumber>&tcl-version;</productnumber>
|
|
|
|
<address>&tcl-url;</address>
|
|
|
|
</sect1info>
|
|
|
|
|
|
|
|
<title>Tcl-&tcl-version;</title>
|
|
|
|
|
2021-07-22 01:53:52 +01:00
|
|
|
<indexterm zone="ch-system-tcl">
|
2020-06-07 21:16:00 +01:00
|
|
|
<primary sortas="a-Tcl">Tcl</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<sect2 role="package">
|
|
|
|
<title/>
|
|
|
|
|
|
|
|
<para>The <application>Tcl</application> package contains the Tool Command Language,
|
|
|
|
a robust general-purpose scripting language. The <application>Expect</application> package
|
2022-11-18 20:44:18 +00:00
|
|
|
is written in <application>Tcl</application> (pronounced "tickle").</para>
|
2020-06-07 21:16:00 +01:00
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>&buildtime;</segtitle>
|
|
|
|
<segtitle>&diskspace;</segtitle>
|
|
|
|
|
|
|
|
<seglistitem>
|
2020-06-11 13:55:28 +01:00
|
|
|
<seg>&tcl-tmp-sbu;</seg>
|
|
|
|
<seg>&tcl-tmp-du;</seg>
|
2020-06-07 21:16:00 +01:00
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
|
<title>Installation of Tcl</title>
|
|
|
|
|
|
|
|
<para>This package and the next two (Expect and DejaGNU) are
|
2022-11-18 20:44:18 +00:00
|
|
|
installed to support running the test suites for Binutils, GCC and other
|
2020-06-07 21:16:00 +01:00
|
|
|
packages. Installing three packages for testing purposes may seem
|
|
|
|
excessive, but it is very reassuring, if not essential, to know that the
|
2021-02-02 21:35:59 +00:00
|
|
|
most important tools are working properly.</para>
|
2020-06-07 21:16:00 +01:00
|
|
|
|
|
|
|
<para>Prepare Tcl for compilation:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="configure">SRCDIR=$(pwd)
|
|
|
|
cd unix
|
|
|
|
./configure --prefix=/usr \
|
2022-02-26 17:14:09 +00:00
|
|
|
--mandir=/usr/share/man</userinput></screen>
|
2020-06-07 21:16:00 +01:00
|
|
|
|
|
|
|
<para>Build the package:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="make">make
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix|/usr/lib|" \
|
|
|
|
-e "s|$SRCDIR|/usr/include|" \
|
|
|
|
-i tclConfig.sh
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
|
|
|
|
-i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
|
|
|
|
-e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
|
|
|
|
-e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
|
|
|
|
-i pkgs/itcl&itcl-ver;/itclConfig.sh
|
|
|
|
|
|
|
|
unset SRCDIR</userinput></screen>
|
|
|
|
|
2020-06-11 06:55:06 +01:00
|
|
|
<para>The various <quote>sed</quote> instructions after the
|
2022-11-18 20:44:18 +00:00
|
|
|
<quote>make</quote> command remove references to the build directory from
|
|
|
|
the configuration files and replace them with the install directory.
|
|
|
|
This is not mandatory for the remainder of LFS, but may be needed if a
|
2020-06-11 06:55:06 +01:00
|
|
|
package built later uses Tcl.</para>
|
2020-06-07 21:16:00 +01:00
|
|
|
|
2020-06-23 00:11:08 +01:00
|
|
|
<para>To test the results, issue:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="test">make test</userinput></screen>
|
2020-08-06 18:14:46 +01:00
|
|
|
|
2020-06-07 21:16:00 +01:00
|
|
|
<para>Install the package:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="install">make install</userinput></screen>
|
|
|
|
|
|
|
|
<para>Make the installed library writable so debugging symbols can
|
|
|
|
be removed later:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
|
|
|
|
|
2020-06-11 06:55:06 +01:00
|
|
|
<para>Install Tcl's headers. The next package, Expect, requires them.</para>
|
2020-06-07 21:16:00 +01:00
|
|
|
|
|
|
|
<screen><userinput remap="install">make install-private-headers</userinput></screen>
|
|
|
|
|
|
|
|
<para>Now make a necessary symbolic link:</para>
|
|
|
|
|
|
|
|
<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
|
|
|
|
|
2021-09-14 16:06:10 +01:00
|
|
|
<para>Rename a man page that conflicts with a Perl man page:</para>
|
2020-09-15 19:40:33 +01:00
|
|
|
|
|
|
|
<screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
|
|
|
|
|
2023-02-09 02:15:02 +00:00
|
|
|
<para>Optionally, install the documentation by issuing
|
2021-09-15 08:51:34 +01:00
|
|
|
the following commands:</para>
|
2021-09-14 16:06:10 +01:00
|
|
|
|
2023-02-09 02:15:02 +00:00
|
|
|
<screen><userinput remap="install">cd ..
|
|
|
|
tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1
|
|
|
|
mkdir -v -p /usr/share/doc/tcl-&tcl-version;
|
|
|
|
cp -v -r ./html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
|
2021-09-14 16:06:10 +01:00
|
|
|
|
2020-06-07 21:16:00 +01:00
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="contents-tcl" role="content">
|
|
|
|
<title>Contents of Tcl</title>
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>Installed programs</segtitle>
|
|
|
|
<segtitle>Installed library</segtitle>
|
|
|
|
|
|
|
|
<seglistitem>
|
2020-06-11 06:55:06 +01:00
|
|
|
<seg>
|
2021-09-07 21:33:18 +01:00
|
|
|
tclsh (link to tclsh&tcl-major-version;) and
|
2020-06-11 06:55:06 +01:00
|
|
|
tclsh&tcl-major-version;
|
|
|
|
</seg>
|
|
|
|
<seg>
|
2021-09-07 21:33:18 +01:00
|
|
|
libtcl&tcl-major-version;.so and
|
2020-06-11 06:55:06 +01:00
|
|
|
libtclstub&tcl-major-version;.a
|
|
|
|
</seg>
|
2020-06-07 21:16:00 +01:00
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
|
|
|
<varlistentry id="tclsh&tcl-major-version;">
|
|
|
|
<term><command>tclsh&tcl-major-version;</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>The Tcl command shell</para>
|
2021-07-22 01:53:52 +01:00
|
|
|
<indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
|
2020-06-07 21:16:00 +01:00
|
|
|
<primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="tclsh">
|
|
|
|
<term><command>tclsh</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>A link to tclsh&tcl-major-version;</para>
|
2021-07-22 01:53:52 +01:00
|
|
|
<indexterm zone="ch-system-tcl tclsh">
|
2020-06-07 21:16:00 +01:00
|
|
|
<primary sortas="b-tclsh">tclsh</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="libtcl&tcl-major-version;.so">
|
|
|
|
<term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
|
|
|
|
<listitem>
|
|
|
|
<para>The Tcl library</para>
|
2021-07-22 01:53:52 +01:00
|
|
|
<indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
|
2020-06-07 21:16:00 +01:00
|
|
|
<primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="libtclstub&tcl-major-version;.a">
|
|
|
|
<term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
|
|
|
|
<listitem>
|
|
|
|
<para>The Tcl Stub library</para>
|
2021-07-22 01:53:52 +01:00
|
|
|
<indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
|
2020-06-07 21:16:00 +01:00
|
|
|
<primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
</sect1>
|