Porting
-------

The initial porting effort identified three items which were version
specific.  Each of the affect areas of the code is wrapped in cpp(1)
directives to allow selection of known alternatives through appropriate
#define statements.  The file rdate.h uses preset cpp(1) definitions
(e.g., sun on SunOS systems) to specify the correct set of #define
statements, where possible.  It is still necessary to specify some
flags through the Makefile.  The current code has been ported to and
tested on the following hardware/software combinations:

HP 9000/825, HP/UX A.B7.00
Sun 3, SunOS 4.1
Sequent Symmetry, DYNIX 3.0.17
VAX 3602, Ultrix 3.1
PS/2, AIX
Unisys U6000/51, System Vr3
Interactive 386/ix

To port rdate to another environment:

1) Determine if your system is BSD-like or System V-like: does it use
   settimeofday(2) or stime(2), respectively?

2) If it is BSD-like, does it have adjtime(2)?

3) Modify Makefile, and possibly rdate.h, according to the following:

   If it is BSD-like and does not have adjtime(2), just use the generic
   BSD compile and link flags.

   If it is BSD-like and has adjtime(2), use the BSD flags which define
   HAS_ADJTIME or modify rdate.h (in the manner used for sun and ultrix)
   to automatically define this).

   If it is System V-like, start by using the generic System V flags.
   If this results in undefined references at link time, there is
   probably a special link flag to include the socket routines.  Delve
   into the manuals and determine what standard you vendor has chosen
   to set.

4) If this still isn't sufficient, get out the Veg-O-Matic and
   start slicing and dicing.

