#!/bin/sh
# Here are the default settings for compiling sendfile.
#
# You can change them by editing this file or put your variables in one of
# these files:
# $SF_DEVELENV
# .develenv
# $HOME/.develenv
# or simply call: makeconfig CC=gcc ...
# default compiling settings
CC=gcc
LDFLAGS=-s
# default installation settings
SPOOL=/var/spool/sendfile
BINDIR=${PREFIX}/bin
MANDIR=${PREFIX}/man
CONFIG=${PREFIX}/etc
SERVERDIR=${PREFIX}/sbin
INETDCONF=/etc/inetd.conf
SERVICES=/etc/services
############################# OPTIONAL SETTINGS ##############################
# Normaly these programs will be called via $PATH, so define them ONLY, if you
# really need absolute paths.
#TAR=/usr/bin/tar
#GZIP=/usr/bin/gzip
#BZIP2=/usr/local/bin/bzip2
#PGP=/usr/local/bin/pgp
#RECODE=/usr/local/bin/recode
#METAMAIL=/usr/local/bin/metamail
SENDMAIL=/usr/sbin/sendmail
######################### END OF USER CONFIGURATION ##########################
export CC CFLAGS LINK LDFLAGS BINDIR SERVERDIR MANDIR CONFIG SPOOL FIFODIR
export INETDCONF SERVICES VERSION
export TAR GZIP BZIP2 PGP RECODE METAMAIL SENDMAIL
topmake() {
sed "s/!SYSTEM/$SYSTEM/g
s/!VERSION/$VERSION/g
" develop/makefile.top > Makefile
}
# determine sendfile version and revision
eval `grep VERSION= develop/configure.in`
# only create new toplevel Makefile?
if [ "$1" = clean ]; then
topmake
exit
fi
# source in developer environment variables if found
if [ -f "$SF_DEVELENV" ]; then
. $SF_DEVELENV
elif [ -f .develenv ]; then
. .develenv
elif [ -f $HOME/.develenv ]; then
. $HOME/.develenv
fi
# check at last if there are env-settings in $*
case "$1" in
*=*) eval "$@";;
esac
LINK=${LINK:-$CC}
cd develop
rm -f config.cache
./configure \
--libexecdir=$SERVERDIR \
--bindir=$BINDIR \
--mandir=$MANDIR \
--sysconfdir=$CONFIG \
|| exit $?
if [ -d /var/run ]; then FIFODIR=/var/run/sfm; fi
SYSTEM=`./config.guess`
case "$SYSTEM" in
*linux*) SYSTEM=LINUX;;
*sunos4*) SYSTEM=SOLARIS1
if [ -f /lib/lib44bsd.a -o -f /usr/lib/lib44bsd.a ]; then
LIBS="-l44bsd"
fi;;
*solaris2*) SYSTEM=SOLARIS2;;
*hp-ux*) SYSTEM=HPUX;;
*aix*) SYSTEM=AIX;;
*irix*) SYSTEM=IRIX;;
*next*) SYSTEM=NEXT;;
*convex*) SYSTEM=CONVEXOS;;
*osf*) SYSTEM=OSF1;;
*bsd*) SYSTEM=BSD;;
*) SYSTEM=UNKNOWN;;
# *) SYSTEM=`uname -a | tr '[a-z]' '[A-Z]'`
# case "$SYSTEM" in
# *SUNOS*) case `echo $SYSTEM | $AWK '{print $3}'` in
# 4*) SYSTEM=SOLARIS1;;
# esac;;
# *) SYSTEM=UNKNOWN;;
# esac;;
esac
cd ../src
echo now in `pwd`
for i in nsl socket readline; do
if grep -i "have_lib$i 1" config.h >/dev/null; then LIBS="$LIBS -l$i"; fi
done
case "$LIBS" in
*readline*) LIBS="$LIBS -ltermcap";;
esac
echo creating globals.h
cat <<EOD>globals.h
/*
* Do not edit this file!
* It is autogenerated by "makeconfig" and will be overwritten next time!
* If you want to change some values, so do it in "makeconfig".
*/
#define BINDIR "$BINDIR"
#define MANDIR "$MANDIR"
#define SERVERDIR "$SERVERDIR"
#define CONFIG "$CONFIG/sendfile.cf"
#define ALIASES "$CONFIG/sendfile.aliases"
#define ALLOW "$CONFIG/sendfile.allow"
#define DENY "$CONFIG/sendfile.deny"
#define SPOOL "$SPOOL"
#define OUTGOING "$SPOOL/OUTGOING"
#define INLOG "$SPOOL/LOG/in"
#define OUTLOG "$SPOOL/LOG/out"
#define RECEIVE "$BINDIR/receive"
#define TAR "${TAR:-tar}"
#define GZIP "${GZIP:-gzip}"
#define BZIP2 "${BZIP2:-bzip2}"
#define PGP "${PGP:-pgp}"
#define RECODE "${RECODE:-recode}"
#define METAMAIL "${METAMAIL:-metamail}"
#define SENDMAIL "${SENDMAIL:-/usr/lib/sendmail}"
#define FIFODIR "${FIFODIR:-/tmp/sfm}"
#define DBF "/var/log/sendfiled.dbg"
#define DATEFORMAT "%Y-%m-%d %H:%M:%S" /* see strftime(3) */
#define CHARSET "ISO_8859-1:1987" /* this is ISO Latin 1 */
#define PROTOCOL "SAFT"
#define SAFT 487 /* SAFT tcp port */
#define DAYSEC 86400 /* seconds per day */
#define OVERSIZE 32768 /* string oversize length */
#define MAXLEN 4096 /* max length of various strings */
#define FLEN 256 /* file name length */
#define DLEN 30 /* date string length */
#define PACKET 512 /* data size per packet */
#define DEBUG /* more debugging output */
#undef DEBUG
#define ALT_MESSAGES /* alternative user message format */
#undef ALT_MESSAGES
#define RESPECT_MAIL_ALIASES /* look for elm aliases, too */
#undef RESPECT_MAIL_ALIASES
EOD
cat <<EOD>>config.h
#ifdef NEXT
#define _POSIX_SOURCE
#define S_IRUSR _S_IRUSR
#define S_IWUSR _S_IWUSR
#define S_IWGRP 0000020
#define S_IXUSR _S_IXUSR
#define S_IRWXG 0000070
#define S_IRWXO 0000007
#define S_IRWXU 0000700
#define S_ISDIR(mode) (((mode) & (_S_IFMT)) == (_S_IFDIR))
#define S_ISREG(mode) (((mode) & (_S_IFMT)) == (_S_IFREG))
#endif
#if defined(SOLARIS2)
#define __EXTENSIONS__
#endif
#if defined(LINUX)
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE
#endif
#ifndef __USE_BSD
#define __USE_BSD
#endif
#endif
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
EOD
case $CC in
gcc*) CFLAGS="$CFLAGS -Wall"
esac
case `uname -a 2>/dev/null` in
*\ moep\ *|*\ juhu\ *) CFLAGS="-Wall -ansi -pedantic -DBETA";;
*\ bofh.*) CFLAGS="-Wall -ansi -pedantic -O2 -DBETA";;
esac
echo creating Makefile
sed "s^!CC^$CC^g
s^!CFLAGS^$CFLAGS^g
s^!SYSTEM^$SYSTEM^g
s^!LINK^$LINK^g
s^!LDFLAGS^$LDFLAGS^g
s^!LIBS^$LIBS^g
" ../develop/makefile.src > Makefile
cd ..
topmake
syntax highlighted by Code2HTML, v. 0.9.1