I have rename tcltk_shlib package as "supertcltk" which include two sub-directory, "supertcl" and "supertk", in order to support others tcl/tk extended packages for building shared library. Version 0.5 supports shared library on SunOS 4, Solaris 2, IRIX 5, OSF/1, linux, HP/UX, freeBSD/netBSD, AIX 3.2, SVR 4, DG/UX. There are two seperated subdirectory in "supertcltk", supertcl0.5 and supertk0.5. Supertcl0.5 includes tcl and its applications. Supertk0.5 includes tk and its applications. Currently, supertcl0.5 includes Tcl (default 7.4), Expect (default 5.14), Itcl (default 1.5), TclX (default 7.4a-b2), Tcl-dp (default 3.2). There is super "tclsh", named as "supertcl", in "supertcl0.5/app" which has all functions based above extension packages. The command line options are : supertcl [-c cmds] [-D 0|1] [cmdfile [args] | -] The -c flag prefaces a command to be executed before any in the script. The -D flag enables an interactive debugger. An integer value should follow. Refer to Expect man page for more information. If the string "-" is supplied as a cmdfile, standard input is read instead. Note: use "supertcl cmdfile", the supertcl can not quit when the cmdfile end. Currently, supertk0.5 includes Tk (default 4.0), BLT (default 1.7). Tcl-dp (default 3.2), Expectk (defaul 5.13). There is super "wish", named as "supertk", in "supertk0.5/app" which has all functions based on above extension packages. The command line options are the same as original wish. <> 1. All shared library object have been resorted by "lorder | tsort". Thanks Leif Hedstrom ! 2. New stuff to support several tcl/tk extend applications 3. Daniel Simmons tested version 0.4 on HP and corrected some errors. Thanks! 4. Maurice LeBrun tested version 0.4 on IBM AIX and sent me a working version on that platform. Thanks! 5. Mikko Tyolajarvi ported version 0.4 to freeBSD and sent me a script to support DG/UX. Thanks! 6. John Ellson tested pre-release version 0.5 on SunOS 4.1.3 with --with-gcc option and sent me patch. Thanks! <> You need GNU make (I use version 3.77.1) to make these software. <> ftp.aud.alcatel.com [198.64.191.10] /pub/tcl/extensions URL: http://130.209.12.75:8001 This server only runs in off peek time (GMT 17:00-9:00). <> 1. install all sources such as tcl, tclX, expect, itcl, tcl-dp, tk, blt. [your-home-directory] | +-------+-------+---------+-------+-------+------+ [tcl] [tclX] [expect] [itcl] [tcl-dp] [tk] [blt] 2. compile these packages. make sure you success! ;-) 3. make install for each package. 4. zcat supertcltk0.5.tar.Z | tar xvf - 5. cd supertcl0.5 edit the file Config.mk if you want to build tclX's C++ suport. 6. build each share library If you don't want install all stuff into /usr/local, you need use --prefix to set new directory, for example, ./configure --prefix=${HOME} install all stuff into your HOME directory. The default use cc compile, you can override it with option --with-gcc or --with-acc. if you want to build the shared library which is not default version, you should change the version variabe in Makefile.in (cd tcl; ./configure; make; make install) (cd tclX; ./configure; make; make install) (cd expect; ./configure; make; make install) (cd itcl; ./configure; make; make install) (cd tdp; ./configure; make; make install) 7. there is a super "tclsh" in app/, you can build it by (cd app; ./configure; make; make install) 8. in order run the "supertcl", you need set env variables TCL_LIBRARY, DP_LIBRARY, LD_LIBRARY_PATH. for example, use --prefix=${HOME}/mips for building library. in C-shell, % setenv TCL_LIBRARY ${HOME}/mips/tclX/7.4a-b2 % setenv DP_LIBRARY ${HOME}/mips/lib/dp % setenv LD_LIBRARY_PATH ${HOME}/mips/lib 9. cd supertk0.5 10.build each share library If you don't want install all stuff into /usr/local, you need use --prefix to set new directory, for example, ./configure --prefix=${HOME} install all stuff into your HOME directory. The default use cc compile, you can override it with option --with-gcc or --with-acc. if you want to build the shared library which is not default version, you should change the version variabe in Makefile.in (cd tk; ./configure; make; make install) (cd expect; ./configure; make; make install) (cd tcldp; ./configure; make; make install) (cd blt; ./configure; make; make install) 11.there is a super "wish" in app/, you can build it by (cd app; ./configure; make; make install) 12.in order run the supertk, you need set another env variable TK_LIBRARY. <> I have tested supertcltk in the following platform: Sun Sparc10, SunOS 4.1.3, K&R cc Sun Sparc1000, Solaris 2.3, SunPro C 3.0.1 SGI Indy, IRIX 5.2, SGI cc Dec Alpha, OSF/1 1.3, cc i486/DX-2/66, linux 1.1.59, gcc 2.5.8 John Ellson SunOS 4.1.3 gcc Others platform: AIX, HPUX, freeBSD/netBSD, SVR 4, DG/UX have not test yet. ============================================== TCL SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test Pass Pass Pass Pass Pass ============================================== TclX SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test Pass Pass Pass Pass Pass ============================================== Expect SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test Pass Pass Pass Pass Pass ============================================== Itcl SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test Pass Pass Pass Pass Pass ============================================== TclDP SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test Pass Pass Pass Pass Pass ============================================== TK SunOs4 Solaris2 IRIX5 OSF1 Linux ---------------------------------------------- Compile Pass Pass Pass Pass Pass Test No No No No Pass ============================================= BLT SunOs4 Solaris2 IRIX5 OSF1 Linux --------------------------------------------- Compile Pass Pass Pass Pass Pass Test No No No No Pass ---------------------------------------------- * "Pass" means the same results by applying the static link program. * "No" means have not run the test or example programs yet. * There are some command name conflict between tclX and expect. You have to add "exp_" to the commands of expect's test script. * "supertcl" are not compatible with tclX's command line options. You need modify tclX's tests script. <> Dr Xiaokun Zhu E-mail: xiaokun@aero.gla.ac.uk +--------------------------------------------------------+ | WELCOME TO BUG REPORTS AND SUGGESTIONS FOR IMPROVEMENT | +--------------------------------------------------------+ <> Copyright (C) 1995 Xiaokun Zhu supertcltk package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. <> Version 0.4 1. The version (0.4) supports Tcl7.3/Tk3.6 2. Automaticly search platform to build share and standard library. It supports : Sys V Release 4 (Solaris 2), *** Leif Hedstrom tests in Solaris. *** He and Alexander Dupuy give me many good suggestion. Thanks! SUN OS4.1.x, *** Xiaokun Zhu tests in Sun Sparc 10, OS4.1.3 HP-UX 9.01, *** No test :-) IBM RS6000. *** No test :-) 3. Automaticly patch "matherr" bug for SunOs4.1.x Version 0.3 1. replace unshlibtcl.c with tclMtherr.c and remove unshlibtk.c. (Thanks ken@au.csiro.dit.syd ) 2. fix the "no set LD_LIBRARY_PATH" bug. ( J.K.Wight@uk.ac.newcastle ) 3. seperate Tcl & Tk library directory in Makefile.in of tk3.3. Version 0.2 1. support tcl7.0 & tk3.3. 2. rearrange the order of objects in shared library. (Thanks Leif Hedstrom ) 3. fix the "catch" bug. (Thanks schwartz@roke.cse.psu.edu ) (Thanks jsacco@com.ssl ) Version 0.1 1. support tcl7.0b3 & tk3.3b3