X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=configure.in;h=1ad13d4df753f53470f927c00af0a93a2b55b0d5;hp=be48224c3bf808faf2dc0e2c4b60277a86cfc375;hb=09758fb5a78f3bbb5ec814f90bb178d4a53c0eb9;hpb=f0b03b9373b398abe585bab51fbeda93bd18bc96 diff --git a/configure.in b/configure.in index be48224c..1ad13d4d 100644 --- a/configure.in +++ b/configure.in @@ -1,19 +1,19 @@ -dnl $Id: configure.in,v 1.125 2001-11-14 21:42:00 srittau Exp $ +dnl $Id: configure.in,v 1.197 2003-12-15 06:03:33 srittau Exp $ dnl configure.in for netatalk -AC_INIT(bin/adv1tov2/adv1tov2.c) +AC_INIT(etc/afpd/main.c) -NETATALK_VERSION=`cat VERSION` +NETATALK_VERSION=`cat $srcdir/VERSION` AC_SUBST(NETATALK_VERSION) AC_CANONICAL_SYSTEM AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION}) AM_CONFIG_HEADER(config.h) -dnl Reset locations to proper places -AC_PREFIX_DEFAULT(/usr/local) - +dnl dnl Checks for programs. +dnl + AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL @@ -21,93 +21,39 @@ AC_PROG_LN_S AC_PROG_MAKE_SET AC_LIBTOOL_DLOPEN AM_PROG_LIBTOOL - -dnl ********************************************************************* -dnl FIXME! FIXME! These should be selectable properly, and should produce -dnl the proper flags and defines... -dnl ********************************************************************* - -dnl Checks for libraries. -dnl Replace `main' with a function in -labs: -AC_CHECK_LIB(abs, main) -dnl Replace `main' with a function in -laudit: -AC_CHECK_LIB(audit, main) -dnl Replace `main' with a function in -lauth: -AC_CHECK_LIB(auth, main) -dnl Replace `main' with a function in -lcmd: -AC_CHECK_LIB(cmd, main) -dnl Replace `main' with a function in -lcom_err: -AC_CHECK_LIB(com_err, main) -dnl Replace `main' with a function in -lcrypt: -AC_CHECK_LIB(crypt, main) -dnl Replace `main' with a function in -ld: -AC_CHECK_LIB(d, main) -dnl Replace `main' with a function in -ldl: -AC_CHECK_LIB(dl, main) -dnl Replace `main' with a function in -lkauth: -AC_CHECK_LIB(kauth, main) -dnl Replace `main' with a function in -lkrb: -AC_CHECK_LIB(krb, main) -dnl Replace `main' with a function in -llwp: -AC_CHECK_LIB(lwp, main) -dnl Replace `main' with a function in -ln: -AC_CHECK_LIB(n, main) -dnl Replace `main' with a function in -lnsl: -AC_CHECK_LIB(nsl, main) -dnl Replace `main' with a function in -lprot: -AC_CHECK_LIB(prot, main) -dnl Replace `main' with a function in -lresolv: -AC_CHECK_LIB(resolv, main) -dnl Replace `main' with a function in -lrpcsvc: -AC_CHECK_LIB(rpcsvc, main) -dnl Replace `main' with a function in -lrx: -AC_CHECK_LIB(rx, main) -dnl Replace `main' with a function in -lrxkad: -AC_CHECK_LIB(rxkad, main) -dnl Replace `main' with a function in -lsocket: -AC_CHECK_LIB(socket, main) -dnl Replace `main' with a function in -lsys: -AC_CHECK_LIB(sys, main) -dnl Replace `main' with a function in -lubik: -AC_CHECK_LIB(ubik, main) - -# -# Check presence of some functions -# -# Check for XPG4 access() function -# Be sure to test before adding AFS libs in LIBS path as AFS lib -# has such a function that works only on AFS filesystems. +AC_PROG_PERL +AC_PROG_GREP +AC_PROG_PS +AC_PROG_DVIPS +AC_PROG_TROFF2PS + +dnl +dnl Checks for presence of some functions. +dnl + +dnl Check for XPG4 access() function +dnl Be sure to test before adding AFS libs in LIBS path as AFS lib +dnl has such a function that works only on AFS filesystems. AC_CHECK_FUNCS(access) +AC_CHECK_FUNCS(pread pwrite) +dnl dnl Checks for header files. +dnl + AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/fcntl.h sys/file.h sys/ioctl.h sys/time.h sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h mntent.h syslog.h unistd.h termios.h sys/termios.h netdb.h sgtty.h ufs/quota.h mount.h sys/mount.h statfs.h sys/types.h dlfcn.h errno.h sys/errno.h security/pam_appl.h) +AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/fcntl.h sys/file.h sys/ioctl.h sys/time.h sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h mntent.h syslog.h unistd.h termios.h sys/termios.h netdb.h sgtty.h mount.h sys/mount.h statfs.h sys/types.h dlfcn.h errno.h sys/errno.h) AC_CHECK_HEADER(sys/cdefs.h,, AC_MSG_RESULT([enabling generic cdefs.h from tree]) CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS" ) -# Allow user to specify flags -AC_ARG_WITH(cflags, - [ --with-cflags specify additional flags to pass to compiler], - [ - if test "x$withval" != "xno" ; then - CFLAGS="$CFLAGS $withval" - fi - ] -) -AC_ARG_WITH(libs, - [ --with-libs specify additional libraries to link with], - [ - if test "x$withval" != "xno" ; then - LIBS="$LIBS $withval" - fi - ] -) - +dnl dnl Checks for typedefs, structures, and compiler characteristics. +dnl + AC_C_CONST AC_TYPE_UID_T AC_C_INLINE @@ -118,8 +64,12 @@ AC_TYPE_SIZE_T AC_STRUCT_ST_RDEV AC_HEADER_TIME AC_STRUCT_TM +AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include ]) +dnl dnl Checks for library functions. +dnl + AC_TYPE_GETGROUPS AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP @@ -128,46 +78,55 @@ AC_FUNC_MMAP AC_TYPE_SIGNAL AC_FUNC_UTIME_NULL AC_FUNC_WAIT3 -AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp strchr memcpy) +AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy) AC_FUNC_SETPGRP +dnl +dnl Checks for (v)snprintf +dnl + +NETATALK_SNPRINTF_CHECK + dnl -------------------------------------------------------------------------- dnl specific configuration comes in here: dnl -------------------------------------------------------------------------- -AC_DEFINE(ADMIN_GRP, 1) +AC_DEFINE(ADMIN_GRP, 1, [Define if the admin group should be enabled]) +AC_MSG_CHECKING([for administrative group support]) AC_ARG_WITH(admin-group, - [ --disable-admin-group disable admin group], + [ --disable-admin-group disable admin group], [ if test "$enableval" = "no"; then - AC_DEFINE(ADMIN_GRP, 0) - AC_MSG_RESULT([disabling administrative group support]) - fi - ) - -AC_ARG_ENABLE(afs, - [ --enable-afs enable AFS support], - if test "$enableval" = "yes"; then - AC_DEFINE(AFS, 1) - AC_MSG_RESULT([enabling AFS support]) - fi + AC_DEFINE(ADMIN_GRP, 0, [Define if the admin group should be enabled]) + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) + fi], [ + AC_MSG_RESULT([yes]) + ] ) -AC_ARG_WITH(config-dir, - [ --with-config-dir=DIR obsolete - use --with-pkgconfdir], - sysconfdir="$withval", - if test "x$prefix" = "xNONE"; then - sysconfdir="$ac_default_prefix/etc" - else - sysconfdir="${prefix}/etc" - fi -) +NETATALK_AFS_CHECK -AC_ARG_WITH(pkgconfdir, - [ --with-pkgconfdir=DIR package specific configuration in DIR - [[SYSCONF/netatalk]]], - PKGCONFDIR="$withval", - PKGCONFDIR="${sysconfdir}/netatalk" +NETATALK_CONFIG_DIRS + +AC_MSG_CHECKING([for logfile path]) +AC_ARG_WITH(logfile, + [ --with-logfile=PATH path for file used by logger [/var/log/netatalk.log] + use --without-logfile to disable logger], [ + if test "x$withval" == "xno"; then + AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used]) + AC_MSG_RESULT([syslog]) + elif test "$withval" != "yes"; then + AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file]) + AC_MSG_RESULT([$withval]) + else + AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file]) + AC_MSG_RESULT([/var/log/netatalk.log]) + fi], [ + AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file]) + AC_MSG_RESULT([/var/log/netatalk.log]) + ] ) AC_ARG_WITH(cracklib, @@ -175,7 +134,7 @@ AC_ARG_WITH(cracklib, if test "x$withval" != "xno" ; then cracklib="$withval" AC_CHECK_LIB(crack, main, - AC_DEFINE(USE_CRACKLIB) + AC_DEFINE(USE_CRACKLIB, 1, [Define if cracklib should be used]) LIBS="$LIBS -lcrack" AC_MSG_RESULT([enabling cracklib support]) if test "$cracklib" = "yes"; then @@ -189,28 +148,53 @@ AC_ARG_WITH(cracklib, fi ) +AC_MSG_CHECKING([whether to enable DDP]) AC_ARG_ENABLE(ddp, - [ --disable-ddp disable DDP], - if test "$enableval" = "no"; then - AC_DEFINE(NO_DDP, 1) - AC_MSG_RESULT([disabling DDP]) + [ --disable-ddp disable DDP], [ + if test "x$enableval" = "xno"; then + AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled]) + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) fi + ], [ + AC_MSG_RESULT([yes]) + ] ) +AC_MSG_CHECKING([whether to enable debugging code]) AC_ARG_ENABLE(debug, - [ --enable-debug enable debug code], - if test "$enableval" != "no"; then - if test "$enableval" = "yes"; then - AC_DEFINE(DEBUG, 1) + [ --enable-debug enable debug code], [ + if test "x$enableval" != "xno"; then + if test "x$enableval" = "xyes"; then + AC_DEFINE(DEBUG, 1, [Define if debugging information should be included]) else - AC_DEFINE_UNQUOTED(DEBUG, $enableval) + AC_DEFINE_UNQUOTED(DEBUG, $enableval, [Define if debugging information should be included]) fi - AC_MSG_RESULT([enabling debugging code]) + AC_MSG_RESULT([yes]) else - AC_DEFINE(DEBUG, 0) + AC_MSG_RESULT([no]) + fi + ], [ + AC_MSG_RESULT([no]) + ] +) + +afp3=no +AC_ARG_ENABLE(afp3, + [ --enable-afp3 enable AFP 3.x calls], + if test "$enableval" = "yes"; then + afp3=yes + AC_DEFINE(AFP3x, 1, [Define to enable AFP 3.x support]) + AC_MSG_RESULT([enabling AFP 3.x calls]) fi ) +if test "$afp3" = "yes"; then + AM_ICONV + AC_SYS_LARGEFILE +fi + dnl ----------- A NOTE ABOUT DROPKLUDGE dnl The trouble with this fix is that if you know what the file is called, it @@ -219,119 +203,101 @@ dnl since the students don't have telnet access to the Mac servers. There is dnl currently no one working on further development/fixes of DROPKLUDGE. dnl ----------- +AC_MSG_CHECKING([whether to enable experimental dropbox support]) AC_ARG_ENABLE(dropkludge, - [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ], - if test "$enableval" = "yes"; then - AC_DEFINE(DROPKLUDGE, 1) - AC_MSG_RESULT([enabling experimental dropbox support]) + [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ], [ + if test "x$enableval" = "xyes"; then + AC_DEFINE(DROPKLUDGE, 1, [Define if you want to use the experimental dropkludge support]) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) fi + ], [AC_MSG_RESULT([no])] ) +AC_MSG_CHECKING([whether to enable forcing of uid/gid per volume]) AC_ARG_ENABLE(force-uidgid, - [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ], - if test "$enableval" = "yes"; then - AC_DEFINE(FORCE_UIDGID, 1) - AC_MSG_RESULT([enabling forcing of uid/gid per volume]) + [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ], [ + if test "x$enableval" = "xyes"; then + AC_DEFINE(FORCE_UIDGID, 1, [Define if you want forcing of uid/gid per volume]) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) fi + ], [AC_MSG_RESULT([no])] ) -dnl Don't use DB3 unless it's needed -db3_required=no +NETATALK_ARG_DID -dnl Check for CNID DB support -AC_MSG_CHECKING([whether CNID support should be enabled]) -AC_ARG_ENABLE(cnid-db, - [ --enable-cnid-db use persistent cnid database per volume (EXPERIMENTAL) ], +dnl Determine whether or not to use filename mangling +AC_MSG_CHECKING([whether to use filename mangling]) +AC_ARG_WITH(mangling, + [ --with-mangling enable filename mangling], [ - if test "x$enableval" = "xyes"; then - dnl Now we need DB3 - db3_required="yes" - AC_DEFINE(CNID_DB) + if test "x$withval" = "xyes"; then + if test "x$did_scheme" != "xcnid"; then + AC_MSG_ERROR([DID scheme must be CNID to use filename mangling]) + else + AC_DEFINE(FILE_MANGLING, 1, [Define if file name mangling should be used]) + AC_MSG_RESULT([yes]) + fi + else + AC_MSG_RESULT([no]) + fi + ], [ + if test "x$did_scheme" = "xcnid"; then + AC_DEFINE(FILE_MANGLING, 1, [Define if file name mangling should be used]) AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi - ],[AC_MSG_RESULT([no])] + ] ) -dnl Check for Berkeley DB3 library -if test "x$db3_required" = "xyes"; then - AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])]) +if test "$did_scheme" = "cnid"; then + USE_CDB="yes" +else + USE_CDB="no" fi -CFLAGS="$CFLAGS $DB3_CFLAGS" -LIBS="$LIBS $DB3_LIBS" -AC_ARG_WITH(did, - [ --with-did=SCHEME set DID scheme (last,mtab)], - if test "x$withval" != "xno" ; then - if test "$withval" = "last"; then - AC_DEFINE(USE_LASTDID, 1) - AC_MSG_RESULT([enabling build without DID dev/inode mapping kludge]) - fi - if test "$withval" = "mtab"; then - AC_DEFINE(DID_MTAB, 1) - AC_MSG_RESULT([enabling mtab-based DID creation support]) - fi +dnl Determine whether or not to use CDB or transactional DB store +AC_MSG_CHECKING([whether to use CNID with Concurrent Data Store]) +AC_ARG_WITH(cdb, + [ --with-cdb enable CNID with Concurrent Data Store], + if test "$withval" = "no"; then + if test "x$did_scheme" != "xcnid"; then + USE_CDB="no" + AC_MSG_ERROR([DID scheme must be CNID to use CDB]) + else + USE_CDB="no" + AC_MSG_RESULT([no]) + fi + else + USE_CDB="yes" + AC_MSG_RESULT([yes]) fi + , AC_MSG_RESULT([yes]) ) -msg_dir="" -AC_ARG_WITH(message-dir, - [ --with-message-dir=PATH path to message files [[PKGCONF/msg]]], - msg_dir="$withval" - if test x"$msg_dir" = "x"; then - msg_dir="${PKGCONFDIR}/msg" - fi - AC_DEFINE_UNQUOTED(SERVERTEXT, "$msg_dir", - [path to message dir [[PKGCONF/msg]]]) - SERVERTEXT="$msg_dir" - AC_SUBST(SERVERTEXT) -) +if test "$USE_CDB" = "yes"; then + AC_DEFINE(CNID_DB_CDB, 1, [Define if CNID should be used with Concurrent Data Store]) +fi -AC_ARG_ENABLE(srvloc, - [ --enable-srvloc turn on Server Location Protocol support (EXPERIMENTAL)], - srvloc=$enableval, - srvloc=no -) +dnl Check for quota support +AC_CHECK_QUOTA -dnl Conditional for optional server location protocol support (used by OS X) -AM_CONDITIONAL(USE_SRVLOC, test "x$srvloc" != "xno") -if test "x$srvloc" != "xno"; then - for slpdir in "" $srvloc /usr /usr/local ; do - if test -f "$slpdir/include/slp.h" ; then - LIBS="$LIBS -L$slpdir/lib -lslp" - CFLAGS="$CFLAGS -I$slpdir/include" - AC_CHECK_LIB(slp,SLPOpen) - AC_CHECK_FUNCS(SLPReg SLPDereg SLPClose) - AC_DEFINE(USE_SRVLOC, 1) - break - fi - done -fi +dnl Check for optional server location protocol support (used by MacOS X) +NETATALK_SRVLOC -# Check for PAM libs -AC_MSG_CHECKING([if we should even bother with PAM]) -AC_ARG_WITH(pam, - [ --with-pam enable PAM support], - [PAM_MSG="$withval"], - [PAM_MSG="yes"] -) -AC_MSG_RESULT($PAM_MSG) -use_pam_so=no -compile_pam=no - -if test "x$PAM_MSG" = "xyes"; then - if test "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then - - AC_CHECK_LIB(pam, pam_set_item, - [PAPD_LIBS="$PAPD_LIBS -lpam"; AFPD_LIBS="$AFPD_LIBS -lpam"; use_pam_so=yes; compile_pam=yes; AC_DEFINE(USE_PAM)], - [use_pam_so=no; compile_pam=no] - ) - fi -else - use_pam_so=no - compile_pam=no -fi +dnl Check for gssapi +NETATALK_GSSAPI_CHECK + +dnl Check for PAM libs +AC_PATH_PAM([ + use_pam_so=yes + compile_pam=yes + AC_DEFINE(USE_PAM, 1, [Define to enable PAM support]) +]) AC_MSG_CHECKING([whether shadow support should be enabled]) AC_ARG_WITH(shadow, @@ -340,37 +306,19 @@ AC_ARG_WITH(shadow, [shadowpw=no] ) if test "x$shadowpw" = "xyes"; then - AC_DEFINE(SHADOWPW) + AC_DEFINE(SHADOWPW, 1, [Define if shadow passwords should be used]) fi AC_MSG_RESULT([$shadowpw]) AC_ARG_ENABLE(shell-check, [ --disable-shell-check disable checking for a valid shell], if test "$enableval" = "no"; then - AC_DEFINE(DISABLE_SHELLCHECK, 1) + AC_DEFINE(DISABLE_SHELLCHECK, 1, [Define if shell check should be disabled]) AC_MSG_RESULT([disabling valid shell check]) fi ) -AC_MSG_CHECKING([whether flock locks should be enabled]) -AC_ARG_WITH(flock-locks, - [ --with-flock-locks enable flock locks support], - [flock_locks="$withval"], - [flock_locks="no"] -) -if test "x$flock_locks" = "xyes"; then - AC_DEFINE(USE_FLOCK_LOCKS) -fi -AC_MSG_RESULT([$flock_locks]) - -AC_ARG_WITH(tcp-wrappers, - [ --with-tcp-wrappers enable TCP wrappers support], - AC_CHECK_LIB(wrap, tcpd_warn, - AC_DEFINE(TCPWRAP) - AFPD_LIBS="$AFPD_LIBS -lwrap" - AC_MSG_RESULT([enabling TCP wrappers support]) - ) -) +NETATALK_TCP_WRAPPERS AC_ARG_ENABLE(redhat, [ --enable-redhat use redhat-style sysv configuration ], @@ -396,15 +344,23 @@ AC_ARG_ENABLE(cobalt, AC_MSG_RESULT([enabling cobalt-style sysv support]) ) -dnl ----- timelord compilation (disabled by default) -AC_MSG_CHECKING([whether timelord should be compiled]) -compile_timelord=no -AC_ARG_ENABLE(timelord, - [ --enable-timelord enable compilation of timelord server], - [compile_timelord="$enableval"], - [compile_timelord="no"] +AC_ARG_ENABLE(netbsd, + [ --enable-netbsd use NetBSD-style rc.d configuration ], + if test "x$enableval" = "xyes"; then + sysv_style=netbsd + fi + AC_MSG_RESULT([enabling NetBSD-style rc.d support]) ) -AC_MSG_RESULT([$compile_timelord]) + +dnl ----- a2boot compilation (disabled by default) +AC_MSG_CHECKING([whether a2boot should be compiled]) +compile_a2boot=no +AC_ARG_ENABLE(a2boot, + [ --enable-a2boot enable compilation of Apple2 boot server], + [compile_a2boot="$enableval"], + [compile_a2boot="no"] +) +AC_MSG_RESULT([$compile_a2boot]) AC_ARG_WITH(uams-path, [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]], @@ -419,12 +375,14 @@ dnl -------------------------------------------------------------------------- AC_ARG_ENABLE(fhs, [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility], if test "$enableval" = "yes"; then - uams_path="/usr/lib/netatalk" + uams_path="${libdir}/netatalk" sysconfdir="/etc" PKGCONFDIR=${sysconfdir}/netatalk + SERVERTEXT="${PKGCONFDIR}/msg" + NLSDIR="${PKGCONFDIR}/nls" use_pam_so=yes - dnl FIXME: NEED TO HAVE --mandir=/usr/share/man AT SOME POINT... - AC_DEFINE(FHS_COMPATIBILITY) + mandir="/usr/share/man" + AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS]) fi AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility]) ) @@ -442,8 +400,12 @@ AC_SUBST(UAMS_PATH) dnl -------------------------------------------------------------------------- dnl drop in includes for top level directory structures here... dnl -------------------------------------------------------------------------- -LIBS="$LIBS -L\$(top_srcdir)/libatalk/" -CFLAGS="$CFLAGS -I\$(top_srcdir)/include -I\$(top_srcdir)/sys" + +dnl Note: $(top_srcdir)/include should be added before all other includes +dnl so that includes from that directory a preferred to includes from +dnl /usr/include or similar places. +LIBS="$LIBS -L\$(top_srcdir)/libatalk" +CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys" dnl -------------------------------------------------------------------------- dnl specific configuration comes in here: @@ -459,6 +421,7 @@ case "$host_os" in *irix*) this_os=irix ;; *linux*) this_os=linux ;; *osx*) this_os=macosx ;; + *darwin*) this_os=macosx ;; *netbsd*) this_os=netbsd ;; *openbsd*) this_os=openbsd ;; *osf*) this_os=tru64 ;; @@ -477,53 +440,61 @@ dnl --------------------- operating system specific flags (port from sys/*) dnl ----- AIX specific ----- if test x"$this_os" = "xaix"; then AC_MSG_RESULT([ * AIX specific configuration]) - AC_DEFINE(NO_STRUCT_TM_GMTOFF) dnl This is probably a lie; AIX 4.3 supports a 64-bit long dnl compilation environment. It's enough to get things defined dnl right in endian.h provided that long long is supported, though. - AC_DEFINE(HAVE_32BIT_LONGS) + AC_DEFINE(HAVE_32BIT_LONGS, 1, [Define if the data type long has 32 bit]) fi dnl ----- FreeBSD specific ----- if test x"$this_os" = "xfreebsd"; then AC_MSG_RESULT([ * FreeBSD specific configuration]) - AC_DEFINE(BSD4_4) - AC_DEFINE(SENDFILE_FLAVOR_BSD) + AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro]) + AC_DEFINE(SENDFILE_FLAVOR_BSD, 1, [Define if the sendfile() function uses BSD semantics]) - AC_DEFINE(NO_CRYPT_H, 1) + AC_DEFINE(NO_CRYPT_H, 1, [Define if crypt.h does not exist]) fi dnl ----- HP-UX 11 specific ----- if test x"$this_os" = "xhpux11"; then AC_MSG_RESULT([ * HP-UX 11 specific configuration]) - AC_DEFINE(_ISOC9X_SOURCE) - AC_DEFINE(NO_STRUCT_TM_GMTOFF) -fi - -dnl ----- IRIX specific ----- -if test x"$this_os" = "xirix"; then - AC_MSG_RESULT([ * IRIX specific configuration]) - - AC_DEFINE(NO_STRUCT_TM_GMTOFF) + AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro]) fi dnl ----- Linux specific ----- +ac_have_atalk_addr=no if test x"$this_os" = "xlinux"; then AC_MSG_RESULT([ * Linux specific configuration]) - dnl ----- check if we need the quotactl wrapper - AC_CHECK_HEADERS(sys/quota.h linux/quota.h) - AC_CHECK_FUNC(quotactl,, - AC_DEFINE(NEED_QUOTACTL_WRAPPER) - AC_MSG_RESULT([enabling quotactl wrapper]) - ) + dnl ----- kernel 2.6 changed struct at_addr to atalk_addr + AC_MSG_CHECKING([for struct atalk_addr]) + AC_COMPILE_IFELSE([ +#include +#include +#include + +int main() { + struct atalk_addr foo; + + return 0; +} + ], [ + ac_have_atalk_addr=yes + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + +if test "x$ac_have_atalk_addr" = "xyes"; then + AC_DEFINE(HAVE_ATALK_ADDR, 1, [set if struct at_addr is called atalk_addr]) +fi dnl ----- as far as I can tell, dbtob always does the wrong thing dnl ----- on every single version of linux I've ever played with. dnl ----- see etc/afpd/quota.c - AC_DEFINE(HAVE_BROKEN_DBTOB) + AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken]) dnl --- added by Yoshinobu Ishizaki (2001.03.13) --- dnl ----- check if version is newer than 2.2.x @@ -534,7 +505,7 @@ if test x"$this_os" = "xlinux"; then if [ $minorvers -ge 2 ]; then changequote([,]) AC_MSG_RESULT([ * found Linux 2.2.x or higher]) - AC_DEFINE(SENDFILE_FLAVOR_LINUX) + AC_DEFINE(SENDFILE_FLAVOR_LINUX, 1, [Define if the sendfile() function uses Linux semantics]) else AC_MSG_RESULT([ * found Linux 2.0.x ]) fi @@ -543,7 +514,7 @@ if test x"$this_os" = "xlinux"; then dnl ----- Linux/alpha specific ----- if test x"$this_cpu" = "xalpha"; then AC_MSG_RESULT([enabling gcc memcpy bug workaround]) - AC_DEFINE(HAVE_GCC_MEMCPY_BUG) + AC_DEFINE(HAVE_GCC_MEMCPY_BUG, 1, [Define if memcpy is buggy]) fi need_dash_r=no fi @@ -551,44 +522,48 @@ fi dnl ----- Mac OSX specific ----- if test x"$this_os" = "xmacosx"; then AC_MSG_RESULT([ * Mac OSX specific configuration]) - AC_DEFINE(BSD4_4) - AC_DEFINE(HAVE_BROKEN_CPP) - AC_DEFINE(HAVE_2ARG_DBTOB) + AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro]) + AC_DEFINE(HAVE_BROKEN_CPP, 1, [Define if cpp is broken]) + AC_DEFINE(HAVE_2ARG_DBTOB, 1, [Define if dbtob takes two arguments]) dnl AC_DEFINE(NO_DLFCN_H) - AC_DEFINE(MACOSX_SERVER) + AC_DEFINE(MACOSX_SERVER, 1, [Define if compiling for MacOS X Server]) fi dnl ----- NetBSD specific ----- if test x"$this_os" = "xnetbsd"; then AC_MSG_RESULT([ * NetBSD specific configuration]) - AC_DEFINE(BSD4_4) - AC_DEFINE(DLSYM_PREPEND_UNDERSCORE) + AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro]) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE. + # If this test is true, it's not an ELF box. + # This REALLY should be a configure test. + AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro]) + fi CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS" need_dash_r=yes dnl ----- NetBSD does not have crypt.h, uses unistd.h ----- - AC_DEFINE(UAM_DHX, 1) - AC_DEFINE(NO_CRYPT_H, 1) + AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled]) + AC_DEFINE(NO_CRYPT_H, 1, [Define if crypt.h does not exist]) fi dnl ----- OpenBSD specific ----- if test x"$this_os" = "xopenbsd"; then AC_MSG_RESULT([ * OpenBSD specific configuration]) - AC_DEFINE(BSD4_4) - AC_DEFINE(DLSYM_PREPEND_UNDERSCORE) + AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro]) + AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro]) dnl ----- OpenBSD does not have crypt.h, uses unistd.h ----- - AC_DEFINE(UAM_DHX, 1) - AC_DEFINE(NO_CRYPT_H, 1) + AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled]) + AC_DEFINE(NO_CRYPT_H, 1, [Define if crypt.h does not exist]) fi dnl ----- Solaris specific ----- if test x"$this_os" = "xsolaris"; then AC_MSG_RESULT([ * Solaris specific configuration]) - AC_DEFINE(__svr4__) - AC_DEFINE(_ISOC9X_SOURCE) - AC_DEFINE(NO_STRUCT_TM_GMTOFF) - AC_DEFINE(SOLARIS) + AC_DEFINE(__svr4__, 1, [Solaris compatibility macro]) + AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro]) + AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro]) CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS" need_dash_r=yes @@ -599,40 +574,27 @@ fi dnl ----- Tru64 specific ----- if test x"$this_os" = "xtru64"; then AC_MSG_RESULT([ * Tru64 specific configuration]) - AC_DEFINE(NO_DDP) - AC_DEFINE(HAVE_64BIT_LONGS) + AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled]) + AC_DEFINE(HAVE_64BIT_LONGS, 1, [Define if the data type long has 64 bit]) dnl AC_DEFINE(USE_MOUNT_H) - AC_DEFINE(USE_OLD_RQUOTA) - dnl AC_DEFINE(USE_UFS_QUOTA_H) - AC_DEFINE(TRU64) + AC_DEFINE(USE_OLD_RQUOTA, 1, [Define to use old rquota]) + AC_DEFINE(TRU64, 1, [Define on Tru64 platforms]) AC_CHECK_LIB(security,set_auth_parameters) CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS" need_dash_r=no sysv_style=tru64 fi -dnl -- look for openssl +dnl -- look for OpenSSL and other crypt libraries +AC_PATH_GCRYPT AC_PATH_SSL -dnl --------------------- check for building PGP UAM module - -AC_ARG_ENABLE(pgp-uam, - [ --enable-pgp-uam enable build of PGP UAM module], - if test "$enableval" = "yes"; then - if test "$compile_ssl" = "yes"; then - AC_DEFINE(UAM_PGP, 1) - compile_pgp=yes - AC_MSG_RESULT([enabling build with PGP UAM module]) - fi - fi -) - dnl --------------------- check for building Kerberos v4 UAM module AC_ARG_ENABLE(krb4-uam, [ --enable-krb4-uam enable build of Kerberos v4 UAM module], if test "$enableval" = "yes"; then - AC_DEFINE(UAM_KRB4, 1) + AC_DEFINE(UAM_KRB4, 1, [Define if the Kerberos 4 UAM module should be compiled]) compile_kerberos=yes AC_MSG_RESULT([enabling build with Kerberos v4 UAM module]) fi @@ -650,21 +612,18 @@ AC_MSG_RESULT([$OVERWRITE_CONFIG]) dnl --------------------- last minute substitutions AC_SUBST(LIBS) -AC_SUBST(AFPD_LIBS) -AC_SUBST(PAPD_LIBS) AC_SUBST(CFLAGS) -AC_SUBST(PKGCONFDIR) AC_SUBST(OVERWRITE_CONFIG) AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes) -AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes) +AM_CONDITIONAL(COMPILE_A2BOOT, test x$compile_a2boot = xyes) AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes) AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes) AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes) AM_CONDITIONAL(USE_PAM, test x$compile_pam = xyes) AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes) -AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes) AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt) +AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd) AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat) AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse) AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes) @@ -678,6 +637,8 @@ AC_OUTPUT([Makefile bin/aecho/Makefile bin/afile/Makefile bin/afppasswd/Makefile + bin/cnid/Makefile + bin/cnid/cnid_maint bin/getzones/Makefile bin/megatron/Makefile bin/nbp/Makefile @@ -686,10 +647,20 @@ AC_OUTPUT([Makefile config/Makefile contrib/Makefile contrib/macusers/Makefile + contrib/macusers/macusers contrib/nu/Makefile + contrib/nu/nu contrib/printing/Makefile contrib/shell_utils/Makefile + contrib/shell_utils/afpd-mtab.pl + contrib/shell_utils/apple_cp + contrib/shell_utils/apple_mv + contrib/shell_utils/apple_rm + contrib/shell_utils/cleanappledouble.pl + contrib/shell_utils/lp2pap.sh + contrib/shell_utils/netatalkshorternamelinks.pl contrib/timelord/Makefile + contrib/a2boot/Makefile distrib/Makefile distrib/config/Makefile distrib/config/netatalk-config @@ -704,6 +675,7 @@ AC_OUTPUT([Makefile etc/uams/uams_krb4/Makefile etc/papd/Makefile etc/psf/Makefile + etc/psf/etc2ps.sh include/Makefile include/atalk/Makefile libatalk/Makefile @@ -730,6 +702,7 @@ AC_OUTPUT([Makefile sys/netbsd/Makefile sys/netbsd/netatalk/Makefile sys/solaris/Makefile + sys/solaris/Makefile.kernel sys/sunos/Makefile sys/ultrix/Makefile ],