Configuring the Imakefile for Isthmus is very simple.
Isthmus allows the programmer to chose which Tcl extension to use at run time. The options are listed in the Imakefile. They specify using only the Tcl interpreter with no other extensions, or using TclTk, the Tk extension, or using the Wish shell with Tcl, this is an interactive shell into which TclTk commands may be entered at run time so the programmer can get dynamic feedback from commands entered. The Wish option is the default specified by Imakefile.sample. This is how the options and command appear in the file:
/************************************************************ options USE_TK for using TK USE_TCL for using TCL only USE_WCT for using interactive shell (Wish come true) ISTHMUS = (option) ************************************************************/ ISTHMUS = USE_WCT
The Imakefile also specifies a number of other things. Among them are the filename which the class dictionary resides in, if you do not want to use the default name cd.cd, you would change it here:
/************************************************************ * (1) The class dictionary file name. For example, if your * * file is called myclasses.cd, say * * * * USERCD = myclasses.cd * ************************************************************/
USERCD = cd.cd
In sections and
of the Imakefile, a number
of libraries are defined and included so that TclTk can be
properly compiled into the application
TK_LIBRARY = /local/lib
INCLUDES = -I$(DEMETER)/include -I/local/include \
-I/local/apps/X11/include
DEFINES = -D$(SIMI) -DTK_LIBRARY=\"${TK_LIBRARY}\" -D$(ISTHMUS)
CDEBUGFLAGS = -g
EXTRA_LOAD_FLAGS =
/************************************************************
* (9) Add the libraries (give the full path) here, *
* including all the names of libraries generated from *
* Demeter environments and used to build an executable. *
* *
* IMPORTANT!!! *
* Add those libraries BEFORE libdemeterCOMPILER.a *
************************************************************/
LOCAL_LIBRARIES = /local/lib/libtcl.a \
/local/lib/libtk.a \
-L$(XLIB) -lX11 \
$(DEMETER)/lib-$(SIMI)/`get-cpu`/libdemeter`basename $(CCC)`.a -ll -lm
These lines entail the entire TclTk setup required in the Imakefile in order to use TclTk and Isthmus in Demeter applications.