Difference between revisions of "TCL"

From CBLFS
Jump to navigationJump to search
(Introduction to TCL)
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://prdownloads.sourceforge.net/tcl/tcl{{TCL-Version}}-src.tar.gz
+
| http://downloads.sourceforge.net/tcl/tcl{{TCL-Version}}-src.tar.gz
 
|}
 
|}
  
 
----
 
----
  
== Introduction to TCL ==
+
{{Package-Introduction|Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.|http://www.tcl.tk/}}
 
 
<Package Description Needed>
 
  
 
== Dependencies ==
 
== Dependencies ==
Line 26: Line 24:
 
  make install-private-headers &&
 
  make install-private-headers &&
 
  ln -v -sf tclsh{{TCL-Version2}} /usr/bin/tclsh
 
  ln -v -sf tclsh{{TCL-Version2}} /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 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 57: Line 47:
  
 
  cd unix &&
 
  cd unix &&
  sed -i '/sprintf(installLib/s:"lib:&64:' tclUnixInit.c &&
+
  sed -i '/sprintf(installLib/s:"lib:&32:' tclUnixInit.c &&
 
  sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib32":' \
 
  sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib32":' \
         -e '/^TCL_LIBRARY=/s:=.*:=/usr/lib32/tcl$(VERSION):' configure &&
+
         -e "/^TCL_LIBRARY=/s:=.*:='/usr/lib32/tcl\$(VERSION)':" configure &&
 
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 \
 
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 \
 
     --enable-threads &&
 
     --enable-threads &&
Line 77: Line 67:
 
  sed -i '/sprintf(installLib/s:"lib:&64:' tclUnixInit.c &&
 
  sed -i '/sprintf(installLib/s:"lib:&64:' tclUnixInit.c &&
 
  sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib64":' \
 
  sed -i -e '/TCL_PACKAGE_PATH=/s:=.*:="/usr/lib64":' \
         -e '/^TCL_LIBRARY=/s:=.*:=/usr/lib64/tcl$(VERSION):' configure &&
+
         -e "/^TCL_LIBRARY=/s:=.*:='/usr/lib64/tcl\$(VERSION)':" configure &&
 
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 \
 
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 \
 
     --enable-threads &&
 
     --enable-threads &&
Line 118: Line 108:
 
| contains the API functions required by Tcl.
 
| contains the API functions required by Tcl.
 
|}
 
|}
 +
 +
[[Category:General Libs]]

Latest revision as of 10:32, 20 September 2009

Download Source: http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

Introduction to TCL

Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.

Project Homepage: http://www.tcl.tk/

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

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:&32:' 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.