# -- CVS $Id: INSTALL,v 1.1 1999/03/23 11:24:04 aku Exp $ # Installation and compilation instructions with regard to the Memchan extension to TCL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This extension requires plain tcl, version 7.6 or higher. If you don't have it installed, do this now. The configure script (-> UNIX) will check the version of the installed tcl. 1.) Windows =============== The current distribution features a makefile for MSVC++ only. Just copy 'makefile.vc' to 'makefile', adapt the paths at the top of it as required by your setup (= directory structure, see comments), then type inside a DOS-box: > nmake > nmake install The 2nd command will place the new dll in a directory being a sibling to 'tcl\lib\tclX.Y', as required by the package loader. 2.) Mac =========== I don't have a Mac, nor do I have access to one. Because of this I am unable to provide a Mac port of this extension. I will most happily integrate any required changes, makefiles, et cetera into the distribution, if they are send to me (a.kupries@westend.com). 3.) Unix ============ o That you are reading this text means, that you extracted the gzipped tar-archive in a directory of your choice. This operation should have created a subdirectory with the name 'memchan'. It is refered to as "source-directory" from now on. o 'cd' into the source-directory, e.g. make it your working directory, then start the automatic setup by typing 'configure'. If your system does not understand the '#!' notation of specifying script-interpreters, you have to type 'sh configure' (or '/bin/sh configure', ...). o The configure script searches for tcl.h in the following places: -1 $(TCL_INCLUDE_DIR) -2 ../tcl8.0*/generic (b1, a2, a1, in this order) -3 ../tcl7.6/generic -4 ../tcl/generic -5 ../tcl -6 $(prefix) -7 /usr/local/include -8 /usr/include By default $(TCL_INCLUDE_DIR) is empty and $(prefix) points to the location of an installed 'tclsh' or is /usr/local if tclsh could not be found via $PATH. Use the following options to overide the defaults: --prefix=DIR -> $(prefix)=DIR --with-tcl=DIR -> $(TCL_INCLUDE_DIR)=DIR/include --with-tcl-include-dir=DIR -> $(TCL_INCLUDE_DIR)=DIR o To find libtcl.a (libtcl.so.??) the paths -1 $(TCL_LIB_DIR) -2 ../tcl8.0*/unix (b1, a2, a1, in this order) -3 ../tcl7.6/unix -4 ../tcl/unix -5 ../tcl -6 $(exec_prefix) -7 /usr/local/include -8 /usr/include are searched. $(TCL_LIB_DIR) is empty by default, but can be set via --with-tcl or --with-tcl-lib-dir. --with-tcl=DIR -> $(TCL_LIB_DIR)=DIR/lib --with-tcl-lib-dir=DIR -> $(TCL_LIB_DIR)=DIR $(exec_prefix) contains the same value as $(prefix) by default, but can be set explicitly via --exec-prefix o Another notable configure option is --enable-shared whose appearance commands the script to configure the Makefile for creation of shared libraries (as required for dynamic loading). o Now start the compilation by typing 'make'. The makefile will then compile the sources and build the library. o At last type 'make install' to install the generated library. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enjoy Andreas Kupries (a.kupries@westend.com)