-dnl $Id: configure.in,v 1.182 2003-06-07 12:01:03 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 $srcdir/VERSION`
AC_SUBST(NETATALK_VERSION)
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_INSTALL
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.
+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)
+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"
)
+dnl
dnl Checks for typedefs, structures, and compiler characteristics.
+dnl
+
AC_C_CONST
AC_TYPE_UID_T
AC_C_INLINE
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.
+dnl
+
AC_TYPE_GETGROUPS
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
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 --------------------------------------------------------------------------
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, [Define if the admin group should be enabled])
- AC_MSG_RESULT([disabling administrative group support])
- fi
+ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([yes])
+ fi], [
+ AC_MSG_RESULT([yes])
+ ]
)
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 "$withval" = "no"; then
+ 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([logger disabled])
+ AC_MSG_RESULT([syslog])
elif test "$withval" != "yes"; then
AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file])
- AC_MSG_RESULT([logfile set to $withval])
+ AC_MSG_RESULT([$withval])
else
AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
- AC_MSG_RESULT([logfile set to default])
- fi,
+ AC_MSG_RESULT([/var/log/netatalk.log])
+ fi], [
AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
- AC_MSG_RESULT([logfile set to default])
+ AC_MSG_RESULT([/var/log/netatalk.log])
+ ]
)
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
+ [ --disable-ddp disable DDP], [
+ if test "x$enableval" = "xno"; then
AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
- AC_MSG_RESULT([disabling DDP])
+ 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
+ [ --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, [Define if debugging information should be included])
fi
- AC_MSG_RESULT([enabling debugging code])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ ], [
+ AC_MSG_RESULT([no])
+ ]
)
afp3=no
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
+ [ --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([enabling experimental dropbox 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
+ [ --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([enabling forcing of uid/gid per volume])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ ], [AC_MSG_RESULT([no])]
)
-dnl Don't use BDB unless it's needed
-bdb_required=no
-
-dnl Determine DID scheme
-AC_MSG_CHECKING([for DID scheme to use])
-AC_ARG_WITH(did,
- [ --with-did=SCHEME set DID scheme (cnid,last)],
- [ did_scheme="$withval" ],
- [ did_scheme="cnid" ]
-)
-
-if test "x$did_scheme" = "xlast"; then
- AC_DEFINE(USE_LASTDID, 1, [Define if the last DID scheme should be used])
- AC_MSG_RESULT([last])
-elif test "x$did_scheme" = "xcnid"; then
- bdb_required="yes"
- AC_DEFINE(CNID_DB, 1, [Define if the CNID DB DID scheme should be used])
- AC_MSG_RESULT([enabling build with CNID DB support])
-else
- AC_MSG_ERROR([unknown DID scheme])
-fi
-AM_CONDITIONAL(COMPILE_CNID, test "x$did_scheme" = "xcnid")
+NETATALK_ARG_DID
dnl Determine whether or not to use filename mangling
-AC_MSG_CHECKING([whether or not to use filename mangling])
+AC_MSG_CHECKING([whether to use filename mangling])
AC_ARG_WITH(mangling,
[ --with-mangling enable filename mangling],
[
fi
dnl Determine whether or not to use CDB or transactional DB store
-AC_MSG_CHECKING([whether or not to use CNID with Concurrent Data 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
AC_DEFINE(CNID_DB_CDB, 1, [Define if CNID should be used with Concurrent Data Store])
fi
-dnl Check for Berkeley DB library
-if test "x$bdb_required" = "xyes"; then
- AC_PATH_BDB(, [AC_MSG_ERROR([Berkeley DB library not found!])])
-fi
-
dnl Check for quota support
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
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 ],
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"]
)
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
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.
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
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"
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,
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)