source: general/prog/tcl.xml@ fce275e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 fce275e was fce275e, checked in by Randy McMurchy <randy@…>, 16 years ago

Modified all the Sourceforge download URLs to use a newly created entity instead of a hard-coded URL

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

  • Property mode set to 100644
File size: 6.5 KB
Line 
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 <!ENTITY tcl-download-http "&sourceforge-repo;/tcl/tcl&tcl-version;-src.tar.gz">
8 <!ENTITY tcl-download-ftp "&gentoo-ftp-repo;/tcl&tcl-version;-src.tar.gz">
9 <!ENTITY tcl-md5sum "7d8bc95036f797b1a2b62a5a382d2cc1">
10 <!ENTITY tcl-size "3.6 MB">
11 <!ENTITY tcl-buildsize "25 MB">
12 <!ENTITY tcl-time "0.3 SBU (additional 0.7 SBU to run the test suite)">
13
14 <!-- Ensure this is updated when Tcl moves to the 8.5.x branch -->
15 <!ENTITY tcl-ver "8.4">
16]>
17
18<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
19 <?dbhtml filename="tcl.html"?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>Tcl-&tcl-version;</title>
27
28 <indexterm zone="tcl">
29 <primary sortas="a-Tcl">Tcl</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Tcl</title>
34
35 <para>The <application>Tcl</application> package contains the Tool Command
36 Language, a robust general-purpose scripting language.</para>
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>Download (HTTP): <ulink url="&tcl-download-http;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download (FTP): <ulink url="&tcl-download-ftp;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download MD5 sum: &tcl-md5sum;</para>
48 </listitem>
49 <listitem>
50 <para>Download size: &tcl-size;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated disk space required: &tcl-buildsize;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated build time: &tcl-time;</para>
57 </listitem>
58 </itemizedlist>
59
60 <para condition="html" role="usernotes">User Notes:
61 <ulink url="&blfs-wiki;/tcl"/></para>
62
63 </sect2>
64
65 <sect2 role="installation">
66 <title>Installation of Tcl</title>
67
68 <para>This package is also installed in LFS during the bootstrap phase.
69 As it is not installed during Chapter 6 of LFS, installation instructions
70 are included here in BLFS.</para>
71
72 <para>Install <application>Tcl</application> by running the following
73 commands:</para>
74
75<screen><userinput>cd unix &amp;&amp;
76./configure --prefix=/usr \
77 --enable-threads \
78 --mandir=/usr/share/man &amp;&amp;
79make &amp;&amp;
80sed -i \
81 -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
82 -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
83 -e "/SEARCH/s/=.*/=''/" \
84 tclConfig.sh</userinput></screen>
85
86 <para>To test the results, issue: <command>make test</command>.</para>
87
88 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
89
90<screen role="root"><userinput>make install &amp;&amp;
91make install-private-headers &amp;&amp;
92ln -v -sf tclsh&tcl-ver; /usr/bin/tclsh</userinput></screen>
93
94<!-- This is removed per discussion and fairly vigorous testing
95install -v -d /usr/include/tcl&tcl-ver;/{unix,generic} &amp;&amp;
96install -v -m644 *.h /usr/include/tcl&tcl-ver;/unix/ &amp;&amp;
97install -v -m644 ../generic/*.h /usr/include/tcl&tcl-ver;/generic/ &amp;&amp;
98rm -v -f /usr/include/tcl&tcl-ver;/generic/tcl{,{,Plat}Decls}.h &amp;&amp;
99ln -v -nsf ../../include/tcl&tcl-ver; /usr/lib/tcl&tcl-ver;/include &amp;&amp;
100ln -v -sf libtcl&tcl-ver;.so /usr/lib/libtcl.so &amp;&amp;
101-->
102
103 </sect2>
104
105 <sect2 role="commands">
106 <title>Command Explanations</title>
107
108 <para><parameter>--enable-threads</parameter>: This switch forces the package
109 to build with thread support.</para>
110
111 <para><command>make install-private-headers</command>: This command is
112 used to install the <application>Tcl</application> library interface
113 headers used by other packages if they link to the
114 <application>Tcl</application> library.</para>
115
116 <para><command>ln -v -sf tclsh&tcl-ver; /usr/bin/tclsh</command>: This
117 command is used to create a compatibility symbolic link to the
118 <command>tclsh&tcl-ver;</command> file as many packages expect a file
119 named <command>tclsh</command>.</para>
120
121 <para><command>sed -i -e ... tclConfig.sh</command>: The
122 <application>Tcl</application> package expects that its source tree is
123 preserved so that packages depending on it for their compilation
124 can utilize it. This <command>sed</command> removes the references to the
125 build directory and replaces them with saner system-wide locations.</para>
126
127 <!--
128 <para><command>install ...</command>: These commands install the internal
129 headers into a system-wide location.</para>
130
131 <para><command>ln -v -sf ...</command>: These commands create compatibility
132 symbolic links.</para>
133 -->
134
135 </sect2>
136
137 <sect2 role="content">
138 <title>Contents</title>
139
140 <segmentedlist>
141 <segtitle>Installed Programs</segtitle>
142 <segtitle>Installed Libraries</segtitle>
143 <segtitle>Installed Directories</segtitle>
144
145 <seglistitem>
146 <seg>tclsh and tclsh&tcl-ver;</seg>
147 <seg>libtcl.so and libtclstub&tcl-ver;.a</seg>
148 <seg>/usr/lib/tcl&tcl-ver;</seg>
149 </seglistitem>
150 </segmentedlist>
151
152 <variablelist>
153 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
154 <?dbfo list-presentation="list"?>
155 <?dbhtml list-presentation="table"?>
156
157 <varlistentry id="tclsh">
158 <term><command>tclsh</command></term>
159 <listitem>
160 <para> is a symlink to the <command>tclsh&tcl-ver;</command>
161 program.</para>
162 <indexterm zone="tcl tclsh">
163 <primary sortas="g-tclsh">tclsh</primary>
164 </indexterm>
165 </listitem>
166 </varlistentry>
167
168 <varlistentry id="tclsh-eight">
169 <term><command>tclsh&tcl-ver;</command></term>
170 <listitem>
171 <para> is a simple shell containing the
172 <application>Tcl</application> interpreter.</para>
173 <indexterm zone="tcl tclsh-eight">
174 <primary sortas="b-tclsh&tcl-ver;">tclsh&tcl-ver;</primary>
175 </indexterm>
176 </listitem>
177 </varlistentry>
178
179 <varlistentry id="libtcl">
180 <term><filename role="library">libtcl.so</filename></term>
181 <listitem>
182 <para>contains the API functions required
183 by <application>Tcl</application>.</para>
184 <indexterm zone="tcl libtcl">
185 <primary sortas="c-libtcl">libtcl.so</primary>
186 </indexterm>
187 </listitem>
188 </varlistentry>
189
190 </variablelist>
191
192 </sect2>
193
194</sect1>
Note: See TracBrowser for help on using the repository browser.