source: chapter08/tcl.xml@ 583156ac

11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/update-glibc
Last change on this file since 583156ac was 583156ac, checked in by Bruce Dubbs <bdubbs@…>, 15 months ago

Combine tcl documentation instructions together.

  • Property mode set to 100644
File size: 6.4 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.5">
7 <!ENTITY itcl-ver "4.2.3">
8]>
9
10<sect1 id="ch-system-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-system-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 <application>Tcl</application> (pronounced "tickle").</para>
31
32 <segmentedlist>
33 <segtitle>&buildtime;</segtitle>
34 <segtitle>&diskspace;</segtitle>
35
36 <seglistitem>
37 <seg>&tcl-tmp-sbu;</seg>
38 <seg>&tcl-tmp-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 Binutils, GCC 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.</para>
52
53 <para>Prepare Tcl for compilation:</para>
54
55<screen><userinput remap="configure">SRCDIR=$(pwd)
56cd unix
57./configure --prefix=/usr \
58 --mandir=/usr/share/man</userinput></screen>
59
60 <para>Build the package:</para>
61
62<screen><userinput remap="make">make
63
64sed -e "s|$SRCDIR/unix|/usr/lib|" \
65 -e "s|$SRCDIR|/usr/include|" \
66 -i tclConfig.sh
67
68sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
69 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
70 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
71 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
72 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
73
74sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
75 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
76 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
77 -i pkgs/itcl&itcl-ver;/itclConfig.sh
78
79unset SRCDIR</userinput></screen>
80
81 <para>The various <quote>sed</quote> instructions after the
82 <quote>make</quote> command remove references to the build directory from
83 the configuration files and replace them with the install directory.
84 This is not mandatory for the remainder of LFS, but may be needed if a
85 package built later uses Tcl.</para>
86
87 <para>To test the results, issue:</para>
88
89<screen><userinput remap="test">make test</userinput></screen>
90
91 <para>Install the package:</para>
92
93<screen><userinput remap="install">make install</userinput></screen>
94
95 <para>Make the installed library writable so debugging symbols can
96 be removed later:</para>
97
98<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
99
100 <para>Install Tcl's headers. The next package, Expect, requires them.</para>
101
102<screen><userinput remap="install">make install-private-headers</userinput></screen>
103
104 <para>Now make a necessary symbolic link:</para>
105
106<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
107
108 <para>Rename a man page that conflicts with a Perl man page:</para>
109
110 <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
111
112 <para>Optionally, install the documentation by issuing
113 the following commands:</para>
114
115<screen><userinput remap="install">cd ..
116tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1
117mkdir -v -p /usr/share/doc/tcl-&tcl-version;
118cp -v -r ./html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
119
120 </sect2>
121
122 <sect2 id="contents-tcl" role="content">
123 <title>Contents of Tcl</title>
124
125 <segmentedlist>
126 <segtitle>Installed programs</segtitle>
127 <segtitle>Installed library</segtitle>
128
129 <seglistitem>
130 <seg>
131 tclsh (link to tclsh&tcl-major-version;) and
132 tclsh&tcl-major-version;
133 </seg>
134 <seg>
135 libtcl&tcl-major-version;.so and
136 libtclstub&tcl-major-version;.a
137 </seg>
138 </seglistitem>
139 </segmentedlist>
140
141 <variablelist>
142 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
143 <?dbfo list-presentation="list"?>
144 <?dbhtml list-presentation="table"?>
145
146 <varlistentry id="tclsh&tcl-major-version;">
147 <term><command>tclsh&tcl-major-version;</command></term>
148 <listitem>
149 <para>The Tcl command shell</para>
150 <indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
151 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
152 </indexterm>
153 </listitem>
154 </varlistentry>
155
156 <varlistentry id="tclsh">
157 <term><command>tclsh</command></term>
158 <listitem>
159 <para>A link to tclsh&tcl-major-version;</para>
160 <indexterm zone="ch-system-tcl tclsh">
161 <primary sortas="b-tclsh">tclsh</primary>
162 </indexterm>
163 </listitem>
164 </varlistentry>
165
166 <varlistentry id="libtcl&tcl-major-version;.so">
167 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
168 <listitem>
169 <para>The Tcl library</para>
170 <indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
171 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
172 </indexterm>
173 </listitem>
174 </varlistentry>
175
176 <varlistentry id="libtclstub&tcl-major-version;.a">
177 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
178 <listitem>
179 <para>The Tcl Stub library</para>
180 <indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
181 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
182 </indexterm>
183 </listitem>
184 </varlistentry>
185
186 </variablelist>
187
188 </sect2>
189
190</sect1>
Note: See TracBrowser for help on using the repository browser.