In order to port software to a new platform:

- Choose a SYSTEMTYPE name for the new system. Please use a name
that includes the major version of the operating system (such as
SUNOS4 or LINUX2), so that different releases of the same system
can be supported without confusion.

- Add a case statement to the "makedefs" shell script in the
top-level directory that recognizes the new system reliably, and
that emits the right system-specific information.  Be sure to make 
the code robust against user PATH settings; if the system offers
multiple UNIX flavors (e.g. BSD and SYSV) be sure to build for the
native flavor, not the emulated one.

- Add an #ifdef SYSTEMTYPE section to the central util/sys_defs.h
include file.  You may have to invent new feature macros.  Please
choose sensible feature macro names such as HAS_DBM or
FIONREAD_IN_SYS_FILIO_H.  I strongly recommend against #ifdef
SYSTEMTYPE dependencies in individual source files.  This may seem
to be the quickest solution, but it will create a mess that becomes
increasingly difficult to maintain over time. Moreover, with the
next port you'd have to place #ifdefs all over the source code
again.
