	Zmailer configuration system -- hostenv/ -files

(Document: Copyright  1994  Matti Aarnio <mea@utu.fi> -- this document is
 covered by same rules as the Zmailer on overall -- use it freely, but don't
 claim you made it...)

Zmailer configuration system parameters are described by the
hostenv/XXXXX -files, which are used to create compile-time
file:  include/libsupport.h  (and to minor extend:  include/mail.h )

On the HOSTENV-file, an entry of style:  "XXX=  "  will become
translated into:  "#define USE_XXX  " in the  include/libsupport.h
An entry of style:  "YYY_Y= values"  will become translated into:
"#define YYY_Y values"  (Notice: "_" on the "YYY_Y")


Entries of styles: "XXX_LIB=" and "XXX_INCL=" do have special meaning
in relation with the top-directory  "Dependencies" -file!  See comments
in there!


Configurable features:


ALLOCA=			If the compiler and the system supports, use
			alloca() to create temporary buffers into the
			procedure stack.  Those allocated blocks will
			clear themselves when the procedure exits.

(ALLOCA_H=  <alloca.h>	Location of the alloca() related header file. )

HAVE_ALLOCA_H=		WILL REPLACE THE TWO PREVIOUS ENTRIES!


MALLOC_LIB=		Location of the debugging memory allocator library.

SIGLIST_LIB=		Library containing "sys_siglist[]", if not on libc.

SIGNAL_TYPE= void	Signal handler return type (void / int / ...)


WAITPID=		Use POSIX.1  waitpid(2) with WNOHANG where appropriate
UNIONWAIT=		Use BSD  wait3(2) with WNOHANG where appropriate
(neither or the two above)	Use System-V plain vanilla  wait(2) w/o WNOHANG..


SYS_STREAM_H=	<sys/stream.h>	If defined,  #include SYS_STREAM_H ...
FCNTL_H=	<fcntl.h>	If defined,  #include FCNTL_H
UTSNAME_H=	<sys/utsname.h>	Pick up the system identity information


ZGETPWNAM=		Define when usage of iteration with  getpwent() is
			better, than using straight   getpw{nam,uid}()
			Essentially this is for the cases when there is no
			database, and we may wish to avoid constant buffer
			allocation/deallocation inside library routines.
			See comments on:  lib/pwdgrp.c
			( Something of old BSDism from way back of BSD4.2 ? )
			( Well, NEVER to be used ??? )

# Mailbox locking defines work this way (see transports/mailbox/mailbox.c):
#	If DOTLOCK is defined, do V7-style .lock locking.
#	If MAILLOCK, use maillock(3X). (Solaris 2.3, SVR4 ?)
#	If NFSMBOX, use NFS-compatible flock locking (see support/nfslock.c).
#	else if LOCKF, use lockf
#	else use flock (if LOCK_EX is defined).
# Here, we do DOTLOCK'ing for compatibility with Sun programs,
# and flock'ing.  We flock because some old local programs
# use flock, and because it's so cheap and easy.
#
DOTLOCK=
#MAILLOCK=
#NFSMBOX=
FLOCK=
#LOCKF=


MMAP=		Use   mmap(2)  to page in data which otherwise would
		be (re)read while being looked up/processed.  Usefull to
		map in actively used relation databases, and r/o shared
		files, like the message file on transporters..

NO_MADVICE=	If the system has  "MADV_RANDOM" in its <sys/mman.h>,
		but does not really implement the madvice(2), use this
		in conjunction with  MMAP   (Well, Utrix 4.3A has mmap()
		but it is broken anyway..)

SIGNAL_TYPE=	int		Choose the version that is appropriate at your system.
SIGNAL_TYPE=	void		Older K&R systems have it "int", newer have it as "void"..


		A set of different style of mount-entries

POSIXMNTENT=	If you have a POSIX system..
LINUXMNTENT=	(obsolete, use POSIXMNTENT)
SVR4MNTENT=		SysVr4, Solaris
ULTRIXGETMNT=	DEC Ultrix
OSFGETMNT=	DEC OSF/1 aka. DEC UNIX
SUNGETMNT=	SunOS 4.x
MNTTAB=			...also on SunOS 4.x...

STATVFS=	Either or -- if your system has  statvfs(), then this, else
STATFS=		this other one (older style..)

STDLIB=		If you have include-file <stdlib.h>
UNISTD=		If you have include-file <unistd.h>

FTRUNCATE=	System has a real ftruncate() call (for mailbox program, mainly..)
SYSVTIMEZONE=
BSDTIMEZONE=
SETVBUF=
SETSID=
GETDTABLESIZE=
SIGLIST=
STRERRNO=

SELECT=
POLL=
BSDNODELAY=

LSTAT=
SETREUID=
SETEUID=
FCHOWN=
FCHMOD=
UNAME=
DUP2=
BSDSETPGRP=
RLIMIT=
RENAME=
STATBLKSIZ=
BCOPY=
BZERO=
VFPRINTF=
SOCKETPAIR=
