This document contains information on compile time defines for Mathomatic.

To compile Mathomatic for MS-DOS, define "IBM_PC".  To compile 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.

Define "MSC" if you are using the Microsoft C compiler.

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

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.
