blob: 28eff94d7b7df845ddabba5ea9b42bd71fd28a48 [file] [log] [blame]
dnl
dnl Apache and APR "hints" file
dnl We preload various configure settings depending
dnl on previously obtained platform knowledge.
dnl We allow all settings to be overridden from
dnl the command-line.
dnl
dnl We maintain the "format" that we've used
dnl under 1.3.x, so we don't exactly follow
dnl what is "recommended" by autoconf.
dnl
dnl APR_DOEXTRA
dnl
dnl Handle the use of EXTRA_* variables.
dnl Basically, EXTRA_* vars are added to the
dnl current settings of their "parents". We
dnl can expand as needed. This is ugly
dnl
AC_DEFUN(APR_DOEXTRA, [
for i in CFLAGS LDFLAGS LIBS
do
eval APR_TMP=\$EXTRA_$i
if test -n "$APR_TMP"; then
eval $i=\"\$$i $APR_TMP\"
eval export $i
eval unset EXTRA_${i}
eval export EXTRA_${i}
fi
done
])
dnl
dnl APR_SETIFNULL(variable, value)
dnl
dnl Set variable iff it's currently null
dnl
AC_DEFUN(APR_SETIFNULL,[
if test -z "$$1"; then
$1="$2"; export $1
fi
])
dnl
dnl APR_SETVAR(variable, value)
dnl
dnl Set variable no matter what
dnl
AC_DEFUN(APR_SETVAR,[
$1="$2"; export $1
])
dnl
dnl APR_ADDTO(variable, value)
dnl
dnl Add value to variable
dnl
AC_DEFUN(APR_ADDTO,[
$1="$$1 $2"; export $1
])
dnl
dnl APR_PRELOAD
dnl
dnl Preload various ENV/makefile paramsm such as CC, CFLAGS, etc
dnl based on outside knowledge
dnl
AC_DEFUN(APR_PRELOAD, [
echo "Applying hints file rules for $host"
case "$host" in
*mint)
APR_SETIFNULL(CFLAGS, [-DMINT])
APR_SETIFNULL(LIBS, [-lportlib -lsocket])
;;
*MPE/iX*)
APR_SETIFNULL(CFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
APR_SETIFNULL(LIBS, [-lsocket -lsvipc -lcurses])
APR_SETIFNULL(LDFLAGS, [-Xlinker \"-WL,cap=ia,ba,ph;nmstack=1024000\"])
APR_SETIFNULL(CAT, [/bin/cat])
;;
*-apple-aux3*)
APR_SETIFNULL(CFLAGS, [-DAUX3 -D_POSIX_SOURCE])
APR_SETIFNULL(LIBS, [-lposix -lbsd])
APR_SETIFNULL(LDFLAGS, [-s])
APR_SETVAR(APACHE_MPM, [prefork])
;;
*-ibm-aix*)
case $PLAT in
i386-ibm-aix*)
APR_SETIFNULL(CFLAGS, [-U__STR__ -DUSEBCOPY])
;;
*-ibm-aix[1-2].*)
APR_SETIFNULL(CFLAGS, [-DNEED_RLIM_T -U__STR__])
;;
*-ibm-aix3.*)
APR_SETIFNULL(CFLAGS, [-DNEED_RLIM_T -U__STR__])
;;
*-ibm-aix4.1)
APR_SETIFNULL(CFLAGS, [-DNEED_RLIM_T -U__STR__])
;;
*-ibm-aix4.1.*)
APR_SETIFNULL(CFLAGS, [-DNEED_RLIM_T -U__STR__])
;;
*-ibm-aix4.2)
APR_SETIFNULL(CFLAGS, [-U__STR__])
APR_SETIFNULL(LDFLAGS, [-lm])
;;
*-ibm-aix4.2.*)
APR_SETIFNULL(CFLAGS, [-U__STR__])
APR_SETIFNULL(LDFLAGS, [-lm])
;;
*-ibm-aix4.3)
APR_SETIFNULL(CFLAGS, [-D_USE_IRS -U__STR__])
APR_SETIFNULL(LDFLAGS, [-lm])
;;
*-ibm-aix4.3.*)
APR_SETIFNULL(CFLAGS, [-D_USE_IRS -U__STR__])
APR_SETIFNULL(LDFLAGS, [-lm])
;;
*-ibm-aix*)
APR_SETIFNULL(CFLAGS, [-U__STR__])
APR_SETIFNULL(LDFLAGS, [-lm])
;;
esac
dnl Must do a check for gcc or egcs here, to get the right options
dnl to the compiler.
AC_PROG_CC
if test "$GCC" != "yes"; then
APR_ADDTO(CFLAGS, [-qHALT=E])
fi
;;
*-apollo-*)
APR_SETIFNULL(CFLAGS, [-DAPOLLO])
;;
*-dg-dgux*)
APR_SETIFNULL(CFLAGS, [-DDGUX])
;;
*os2_emx*)
APR_SETIFNULL(SHELL, [sh])
APR_SETIFNULL(file_as_socket, [0])
APR_SETVAR(APACHE_MPM, [spmt_os2])
;;
*-hi-hiux)
APR_SETIFNULL(CFLAGS, [-DHIUX])
;;
*-hp-hpux11.*)
APR_SETIFNULL(CFLAGS, [-DHPUX11])
APR_SETIFNULL(LIBS, [-lm -lpthread])
;;
*-hp-hpux10.*)
APR_SETIFNULL(CFLAGS, [-DHPUX10])
case $PLAT in
*-hp-hpux10.01)
dnl # We know this is a problem in 10.01.
dnl # Not a problem in 10.20. Otherwise, who knows?
APR_ADDTO(CFLAGS, [-DSELECT_NEEDS_CAST])
;;
esac
;;
*-hp-hpux*)
APR_SETIFNULL(CFLAGS, [-DHPUX])
APR_SETIFNULL(LIBS, [-lm])
;;
*-linux2)
APR_SETIFNULL(CFLAGS, [-DLINUX=2])
APR_SETIFNULL(LIBS, [-lm])
;;
*-GNU*)
APR_SETIFNULL(CFLAGS, [-DHURD])
APR_SETIFNULL(LIBS, [-lm -lcrypt])
;;
*-linux1)
APR_SETIFNULL(CFLAGS, [-DLINUX=1])
;;
*-lynx-lynxos)
APR_SETIFNULL(CFLAGS, [-D__NO_INCLUDE_WARN__ -DLYNXOS])
APR_SETIFNULL(LIBS, [-lbsd -lcrypt])
;;
*486-*-bsdi*)
APR_SETIFNULL(CFLAGS, [-m486])
;;
*-netbsd*)
APR_SETIFNULL(CFLAGS, [-DNETBSD])
APR_SETIFNULL(LIBS, [-lcrypt])
;;
*-freebsd*)
case $PLAT in
*freebsd[2345]*)
APR_SETIFNULL(CFLAGS, [-funsigned-char])
;;
esac
APR_SETIFNULL(LIBS, [-lcrypt])
;;
*-next-nextstep*)
APR_SETIFNULL(OPTIM, [-O])
APR_SETIFNULL(CFLAGS, [-DNEXT])
;;
*-next-openstep*)
APR_SETIFNULL(CC, [cc])
APR_SETIFNULL(OPTIM, [-O])
APR_SETIFNULL(CFLAGS, [-DNEXT])
;;
dnl *-apple-rhapsody*)
dnl APR_SETIFNULL(CFLAGS, [-DDARWIN -DMAC_OS_X_SERVER])
dnl ;;
*-apple-darwin*)
APR_SETIFNULL(CFLAGS, [-DDARWIN])
;;
*-dec-osf*)
APR_SETIFNULL(CFLAGS, [-DOSF1])
APR_SETIFNULL(LIBS, [-lm])
;;
*-qnx)
APR_SETIFNULL(CFLAGS, [-DQNX])
APR_SETIFNULL(LIBS, [-N128k -lsocket -lunix])
;;
*-qnx32)
APR_SETIFNULL(CC, [cc -F])
APR_SETIFNULL(CFLAGS, [-DQNX -mf -3])
APR_SETIFNULL(LIBS, [-N128k -lsocket -lunix])
;;
*-isc4*)
APR_SETIFNULL(CC, [gcc])
APR_SETIFNULL(CFLAGS, [-posix -DISC])
APR_SETIFNULL(LDFLAGS, [-posix])
APR_SETIFNULL(LIBS, [-linet])
;;
*-sco3*)
APR_SETIFNULL(CFLAGS, [-DSCO -Oacgiltz])
APR_SETIFNULL(LIBS, [-lPW -lsocket -lmalloc -lcrypt_i])
;;
*-sco5*)
APR_SETIFNULL(CFLAGS, [-DSCO5])
APR_SETIFNULL(LIBS, [-lsocket -lmalloc -lprot -ltinfo -lx -lm])
;;
*-sco_sv*|*-SCO_SV*)
APR_SETIFNULL(CFLAGS, [-DSCO])
APR_SETIFNULL(LIBS, [-lPW -lsocket -lmalloc -lcrypt_i])
;;
*-solaris2*)
PLATOSVERS=`echo $PLAT | sed 's/^.*solaris2.//'`
APR_SETIFNULL(CFLAGS, [-DSOLARIS2=$PLATOSVERS])
APR_SETIFNULL(LIBS, [-lsocket -lnsl])
;;
*-sunos4*)
APR_SETIFNULL(CFLAGS, [-DSUNOS4 -DUSEBCOPY])
;;
*-unixware1)
APR_SETIFNULL(CFLAGS, [-DUW=100])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lcrypt])
;;
*-unixware2)
APR_SETIFNULL(CFLAGS, [-DUW=200])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lcrypt -lgen])
;;
*-unixware211)
APR_SETIFNULL(CFLAGS, [-DUW=211])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lcrypt -lgen])
;;
*-unixware212)
APR_SETIFNULL(CFLAGS, [-DUW=212])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lcrypt -lgen])
;;
*-unixware7)
APR_SETIFNULL(CFLAGS, [-DUW=700])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lcrypt -lgen])
;;
maxion-*-sysv4*)
APR_SETIFNULL(CFLAGS, [-DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc -lgen])
;;
*-*-powermax*)
APR_SETIFNULL(CFLAGS, [-DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lgen])
;;
TPF)
APR_SETIFNULL(CC, [c89])
APR_SETIFNULL(CFLAGS, [-DTPF -DCHARSET_EBCDIC -D_POSIX_SOURCE])
;;
BS2000*-siemens-sysv4*)
APR_SETIFNULL(CC, [c89 -XLLML -XLLMK -XL -Kno_integer_overflow])
APR_SETIFNULL(CFLAGS, [-DCHARSET_EBCDIC -DSVR4 -D_XPG_IV])
;;
*-siemens-sysv4*)
APR_SETIFNULL(CFLAGS, [-DSVR4 -D_XPG_IV -DHAS_DLFCN -DUSE_MMAP_FILES -DUSE_SYSVSEM_SERIALIZED_ACCEPT -DNEED_UNION_SEMUN])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
pyramid-pyramid-svr4)
APR_SETIFNULL(CFLAGS, [-DSVR4 -DNO_LONG_DOUBLE])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
DS/90\ 7000-*-sysv4*)
APR_SETIFNULL(CFLAGS, [-DUXPDS])
APR_SETIFNULL(LIBS, [-lsocket -lnsl])
;;
*-tandem-sysv4*)
APR_SETIFNULL(CFLAGS, [-DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl])
;;
*-ncr-sysv4)
APR_SETIFNULL(CFLAGS, [-DSVR4 -DMPRAS])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc -L/usr/ucblib -lucb])
;;
*-sysv4*)
APR_SETIFNULL(CFLAGS, [-DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
88k-encore-sysv4)
APR_SETIFNULL(CFLAGS, [-DSVR4 -DENCORE])
APR_SETIFNULL(LIBS, [-lPW])
;;
*-uts*)
PLATOSVERS=`echo $PLAT | sed 's/^.*,//'`
case $PLATOSVERS in
2*) APR_SETIFNULL(CFLAGS, [-Xa -eft -DUTS21 -DUSEBCOPY])
APR_SETIFNULL(LIBS, [-lsocket -lbsd -la])
;;
*) APR_SETIFNULL(CFLAGS, [-Xa -DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl])
;;
esac
;;
*-ultrix)
APR_SETIFNULL(CFLAGS, [-DULTRIX])
APR_SETIFNULL(SHELL, [/bin/sh5])
;;
*powerpc-tenon-machten*)
APR_SETIFNULL(LDFLAGS, [-Xlstack=0x14000 -Xldelcsect])
;;
*-machten*)
APR_SETIFNULL(LDFLAGS, [-stack 0x14000])
;;
*convex-v11*)
APR_SETIFNULL(CFLAGS, [-ext -DCONVEXOS11])
APR_SETIFNULL(OPTIM, [-O1])
APR_SETIFNULL(CC, [cc])
;;
i860-intel-osf1)
APR_SETIFNULL(CFLAGS, [-DPARAGON])
;;
*-sequent-ptx2.*.*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=20 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -linet -lnsl -lc -lseq])
;;
*-sequent-ptx4.0.*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=40 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -linet -lnsl -lc])
;;
*-sequent-ptx4.[123].*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=41 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
*-sequent-ptx4.4.*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=44 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
*-sequent-ptx4.5.*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=45 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
*-sequent-ptx5.0.*)
APR_SETIFNULL(CFLAGS, [-DSEQUENT=50 -Wc,-pw])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc])
;;
*NEWS-OS*)
APR_SETIFNULL(CFLAGS, [-DNEWSOS])
;;
*-riscix)
APR_SETIFNULL(CFLAGS, [-DRISCIX])
APR_SETIFNULL(OPTIM, [-O])
APR_SETIFNULL(MAKE, [make])
;;
*beos*)
APR_SETIFNULL(CFLAGS, [-DBEOS])
PLATOSVERS=`uname -r`
case $PLATOSVERS in
5.1)
APR_ADDTO(CPPFLAGS, [-I/boot/develop/headers/bone])
APR_ADDTO(LDFLAGS, [-nodefaultlibs -L/boot/develop/lib/x86 -L/boot/beos/system/lib])
APR_SETIFNULL(EXTRA_LIBS, [-lbind -lsocket -lbe -lroot])
APR_SETVAR(APACHE_MPM, [beos])
APR_SETIFNULL(file_as_socket, [1])
;;
default)
APR_SETIFNULL(file_as_socket, [0])
APR_SETVAR(APACHE_MPM, [mpmt_beos])
;;
esac
;;
4850-*.*)
APR_SETIFNULL(CFLAGS, [-DSVR4 -DMPRAS])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc -L/usr/ucblib -lucb])
;;
drs6000*)
APR_SETIFNULL(CFLAGS, [-DSVR4])
APR_SETIFNULL(LIBS, [-lsocket -lnsl -lc -L/usr/ucblib -lucb])
;;
m88k-*-CX/SX|CYBER)
APR_SETIFNULL(CFLAGS, [-D_CX_SX -Xa])
APR_SETIFNULL(CC, [cc])
;;
*-tandem-oss)
APR_SETIFNULL(CFLAGS, [-D_TANDEM_SOURCE -D_XOPEN_SOURCE_EXTENDED=1])
APR_SETIFNULL(CC, [c89])
;;
*-ibm-os390)
APR_SETIFNULL(CC, [cc])
APR_ADDTO(CFLAGS, [-U_NO_PROTO])
APR_ADDTO(CFLAGS, [-DPTHREAD_ATTR_SETDETACHSTATE_ARG2_ADDR])
APR_ADDTO(CFLAGS, [-DPTHREAD_SETS_ERRNO])
APR_ADDTO(CFLAGS, [-DPTHREAD_DETACH_ARG1_ADDR])
APR_ADDTO(CFLAGS, [-DSIGPROCMASK_SETS_THREAD_MASK])
APR_ADDTO(CFLAGS, [-DTCP_NODELAY=1])
;;
esac
APR_DOEXTRA
])