
To make this package under Linux:
---------------------------------

1) Look over the Makefile. The owner for the manpages is set to 'root'.
   The group for the manpages is set to 'man'. You can change this by
   editing the definition of 'manown'. Owner and group for the binaries
   installation are set to 'root'. You can change this by editing the
   definition of 'binown'. You will find these definitions at lines 21 of
   and 22 of the Makefile.

2) Type "make all"

3) If all goes well, "make install".

4) The "phonelist", "xc.init", and "dotfiles/.*" will have to
   be installed by hand for safety reasons ....

5) Read QUICK.START.


General Configuration Notes
---------------------------

GNU Make is the preferred make utility for building this program.

This package is pre-configured for Linux. However, there is no Linux
specific code--this code is targeted to any POSIX system. An ANSI C
compiler is preferred. Minimal changes may be needed to build this
package with an with an old style K&R C compiler. Specifically, use of
a non-ANSI compiler may require defining "const" in xc.h to be empty,
i.e:  #define const

Users of non-Linux systems should read the notes concerning the definition
of "DIDO" in "xc.h".  You will have to define "DIDO" in "xc.h" to reflect
your system's lockfiles and handling of i/o ports. Defining DIDO to "9"
will provide HDB UUCP style lockfiles and is a reasonable choice for your
initial build if you are unsure of what value to select. Those porting
this package to other operating systems should study the source file
"xc-port.c" to understand what the various definitions of DIDO offer,
and also edit the definition of LOCKDIR in "xcport.c" to suit your system.

To build on POSIX systems:
--------------------------

1) Verify -D_POSIX_SOURCE=1 is included in the Makefile CDEFS.

2) Edit "xc.h" and "#define HAVE_SELECT 1" if your system supports select().

3) Edit "xc.h" and "#define HAVE_TERMCAP_H 1" if your system header
   files have termcap.h.

4) Edit "xc.h" and "#define XC_PLUS 1" if you wish to include the
   extra features available in this version of xc comm.

5) In general, the rest of the defines available in "xc.h" are
   self-explanatory and are matters of personal preference. 

6) Review the Makefile and modify for your personal preference and
   requirements. 

7) Note that your compiler may need additional flags to invoke
   POSIX behavior. For example NeXT may require "-posix" to
   be added to the CFLAGS. Most SVR4 systems offer POSIX behavior
   by default.

To build on non-POSIX systems:
------------------------------

Remove -D_POSIX_SOURCE=1 from the Makefile. Review and edit "xc.h" so
that it reflects the functions and architecture of your target system.
Use an ANSI C compiler if possible. This package makes extensive use
of sprintf() and some Unix systems such as SunOS 4.x don't support a
version of sprintf which is compatible with POSIX sprintf(). For xc to
work properly under SunOS 4.x you will have to provide a POSIX compatible
version of sprintf(). Review and edit the Makefile for your personal
preference and requirements.


