source: general/prog/tcl.xml@ fa4bb53

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since fa4bb53 was fa4bb53, checked in by Igor Živković <igor@…>, 19 years ago

Added a test suite note to Tcl.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3740 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 5.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7<!ENTITY tcl-download-http "http://prdownloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz">
8<!ENTITY tcl-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tcl&tcl-version;-src.tar.gz">
9<!ENTITY tcl-md5sum "7e01b409925e4eb59ad44a4c12b9c681">
10<!ENTITY tcl-size "3.4 MB">
11<!ENTITY tcl-buildsize "24.2 MB">
12<!ENTITY tcl-time "0.28 SBU (additional 0.73 SBU to run the test suite)">
13]>
14
15<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
16<sect1info>
17<othername>$LastChangedBy$</othername>
18<date>$Date$</date>
19</sect1info>
20<?dbhtml filename="tcl.html"?>
21<title>Tcl-&tcl-version;</title>
22<indexterm zone="tcl">
23<primary sortas="a-Tcl">Tcl</primary></indexterm>
24
25<sect2>
26<title>Introduction to <application>Tcl</application></title>
27
28<para>The <application>Tcl</application> package contains the Tool Command
29Language, a robust general-purpose scripting language.</para>
30
31<sect3><title>Package information</title>
32<itemizedlist spacing='compact'>
33<listitem><para>Download (HTTP): <ulink
34url="&tcl-download-http;"/></para></listitem>
35<listitem><para>Download (FTP): <ulink
36url="&tcl-download-ftp;"/></para></listitem>
37<listitem><para>Download MD5 sum: &tcl-md5sum;</para></listitem>
38<listitem><para>Download size: &tcl-size;</para></listitem>
39<listitem><para>Estimated disk space required:
40&tcl-buildsize;</para></listitem>
41<listitem><para>Estimated build time:
42&tcl-time;</para></listitem></itemizedlist>
43</sect3>
44
45</sect2>
46
47<sect2>
48<title>Installation of <application>Tcl</application></title>
49
50<note><para>This package is also installed in <acronym>LFS</acronym> during
51the bootstrap phase. The significant difference between the two installations
52(other than installing to <filename class="directory">/usr</filename>) is the
53package is installed in such a way that there is no need to keep the build
54directory around after installation.</para></note>
55
56<para>Install <application>Tcl</application> by running the following
57commands:</para>
58
59<screen><userinput><command>export VERSION=&tcl-version; &amp;&amp;
60export V=`echo $VERSION | cut -d "." -f 1,2` &amp;&amp;
61export DIR=$PWD &amp;&amp;
62cd unix &amp;&amp;
63./configure --prefix=/usr --enable-threads &amp;&amp;
64make &amp;&amp;
65sed -i "s:${DIR}/unix:/usr/lib:" tclConfig.sh &amp;&amp;
66sed -i "s:${DIR}:/usr/include/tcl${V}:" tclConfig.sh &amp;&amp;
67sed -i "s,^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so',\
68TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"," tclConfig.sh</command></userinput></screen>
69
70<para>To test the results, issue: <command>make test</command>.</para>
71
72<para>Now, as the root user:</para>
73
74<screen><userinput role='root'><command>make install &amp;&amp;
75install -d /usr/include/tcl${V}/unix &amp;&amp;
76install -m644 *.h /usr/include/tcl${V}/unix/ &amp;&amp;
77install -d /usr/include/tcl${V}/generic &amp;&amp;
78install -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &amp;&amp;
79rm -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &amp;&amp;
80ln -nsf ../../include/tcl${V} /usr/lib/tcl${V}/include &amp;&amp;
81ln -sf libtcl${V}.so /usr/lib/libtcl.so &amp;&amp;
82ln -sf tclsh${V} /usr/bin/tclsh</command></userinput></screen>
83
84<para>Clean up the unprivileged user's environment using the following
85commands:</para>
86
87<screen><userinput><command>unset VERSION &amp;&amp;
88unset V &amp;&amp;
89unset DIR</command></userinput></screen>
90
91<!--
92<caution><para>If you build the package as an ordinary user and then switch to
93root to install the package, ensure you set the environment variables
94<envar>V</envar> and <envar>VERSION</envar> before running the installation
95commands.</para></caution>
96-->
97
98</sect2>
99
100<sect2>
101<title>Command explanations</title>
102
103<para><parameter>--enable-threads</parameter>: This switch forces the package
104to build with thread support.</para>
105
106<para><command>sed -i ...</command>: The <application>Tcl</application>
107package assumes that the source that is used to build
108<application>Tcl</application> is always kept around for compiling packages
109that depend on <application>Tcl</application>. These <command>sed</command>s
110remove the reference to the build directory and replace them by saner system
111wide locations.</para>
112
113<para><command>install ...</command>: These commands install the internal
114headers into a system-wide location.</para>
115
116<para><command>ln -sf ...</command>: These commands create compatibility
117symbolic links.</para>
118</sect2>
119
120<sect2>
121<title>Contents</title>
122
123<segmentedlist>
124<segtitle>Installed Programs</segtitle>
125<segtitle>Installed Libraries</segtitle>
126<segtitle>Installed Directories</segtitle>
127
128<seglistitem>
129<seg>tclsh and tclsh8.4</seg>
130<seg>libtcl.so and libtclstub8.4.a</seg>
131<seg>/usr/include/tcl8.4 and /usr/lib/tcl8.4</seg>
132</seglistitem>
133</segmentedlist>
134
135<variablelist>
136<bridgehead renderas="sect3">Short Descriptions</bridgehead>
137<?dbfo list-presentation="list"?>
138
139<varlistentry id="tclsh">
140<term><command>tclsh</command></term>
141<listitem><para> is a symlink to the <command>tclsh8.4</command>
142program.</para>
143<indexterm zone="tcl tclsh">
144<primary sortas="g-tclsh">tclsh</primary></indexterm>
145</listitem>
146</varlistentry>
147
148<varlistentry id="tclsh8.4">
149<term><command>tclsh8.4</command></term>
150<listitem><para> is a simple shell containing the
151<application>Tcl</application> interpreter.</para>
152<indexterm zone="tcl tclsh8.4">
153<primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
154</listitem>
155</varlistentry>
156
157<varlistentry id="libtcl">
158<term><filename role="library">libtcl.so</filename></term>
159<listitem><para>contains the <acronym>API</acronym> functions required
160by <application>Tcl</application>.</para>
161<indexterm zone="tcl libtcl">
162<primary sortas="c-libtcl">libtcl.so</primary></indexterm>
163</listitem>
164</varlistentry>
165</variablelist>
166
167</sect2>
168
169</sect1>
Note: See TracBrowser for help on using the repository browser.