Sorry, this isn't one of those autoconfig scripts.  It might be
eventually, but I need feedback from you, the users, to tell me
where things live on your system.  Like where you tclsh interpreter
is and where tcl.h lives.  Also the location of SmallEiffel.  If
you send me the values you had to change in the Makefile, I'll try
to eventually write an autoconfig script.  But for now you'll have
to edit the Makefile by hand.

The first thing you'll need to do is install SmallEiffel.  Fetch
the SmallEiffel sources and place them where you want to install
them (there is no differentiation between a "source" directory and
an "install" directory).  Once you've located the source to you
wishes, type "make" at in the top level directory.  That will build
and "install" all the SmallEiffel tools.

Next you need the midi-eiffel source code.  There's nothing to
install there, just locate midi-eiffel so it is a sibling to
the tclmidi directory (both midi-eiffel and tclmidi should be
in the same directory).  If you don't want to do this, you
can always edit the loadpath.se file.

Here's the quick instructions:
	1) Edit makefile
	2) make
	3) make install

There are a few obvious things to change in the Makefile.  They
are near the top.  Namely,

	TCLSH		The path to your 8.0 or 8.1 TCL interpreter
	TCL_INCLUDE_DIR	The path the directory containing tcl.h (please
			make sure you use the header file that goes with
			your interpreter).
	EPATH		The path to the top-level SmallEiffel directory.
			The SmallEiffel compiler will be located at
			$(EPATH)/bin/compile
	DESTDIR		This is the directory where libtclmidi.so will
			be installed.
	MANDIR		This is the directory where the man pages will
			be installed.

I'd set those values correctly and then see if things work by typing
'make'.  You will get warning from the compiler about linker flags
being ingored.  Ignore these warnings.  The SmallEiffel compiler
does not have a way of specifying that certain arguments should
only be used during the link phase and not the compile phase.

I'm a bit worried that some of the linker options are not portable
or correct for non FreeBSD systems.  Unfortunately, I'm not in a
position to help since I only use FreeBSD systems.  If the LDFLAGS
are not appropriate for your system, look at other Makefile for
your system and see what options they use when creating shared
libraries.  That being said, FreeBSD uses standard GNU tools and
ELF format libraries and executables.  If your system also is ELF
and uses GNU tools, then there's a good chance things will work
correctly.

After you've built the library - it might take a while, SmallEiffel
creates a lot of C files (especially if assertions are enabled) as
its "assembly" code and the C compiler takes a while to compile
them - you can install it using 'make install'.  Be sure to set
your TCLLIBPATH environment variable to include the directory where
you installed tclmidi.  Without it, tcl won't know where to find
the loadable library.  The Makefile prints out a message to this
effect.

That's it.  It's not simple, but hopefully won't be too bad.  On
the positive side, it's a lot easier to configure the Makefile I
supplied than to try to edit an autoconfig generated Makefile that
didn't quite work.

Mike Durian
durian@boogie.com
June 26, 1999
