home *** CD-ROM | disk | FTP | other *** search
- This is version 1.0 of the "extension" command. It creates a
- vanilla version of "wish" with one added command to load shared
- libraries as extensions. This command reflects the proposal
- made last year for an extension loader. It is not the last word
- on extension loading. I any welcome comments or suggestions to
- improve this or any other loader.
-
- The command requires no patching of the Tcl or Tk libraries.
- It works with the following releases of Tcl.
-
- Tcl 7.3
- Tcl 7.2
- Tcl 7.1
- Tcl 7.0
-
- The "extension" command has been tested on HP-UX, SunOS 4.x, and
- SunOS 5.x. It should work also on ISIX 5.x, OSF1.
-
- ---------
-
- How to build and test:
-
- 0. Run ./configure
-
- Run the auto-configuration script "./configure"
-
- ./configure
-
- * If you want to use gcc, it's "./configure -with-gcc"
-
- ./configure -with-gcc
-
- * By default, the "wish" program and manual pages will be installed
- in "/usr/local/blt". You can change this by giving the -prefix
- option to ./configure.
-
- ./configure -prefix=/depot/stuff/blt
-
- You may be queried for the location of the Tcl and Tk libraries, if
- "configure" can't find them in the standard locations.
-
- The configure script creates an include file "./extConfig.h".
- It will also generate a new Makefile from its template (Makefile.in).
- If "configure" can't find something (e.g. it can't find the X libraries),
- edit the file "config.status" and run it.
-
- ./config.status
-
- Otherwise, you'll have to edit the Makefiles files by hand.
-
-
- 1. Compile
-
- make
-
- 2. Edit the "extensions.tcl" file.
-
- The first time the "extension" command is used it tries to source
- the file "[tcl library]/extensions.tcl". This file can be used to
- specify the extensions available and their respective libraries.
- You can always use the low-level commands to load a library too.
-
- This file sets two global variables which the "extension" command
- uses to find shared libraries.
-
- The first is an associative array "tcl_extensions". This array
- maps an extension name (such as "blt") with the proper initialization
- routine and shared libraries.
-
- set tcl_extensions(blt) { Blt_Init libBLT.so.1.7 }
-
- The second variable is "tcl_extloadpath". This variable is a list
- of directories to search for the library.
-
- set tcl_extloadpath {
- /usr/local/tcl/extensions/lib
- /usr/local/lib
- }
-
- Edit the file "./extensions.tcl" to reflect where things are on
- your system and install it in the Tcl library directory.
-
- By default, the "extension" command looks for the file
- "[tcl library]/extensions.tcl". But you can override this by
- setting the environment variable TCL_EXTMAP.
-
- set env(TCL_EXTMAP) /u/mydir/my_extensions.tcl
-
-
- 3. Test by running the demos.
-
-
- Go into the demos/blt directory
-
- cd demos/blt
-
- and run the test scripts.
-
- ./graph
-
- If your system doesn't support "#!" in shell scripts, then it's
-
- ../../wish -f ./graph
-
- * These demos assume you have previously built a BLT as shared
- library and that it still resides in the directory
- ../../src/shared.
-
- 4. Install the new "wish" binary and "extensions.tcl" file.
-
- By default, the "wish" is installed in /usr/local/blt/bin and
- the manual page for the extension command is installed in
- /usr/local/blt/man
-
- You can change the top directory by supplying the -prefix option to
- ./configure.
-
-
- 5. Send bugs reports, correspondence, etc. to
-
- george.howlett@att.com
-
-
-