Difference between revisions of "TCL"

From CBLFS
Jump to navigationJump to search
(Multilib)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://prdownloads.sourceforge.net/tcl/tcl8.4.14-src.tar.gz
+
| http://prdownloads.sourceforge.net/tcl/tcl{{TCL-Version}}-src.tar.gz
 
|}
 
|}
  
Line 25: Line 25:
 
  make install &&
 
  make install &&
 
  make install-private-headers &&
 
  make install-private-headers &&
  ln -v -sf tclsh8.4 /usr/bin/tclsh
+
  ln -v -sf tclsh{{TCL-Version2}} /usr/bin/tclsh
  
 
=== Command Explanations ===
 
=== Command Explanations ===
Line 33: Line 33:
 
'''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.
 
'''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.
+
'''ln -v -sf tclsh{{TCL-Version2}} /usr/bin/tclsh''': This command is used to create a compatibility symbolic link to the tclsh{{TCL-Version2}} file as many packages expect a file named tclsh.
  
 
== Multilib ==
 
== Multilib ==
Line 49: Line 49:
  
 
  make install &&
 
  make install &&
  mv -v /usr/bin/tclsh8.4{,-32} &&
+
  mv -v /usr/bin/tclsh{{TCL-Version2}}{,-32} &&
  ln -v -sf tclsh8.4-32 /usr/bin/tclsh-32
+
  ln -v -sf tclsh{{TCL-Version2}}-32 /usr/bin/tclsh-32
  
 
=== N32 ===
 
=== N32 ===
Line 67: Line 67:
  
 
  make install &&
 
  make install &&
  mv -v /usr/bin/tclsh8.4{,-n32} &&
+
  mv -v /usr/bin/tclsh{{TCL-Version2}}{,-n32} &&
  ln -v -sf tclsh8.4-n32 /usr/bin/tclsh-n32
+
  ln -v -sf tclsh{{TCL-Version2}}-n32 /usr/bin/tclsh-n32
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 86: Line 86:
 
  make install &&
 
  make install &&
 
  make install-private-headers &&
 
  make install-private-headers &&
  mv -v /usr/bin/tclsh8.4{,-64} &&
+
  mv -v /usr/bin/tclsh{{TCL-Version2}}{,-64} &&
  ln -v -sf multiarch_wrapper /usr/bin/tclsh8.4 &&
+
  ln -v -sf multiarch_wrapper /usr/bin/tclsh{{TCL-Version2}} &&
  ln -v -sf tclsh8.4-64 /usr/bin/tclsh-64 &&
+
  ln -v -sf tclsh{{TCL-Version2}}-64 /usr/bin/tclsh-64 &&
 
  ln -v -sf multiarch_wrapper /usr/bin/tclsh
 
  ln -v -sf multiarch_wrapper /usr/bin/tclsh
  
Line 96: Line 96:
 
|-valign="top"
 
|-valign="top"
 
! Installed Programs:
 
! Installed Programs:
| tclsh and tclsh8.4
+
| tclsh and tclsh{{TCL-Version2}}
 
|-valign="top"
 
|-valign="top"
 
! Installed Libraries:
 
! Installed Libraries:
| libtcl.so and libtclstub8.4.a
+
| libtcl.so and libtclstub{{TCL-Version2}}.a
 
|-valign="top"
 
|-valign="top"
 
! Installed Directories:
 
! Installed Directories:
| /usr/lib/tcl8.4
+
| /usr/lib/tcl{{TCL-Version2}}
 
|}
 
|}
  
Line 112: Line 112:
 
| is a symlink to the tclsh8.4 program.
 
| is a symlink to the tclsh8.4 program.
 
|-valign="top"
 
|-valign="top"
! tclsh8.4
+
! tclsh{{TCL-Version2}}
 
| is a simple shell containing the Tcl interpreter.
 
| is a simple shell containing the Tcl interpreter.
 
|-valign="top"
 
|-valign="top"

Revision as of 10:57, 17 December 2006

Download Source: http://prdownloads.sourceforge.net/tcl/tcl8.6.1-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.6 /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.6 /usr/bin/tclsh: This command is used to create a compatibility symbolic link to the tclsh8.6 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.6{,-32} &&
ln -v -sf tclsh8.6-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.6{,-n32} &&
ln -v -sf tclsh8.6-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.6{,-64} &&
ln -v -sf multiarch_wrapper /usr/bin/tclsh8.6 &&
ln -v -sf tclsh8.6-64 /usr/bin/tclsh-64 &&
ln -v -sf multiarch_wrapper /usr/bin/tclsh

Contents

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

Short Descriptions

tclsh is a symlink to the tclsh8.4 program.
tclsh8.6 is a simple shell containing the Tcl interpreter.
libtcl.so contains the API functions required by Tcl.
Retrieved from "?title=TCL&oldid=4940"