$Id: INSTALL,v 1.10 1999/06/27 20:02:52 joe Exp $
================================================================================
COST INSTALLATION GUIDE

	For information about Cost, see
	    <URL:http://www.flightlab.com/cost/>

	Please report any problems, questions, bugs, and suggestions
	for enhancements to:

	Joe English <joe@flightlab.com>, or <jenglish@crl.com>

================================================================================
BEFORE YOU START

To build Cost you will need a standard (ISO/ANSI) C compiler,
or something reasonably close.  'gcc' should be fine.

You will also need the following packages:

    * [N]SGMLS:	SP/NSGMLS is recommended if it's available for your system.
		SGMLS version 1.1.91 is more portable and is next best.
		SGMLS version 1.1 will also work.

    * Tcl:   	Any version from 7.4 through 8.1 ought to work, with or without
		plus-patches and/or [incr Tcl].  However, I've really only
		tested the current version of Cost with Tcl 7.6+ and Tcl 8.1.

You may also want to get:

    * Tk:	Whichever version works with your copy of Tcl.


See below for archive sites where these packages may be obtained.

================================================================================
BUILDING COST UNDER UNIX

The usual routine:

	cd src
	./configure

	make costsh	;# build Tcl interpreter with Cost package included
	make costwish	;# ditto, but with Cost and Tk
	make lib	;# build static library libcost<Version>.a
	make package	;# build dynamically loadable package
	make		;# all of the above

	make -n install	;# check what 'make install' will do
	make install	;# install the package

	make clean	;# remove intermediate files
	make spotless	;# remove intermediate files & all targets

If this works, great!

Chances are it won't work though.  I don't quite have the hang
of autoconf yet, sorry.  You can try copying 'Makefile.in'
to 'Makefile' and replacing @CONFIGVARS@ by hand.  Otherwise
e-mail me and I'll try to help.

On some platforms, it may be necessary to use different
compilation flags for shared objects than those which are
statically linked.  If this is the case, run 'make clean'
before 'make package'.  This will recompile all the .o files
with (hopefully!) the appropriate flags for shared objects.

To try Cost out before installing it, set the environment variable
COSTLIB to point to the 'lib' directory underneath where you unpacked
the distribution:

	setenv COSTLIB `pwd`/lib

For the truly adventurous, there is some support for the new
Tcl "Stubs" mechanism and for various other packages, but to add
these you'll need to edit the Makefile and tclAppInit.c by hand.

================================================================================
BUILDING COST UNDER WINDOWS

... I'm still working on this one ...


================================================================================
BUILDING COST ON OTHER PLATFORMS

... I have no idea ...


================================================================================
WHERE TO GET STUFF

    Cost is available at
	<URL:ftp://ftp.crl.com:/users/je/jenglish/cost.tar.gz>

    NSGMLS and SGMLS are available at:
	<URL:ftp://ftp.jclark.com/pub/sp>
	<URL:ftp://ftp.jclark.com/pub/sgmls>
    and various mirror sites.

    Tcl and Tk are availble at
    	<URL:ftp://ftp.scriptics.com/pub/tcl>


Building SGMLS and Tcl is fairly simple.  Just unpack the
distributions, './configure',  'make', and (for Tcl) 'make install'.
You'll probably want to install the 'sgmls' executable somewhere
convenient as well like in /usr/local/bin.

Building SP/NSGMLS can be quite a bit more difficult.  If you have a
smart enough C++ compiler, then "./configure; make" ought to do the
trick.  If this doesn't work, abandon hope: try SGMLS instead.

================================================================================
