2004-06-13 06:56:28 +08:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2005-04-04 04:52:42 +08:00
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
|
2004-06-13 06:56:28 +08:00
|
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
|
|
%general-entities;
|
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
<!ENTITY tcl-download-http "http://prdownloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz">
|
2006-03-27 04:13:16 +08:00
|
|
|
<!ENTITY tcl-download-ftp " ">
|
|
|
|
<!-- <!ENTITY tcl-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tcl&tcl-version;-src.tar.gz"> -->
|
|
|
|
<!ENTITY tcl-md5sum "7480432d8730263f267952788eb4839b">
|
|
|
|
<!ENTITY tcl-size "3.5 MB">
|
|
|
|
<!ENTITY tcl-buildsize "24.5 MB">
|
|
|
|
<!ENTITY tcl-time "0.3 SBU (additional 0.4 SBU to run the test suite)">
|
2004-06-13 06:56:28 +08:00
|
|
|
]>
|
|
|
|
|
2003-10-05 18:00:31 +08:00
|
|
|
<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
|
2005-05-06 04:35:01 +08:00
|
|
|
<?dbhtml filename="tcl.html"?>
|
|
|
|
|
|
|
|
<sect1info>
|
|
|
|
<othername>$LastChangedBy$</othername>
|
|
|
|
<date>$Date$</date>
|
2005-12-03 03:19:41 +08:00
|
|
|
<keywordset>
|
|
|
|
<keyword role="package">tcl&tcl-version;-src.tar</keyword>
|
2005-12-09 04:34:05 +08:00
|
|
|
<keyword role="ftpdir">tcl</keyword>
|
2005-12-03 03:19:41 +08:00
|
|
|
</keywordset>
|
2005-05-06 04:35:01 +08:00
|
|
|
</sect1info>
|
|
|
|
|
|
|
|
<title>Tcl-&tcl-version;</title>
|
|
|
|
|
|
|
|
<indexterm zone="tcl">
|
|
|
|
<primary sortas="a-Tcl">Tcl</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<sect2 role="package">
|
|
|
|
<title>Introduction to Tcl</title>
|
|
|
|
|
2005-05-31 05:38:32 +08:00
|
|
|
<para>The <application>Tcl</application> package contains the Tool Command
|
2005-05-06 04:35:01 +08:00
|
|
|
Language, a robust general-purpose scripting language.</para>
|
|
|
|
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
|
|
<itemizedlist spacing="compact">
|
|
|
|
<listitem>
|
|
|
|
<para>Download (HTTP): <ulink url="&tcl-download-http;"/></para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>Download (FTP): <ulink url="&tcl-download-ftp;"/></para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>Download MD5 sum: &tcl-md5sum;</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>Download size: &tcl-size;</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>Estimated disk space required: &tcl-buildsize;</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>Estimated build time: &tcl-time;</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
|
<title>Installation of Tcl</title>
|
|
|
|
|
|
|
|
<note>
|
2005-07-15 00:26:40 +08:00
|
|
|
<para>This package is also installed in LFS during the bootstrap phase.
|
2006-03-27 04:13:16 +08:00
|
|
|
As it is not installed during Chapter 6 of LFS, installation instructions
|
|
|
|
are included here in BLFS.</para>
|
2005-05-06 04:35:01 +08:00
|
|
|
</note>
|
|
|
|
|
2005-05-31 05:38:32 +08:00
|
|
|
<para>Install <application>Tcl</application> by running the following
|
2005-05-06 04:35:01 +08:00
|
|
|
commands:</para>
|
|
|
|
|
|
|
|
<screen><userinput>export VERSION=&tcl-version; &&
|
2005-01-31 07:01:56 +08:00
|
|
|
export V=`echo $VERSION | cut -d "." -f 1,2` &&
|
|
|
|
export DIR=$PWD &&
|
2004-06-13 06:56:28 +08:00
|
|
|
cd unix &&
|
2005-12-25 04:09:19 +08:00
|
|
|
sed -i "s/relid'/relid/" configure &&
|
2004-10-14 12:18:18 +08:00
|
|
|
./configure --prefix=/usr --enable-threads &&
|
2004-06-13 06:56:28 +08:00
|
|
|
make &&
|
2005-12-25 04:09:19 +08:00
|
|
|
sed -i -e "s:${DIR}/unix:/usr/lib:" \
|
|
|
|
-e "s:${DIR}:/usr/include/tcl${V}:" \
|
|
|
|
-e "s:^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so':\
|
|
|
|
TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\":" tclConfig.sh</userinput></screen>
|
2005-01-31 07:01:56 +08:00
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
<para>To test the results, issue: <command>make test</command>.</para>
|
2005-04-17 10:55:09 +08:00
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
|
2005-01-31 07:01:56 +08:00
|
|
|
|
2005-09-11 08:46:32 +08:00
|
|
|
<caution>
|
2006-03-27 04:13:16 +08:00
|
|
|
<para>If you become the <systemitem class="username">root</systemitem>
|
|
|
|
user in a manner that doesn't preserve the unprivileged user's
|
|
|
|
environment, ensure you correctly set the environment variable
|
|
|
|
<envar>V</envar> again before running the installation commands.</para>
|
2005-09-11 08:46:32 +08:00
|
|
|
</caution>
|
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
<screen role="root"><userinput>make install &&
|
|
|
|
install -v -d /usr/include/tcl${V}/unix &&
|
|
|
|
install -v -m644 *.h /usr/include/tcl${V}/unix/ &&
|
|
|
|
install -v -d /usr/include/tcl${V}/generic &&
|
|
|
|
install -v -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &&
|
|
|
|
rm -v -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &&
|
|
|
|
ln -v -nsf ../../include/tcl${V} /usr/lib/tcl${V}/include &&
|
|
|
|
ln -v -sf libtcl${V}.so /usr/lib/libtcl.so &&
|
|
|
|
ln -v -sf tclsh${V} /usr/bin/tclsh</userinput></screen>
|
2004-07-22 08:25:29 +08:00
|
|
|
|
2005-05-31 05:38:32 +08:00
|
|
|
<para>Clean up the unprivileged user's environment using the following
|
2005-05-06 04:35:01 +08:00
|
|
|
commands:</para>
|
2005-01-31 07:01:56 +08:00
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
<screen><userinput>unset VERSION &&
|
2005-01-31 07:01:56 +08:00
|
|
|
unset V &&
|
2005-05-06 04:35:01 +08:00
|
|
|
unset DIR</userinput></screen>
|
2005-01-31 07:01:56 +08:00
|
|
|
|
2005-05-06 04:35:01 +08:00
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="commands">
|
|
|
|
<title>Command Explanations</title>
|
|
|
|
|
|
|
|
<para><parameter>--enable-threads</parameter>: This switch forces the package
|
|
|
|
to build with thread support.</para>
|
|
|
|
|
2005-12-25 04:09:19 +08:00
|
|
|
<para><command>sed -i "s/relid'/relid/" configure</command>: This command
|
|
|
|
fixes a syntax error in the <command>configure</command> script.</para>
|
|
|
|
|
|
|
|
<para><command>sed -i -e ... tclConfig.sh</command>: The
|
|
|
|
<application>Tcl</application> package assumes that the source used to build
|
2005-05-31 05:38:32 +08:00
|
|
|
<application>Tcl</application> is always kept around for compiling packages
|
2005-12-25 04:09:19 +08:00
|
|
|
that depend on <application>Tcl</application>. This <command>sed</command>
|
2005-12-25 04:39:36 +08:00
|
|
|
removes the references to the build directory and replaces them with saner
|
2005-07-28 04:49:55 +08:00
|
|
|
system-wide locations.</para>
|
2005-05-06 04:35:01 +08:00
|
|
|
|
|
|
|
<para><command>install ...</command>: These commands install the internal
|
|
|
|
headers into a system-wide location.</para>
|
|
|
|
|
|
|
|
<para><command>ln -v -sf ...</command>: These commands create compatibility
|
|
|
|
symbolic links.</para>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="content">
|
|
|
|
<title>Contents</title>
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>Installed Programs</segtitle>
|
|
|
|
<segtitle>Installed Libraries</segtitle>
|
|
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
|
|
|
|
<seglistitem>
|
|
|
|
<seg>tclsh and tclsh8.4</seg>
|
|
|
|
<seg>libtcl.so and libtclstub8.4.a</seg>
|
|
|
|
<seg>/usr/include/tcl8.4 and /usr/lib/tcl8.4</seg>
|
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
|
|
|
<varlistentry id="tclsh">
|
|
|
|
<term><command>tclsh</command></term>
|
|
|
|
<listitem>
|
2005-05-31 00:35:31 +08:00
|
|
|
<para> is a symlink to the <command>tclsh8.4</command>
|
2005-05-06 04:35:01 +08:00
|
|
|
program.</para>
|
|
|
|
<indexterm zone="tcl tclsh">
|
|
|
|
<primary sortas="g-tclsh">tclsh</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="tclsh8.4">
|
|
|
|
<term><command>tclsh8.4</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para> is a simple shell containing the
|
|
|
|
<application>Tcl</application> interpreter.</para>
|
|
|
|
<indexterm zone="tcl tclsh8.4">
|
|
|
|
<primary sortas="b-tclsh8.4">tclsh8.4</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="libtcl">
|
|
|
|
<term><filename role="library">libtcl.so</filename></term>
|
|
|
|
<listitem>
|
|
|
|
<para>contains the API functions required
|
|
|
|
by <application>Tcl</application>.</para>
|
|
|
|
<indexterm zone="tcl libtcl">
|
|
|
|
<primary sortas="c-libtcl">libtcl.so</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
</sect2>
|
2003-09-21 23:07:05 +08:00
|
|
|
|
|
|
|
</sect1>
|