aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/tcl.xml
blob: a12220121f036a81114d065ad5e79c0e1e5b6346 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-tools-tcl" role="wrap">
<title>Tcl-&tcl-version;</title>
<?dbhtml filename="tcl.html"?>

<indexterm zone="ch-tools-tcl"><primary sortas="a-Tcl">Tcl</primary></indexterm>

<sect2 role="package"><title/>
<para>The Tcl package contains the Tool Command Language.</para>

<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.9 SBU</seg><seg>23.3 MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>

</sect2>

<sect2 role="installation">
<title>Installation of Tcl</title>

<para>This package and the next two (Expect and DejaGNU) are
installed to support running the test suites for GCC and Binutils.
Installing three packages for testing purposes may seem excessive, but
it is very reassuring, if not essential, to know that the most
important tools are working properly. Even if the test suites are not
run in this chapter (they are not mandatory), these packages
are required to run the test suites in <xref
linkend="chapter-building-system"/>.</para>

<para>Prepare Tcl for compilation:</para>

<screen><userinput>cd unix
./configure --prefix=/tools</userinput></screen>

<para>Build the package:</para>

<screen><userinput>make</userinput></screen>

<para>To test the results, issue: <userinput>TZ=UTC make
test</userinput>. The Tcl test suite is known to experience failures
under certain host conditions that are not fully understood.
Therefore, test suite failures here are not surprising, and are not
considered critical. The <parameter>TZ=UTC</parameter> parameter sets
the time zone to Coordinated Universal Time (UTC), also known as
Greenwich Mean Time (GMT), but only for the duration of the test suite
run. This ensures that the clock tests are exercised correctly.
Details on the <envar>TZ</envar> environment variable is provided in
<xref linkend="chapter-bootscripts"/>.</para>

<para>Install the package:</para>

<screen><userinput>make install</userinput></screen>

<warning><para><emphasis>Do not</emphasis> remove the
<filename class="directory">tcl&tcl-version;</filename> source directory yet, as the next package
will need its internal headers.</para></warning>

<para>Set a variable containing the full path of the current directory.
The next package, Expect, will use this variable to find Tcl's headers.</para>

<screen><userinput>cd ..
export TCLPATH=`pwd`</userinput></screen>

<para>Now make a necessary symbolic link:</para>

<screen><userinput>ln -s tclsh8.4 /tools/bin/tclsh</userinput></screen>

<beginpage/>

</sect2>

<sect2 id="contents-tcl" role="content"><title>Contents of Tcl</title>

<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed library</segtitle>
<seglistitem><seg>tclsh (link to tclsh8.4) and tclsh8.4</seg><seg>libtcl8.4.so</seg></seglistitem>
</segmentedlist>

<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>

<varlistentry id="tclsh8.4">
<term><command>tclsh8.4</command></term>
<listitem>
<para>The Tcl command shell</para>
<indexterm zone="ch-tools-tcl tclsh8.4"><primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="tclsh">
<term><command>tclsh</command></term>
<listitem>
<para>A link to tclsh8.4</para>
<indexterm zone="ch-tools-tcl tclsh"><primary sortas="b-tclsh">tclsh</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="libtcl8.4.so">
<term><filename class="libraryfile">libtcl8.4.so</filename></term>
<listitem>
<para>The Tcl library</para>
<indexterm zone="ch-tools-tcl libtcl8.4.so"><primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>

</sect2>

</sect1>