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 m

⟦78563a463⟧ TextFile

    Length: 17086 (0x42be)
    Types: TextFile
    Names: »mkdefs.sh«

Derivation

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

TextFile

#!/bin/sh
# @(#)mkdefs.sh	1.59 3/25/89 21:09:11

#    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
# 
# See the file COPYING, distributed with smail, for restriction
# and warranty information.

# Setup shell variables for use in makefiles and some shell scripts used
# in building smail.  The file EDITME is used to gather information
# specified by the site administrator.  Files under conf/os and conf/arch
# are used to learn about a particular operating system and architecture.
# All of the information learned is summarized in a dump to the files
# conf/defs.sh (a .-able shellscript), conf/defs.h, (an #include-able
# C header file) and conf/defs.sed (a sed script).

# The variable ROOT should be defined as a path to the root of the
# smail source directory.  This should be put in the environment before
# calling this shell script.

TEST_BASE="<not defined>"

# determine how to echo without a newline
case "`echo -n`" in
-n)	nonls=; nonle='\c';;
*)	nonls=-n; nonle=;;
esac

# Establish the root of the smail source directory
RELATIVE_ROOT="$ROOT"
ROOT="`(cd "$ROOT"; pwd)`"
FROM_ROOT="`pwd | sed -e 's,^'$ROOT'/,,' -e 's,^'$ROOT'$,,'`"

# Read in the EDITME file, creating it if necessary

# smail EDITME file specified in environment variable
case "$SMAIL_EDITME" in
/* ) EDITME="$SMAIL_EDITME"
     RELATIVE_EDITME="$EDITME" ;;
?* ) EDITME="$ROOT/$SMAIL_EDITME"
     RELATIVE_EDITME="\${ROOT}/$SMAIL_EDITME" ;;
"" ) EDITME="$ROOT/conf/EDITME"
     RELATIVE_EDITME='${ROOT}/conf/EDITME' ;;
esac

case "$EDITME" in
*/./* | */../* )
	# build a regular pathname from /
	dn="`echo "$EDITME" | sed 's|/[^/]*$||'`"
	EDITME="`cd $dn; pwd`/`basename "$EDITME"`"
esac

# If the EDITME file does not exist, create it from the distributed version
if [ ! -f "$EDITME" ]; then
	echo "Copy $ROOT/conf/EDITME-dist to $EDITME ..."
	if cat < "$ROOT/conf/EDITME-dist" > "$EDITME"; then
		:
	else	exit 1
	fi
fi

echo $nonls "Read $RELATIVE_EDITME ... $nonle" 1>&2
if [ ! -r $EDITME ]; then
	echo "Cannot open $EDITME" 1>&2
	exit 1
fi
. $EDITME

case "$TEST_BASE" in

"" )	SMAIL_BIN_DIR="$ROOT/src"
	SMAIL_NAME="$ROOT/src/smail"
	OTHER_SMAIL_NAMES=
	LIB_DIR="$ROOT/lib"
	SPOOL_DIRS="$ROOT/spool"
	SECOND_CONFIG_FILE=
	UTIL_BIN_DIR="$ROOT/util"
	UTIL_PATH="$ROOT/pd/getopt:$ROOT/pd/pathalias:$ROOT/pd/uuwho"
	UTIL_PATH="$UTIL_PATH:$ROOT/util:$SMAIL_BIN_DIR"
	TMP_DIR=/tmp
	TEST_BASE="$ROOT"
	NEWALIASES=
	DONT_INSTALL=yes
	echo "Testing: \$ROOT/$FROM_ROOT/Makefile install rule is now disabled"
	;;

/* )	SMAIL_BIN_DIR="$TEST_BASE/bin"
	SMAIL_NAME="$TEST_BASE/bin/smail"
	OTHER_SMAIL_NAMES=
	LIB_DIR="$TEST_BASE/lib"
	SPOOL_DIRS="$TEST_BASE/spool"
	SECOND_CONFIG_FILE=
	UTIL_BIN_DIR="$TEST_BASE/lib"
	UTIL_PATH="$UTIL_BIN_DIR:$SMAIL_BIN_DIR"
	TMP_DIR=/tmp
	NEWALIASES=
	DONT_INSTALL=
	echo "Testing: \$ROOT/$FROM_ROOT/Makefile install will use $TEST_BASE"
	;;

"<not defined>" )
	UTIL_PATH="$LIB_DIR:$SMAIL_BIN_DIR"
	TEST_BASE=
	DONT_INSTALL=
	;;

* )	SMAIL_BIN_DIR="$ROOT/$TEST_BASE/bin"
	SMAIL_NAME="$SMAIL_BIN_DIR/smail"
	OTHER_SMAIL_NAMES=
	LIB_DIR="$ROOT/$TEST_BASE/lib"
	SPOOL_DIRS="$ROOT/$TEST_BASE/spool"
	SECOND_CONFIG_FILE=
	UTIL_BIN_DIR="$ROOT/$TEST_BASE/lib"
	UTIL_PATH="$UTIL_BIN_DIR:$SMAIL_BIN_DIR"
	TMP_DIR=/tmp
	TEST_BASE="$ROOT/$TEST_BASE"
	NEWALIASES=
	DONT_INSTALL=
	echo "Testing: \$ROOT/$FROM_ROOT/Makefile install will use $TEST_BASE"
	;;

esac

case "$SPOOL_DIRS" in
*:* ) MAIN_SPOOL_DIR="`echo "$SPOOL_DIRS" | sed 's/:.*//'`" ;;
*   ) MAIN_SPOOL_DIR="$SPOOL_DIRS" ;;
esac
LOGFILE=$MAIN_SPOOL_DIR/log/logfile
OLD_LOGDIR=$MAIN_SPOOL_DIR/log/OLD
PANICLOG=$MAIN_SPOOL_DIR/log/paniclog

# Append .sort to $ALIASES_FILE for sorted files.
case "$ALIASES_TYPE" in
bsearch ) ALIASES_FILE="$ALIASES_FILE.sort";;
esac

case "$ALIASES_TYPE" in
yp | aliasyp) PATH_ALIASES_FILE="$ALIASES_FILE" ;;

* ) case "$ALIASES_FILE" in
    /*  ) PATH_ALIASES_FILE="$ALIASES_FILE" ;;
    *   ) PATH_ALIASES_FILE="$LIB_DIR/$ALIASES_FILE" ;;
    esac ;;
esac

case "$PATHS_TYPE" in
yp | aliasyp) PATH_PATHS_FILE="$PATHS_FILE" ;;

*)  case "$PATHS_FILE" in
    /*  ) PATH_PATHS_FILE="$PATHS_FILE" ;;
    *   ) PATH_PATHS_FILE="$LIB_DIR/$PATHS_FILE" ;;
    esac ;;
esac

# Convert OTHER_SMAIL_NAMES from a colon-separated list to
# a white-space separated list
case "$OTHER_SMAIL_NAMES" in
*:*)	OTHER_SMAIL_NAMES="`echo "$OTHER_SMAIL_NAMES" |
			    sed -e 's/:/ /' -e 's/[ 	]+/ /'`"
	;;
esac

# If a SMAIL_NAME is specified, add it to the OTHER_SMAIL_NAMES.
# Otherwise, create one that points to the main smail binary.
case "$SMAIL_NAME" in
?*)	OTHER_SMAIL_NAMES="$OTHER_SMAIL_NAMES $SMAIL_NAME";;
*)	SMAIL_NAME="$SMAIL_BIN_DIR/smail";;
esac

# Read the OS-specific information
echo $nonls "conf/os/$OS_TYPE ... $nonle" 1>&2
if [ ! -r "$ROOT/conf/os/$OS_TYPE" ]; then
	echo "Cannot open $ROOT/conf/os/$OS_TYPE" 1>&2
	exit 1
fi

# DRIVER_CONFIGURATION from EDITME takes precedence
EDITME_DRIVER_CONFIGURATION=$DRIVER_CONFIGURATION
. "$ROOT/conf/os/$OS_TYPE"
case "$EDITME_DRIVER_CONFIGURATION" in
?*)	DRIVER_CONFIGURATION=$EDITME_DRIVER_CONFIGURATION;;
esac

# if DRIVER_CONFIGURATION does not begin with /, put it under the
# conf/driver directory.
case "$DRIVER_CONFIGURATION" in
/* )	: ;;
*  )	DRIVER_CONFIGURATION=$RELATIVE_ROOT/conf/driver/$DRIVER_CONFIGURATION;;
esac

# Read the architecture-specific information
echo $nonls "conf/arch/$ARCH_TYPE ... $nonle" 1>&2
if [ ! -r $ROOT/conf/arch/$ARCH_TYPE ]; then
	echo "Cannot open $ROOT/conf/arch/$ARCH_TYPE" 1>&2
	exit 1
fi
. "$ROOT/conf/arch/$ARCH_TYPE"

# Take into account GROK_VOID, by appending to CFLAGS as necessary
case "$GROK_VOID" in
'')	CFLAGS="$CFLAGS -Dvoid=int";;
esac

case "$LDFLAGS" in
?*)	LIBS="$LIBS $LDFLAGS";;
esac

echo "done" 1>&2

# Build the shell include file
echo $nonls "Build \$ROOT/$FROM_ROOT/defs.sh ... $nonle" 1>&2

exec > "defs.sh"
case $? in
0)	:;;
*)	exit 1;;
esac

# SunOS4.0's make appears to canonicalize pathnames, so ./file -> file
# is not required.  Indeed, it is flagged with a warning.
case "$OS_TYPE" in
sun_os4 ) : ;;
*)	# not SunOS4.0
MISC_DEFS_DEPEND="
./defs.h: defs.h
./version.h: version.h";;
esac

# Write out the simple shell variables
cat <<EOF
# DO NOT EDIT THIS FILE DIRECTLY, IT IS CREATED AUTOMATICALLY
# FROM THE SCRIPT $ROOT/conf/lib/mkdefs.sh.  IF YOU MAKE
# CHANGES TO THIS FILE THEY ARE LIKELY TO GO AWAY.  SEE THE FILE
# $EDITME FOR INFORMATION ON HOW TO CONTROL
# THE CONTENTS OF THIS FILE.

# Variables derived from the file $EDITME
NOBODY='$NOBODY'
EDITME='$EDITME'
RELATIVE_EDITME='$RELATIVE_EDITME'
TEST_BASE='$TEST_BASE'
DONT_INSTALL='$DONT_INSTALL'
CFLAGS='$CFLAGS'
STRIP='$STRIP'
USE_SYMLINKS='$USE_SYMLINKS'
OS_TYPE='$OS_TYPE'
ARCH_TYPE='$ARCH_TYPE'
SMAIL_BIN_DIR='$SMAIL_BIN_DIR'
SMAIL_NAME='$SMAIL_NAME'
OTHER_SMAIL_NAMES='$OTHER_SMAIL_NAMES'
NEWALIASES='$NEWALIASES'
LIB_DIR='$LIB_DIR'
UNSHAR_MAP_DIR='$UNSHAR_MAP_DIR'
ALIASES_FILE='$ALIASES_FILE'
PATH_ALIASES_FILE='$PATH_ALIASES_FILE'
ALIASES_TYPE='$ALIASES_TYPE'
PATHS_FILE='$PATHS_FILE'
PATH_PATHS_FILE='$PATH_PATHS_FILE'
PATHS_TYPE='$PATHS_TYPE'
UUCP_SYSTEM_FILE='$UUCP_SYSTEM_FILE'
SPOOL_DIRS='$SPOOL_DIRS'
MAIN_SPOOL_DIR='$MAIN_SPOOL_DIR'
LOGFILE='$LOGFILE'
OLD_LOGDIR='$OLD_LOGDIR'
PANICLOG='$PANICLOG'
MAIN_SPOOL_DIR='$MAIN_SPOOL_DIR'
SECOND_CONFIG_FILE='$SECOND_CONFIG_FILE'
UTIL_BIN_DIR='$UTIL_BIN_DIR'
TMP_DIR='$TMP_DIR'
GROK_VOID='$GROK_VOID'
SECURE_PATH='$SECURE_PATH'
MAN1='$MAN1'
MAN5='$MAN5'
MAN8='$MAN8'
MAN1_EXT='$MAN1_EXT'
MAN5_EXT='$MAN5_EXT'
MAN8_EXT='$MAN8_EXT'
COMPRESS='$COMPRESS'
COMP_FLAG='$COMP_FLAG'
UNCOMPRESS='$UNCOMPRESS'
ZCAT='$ZCAT'
DOT_Z='$DOT_Z'
LMAIL='$LMAIL'
UTIL_PATH='$UTIL_PATH'
HOSTNAMES='$HOSTNAMES'
MORE_HOSTNAMES='$GATEWAY_NAMES'
POSTMASTER='$POSTMASTER'
VISIBLE_DOMAINS='$DOMAINS'
UUCP_NAME='$UUCP_NAME'
VISIBLE_NAME='$VISIBLE_NAME'
DEFS_DEPEND=\
'defs.sh: $RELATIVE_EDITME
defs.sh: \${ROOT}/conf/lib/arch.h
defs.sh: \${ROOT}/conf/lib/mkdefs.sh
defs.sh: \${ROOT}/conf/os/$OS_TYPE
defs.sh: \${ROOT}/conf/arch/$ARCH_TYPE
defs.h: $RELATIVE_EDITME
defs.h: \${ROOT}/conf/lib/arch.h
defs.h: \${ROOT}/conf/lib/mkdefs.sh
defs.h: \${ROOT}/conf/os/$OS_TYPE
defs.h: \${ROOT}/conf/arch/$ARCH_TYPE
defs.sed: $RELATIVE_EDITME
defs.sed: \${ROOT}/conf/lib/arch.h
defs.sed: \${ROOT}/conf/lib/mkdefs.sh
defs.sed: \${ROOT}/conf/os/$OS_TYPE
defs.sed: \${ROOT}/conf/arch/$ARCH_TYPE
version.sh: \${ROOT}/conf/lib/mkversion.sh
version.sh: \${ROOT}/level
version.sh: \${ROOT}/patchnum
version.h: \${ROOT}/conf/lib/mkversion.sh
version.h: \${ROOT}/level
version.h: \${ROOT}/patchnum
version.sed: \${ROOT}/conf/lib/mkversion.sh
version.sed: \${ROOT}/level
version.sed: \${ROOT}/patchnum$MISC_DEFS_DEPEND'

# Variables derived from the file $ROOT/conf/lib/mkdefs.sh
FROM_ROOT='$FROM_ROOT'

# Variables derived from the file $ROOT/conf/os/$OS_TYPE
HAVE_RENAME='$HAVE_RENAME'
HAVE_MKDIR='$HAVE_MKDIR'
HAVE_BSD_NETWORKING='$HAVE_BSD_NETWORKING'
HAVE_SYSEXITS='$HAVE_SYSEXITS'
HAVE_DBM='$HAVE_DBM'
HAVE_NDBM='$HAVE_NDBM'
HAVE_YP='$HAVE_YP'
HAVE_BSTRING='$HAVE_BSTRING'
HAVE_SYS5_STRLIB='$HAVE_SYS5_STRLIB'
HAVE_GETOPT='$HAVE_GETOPT'
HAVE_GETHOSTNAME='$HAVE_GETHOSTNAME'
HAVE_UNAME='$HAVE_UNAME'
HAVE_HASH_BANG='$HAVE_HASH_BANG'
HAVE_DUP2='$HAVE_DUP2'
HAVE_READDIR='$HAVE_READDIR'
GETHOSTNAME_USE_PTR='$GETHOSTNAME_USE_PTR'
INET_ADDR_USE_STRUCT='$INET_ADDR_USE_STRUCT'
REQUIRE_TZ='$REQUIRE_TZ'
HAVE_VFPRINTF='$HAVE_VFPRINTF'
RANLIB='$RANLIB'
CHOWN='$CHOWN'
LOCK_BY_NAME='$LOCK_BY_NAME'
FLOCK_MAILBOX='$FLOCK_MAILBOX'
MAILBOX_DIR='$MAILBOX_DIR'
LOCAL_MAIL_FILE='$MAILBOX_DIR/\${lc:user}'
CONSOLE='$CONSOLE'
LIBS='$LIBS'
DRIVER_CONFIGURATION='$DRIVER_CONFIGURATION'
EOF

# loop outputing one variable for each name in OS_DEFINES
(IFS=:; for i in $OS_DEFINES; do
	echo "$i='yes'"
 done)

# Tack on architecural information
cat <<EOF

# Variables derived from the file $ROOT/conf/arch/$ARCH_TYPE
SMALL_MEMORY='$SMALL_MEMORY'
POINTER_TYPE='$POINTER_TYPE'
BITS_PER_CHAR='$BITS_PER_CHAR'
BYTES_PER_ALIGN='$BYTES_PER_ALIGN'
USE_ASCII='$USE_ASCII'

# MISC_SH_DEFINES in the file $EDITME
$MISC_SH_DEFINES
EOF

# Build the C include file
echo $nonls "defs.h ... $nonle" 1>&2

exec > "defs.h"
case $? in
0)	:;;
*)	exit 1;;
esac

# Write out the file header and first set of #define's
cat <<EOF
/*
 * DO NOT EDIT THIS FILE DIRECTLY, IT IS CREATED AUTOMATICALLY
 * FROM THE SCRIPT $ROOT/conf/mkdefs.sh.  IF YOU MAKE
 * CHANGES TO THIS FILE THEY ARE LIKELY TO GO AWAY.  SEE THE FILE
 * $EDITME FOR INFORMATION ON HOW TO CONTROL
 * THE CONTENTS OF THIS FILE.
 */

/* macros derived from the file $EDITME */
EOF

# Handle string variables which should be turned off with a NO_ prefix
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=\(..*\)/#define \1	"\2"/p' \
		-e 's/\([A-Z0-9_]*\)=$/#define NO_\1/p'
ALIASES_FILE=$ALIASES_FILE
PATH_ALIASES_FILE=$PATH_ALIASES_FILE
ALIASES_PROTO=$ALIASES_TYPE
PATHS_FILE=$PATHS_FILE
PATH_PATHS_FILE=$PATH_PATHS_FILE
PATHS_PROTO=$PATHS_TYPE
GROK_VOID=$GROK_VOID
EOF

# Handle variables which should revert to defaults if undefined
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=\(..*\)/#define \1	"\2"/p' \
		-e 's/\([A-Z0-9_]*\)=$/#undef \1/p'
NOBODY=$NOBODY
SMAIL_LIB_DIR=$LIB_DIR
UUCP_SYSTEM_FILE=$UUCP_SYSTEM_FILE
SPOOL_DIRS=$SPOOL_DIRS
UNSHAR_MAP_DIR=$UNSHAR_MAP_DIR
LOGFILE=$LOGFILE
OLD_LOGDIR=$OLD_LOGDIR
PANIC_LOG=$PANICLOG
SMAIL=$SMAIL_NAME
POSTMASTER_ADDRESS=$POSTMASTER
EOF

# Handle NULL or string variables
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=\(..*\)/#define \1	"\2"/p' \
		-e 's/\([A-Z0-9_]*\)=$/#define \1	NULL/p'
EDITME=$EDITME
RELATIVE_EDITME=$RELATIVE_EDITME
MAIN_SPOOL_DIR=$MAIN_SPOOL_DIR
HOSTNAMES=$HOSTNAMES
MORE_HOSTNAMES=$GATEWAY_NAMES
VISIBLE_DOMAINS=$DOMAINS
UUCP_NAME=$UUCP_NAME
VISIBLE_NAME=$VISIBLE_NAME
SECOND_CONFIG_FILE=$SECOND_CONFIG_FILE
SECURE_PATH=$SECURE_PATH
SMAIL_TMP_DIR=$TMP_DIR
LMAIL=$LMAIL
EOF

cat << EOF

/* macros derived from the file $ROOT/conf/lib/mkdefs.sh */
EOF

# Handle NULL or string variables
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=\(..*\)/#define \1	"\2"/p' \
		-e 's/\([A-Z0-9_]*\)=$/#define \1	NULL/p'
FROM_ROOT=$FROM_ROOT
EOF

cat <<EOF

/* macros derived from the file $ROOT/conf/os/$OS_TYPE */
EOF

# Handle on or off variables
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=..*/#define \1/p' \
		-e 's/\([A-Z0-9_]*\)=$/#undef \1/p'
HAVE_RENAME=$HAVE_RENAME
HAVE_MKDIR=$HAVE_MKDIR
HAVE_BSD_NETWORKING=$HAVE_BSD_NETWORKING
HAVE_SYSEXITS=$HAVE_SYSEXITS
HAVE_DBM=$HAVE_DBM
HAVE_NDBM=$HAVE_NDBM
HAVE_YP=$HAVE_YP
HAVE_BSTRING=$HAVE_BSTRING
HAVE_SYS5_STRLIB=$HAVE_SYS5_STRLIB
HAVE_GETOPT=$HAVE_GETOPT
HAVE_GETHOSTNAME=$HAVE_GETHOSTNAME
HAVE_UNAME=$HAVE_UNAME
HAVE_HASH_BANG=$HAVE_HASH_BANG
HAVE_DUP2=$HAVE_DUP2
HAVE_READDIR=$HAVE_READDIR
GETHOSTNAME_USE_PTR=$GETHOSTNAME_USE_PTR
INET_ADDR_USE_STRUCT=$INET_ADDR_USE_STRUCT
REQUIRE_TZ=$REQUIRE_TZ
HAVE_VFPRINTF=$HAVE_VFPRINTF
EOF

# loop output one define for each name in OS_DEFINES
(IFS=:; for i in $OS_DEFINES; do
	echo "#define $i"
 done)

# Handle TRUE or FALSE variables
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=..*/#define \1	TRUE/p' \
		-e 's/\([A-Z0-9_]*\)=$/#define \1	FALSE/p'
LOCK_BY_NAME=$LOCK_BY_NAME
FLOCK_MAILBOX=$FLOCK_MAILBOX
EOF

cat <<EOF
#define MAILBOX_DIR	"$MAILBOX_DIR"
#define LOCAL_MAIL_FILE	"$MAILBOX_DIR/\${lc:user}"
#define CONSOLE		"$CONSOLE"
$LOCKING_PROTOCOL
$DECLARE_STRINGS

/* macros derived from the file $ROOT/conf/arch/$ARCH_TYPE */
EOF

# Handle on or off variables
cat <<EOF | sed -n \
		-e 's/\([A-Z0-9_]*\)=..*/#define \1/p' \
		-e 's/\([A-Z0-9_]*\)=$/#undef \1/p'
SMALL_MEMORY=$SMALL_MEMORY
USE_ASCII=$USE_ASCII
EOF

cat <<EOF
#define POINTER_TYPE	$POINTER_TYPE
#define BITS_PER_CHAR	$BITS_PER_CHAR
#define BYTES_PER_ALIGN	$BYTES_PER_ALIGN

#include "$RELATIVE_ROOT/conf/lib/arch.h"

/* MISC_C_DEFINES in the file $EDITME */
$MISC_C_DEFINES

EOF

# Build the sed change script
echo $nonls "defs.sed ... $nonle" 1>&2

exec > "defs.sed"
case $? in
0)	:;;
*)	exit 1;;
esac

cat <<EOF
s|X_NOBODY_X|$NOBODY|g
s|X_EDITME_X|$EDITME|g
s|X_RELATIVE_EDITME_X|$RELATIVE_EDITME|g
s|X_TEST_DIR_X|$TEST_DIR|g
s|X_CFLAGS_X|$CFLAGS|g
s|X_INCLUDES_X|$INCLUDES|g
s|X_STRIP_X|$STRIP|g
s|X_USE_SYMLINKS_X|$USE_SYMLINKS|g
s|X_OS_TYPE_X|$OS_TYPE|g
s|X_ARCH_TYPE_X|$ARCH_TYPE|g
s|X_SMAIL_BIN_DIR_X|$SMAIL_BIN_DIR|g
s|X_SMAIL_NAME_X|$SMAIL_NAME|g
s|X_OTHER_SMAIL_NAMES_X|$OTHER_SMAIL_NAMES|g
s|X_NEWALIASES_X|$NEWALIASES|g
s|X_LIB_DIR_X|$LIB_DIR|g
s|X_UNSHAR_MAP_DIR_X|$UNSHAR_MAP_DIR|g
s|X_ALIASES_FILE_X|$ALIASES_FILE|g
s|X_PATH_ALIASES_FILE_X|$PATH_ALIASES_FILE|g
s|X_ALIASES_TYPE_X|$ALIASES_TYPE|g
s|X_PATHS_FILE_X|$PATHS_FILE|g
s|X_PATH_PATHS_FILE_X|$PATH_PATHS_FILE|g
s|X_PATHS_TYPE|$PATHS_TYPE|g
s|X_UUCP_SYSTEM_FILE_X|$UUCP_SYSTEM_FILE|g
s|X_SPOOL_DIRS_X|$SPOOL_DIRS|g
s|X_MAIN_SPOOL_DIR_X|$MAIN_SPOOL_DIR|g
s|X_LOGFILE_X|$LOGFILE|g
s|X_OLD_LOGDIR_X|$OLD_LOGDIR|g
s|X_PANICLOG_X|$PANICLOG|g
s|X_SECOND_CONFIG_FILE_X|$SECOND_CONFIG_FILE|g
s|X_UTIL_BIN_DIR_X|$UTIL_BIN_DIR|g
s|X_TMP_DIR_X|$TMP_DIR|g
s|X_GROK_VOID_X|$GROK_VOID|g
s|X_SECURE_PATH_X|$SECURE_PATH|g
s|X_MAN1_X|$MAN1|g
s|X_MAN5_X|$MAN5|g
s|X_MAN8_X|$MAN8|g
s|X_MAN1_EXT_X|$MAN1_EXT|g
s|X_MAN5_EXT_X|$MAN5_EXT|g
s|X_MAN8_EXT_X|$MAN8_EXT|g
s|X_COMPRESS_X|$COMPRESS|g
s|X_COMP_FLAG_X|$COMP_FLAG|g
s|X_UNCOMPRESS_X|$UNCOMPRESS|g
s|X_ZCAT_X|$ZCAT|g
s|X_DOT_Z_X|$DOT_Z|g
s|X_UTIL_PATH_X|$UTIL_PATH|g
s|X_LMAIL_X|$LMAIL|g
s|X_HOSTNAMES_X|$HOSTNAMES|g
s|X_MORE_HOSTNAMES_X|$GATEWAY_NAMES|g
s|X_POSTMASTER_X|$POSTMASTER|g
s|X_VISIBLE_DOMAINS_X|$VISIBLE_DOMAINS|g
s|X_UUCP_NAME_X|$UUCP_NAME|g
s|X_VISIBLE_NAME_X|$VISIBLE_NAME|g
s|X_FROM_ROOT_X|$FROM_ROOT|g
s|X_HAVE_RENAME_X|$HAVE_RENAME|g
s|X_HAVE_MKDIR_X|$HAVE_MKDIR|g
s|X_HAVE_BSD_NETWORKING_X|$HAVE_BSD_NETWORKING|g
s|X_HAVE_SYSEXITS_X|$HAVE_SYSEXITS|g
s|X_HAVE_DBM_X|$HAVE_DBM|g
s|X_HAVE_NDBM_X|$HAVE_NDBM|g
s|X_HAVE_YP_X|$HAVE_YP|g
s|X_HAVE_BSTRING_X|$HAVE_BSTRING|g
s|X_HAVE_SYS5_STRLIB_X|$HAVE_SYS5_STRLIB|g
s|X_HAVE_GETOPT_X|$HAVE_GETOPT|g
s|X_HAVE_GETHOSTNAME_X|$HAVE_GETHOSTNAME|g
s|X_HAVE_UNAME_X|$HAVE_UNAME|g
s|X_HAVE_HASH_BANG_X|$HAVE_HASH_BANG|g
s|X_HAVE_DUP2_X|$HAVE_DUP2|g
s|X_HAVE_READDIR_X|$HAVE_READDIR|g
s|X_GETHOSTNAME_USE_PTR_X|$GETHOSTNAME_USE_PTR|g
s|X_INET_ADDR_USE_STRUCT_X|$INET_ADDR_USE_STRUCT|g
s|X_REQUIRE_TZ_X|$REQUIRE_TZ|g
s|X_HAVE_VFPRINTF_X|$HAVE_VFPRINTF|g
s|X_RANLIB_X|$RANLIB|g
s|X_CHOWN_X|$CHOWN|g
s|X_LOCK_BY_NAME_X|$LOCK_BY_NAME|g
s|X_FLOCK_MAILBOX_X|$FLOCK_MAILBOX|g
s|X_MAILBOX_DIR_X|$MAILBOX_DIR|g
s|X_LOCAL_MAIL_FILE_X|$MAILBOX_DIR/\${lc:user}|g
s|X_CONSOLE_X|$CONSOLE|g
s|X_LIBS_X|$LIBS|g
s|X_DRIVER_CONFIGURATION_X|$DRIVER_CONFIGURATION|g
EOF

# loop outputing one substitution for each name in OS_DEFINES
(IFS=:; for i in $OS_DEFINES; do
	echo "s|X_${i}_X|yes|g"
 done)

# Tack on architectural information
cat <<EOF
s|X_SMALL_MEMORY_X|$SMALL_MEMORY|g
s|X_POINTER_TYPE_X|$POINTER_TYPE|g
s|X_BITS_PER_CHAR_X|$BITS_PER_CHAR|g
s|X_BYTES_PER_ALIGN_X|$BYTES_PER_ALIGN|g
s|X_USE_ASCII_X|$USE_ASCII|g
EOF
case "$MISC_SED_DEFINES" in
?*)	echo "$MISC_SED_DEFINES";;
esac

# If this OS cannot correctly use #!/bin/sh at the beginning of bourne
# shell scripts, then convert them not to do this.
case "$HAVE_HASH_BANG" in
'')	echo '1s|^#! */bin/sh|: /bin/sh|';;
esac

echo "done." 1>&2

exit 0