# -- CVS $Id: INSTALL,v 1.2 2003/01/24 19:27:40 andreas_kupries 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.

Prerequisites:

	Tcl, Tcllib
	(The latter provides us with doctools and textutil::expander).


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<version>'.  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)
