This document contains information on compile time defines for Mathomatic.

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

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 6
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 "NO_COMPLEX_ROOTS" to leave out "complex.c".  "complex.c" is the only
module that requires trigonometric functions from the C math library.

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.
