Changes to the WRPRC2 configuration file distribution -- Release 2.09
13 December 1996

- Modified Imake.cf and added a FreeBSD.cf vendor file for FreeBSD
support.

- Modified Imake.cf and added a mklinuxppc.cf vendor file for MkLinux
support.

- Imake.cf defines SVR4Architecture for Sun now if SVR4 is defined.
This can be used to help distinguish SysV vs. BSD Sun systems in sun.p-cf
files (can't test OS{Major,Minor,Teeny}Version there because those are
set in sun.cf, which is processed after sun.p-cf).

- HelpAuxTarget() invocations are now used everywhere it makes sense in
Imake.rules.  For Makefiles generated using the WRPRC2 configuration files,
running "make help" should tell you a lot about what targets can be built
and the commands to build them.

- INCOMPATIBLE CHANGE.  Removed the SpecialCObjectCompile() rule from
Imake.rules, as threatened in Changes-2.08.  Use SpecialObjectTarget()
or SpecialCObjectTarget() instead.

- Added PortLib and DepPortLib macros and PORTLIB and DEPPORTLIB
variables for the Portability Library.  This library provides a
consistent interface across systems to operations that tend to vary in
ugly ways for different UNIX systems, such as file locking and
directory reading.  By using the library, programs can use a set of
function names that don't vary across systems.

- Added SpoolRootDir macro and SPOOLROOTDIR variable.  These are
usually set to /usr/spool or /var/spool.  They make it easier to refer
to directories that are located under /usr/spool on some systems and
/var/spool on others, by using $(SPOOLROOTDIR).  The default is /usr/spool,
which is overridden for most newer systems.

- Added SendmailPath macro and SENDMAILPATH variable describing the full
pathname of sendmail.

- Added HasStringH macro.  Value is YES if system has string.h, NO if
it doesn't (in which case strings.h is assumed to be present).  The
default value is YES, since most systems have it.  (However, I don't
know the values for NeXT, Cray, IBM, or OSF/1 systems.  If you do,
please let me know.)

This macro can be used to determine which should be included.  E.g., if
you define DEFINES in an Imakefile like this:

	DEFINES = -DHAS_STRING_H=HasStringH

Then you can include the correct file like this:

	#if HAS_STRING_H
	#include <string.h>
	#else
	#include <strings.h>
	#endif

Alternatively, define the name of the include file in an Imakefile like
this:
	#if HAS_STRING_H
	STRING_H_FILE=<string.h>
	#else
	STRING_H_FILE=<strings.h>
	#endif

	DEFINES = -D'STRING_H_FILE=$(STRING_H_FILE)'

In source files, reference the file like this:

	#include STRING_H_FILE
