source: chapter05/tcl.xml@ 69a8b2b7

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 arm bdubbs/gcc13 ml-11.0 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 69a8b2b7 was efcb393, checked in by Pierre Labastie <pieere@…>, 4 years ago

Make the new book

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

  • Property mode set to 100644
File size: 6.7 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
[efcb393]6 <!ENTITY tdbc-ver "1.1.1">
7 <!ENTITY itcl-ver "4.2.0">
[673b0d8]8]>
[b28fd35]9
[81fd230]10<sect1 id="ch-tools-tcl" role="wrap">
[b28fd35]11 <?dbhtml filename="tcl.html"?>
12
[e747759]13 <sect1info condition="script">
[1e96cc1]14 <productname>tcl</productname>
[e747759]15 <productnumber>&tcl-version;</productnumber>
16 <address>&tcl-url;</address>
17 </sect1info>
18
[1e96cc1]19 <title>Tcl-&tcl-version;</title>
[b28fd35]20
21 <indexterm zone="ch-tools-tcl">
[1e96cc1]22 <primary sortas="a-Tcl">Tcl</primary>
[b28fd35]23 </indexterm>
24
25 <sect2 role="package">
26 <title/>
[673b0d8]27
[df43be1]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>
[bc82645e]31
[b28fd35]32 <segmentedlist>
33 <segtitle>&buildtime;</segtitle>
34 <segtitle>&diskspace;</segtitle>
[5888299]35
[b28fd35]36 <seglistitem>
[e4a5635]37 <seg>&tcl-ch5-sbu;</seg>
38 <seg>&tcl-ch5-du;</seg>
[b28fd35]39 </seglistitem>
40 </segmentedlist>
[bc82645e]41
[b28fd35]42 </sect2>
[73aedd1d]43
[b28fd35]44 <sect2 role="installation">
[1e96cc1]45 <title>Installation of Tcl</title>
[b28fd35]46
[e97454f]47 <para>This package and the next two (Expect and DejaGNU) are
[ee321a46]48 installed to support running the test suites for GCC and Binutils and other
[1059bade]49 packages. Installing three packages for testing purposes may seem
[ee321a46]50 excessive, but it is very reassuring, if not essential, to know that the
[efcb393]51 most important tools are working properly. These packages are required
[ee321a46]52 to run the test suites in <xref linkend="chapter-building-system"/>.</para>
[b28fd35]53
[ac57a48]54 <para>Note that the Tcl package used here is a minimal version needed
55 to run the LFS tests. For the full package, see the
56 <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>
57
[b28fd35]58 <para>Prepare Tcl for compilation:</para>
[73aedd1d]59
[efcb393]60<screen><userinput remap="configure">SRCDIR=$(pwd)
61cd unix
62./configure --prefix=/usr \
63 --mandir=/usr/share/man \
64 $([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</userinput></screen>
65
66 <variablelist>
67 <title>The meaning of the configure options:</title>
68
69 <varlistentry>
70 <term><parameter>$([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</parameter></term>
71 <listitem>
72 <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
73 is replaced by the output of the chell command. Here this output is
74 empty if running on a 32 bit machine, and is
75 <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
76 </para>
77 </listitem>
78 </varlistentry>
79
80 </variablelist>
[73aedd1d]81
[b28fd35]82 <para>Build the package:</para>
[73aedd1d]83
[efcb393]84<screen><userinput remap="make">make
85
86sed -e "s|$SRCDIR/unix|/usr/lib|" \
87 -e "s|$SRCDIR|/usr/include|" \
88 -i tclConfig.sh
89
90sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
91 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
92 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
93 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
94 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
[73aedd1d]95
[efcb393]96sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
97 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
98 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
99 -i pkgs/itcl&itcl-ver;/itclConfig.sh
[0445a3d]100
[efcb393]101unset SRCDIR</userinput></screen>
[0445a3d]102
[efcb393]103 <para>The various <quote>sed</quote> after the <quote>make</quote> command
104 remove references to the build directory from various configuration files,
105 and replaces them with the install directory. This is not mandatory
106 for the remaining of LFS, but may be needed in case a package built later
107 uses Tcl.</para>
[73aedd1d]108
[b28fd35]109 <para>Install the package:</para>
[73aedd1d]110
[0445a3d]111<screen><userinput remap="install">make install</userinput></screen>
[73aedd1d]112
[bdd7f27]113 <para>Make the installed library writable so debugging symbols can
114 be removed later:</para>
115
[efcb393]116<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
[bdd7f27]117
[b28fd35]118 <para>Install Tcl's headers. The next package, Expect, requires them
119 to build.</para>
[f4993cf]120
[0445a3d]121<screen><userinput remap="install">make install-private-headers</userinput></screen>
[e0ef857]122
[b28fd35]123 <para>Now make a necessary symbolic link:</para>
[73aedd1d]124
[efcb393]125<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
[73aedd1d]126
[b28fd35]127 </sect2>
128
129 <sect2 id="contents-tcl" role="content">
[1e96cc1]130 <title>Contents of Tcl</title>
[b28fd35]131
132 <segmentedlist>
133 <segtitle>Installed programs</segtitle>
134 <segtitle>Installed library</segtitle>
135
136 <seglistitem>
[f0332af]137 <seg>tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version;</seg>
138 <seg>libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a</seg>
[b28fd35]139 </seglistitem>
140 </segmentedlist>
141
142 <variablelist>
143 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
144 <?dbfo list-presentation="list"?>
145 <?dbhtml list-presentation="table"?>
146
[f0332af]147 <varlistentry id="tclsh&tcl-major-version;">
148 <term><command>tclsh&tcl-major-version;</command></term>
[b28fd35]149 <listitem>
150 <para>The Tcl command shell</para>
[f0332af]151 <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
152 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
[b28fd35]153 </indexterm>
154 </listitem>
155 </varlistentry>
156
157 <varlistentry id="tclsh">
158 <term><command>tclsh</command></term>
159 <listitem>
[f0332af]160 <para>A link to tclsh&tcl-major-version;</para>
[b28fd35]161 <indexterm zone="ch-tools-tcl tclsh">
162 <primary sortas="b-tclsh">tclsh</primary>
163 </indexterm>
164 </listitem>
165 </varlistentry>
166
[f0332af]167 <varlistentry id="libtcl&tcl-major-version;.so">
168 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
[b28fd35]169 <listitem>
170 <para>The Tcl library</para>
[f0332af]171 <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
172 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
[b28fd35]173 </indexterm>
174 </listitem>
175 </varlistentry>
176
[f0332af]177 <varlistentry id="libtclstub&tcl-major-version;.a">
178 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
[f1994dc]179 <listitem>
180 <para>The Tcl Stub library</para>
[f0332af]181 <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
182 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
[f1994dc]183 </indexterm>
184 </listitem>
185 </varlistentry>
186
[b28fd35]187 </variablelist>
188
189 </sect2>
[673b0d8]190
191</sect1>
Note: See TracBrowser for help on using the repository browser.