source: chapter07/tcl.xml@ aefc822

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 ml-11.0 multilib trunk xry111/git-transition xry111/glibc-2.34 xry111/tester-nohack xry111/usr-move
Last change on this file since aefc822 was aefc822, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Updates to the rest of cross2 Chapter 7.

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

  • Property mode set to 100644
File size: 6.8 KB
Line 
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;
6 <!ENTITY tdbc-ver "1.1.1">
7 <!ENTITY itcl-ver "4.2.0">
8]>
9
10<sect1 id="ch-tools-tcl" role="wrap">
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
21 <indexterm zone="ch-tools-tcl">
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>
37 <seg>&tcl-ch5-sbu;</seg>
38 <seg>&tcl-ch5-du;</seg>
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
48 installed to support running the test suites for GCC and binutils and other
49 packages. Installing three packages for testing purposes may seem
50 excessive, but it is very reassuring, if not essential, to know that the
51 most important tools are working properly. These packages are required
52 to run the test suites in <xref linkend="chapter-building-system"/>.</para>
53
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
58 <para>Prepare Tcl for compilation:</para>
59
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 shell 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>
81
82 <para>Build the package:</para>
83
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
95
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
100
101unset SRCDIR</userinput></screen>
102
103 <para>The various <quote>sed</quote> instructions after the
104 <quote>make</quote> command removes references to the build directory from
105 the configuration files and replaces them with the install directory.
106 This is not mandatory for the remainder of LFS, but may be needed in case a
107 package built later uses Tcl.</para>
108
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
118 <para>Install Tcl's headers. The next package, Expect, requires them.</para>
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
126 </sect2>
127
128 <sect2 id="contents-tcl" role="content">
129 <title>Contents of Tcl</title>
130
131 <segmentedlist>
132 <segtitle>Installed programs</segtitle>
133 <segtitle>Installed library</segtitle>
134
135 <seglistitem>
136 <seg>
137 tclsh (link to tclsh&tcl-major-version;) and
138 tclsh&tcl-major-version;
139 </seg>
140 <seg>
141 libtcl&tcl-major-version;.so and
142 libtclstub&tcl-major-version;.a
143 </seg>
144 </seglistitem>
145 </segmentedlist>
146
147 <variablelist>
148 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
149 <?dbfo list-presentation="list"?>
150 <?dbhtml list-presentation="table"?>
151
152 <varlistentry id="tclsh&tcl-major-version;">
153 <term><command>tclsh&tcl-major-version;</command></term>
154 <listitem>
155 <para>The Tcl command shell</para>
156 <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
157 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
158 </indexterm>
159 </listitem>
160 </varlistentry>
161
162 <varlistentry id="tclsh">
163 <term><command>tclsh</command></term>
164 <listitem>
165 <para>A link to tclsh&tcl-major-version;</para>
166 <indexterm zone="ch-tools-tcl tclsh">
167 <primary sortas="b-tclsh">tclsh</primary>
168 </indexterm>
169 </listitem>
170 </varlistentry>
171
172 <varlistentry id="libtcl&tcl-major-version;.so">
173 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
174 <listitem>
175 <para>The Tcl library</para>
176 <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
177 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
178 </indexterm>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry id="libtclstub&tcl-major-version;.a">
183 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
184 <listitem>
185 <para>The Tcl Stub library</para>
186 <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
187 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191
192 </variablelist>
193
194 </sect2>
195
196</sect1>
Note: See TracBrowser for help on using the repository browser.