TCL

From CBLFS
Revision as of 14:30, 16 December 2006 by Jciccone (talk | contribs) (Multilib)
Jump to navigationJump to search
Download Source: http://prdownloads.sourceforge.net/tcl/tcl8.4.14-src.tar.gz

Introduction to TCL

The TCL package contains the Tool Command Language, a robust general-purpose scripting language. It was installed as part of the temporary system in CLFS for use with test suites, but was not reinstalled as part of the permanent system.

Dependencies

Non-Multilib

Compile the package:

cd unix &&
./configure --prefix=/usr --enable-threads &&
make

Install the package

make install &&
make install-private-headers &&
ln -v -sf tclsh8.4 /usr/bin/tclsh

Command Explanations

--enable-threads: This switch forces the package to build with thread support.

make install-private-headers: This command is used to install the Tcl library interface headers used by other packages if they link to the Tcl library.

ln -v -sf tclsh8.4 /usr/bin/tclsh: This command is used to create a compatibility symbolic link to the tclsh8.4 file as many packages expect a file named tclsh.

Multilib

32Bit

Compile the package:

cd unix &&
CC="gcc ${BUILD32}" ./configure --prefix=/usr \
    --enable-threads &&
make

Install the package

make install &&
mv -v /usr/bin/tclsh8.4{,-32} &&
ln -v -sf tclsh8.4-32 /usr/bin/tclsh-32

N32

Compile the package:

cd unix &&
sed -i '/sprintf(installLib/s:"lib:&64:' tclUnixInit.c &&
sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib32":' \
       -e '/^TCL_LIBRARY=/s:=.*:=/usr/lib32/tcl$(VERSION):' configure &&
CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 \
    --enable-threads &&
make

Install the package

make install &&
mv -v /usr/bin/tclsh8.4{,-n32} &&
ln -v -sf tclsh8.4-n32 /usr/bin/tclsh-n32

64Bit

Compile the package:

cd unix &&
sed -i '/sprintf(installLib/s:"lib:&64:' tclUnixInit.c &&
sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib64":' \
       -e '/^TCL_LIBRARY=/s:=.*:=/usr/lib64/tcl$(VERSION):' configure &&
CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 \
    --enable-threads &&
make

Install the package

make install &&
make install-private-headers &&
mv -v /usr/bin/tclsh8.4{,-64} &&
ln -v -sf multiarch_wrapper /usr/bin/tclsh8.4 &&
ln -v -sf tclsh8.4-64 /usr/bin/tclsh-64 &&
ln -v -sf multiarch_wrapper /usr/bin/tclsh

Contents

Installed Programs: tclsh and tclsh8.4
Installed Libraries: libtcl.so and libtclstub8.4.a
Installed Directories: /usr/lib/tcl8.4

Short Descriptions

tclsh is a symlink to the tclsh8.4 program.
tclsh8.4 is a simple shell containing the Tcl interpreter.
libtcl.so contains the API functions required by Tcl.