Index: chapter03/packages.xml
===================================================================
--- chapter03/packages.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ chapter03/packages.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -691,4 +691,12 @@
         <para>Download: <ulink url="&tcl-url;"/></para>
         <para>MD5 sum: <literal>&tcl-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>Tcl Documentation (&tcl-version;) - <token>&tcl-docs-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&tcl-docs-url;"/></para>
+        <para>MD5 sum: <literal>&tcl-docs-md5;</literal></para>
       </listitem>
     </varlistentry>
Index: chapter07/chapter07.xml
===================================================================
--- chapter07/chapter07.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ chapter07/chapter07.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -25,7 +25,11 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
+  
+<!--
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
+-->
+
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
 
Index: apter07/dejagnu.xml
===================================================================
--- chapter07/dejagnu.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ 	(revision )
@@ -1,95 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-tools-dejagnu" role="wrap">
-  <?dbhtml filename="dejagnu.html"?>
-
-  <sect1info condition="script">
-    <productname>dejagnu</productname>
-    <productnumber>&dejagnu-version;</productnumber>
-    <address>&dejagnu-url;</address>
-  </sect1info>
-
-  <title>DejaGNU-&dejagnu-version;</title>
-
-  <indexterm zone="ch-tools-dejagnu">
-    <primary sortas="a-DejaGNU">DejaGNU</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The <application>DejaGnu</application> package contains a framework for running test
-      suites on GNU tools. It is written in <command>expect</command>, which itself
-      uses <application>Tcl</application> (Tool Command Language).</para>
-
-    <segmentedlist>
-      <segtitle>&buildtime;</segtitle>
-      <segtitle>&diskspace;</segtitle>
-
-      <seglistitem>
-        <seg>&dejagnu-tmp-sbu;</seg>
-        <seg>&dejagnu-tmp-du;</seg>
-      </seglistitem>
-    </segmentedlist>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of DejaGNU</title>
-
-    <para>Prepare DejaGNU for compilation:</para>
-
-<screen><userinput remap="configure">./configure --prefix=/usr
-makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi
-makeinfo --plaintext       -o doc/dejagnu.txt  doc/dejagnu.texi</userinput></screen>
-
-    <para>Build and install the package:</para>
-
-<screen><userinput remap="install">make install
-install -v -dm755  /usr/share/doc/dejagnu-&dejagnu-version;
-install -v -m644   doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-&dejagnu-version;</userinput></screen>
-
-    <para>To test the results, issue:</para>
-
-<screen><userinput remap="test">make check</userinput></screen>
-
-  </sect2>
-
-
-  <sect2 id="contents-dejagnu" role="content">
-    <title>Contents of DejaGNU</title>
-
-    <segmentedlist>
-      <segtitle>Installed program</segtitle>
-
-      <seglistitem>
-        <seg>runtest</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="runtest">
-        <term><command>runtest</command></term>
-        <listitem>
-          <para>A wrapper script that locates the proper
-          <command>expect</command> shell and then runs DejaGNU</para>
-          <indexterm zone="ch-tools-dejagnu runtest">
-            <primary sortas="b-runtest">runtest</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: apter07/expect.xml
===================================================================
--- chapter07/expect.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ 	(revision )
@@ -1,136 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-tools-expect" role="wrap">
-  <?dbhtml filename="expect.html"?>
-
-  <sect1info condition="script">
-    <productname>expect</productname>
-    <productnumber>&expect-version;</productnumber>
-    <address>&expect-url;</address>
-  </sect1info>
-
-  <title>Expect-&expect-version;</title>
-
-  <indexterm zone="ch-tools-expect">
-    <primary sortas="a-Expect">Expect</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The <application>Expect</application> package contains tools for
-    automating, via scripted dialogues, interactive applications such as
-    <command>telnet</command>, <command>ftp</command>,
-    <command>passwd</command>, <command>fsck</command>,
-    <command>rlogin</command>, and <command>tip</command>.
-    <application>Expect</application> is also useful for testing these same
-    applications as well as easing all sorts of tasks that are prohibitively
-    difficult with anything else. The <application>DejaGnu</application>
-    framework is written in <application>Expect</application>.</para>
-
-    <segmentedlist>
-      <segtitle>&buildtime;</segtitle>
-      <segtitle>&diskspace;</segtitle>
-
-      <seglistitem>
-        <seg>&expect-tmp-sbu;</seg>
-        <seg>&expect-tmp-du;</seg>
-      </seglistitem>
-    </segmentedlist>
-
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Installation of Expect</title>
-
-    <para>Prepare Expect for compilation:</para>
-
-<screen><userinput remap="configure">./configure --prefix=/usr           \
-            --with-tcl=/usr/lib     \
-            --enable-shared         \
-            --mandir=/usr/share/man \
-            --with-tclinclude=/usr/include</userinput></screen>
-
-    <variablelist>
-      <title>The meaning of the configure options:</title>
-
-      <varlistentry>
-        <term><parameter>--with-tcl=/usr/lib</parameter></term>
-        <listitem>
-          <para>This parameter is needed to tell 
-          <command>configure</command> where the
-          <command>tclConfig.sh</command> script is located.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><parameter>--with-tclinclude=/usr/include</parameter></term>
-        <listitem>
-          <para>This explicitly tells Expect where to find Tcl's internal
-          headers.</para>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    <para>Build the package:</para>
-
-<screen><userinput remap="make">make</userinput></screen>
-
-    <para>Install the package:</para>
-
-<screen><userinput remap="install">make install
-ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib</userinput></screen>
-
-  </sect2>
-
-  <sect2 id="contents-expect" role="content">
-    <title>Contents of Expect</title>
-
-    <segmentedlist>
-      <segtitle>Installed program</segtitle>
-      <segtitle>Installed library</segtitle>
-
-      <seglistitem>
-        <seg>expect</seg>
-        <seg>libexpect-&expect-lib-version;.so</seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="expect">
-        <term><command>expect</command></term>
-        <listitem>
-          <para>Communicates with other interactive programs according
-          to a script</para>
-          <indexterm zone="ch-tools-expect expect">
-            <primary sortas="b-expect">expect</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libexpect">
-        <term><filename class="libraryfile">libexpect-&expect-lib-version;.so</filename></term>
-        <listitem>
-          <para>Contains functions that allow Expect to be used as a Tcl
-          extension or to be used directly from C or C++ (without Tcl)</para>
-          <indexterm zone="ch-tools-expect libexpect">
-            <primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: apter07/tcl.xml
===================================================================
--- chapter07/tcl.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ 	(revision )
@@ -1,196 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-  <!ENTITY tdbc-ver          "1.1.1">
-  <!ENTITY itcl-ver          "4.2.0">
-]>
-
-<sect1 id="ch-tools-tcl" role="wrap">
-  <?dbhtml filename="tcl.html"?>
-
-  <sect1info condition="script">
-    <productname>tcl</productname>
-    <productnumber>&tcl-version;</productnumber>
-    <address>&tcl-url;</address>
-  </sect1info>
-
-  <title>Tcl-&tcl-version;</title>
-
-  <indexterm zone="ch-tools-tcl">
-    <primary sortas="a-Tcl">Tcl</primary>
-  </indexterm>
-
-  <sect2 role="package">
-    <title/>
-
-    <para>The <application>Tcl</application> package contains the Tool Command Language,
-    a robust general-purpose scripting language. The <application>Expect</application> package
-    is written in the <application>Tcl</application> language.</para>
-
-    <segmentedlist>
-      <segtitle>&buildtime;</segtitle>
-      <segtitle>&diskspace;</segtitle>
-
-      <seglistitem>
-        <seg>&tcl-tmp-sbu;</seg>
-        <seg>&tcl-tmp-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 and other
-    packages.  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. These packages are required
-    to run the test suites in <xref linkend="chapter-building-system"/>.</para>
-
-    <para>Note that the Tcl package used here is a minimal version needed
-    to run the LFS tests.  For the full package, see the  
-    <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>
-
-    <para>Prepare Tcl for compilation:</para>
-
-<screen><userinput remap="configure">SRCDIR=$(pwd)
-cd unix
-./configure --prefix=/usr           \
-            --mandir=/usr/share/man \
-            $([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</userinput></screen>
-
-    <variablelist>
-      <title>The meaning of the configure options:</title>
-
-      <varlistentry>
-        <term><parameter>$([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</parameter></term>
-        <listitem>
-          <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
-          is replaced by the output of the shell command.  Here this output is
-          empty if running on a 32 bit machine, and is
-          <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
-          </para>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    <para>Build the package:</para>
-
-<screen><userinput remap="make">make
-
-sed -e "s|$SRCDIR/unix|/usr/lib|" \
-    -e "s|$SRCDIR|/usr/include|"  \
-    -i tclConfig.sh
-
-sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
-    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|"    \
-    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
-    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|"            \
-    -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
-
-sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
-    -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|"    \
-    -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|"            \
-    -i pkgs/itcl&itcl-ver;/itclConfig.sh
-
-unset SRCDIR</userinput></screen>
-
-    <para>The various <quote>sed</quote> instructions after the
-    <quote>make</quote> command removes references to the build directory from
-    the configuration files and replaces them with the install directory.
-    This is not mandatory for the remainder of LFS, but may be needed in case a
-    package built later uses Tcl.</para>
-
-    <para>Install the package:</para>
-
-<screen><userinput remap="install">make install</userinput></screen>
-
-    <para>Make the installed library writable so debugging symbols can
-    be removed later:</para>
-
-<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
-
-    <para>Install Tcl's headers. The next package, Expect, requires them.</para>
-
-<screen><userinput remap="install">make install-private-headers</userinput></screen>
-
-    <para>Now make a necessary symbolic link:</para>
-
-<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/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 tclsh&tcl-major-version;) and 
-          tclsh&tcl-major-version;
-        </seg>
-        <seg>
-          libtcl&tcl-major-version;.so and 
-          libtclstub&tcl-major-version;.a
-        </seg>
-      </seglistitem>
-    </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="tclsh&tcl-major-version;">
-        <term><command>tclsh&tcl-major-version;</command></term>
-        <listitem>
-          <para>The Tcl command shell</para>
-          <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
-            <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="tclsh">
-        <term><command>tclsh</command></term>
-        <listitem>
-          <para>A link to tclsh&tcl-major-version;</para>
-          <indexterm zone="ch-tools-tcl tclsh">
-            <primary sortas="b-tclsh">tclsh</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libtcl&tcl-major-version;.so">
-        <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
-        <listitem>
-          <para>The Tcl library</para>
-          <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
-            <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libtclstub&tcl-major-version;.a">
-        <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
-        <listitem>
-          <para>The Tcl Stub library</para>
-          <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
-            <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </sect2>
-
-</sect1>
Index: chapter08/chapter08.xml
===================================================================
--- chapter08/chapter08.xml	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ chapter08/chapter08.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -15,4 +15,9 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgmgt.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-pages.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
+
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iana-etc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
Index: chapter08/dejagnu.xml
===================================================================
--- chapter08/dejagnu.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
+++ chapter08/dejagnu.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-dejagnu" role="wrap">
+  <?dbhtml filename="dejagnu.html"?>
+
+  <sect1info condition="script">
+    <productname>dejagnu</productname>
+    <productnumber>&dejagnu-version;</productnumber>
+    <address>&dejagnu-url;</address>
+  </sect1info>
+
+  <title>DejaGNU-&dejagnu-version;</title>
+
+  <indexterm zone="ch-tools-dejagnu">
+    <primary sortas="a-DejaGNU">DejaGNU</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The <application>DejaGnu</application> package contains a framework for running test
+      suites on GNU tools. It is written in <command>expect</command>, which itself
+      uses <application>Tcl</application> (Tool Command Language).</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&dejagnu-tmp-sbu;</seg>
+        <seg>&dejagnu-tmp-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of DejaGNU</title>
+
+    <para>Prepare DejaGNU for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr
+makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi
+makeinfo --plaintext       -o doc/dejagnu.txt  doc/dejagnu.texi</userinput></screen>
+
+    <para>Build and install the package:</para>
+
+<screen><userinput remap="install">make install
+install -v -dm755  /usr/share/doc/dejagnu-&dejagnu-version;
+install -v -m644   doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-&dejagnu-version;</userinput></screen>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+  </sect2>
+
+
+  <sect2 id="contents-dejagnu" role="content">
+    <title>Contents of DejaGNU</title>
+
+    <segmentedlist>
+      <segtitle>Installed program</segtitle>
+
+      <seglistitem>
+        <seg>runtest</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="runtest">
+        <term><command>runtest</command></term>
+        <listitem>
+          <para>A wrapper script that locates the proper
+          <command>expect</command> shell and then runs DejaGNU</para>
+          <indexterm zone="ch-tools-dejagnu runtest">
+            <primary sortas="b-runtest">runtest</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: chapter08/expect.xml
===================================================================
--- chapter08/expect.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
+++ chapter08/expect.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-expect" role="wrap">
+  <?dbhtml filename="expect.html"?>
+
+  <sect1info condition="script">
+    <productname>expect</productname>
+    <productnumber>&expect-version;</productnumber>
+    <address>&expect-url;</address>
+  </sect1info>
+
+  <title>Expect-&expect-version;</title>
+
+  <indexterm zone="ch-tools-expect">
+    <primary sortas="a-Expect">Expect</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The <application>Expect</application> package contains tools for
+    automating, via scripted dialogues, interactive applications such as
+    <command>telnet</command>, <command>ftp</command>,
+    <command>passwd</command>, <command>fsck</command>,
+    <command>rlogin</command>, and <command>tip</command>.
+    <application>Expect</application> is also useful for testing these same
+    applications as well as easing all sorts of tasks that are prohibitively
+    difficult with anything else. The <application>DejaGnu</application>
+    framework is written in <application>Expect</application>.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&expect-tmp-sbu;</seg>
+        <seg>&expect-tmp-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Expect</title>
+
+    <para>Prepare Expect for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr           \
+            --with-tcl=/usr/lib     \
+            --enable-shared         \
+            --mandir=/usr/share/man \
+            --with-tclinclude=/usr/include</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--with-tcl=/usr/lib</parameter></term>
+        <listitem>
+          <para>This parameter is needed to tell 
+          <command>configure</command> where the
+          <command>tclConfig.sh</command> script is located.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--with-tclinclude=/usr/include</parameter></term>
+        <listitem>
+          <para>This explicitly tells Expect where to find Tcl's internal
+          headers.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>Build the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make test</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install
+ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-expect" role="content">
+    <title>Contents of Expect</title>
+
+    <segmentedlist>
+      <segtitle>Installed program</segtitle>
+      <segtitle>Installed library</segtitle>
+
+      <seglistitem>
+        <seg>expect</seg>
+        <seg>libexpect-&expect-lib-version;.so</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="expect">
+        <term><command>expect</command></term>
+        <listitem>
+          <para>Communicates with other interactive programs according
+          to a script</para>
+          <indexterm zone="ch-tools-expect expect">
+            <primary sortas="b-expect">expect</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libexpect">
+        <term><filename class="libraryfile">libexpect-&expect-lib-version;.so</filename></term>
+        <listitem>
+          <para>Contains functions that allow Expect to be used as a Tcl
+          extension or to be used directly from C or C++ (without Tcl)</para>
+          <indexterm zone="ch-tools-expect libexpect">
+            <primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: chapter08/tcl.xml
===================================================================
--- chapter08/tcl.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
+++ chapter08/tcl.xml	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+  <!ENTITY tdbc-ver          "1.1.1">
+  <!ENTITY itcl-ver          "4.2.0">
+]>
+
+<sect1 id="ch-tools-tcl" role="wrap">
+  <?dbhtml filename="tcl.html"?>
+
+  <sect1info condition="script">
+    <productname>tcl</productname>
+    <productnumber>&tcl-version;</productnumber>
+    <address>&tcl-url;</address>
+  </sect1info>
+
+  <title>Tcl-&tcl-version;</title>
+
+  <indexterm zone="ch-tools-tcl">
+    <primary sortas="a-Tcl">Tcl</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The <application>Tcl</application> package contains the Tool Command Language,
+    a robust general-purpose scripting language. The <application>Expect</application> package
+    is written in the <application>Tcl</application> language.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&tcl-tmp-sbu;</seg>
+        <seg>&tcl-tmp-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 and other
+    packages.  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. These packages are required
+    to run the test suites in this chapter.</para>
+
+<!--    <para>Note that the Tcl package used here is a minimal version needed
+    to run the LFS tests.  For the full package, see the  
+    <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>-->
+
+    <para>First, unpack the documentation by issuing the following command:</para>
+
+<screen><userinput remap="pre">tar -xf ../tcl8.6.10-html.tar.gz --strip-components=1</userinput></screen>
+
+    <para>Prepare Tcl for compilation:</para>
+
+<screen><userinput remap="configure">SRCDIR=$(pwd)
+cd unix
+./configure --prefix=/usr           \
+            --mandir=/usr/share/man \
+            $([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>$([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</parameter></term>
+        <listitem>
+          <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
+          is replaced by the output of the shell command.  Here this output is
+          empty if running on a 32 bit machine, and is
+          <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
+          </para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>Build the package:</para>
+
+<screen><userinput remap="make">make
+
+sed -e "s|$SRCDIR/unix|/usr/lib|" \
+    -e "s|$SRCDIR|/usr/include|"  \
+    -i tclConfig.sh
+
+sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
+    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|"    \
+    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
+    -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|"            \
+    -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
+
+sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
+    -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|"    \
+    -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|"            \
+    -i pkgs/itcl&itcl-ver;/itclConfig.sh
+
+unset SRCDIR</userinput></screen>
+
+    <para>The various <quote>sed</quote> instructions after the
+    <quote>make</quote> command removes references to the build directory from
+    the configuration files and replaces them with the install directory.
+    This is not mandatory for the remainder of LFS, but may be needed in case a
+    package built later uses Tcl.</para>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make test</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+    <para>Make the installed library writable so debugging symbols can
+    be removed later:</para>
+
+<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
+
+    <para>Install Tcl's headers. The next package, Expect, requires them.</para>
+
+<screen><userinput remap="install">make install-private-headers</userinput></screen>
+
+    <para>Now make a necessary symbolic link:</para>
+
+<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/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 tclsh&tcl-major-version;) and 
+          tclsh&tcl-major-version;
+        </seg>
+        <seg>
+          libtcl&tcl-major-version;.so and 
+          libtclstub&tcl-major-version;.a
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="tclsh&tcl-major-version;">
+        <term><command>tclsh&tcl-major-version;</command></term>
+        <listitem>
+          <para>The Tcl command shell</para>
+          <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
+            <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="tclsh">
+        <term><command>tclsh</command></term>
+        <listitem>
+          <para>A link to tclsh&tcl-major-version;</para>
+          <indexterm zone="ch-tools-tcl tclsh">
+            <primary sortas="b-tclsh">tclsh</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libtcl&tcl-major-version;.so">
+        <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
+        <listitem>
+          <para>The Tcl library</para>
+          <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
+            <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libtclstub&tcl-major-version;.a">
+        <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
+        <listitem>
+          <para>The Tcl Stub library</para>
+          <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
+            <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: packages.ent
===================================================================
--- packages.ent	(revision bfab1b2d251f5101902524a551c61e5286432a84)
+++ packages.ent	(revision 28e610dbf11eaf4f401b1522b80fa34feb46fa8c)
@@ -679,4 +679,7 @@
 <!ENTITY tcl-md5 "97c55573f8520bcab74e21bfd8d0aadc">
 <!ENTITY tcl-home "http://tcl.sourceforge.net/">
+<!ENTITY tcl-docs-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-html.tar.gz">
+<!ENTITY tcl-docs-md5 "a012711241ba3a5bd4a04e833001d489">
+<!ENTITY tcl-docs-size "1,171 KB">
 <!ENTITY tcl-tmp-du "76 MB">
 <!ENTITY tcl-tmp-sbu "0.9 SBU">
