]> arthur.barton.de Git - netatalk.git/blobdiff - configure.in
apply parts of the netbsd build patch by Patrick Welche <prlw1@newn.cam.ac.uk>, mostl...
[netatalk.git] / configure.in
index 4163e472804f80c3e51e27fd62115c4c49dda108..92bfcbe209750289fec60ca753c9099984322f67 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.185 2003-06-08 15:17:56 srittau Exp $
+dnl $Id: configure.in,v 1.202 2004-01-14 16:10:29 bfernhomberg Exp $
 dnl configure.in for netatalk
 
 AC_INIT(etc/afpd/main.c)
@@ -10,84 +10,58 @@ AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
 AM_CONFIG_HEADER(config.h)
 
+dnl
 dnl Checks for programs.
+dnl
+
 AC_PROG_AWK
 AC_PROG_CC
+AC_PROG_GCC_TRADITIONAL
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
+AC_PROG_LIBTOOL
 AC_PROG_PERL
 AC_PROG_GREP
 AC_PROG_PS
 AC_PROG_DVIPS
 AC_PROG_TROFF2PS
 
-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 -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 -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_CHECK_FUNCS(access)
-# 
+dnl
+dnl Checks for presence of some functions.
+dnl
+
 AC_CHECK_FUNCS(pread pwrite)
 
+dnl
 dnl Checks for header files.
-AC_HEADER_DIRENT
+dnl
+
 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)
+AC_HEADER_TIME
+AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/fcntl.h sys/time.h sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h mntent.h unistd.h termios.h sys/termios.h netdb.h sgtty.h sys/mount.h statfs.h sys/types.h dlfcn.h errno.h sys/errno.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 ufs/quota.h mount.h  statfs.h sys/types.h dlfcn.h errno.h sys/errno.h crypt.h)
+
 AC_CHECK_HEADER(sys/cdefs.h,,
        AC_MSG_RESULT([enabling generic cdefs.h from tree])
        CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
 )
 
+AC_CHECK_HEADERS([sys/param.h])
+AC_CHECK_HEADERS([sys/mount.h], [], [],
+[
+#if HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+])
+
+
+dnl
 dnl Checks for typedefs, structures, and compiler characteristics.
+dnl
+
 AC_C_CONST
 AC_TYPE_UID_T
 AC_C_INLINE
@@ -95,53 +69,29 @@ AC_TYPE_MODE_T
 AC_TYPE_OFF_T
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
-AC_STRUCT_ST_RDEV
-AC_HEADER_TIME
-AC_STRUCT_TM
+AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
 
+dnl
 dnl Checks for library functions.
-AC_TYPE_GETGROUPS
-AC_PROG_GCC_TRADITIONAL
+dnl
+
 AC_FUNC_MEMCMP
-AC_HEADER_MAJOR
-AC_FUNC_MMAP
-AC_TYPE_SIGNAL
-AC_FUNC_UTIME_NULL
-AC_FUNC_WAIT3
-AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy)
-AC_FUNC_SETPGRP
-
-dnl Checks for (v)snprintf
+AC_CHECK_FUNCS(strcasestr strchr memcpy)
 NETATALK_SNPRINTF_CHECK
 
-dnl --------------------------------------------------------------------------
-dnl specific configuration comes in here:
-dnl --------------------------------------------------------------------------
-
-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], [
-        if test "$enableval" = "no"; then
-               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])
-       ]
-)
+dnl
+dnl Configuration options.
+dnl
 
+NETATALK_ADMINGRP_CHECK
 NETATALK_AFS_CHECK
-
 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
+        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
@@ -316,6 +266,9 @@ AC_CHECK_QUOTA
 dnl Check for optional server location protocol support (used by MacOS X)
 NETATALK_SRVLOC
 
+dnl Check for gssapi
+NETATALK_GSSAPI_CHECK
+
 dnl Check for PAM libs
 AC_PATH_PAM([
        use_pam_so=yes
@@ -342,15 +295,7 @@ AC_ARG_ENABLE(shell-check,
        fi
 )
 
-AC_ARG_WITH(tcp-wrappers,
-       [  --with-tcp-wrappers     enable TCP wrappers support],
-       AC_CHECK_LIB(wrap, tcpd_warn,
-               AC_DEFINE(TCPWRAP, 1, [Define if TCP wrappers should be used])
-               WRAP_LIBS="-lwrap"
-               AC_MSG_RESULT([enabling TCP wrappers support])
-       )
-)
-AC_SUBST(WRAP_LIBS)
+NETATALK_TCP_WRAPPERS
 
 AC_ARG_ENABLE(redhat,
        [  --enable-redhat         use redhat-style sysv configuration ],
@@ -384,21 +329,11 @@ AC_ARG_ENABLE(netbsd,
        AC_MSG_RESULT([enabling NetBSD-style rc.d 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_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],
+       [  --enable-a2boot         enable compilation of Apple2 boot server],
        [compile_a2boot="$enableval"],
        [compile_a2boot="no"]
 )
@@ -482,7 +417,6 @@ 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, 1, [Define if the gmtoff member of struct tm is not available])
 
        dnl This is probably a lie; AIX 4.3 supports a 64-bit long
        dnl compilation environment.  It's enough to get things defined
@@ -495,8 +429,6 @@ if test x"$this_os" = "xfreebsd"; then
        AC_MSG_RESULT([ * FreeBSD specific configuration])
        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, [Define if crypt.h does not exist])
 fi
 
 dnl ----- HP-UX 11 specific -----
@@ -504,26 +436,35 @@ if test x"$this_os" = "xhpux11"; then
        AC_MSG_RESULT([ * HP-UX 11 specific configuration])
 
        AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
-       AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
-fi
-
-dnl ----- IRIX specific -----
-if test x"$this_os" = "xirix"; then
-       AC_MSG_RESULT([ * IRIX specific configuration])
-
-       AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
 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, 1, [Define if the quotactl wrapper is needed])
-               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 <sys/socket.h>
+#include <asm/types.h>
+#include <linux/atalk.h>
+
+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.
@@ -573,12 +514,8 @@ if test x"$this_os" = "xnetbsd"; then
                # 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"
+       CFLAGS="-I\$(top_srcdir)/sys/netbsd $CFLAGS"
        need_dash_r=yes 
-
-       dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
-       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 -----
@@ -586,10 +523,6 @@ if test x"$this_os" = "xopenbsd"; then
        AC_MSG_RESULT([ * OpenBSD specific configuration])
        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, [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 -----
@@ -597,7 +530,6 @@ if test x"$this_os" = "xsolaris"; then
        AC_MSG_RESULT([ * Solaris specific configuration])
        AC_DEFINE(__svr4__, 1, [Solaris compatibility macro])
        AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
-       AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
        AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro])
        CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
        need_dash_r=yes
@@ -613,7 +545,6 @@ if test x"$this_os" = "xtru64"; then
        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, 1, [Define to use old rquota])
-       dnl AC_DEFINE(USE_UFS_QUOTA_H)
        AC_DEFINE(TRU64, 1, [Define on Tru64 platforms])
        AC_CHECK_LIB(security,set_auth_parameters)
        CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
@@ -621,22 +552,10 @@ if test x"$this_os" = "xtru64"; then
        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, [Define if the PGP UAM module should be compiled])
-                       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,
@@ -664,14 +583,12 @@ AC_SUBST(CFLAGS)
 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)