This document contains information on compile time defines for Mathomatic.

To compile Mathomatic for UNIX, Linux, or MacOS-X, define "UNIX".  If you
wish to enable trapping of floating point exceptions in Linux, define "UNIX"
and "LINUX".  Defining "LINUX" is flakey on all Linuxes, so it is not
recommended.  To compile Mathomatic for a generic system, simply compile with
no defines.  To compile for Microsoft Win32, define "WINDOWS".

The memory usage is set by the define "N_TOKENS" in "am.h".  It can be set to
as low as 1 megabyte and still be useful.  By default, Mathomatic consumes 11
megabytes of RAM.  The memory usage is displayed every time Mathomatic starts
up (not including code and stack space).  Another way to reduce memory usage
is reduce "N_EQUATIONS" in "am.h", since memory usage is related to
(N_TOKENS*N_EQUATIONS).

Define "READLINE" and include the readline libraries at link time to use
readline mode.  This will allow easy command line editing and history.

Define "SILENT" to suppress helpful messages while manipulating equations.
This is useful when using Mathomatic as a symbolic math library.  It can also
be used to make Mathomatic like all the other math programs out there (which
rarely display helpful messages).  This also reduces the size of the code,
somewhat.

Define "SECURE" to disable file reading and writing and shell escape.  This
is useful when making Mathomatic available to the public through telnet or
CGI programs.  It is also useful when making ROMable code.

Define "I18N" to enable internationalization.
