tcl.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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. ]>
  7. <sect1 id="ch-tools-tcl" role="wrap">
  8. <?dbhtml filename="tcl.html"?>
  9. <sect1info condition="script">
  10. <productname>tcl</productname>
  11. <productnumber>&tcl-version;</productnumber>
  12. <address>&tcl-url;</address>
  13. </sect1info>
  14. <title>Tcl-&tcl-version;</title>
  15. <indexterm zone="ch-tools-tcl">
  16. <primary sortas="a-Tcl">Tcl</primary>
  17. </indexterm>
  18. <sect2 role="package">
  19. <title/>
  20. <para>The <application>Tcl</application> package contains the Tool Command Language,
  21. a robust general-purpose scripting language. The <application>Expect</application> package
  22. is written in the <application>Tcl</application> language.</para>
  23. <segmentedlist>
  24. <segtitle>&buildtime;</segtitle>
  25. <segtitle>&diskspace;</segtitle>
  26. <seglistitem>
  27. <seg>&tcl-ch5-sbu;</seg>
  28. <seg>&tcl-ch5-du;</seg>
  29. </seglistitem>
  30. </segmentedlist>
  31. </sect2>
  32. <sect2 role="installation">
  33. <title>Installation of Tcl</title>
  34. <para>This package and the next two (Expect and DejaGNU) are
  35. installed to support running the test suites for GCC and Binutils and other
  36. packages. Installing three packages for testing purposes may seem
  37. excessive, but it is very reassuring, if not essential, to know that the
  38. most important tools are working properly. Even if the test suites are not
  39. run in this chapter (they are not mandatory), these packages are required
  40. to run the test suites in <xref linkend="chapter-building-system"/>.</para>
  41. <para>Note that the Tcl package used here is a minimal version needed
  42. to run the LFS tests. For the full package, see the
  43. <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>
  44. <para>Prepare Tcl for compilation:</para>
  45. <screen><userinput remap="configure">cd unix
  46. ./configure --prefix=/tools</userinput></screen>
  47. <para>Build the package:</para>
  48. <screen><userinput remap="make">make</userinput></screen>
  49. <para>Compilation is now complete. As discussed earlier, running the test
  50. suite is not mandatory for the temporary tools here in this chapter. To run
  51. the Tcl test suite anyway, issue the following command:</para>
  52. <screen><userinput remap="test">TZ=UTC make test</userinput></screen>
  53. <para>The Tcl test suite may experience failures under certain host
  54. conditions that are not fully understood. Therefore, test suite failures
  55. here are not surprising, and are not considered critical. The
  56. <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
  57. Universal Time (UTC), but only
  58. for the duration of the test suite run. This ensures that the clock tests
  59. are exercised correctly. Details on the <envar>TZ</envar> environment
  60. variable are provided in <xref linkend="chapter-config"/>.</para>
  61. <para>Install the package:</para>
  62. <screen><userinput remap="install">make install</userinput></screen>
  63. <para>Make the installed library writable so debugging symbols can
  64. be removed later:</para>
  65. <screen><userinput remap="install">chmod -v u+w /tools/lib/libtcl&tcl-major-version;.so</userinput></screen>
  66. <para>Install Tcl's headers. The next package, Expect, requires them
  67. to build.</para>
  68. <screen><userinput remap="install">make install-private-headers</userinput></screen>
  69. <para>Now make a necessary symbolic link:</para>
  70. <screen><userinput remap="install">ln -sv tclsh&tcl-major-version; /tools/bin/tclsh</userinput></screen>
  71. </sect2>
  72. <sect2 id="contents-tcl" role="content">
  73. <title>Contents of Tcl</title>
  74. <segmentedlist>
  75. <segtitle>Installed programs</segtitle>
  76. <segtitle>Installed library</segtitle>
  77. <seglistitem>
  78. <seg>tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version;</seg>
  79. <seg>libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a</seg>
  80. </seglistitem>
  81. </segmentedlist>
  82. <variablelist>
  83. <bridgehead renderas="sect3">Short Descriptions</bridgehead>
  84. <?dbfo list-presentation="list"?>
  85. <?dbhtml list-presentation="table"?>
  86. <varlistentry id="tclsh&tcl-major-version;">
  87. <term><command>tclsh&tcl-major-version;</command></term>
  88. <listitem>
  89. <para>The Tcl command shell</para>
  90. <indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
  91. <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
  92. </indexterm>
  93. </listitem>
  94. </varlistentry>
  95. <varlistentry id="tclsh">
  96. <term><command>tclsh</command></term>
  97. <listitem>
  98. <para>A link to tclsh&tcl-major-version;</para>
  99. <indexterm zone="ch-tools-tcl tclsh">
  100. <primary sortas="b-tclsh">tclsh</primary>
  101. </indexterm>
  102. </listitem>
  103. </varlistentry>
  104. <varlistentry id="libtcl&tcl-major-version;.so">
  105. <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
  106. <listitem>
  107. <para>The Tcl library</para>
  108. <indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
  109. <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
  110. </indexterm>
  111. </listitem>
  112. </varlistentry>
  113. <varlistentry id="libtclstub&tcl-major-version;.a">
  114. <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
  115. <listitem>
  116. <para>The Tcl Stub library</para>
  117. <indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
  118. <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
  119. </indexterm>
  120. </listitem>
  121. </varlistentry>
  122. </variablelist>
  123. </sect2>
  124. </sect1>