DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T x

⟦3af8b5608⟧ TextFile

    Length: 9291 (0x244b)
    Types: TextFile
    Names: »xenix5«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦2fafebccf⟧ »EurOpenD3/mail/smail3.1.19.tar.Z« 
        └─⟦bcd2bc73f⟧ 
            └─⟦this⟧ »conf/os/xenix5« 

TextFile

# @(#)xenix5	1.7 3/15/89 18:26:31
#
# xenix5 - define the characteristics of SCO Xenix System V

# OS_DEFINES - Names defining this operating system
#
# This is a colon-separated list of names which generally, or specifically
# define the operating system that smail will be executed under.
#
# The following names should be used where applicable:
#
#	UNIX_BSD4_1	- the 4.1 release of Berkeley UNIX
#	UNIX_BSD4_2	- the 4.2 or 4.3 release of Berkeley UNIX
#	UNIX_BSD4_3	- the 4.3 release of Berkeley UNIX
#	UNIX_BSD	- any release of Berkeley UNIX after 4.1
#	UNIX_SYS5_2	- release two of AT&T System V
#	UNIX_SYS5_3	- release three of AT&T System V
#	UNIX_SYS5	- any release of AT&T System V
#	UNIX_SUN_OS_3	- SunOS 3.x, greater than 3.2 (also set 4.2BSD)
#	UNIX_SUN_OS_4	- SunOS 4.x (also set 4.2 and 4.3BSD)
#	UNIX_SUN_OS	- any release of SunOS
#	UNIX_UTS_1	- Amdahl UTS/580 1.x
#	UNIX_UTS_2	- Amdahl UTS/580 2.x
#	UNIX_UTS	- Any release of UTS/580
#       UNIX_XENIX      - Microsoft Xenix or derivatives
#	UNIX_V7		- Bell Labs UNIX Release 7
#	UNIX		- Any release of UNIX

OS_DEFINES="UNIX_SYS5_2:UNIX_SYS5:UNIX_XENIX:UNIX"


# LOCKING_PROTOCOL - macros for efficient file locking
#
# Define macros for performing high-performance locking on files
# These should include the following macros:
#
#	lock_fd		- given a file descriptor, either lock the
#			  file for exclusive access without blocking
#			  and return SUCCEED or fail to lock and
#			  return FAIL.  This is used for locking spool
#			  files.
#
#	lock_fd_wait	- given a file descriptor, lock it for
#			  exclusive access and return SUCCEED or
#			  return FAIL.  Blocking is permitted.  This
#			  may be used for locking mailbox files.
#
#	unlock_fd	- given the file descriptor of a file locked
#			  with the lock_fd macro, unlock that file.
#			  This can be an expression cast to void.
#
#	unlock_fd_wait	- given the file descriptor of a file locked
#			  with the lock_fd_wait macro, unlock that
#			  file.  This can be an expression cast to
#			  void.
#
#	lock_fd_rd_wait	- given a file descriptor, lock it for shared
#			  access.  Blocking is permitted.  This is
#			  used when reading forward files or mailing
#			  list files.  Closing the file shoud be
#			  sufficient for releasing the lock.  This
#			  should return SUCCEED or FAIL.
#
# If no reasonable high-efficiency locking method is available for
# your system, then do not define this macro, or set it to a null
# string.
#
# If the locking protocol requires that the file being locked be
# writable, define LOCK_REQUIRES_WRITE.
#
# To use the System V shared lock fcntl(), define USE_FCNTL_RD_LOCK,
# and define lock_fd_rd_wait() to be (fcntl_rd_lock(fd)), and declare
# fcntl_rd_lock() to be extern int.

# If your site does have the lockf() call, remove the colon and comment
# out the line setting LOCK_BY_NAME to "yes".
LOCKING_PROTOCOL="\
#include <sys/locking.h>
#define LOCK_REQUIRES_WRITE
#define lock_fd(fd)	    ((locking((fd), LK_NBLCK, 0L) < 0 ||	\
			      locking((fd), LK_NBRLCK, 0L) < 0) ?	\
					FAIL : SUCCEED)
#define lock_fd_wait(fd)    (locking((fd), LK_LOCK, 0L) < 0? FAIL: SUCCEED)
#define unlock_fd(fd)	    ((void) locking((fd), LK_UNLCK, 0L))
#define unlock_fd_wait(fd)  ((void) locking((fd), LK_UNLCK, 0L))
#define lock_fd_rd_wait(fd) (locking((fd), LK_RLCK, 0L) < 0? FAIL: SUCCEED)
"


# LOCK_BY_NAME - should spool files use named lock-files for locking
#
# If no locking protocol is defined, or a site prefers to use named
# lock files for locking spool files, LOCK_BY_NAME should be defined
# to be "yes", otherwise it should not be defined.

#LOCK_BY_NAME=yes


# FLOCK_MAILBOX - should mailbox files be locked with lock_fd_wait
#
# Set this to "yes" if the lock_fd_wait macro should be used to lock
# mailbox files.  This should be used only with cooperation from all
# mail user agents.  Otherwise, do not set this.

#FLOCK_MAILBOX=yes


# MAILBOX_DIR - in which directory are user mailbox files
#
# Normally this is either /usr/spool/mail for a V7/BSD-derived system
# or /usr/mail for a System V derived system.

MAILBOX_DIR=/usr/spool/mail


# CONSOLE - name of the console device file
#
# This pathname is used as a last resort in writing panic messages from
# smail.  Normally, it is /dev/console.

CONSOLE=/dev/console


# DECLARE_STRINGS - declare string routines, using macros as needed
#
# The following function names are used by smail and should be
# declared using the C code below:
#
#	strcat(s1,s2)	- concatenate string s2 onto the end of s1
#	strncat(s1,s2,n)- concatenate s2 onto s1 with length constraint n
#	strcmp(s1,s2)	- compare strings s1 and s2
#	strncmp(s1,s2,n)- compare s1 and s2 with length constraint n
#	strcpy(s1,s2)	- copy string s2 to s1
#	strncpy(s1,s2,n)- copy string s2 to s1 for at most n bytes
#	strlen(s1)	- return the length of string s1
#	index(s,c)	- point to first occurance of c in string s
#	rindex(s,c)	- point to last occurance of c in string s
#	bzero(b,n)	- zero n bytes starting at location b
#	bcopy(b1,b2,n)	- copy b1 to b2 for n bytes
#	bcmp(b1,b2,n)	- compree n bytes of b1 and b2, returning 0 if equal
#	memcpy(b1,b2,n)	- copy b2 to b1 for n bytes
#	memcmp(b1,b2,n)	- compare n bytes of b1 and b2, returning 0 if equal
#	strpbrk(s1,s2)	- point to first occurance in s1 of any char in s2
#	strspn(s1,s2)	- count of chars at beginning of s1 not in s2

DECLARE_STRINGS="\
#include <string.h>
#define bzero(b,n)      (memset((b),'\0',(n)))
#define bcopy(b1,b2,n)	(memcpy((b2),(b1),(n)))
#define bcmp(b1,b2,n)	(memcmp((b1),(b2),(n)))
#define index	strchr
#define rindex	strrchr
"


# LIBS - name any object libraries containing routines we will need
#
# In particular, if networking routines and dbm routines are in libraries
# other than libc, these libraries should be named here.

# Generic System V has no dbm(3x)
#LIBS="-ldbm -lPW"		# use this if dbm was added to your system
#LIBS=-lPW                      # use this to get regcmp/regex
LIBS="-ldbm -lx"

# DRIVER_CONFIGURATION - configuration file describing smail drivers
#
# Name the configuration file in the conf/driver directory which defines
# a suitable set of smail director, router and transport drivers for
# this operating system.

DRIVER_CONFIGURATION=unix-generic


# RANLIB - how do we organize an existing object archive library
#
# RANLIB should define the base for a shell command which, given an
# object file archive, will organize that library for the loader.
# If no such command is appropriate, set RANLIB to ":", to prevent
# it from doing anything interesting.

RANLIB=ranlib


# CHOWN - command to use for accessing the chown program
#
# Under Berkeley UNIX, chown is under /etc.  On most other computer systems
# chown is in a normal PATH.  The CHOWN variable should be set appropriately
# for this operating system.

CHOWN=chown


# HAVE_xxx - tell what is available under this operating system
#
# Set any of the following macros to "yes" if they apply to your
# operating system.  Otherwise do not define them.

#HAVE_RENAME=yes	# does the rename(2) system call exist
#HAVE_MKDIR=yes		# does mkdir exist in libc
#HAVE_BSD_NETWORKING=yes# does this system support BSD-style networking
#HAVE_SYSEXITS=yes	# does this system have /usr/include/sysexits.h
HAVE_DBM=yes            # does this system have the dbm(3x) library
#HAVE_NDBM=yes          # does this system have the new ndbm(3) functions
#HAVE_YP=yes		# does this system use the SunOS YP service
HAVE_BSTRING=yes	# does this system have bstring or similar routines
HAVE_SYS5_STRLIB=yes	# does this system have strspn and strpbrk
HAVE_GETOPT=yes		# does this system have getopt(3) in libc
#HAVE_GETHOSTNAME=yes	# does this system have gethostname(2), as in BSD
HAVE_UNAME=yes          # does this system have uname(2), as in System V
#HAVE_HASH_BANG=yes	# does this system use #!/bin/sh in shell scripts
#HAVE_DUP2=yes		# does this system have dup2(2)
HAVE_READDIR=yes        # does this system have readdir(3) functions
HAVE_VFPRINTF=yes	# does this system have vfprintf(3)

# Other miscellaneous on/off variables:

# The Genix4.1 gethostname() system call takes a pointer to a buffer
# size rather than the buffer size itself.  Define this for systems
# that have this behavior.
#GETHOSTNAME_USE_PTR=yes

# There appear to be some systems where inet_addr() returns a
# struct in_addr, rather than an unsigned long.  We have been told
# that some versions of Ultrix are inconsistent between what is
# in the man page and the #include files and how the library routine
# is actually defined.  Define this for systems that have this
# non-BSD behavior.
#INET_ADDR_USE_STRUCT=yes

# It has been reported that the Xenix5.0 ctime() function dumps core
# if the TZ environment variable is not set.  If your system has
# this rather buggy behavior, define this.  If this is defined, smail
# will set the environment variable TZ to GMT0 if it is not already
# set.
REQUIRE_TZ=yes		# does this system require a TZ env variable for ctime

# Architecture- and directory-specific definitions

case "$ARCH_TYPE" in
*16*)
	# Xenix/286
	case "$FROM_ROOT" in
	src|src/*)
		CFLAGS="-LARGE -Ml -Mt64 $CFLAGS"
		LDFLAGS="-F 2000 -SEG 256 $LDFLAGS"
		;;
	pd/pathalias)
		CFLAGS="-Ml -Me $CFLAGS"
		LDFLAGS="-F D000 $LDFLAGS"
		;;
	esac
	;;
esac