aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/tcl.xml
blob: aa56ceff4c9657efc37f734771ef7d4c5127b2c8 (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
124
125
126
127
128
129
130
131
<?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">
  <?dbhtml filename="tcl.html"?>

  <title>Tcl-&tcl-version;</title>

  <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>&tcl-ch5-sbu;</seg>
        <seg>&tcl-ch5-du;</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 are provided in <xref linkend="chapter-bootscripts"/>.</para>

    <para>Install the package:</para>

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

    <para>Install Tcl's headers. The next package, Expect, requires them
    to build.</para>

<screen><userinput>make install-private-headers</userinput></screen>

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

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

  </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>