Changes to the WRPRC2 configuration file distribution -- Release 2.07
16 July 1996

There are some changes to parameters that may affect you in
incompatible ways:

- Changed ConfigRootDir in config/Imake.params from /usr/lib/config to
/usr/local/lib/config.  You'll need to change it back if you want to
retain the old setting.  If you elect to use the changed location, you
might want to cp -r /usr/lib/config /usr/local/lib.  Then, for each
directory under /usr/local/lib/config that isn't a symlink, make sure
the value of the ConfigRootDir is changed to /usr/local/lib/config (or,
if the files have only ConfigDir, change its value to the new pathname
of the directory in which the files are installed).  Also, don't forget
to change the path to the config root in your installed copy of
imboot!

- Removed setting of LocalBinDir to /usr/local from config/site.def,
so LocalBinDir now reverts to the default value of /usr/local/bin.

- Added overrides in site.def for ManRoot and ManSuffix so that man
pages are installed under the /usr/local/man hierarchy and the default
directory is /usr/local/man/man1.  This really doesn't quite square
with the comments in Imake.params about the man page parameters
describing where the "system" manual pages are located, so I suppose
there should be a set of LocalManXXX symbols in addition to the ManXXX
symbols.  But there isn't, yet.  (Also, for systems that put stuff in
weird arrangements, like Mips, ManRoot has to be left at /usr/man.)

- Renamed vendor-block files Imake.vb and Imake.p-vb to Imake.cf and
Imake.p-cf, which is more like the X11R6 conventions.

- Renamed the OSMinorMinorVersion symbol to OSTeenyVersion, which is
like the X11R6 convention.

Other changes either fix bugs or add functionality:

- Set the value of StandardLibraries to -lsocket -lnsl -lw on SystemV4
systems by default.  This helps more programs compile on such machines
without having to add those libraries explicitly in Imakefiles.

- Modified Imake.cf and added a mklinuxppc.cf vendor file for MkLinux
(Linux on Power Macintosh) support.  NOTE: the linux vendor block
refers to linux.cf (since I simply copied it out of the MkLinux
distribution), but there is no such file here because I have no
Linux-on-Intel box to test it on.

- Modified Imake.cf and added a Next.cf vendor file for NeXT support.
This is supplied by Daniel Green, based on Douglas Scott's work for
X11.

- Better gcc support, specfically, addition of HasGcc2 macro to distinguish
gcc 2.x from earlier versions, and testing of HasGcc* macros in sun.cf.

- Added support in sun.cf for SunOS 5.x (Solaris 2.x), which, unlike
earlier SunOS versions, is SVR4-based rather than BSD-based.  The
proper definitions are selected depending on whether or not SVR4 is
defined (the SunOS 5.x imake should be built with -DSVR4 in
BOOTSTRAPCFLAGS).  Can be told to use the SunPro C compiler if you have
it.

- Added Perl5Cmd, PERL5CMD, Perl5Path and PERL5PATH symbols to
config/Imake.params.  I also set the local value of Perl5Path to
/usr/local/bin/perl5 in site.def.

- Reordered the components of EXTRA_LDLIBS to reflect more likely order
in which libraries should actually be listed.

- Added FiFiiSuffixRule() to config/Imake.rules.

- Added FileFromMsubTemplateWithFlags() rule to config/Imake.rules.
Complements FileFromMsubTemplate().

- Added HasStdarg macro in Imake.params (similar to HasVarargs).  If
defined as YES, has the effect of causing -DSTDARG to be added to the
value of the VARARGS_DEFINES make variable.  Thus, this variable can
now be empty, or contain -DSTDARG or -DVARARGS, or both, to indicate
the availability of stdarg.h and varargs.h.  In general, if both are
available, stdarg.h should be preferred over varargs.h.

- Added HasUnistdH macro in Imake.params.  The unistd.h header file
is an ANSI thing, but its presence is independent of whether or not
you're using an ANSI compiler.

- Modified InstallMultipleDataFiles() rule to concatenate the filename
onto the directory name to produce the pathname of the installed file,
which is consistent with how the other installation rules work.

- Fixed definition of InstallManPage() rule in Mips.cf, which was generating
a target of the form i.pagename.dstsuffix, rather than i.pagename.man.

- Excised LibraryCcCmd, LibraryCCOptions, LibraryDefines, and
OptimizedCDebugFlags macros because they were not being used anywhere.

- Wrote a HelpAuxTarget() rule that is invoked from within several
target-building rules.  HelpAuxTarget() generates a help_aux target
that prints a message describing the make command that builds a
particular target.  Modified the default "help" target in Imake.tmpl
to run "make help_aux" to print these messages, and added an empty
help_aux target in case there are no others generated by HelpAuxTarget().
The net effect is that "make help" will tell you a lot about how
to build the targets listed in the Imakefile.

