-dnl $Id: configure.in,v 1.136 2001-12-01 15:26:41 srittau Exp $
+dnl $Id: configure.in,v 1.168.2.8 2003-11-30 14:54:55 srittau Exp $
dnl configure.in for netatalk
AC_INIT(bin/adv1tov2/adv1tov2.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 Checks for programs.
AC_PROG_AWK
AC_PROG_CC
AC_PROG_MAKE_SET
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
+AC_PROG_PERL
+AC_PROG_GREP
+AC_PROG_PS
dnl *********************************************************************
dnl FIXME! FIXME! These should be selectable properly, and should produce
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 Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_UID_T
AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp strchr memcpy)
AC_FUNC_SETPGRP
+dnl Checks for (v)snprintf
+NETATALK_SNPRINTF_CHECK
+
dnl --------------------------------------------------------------------------
dnl specific configuration comes in here:
dnl --------------------------------------------------------------------------
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_ARG_WITH(pkgconfdir,
- [ --with-pkgconfdir=DIR package specific configuration in DIR
- [[SYSCONF/netatalk]]],
- PKGCONFDIR="$withval",
- PKGCONFDIR="${sysconfdir}/netatalk"
+NETATALK_AFS_CHECK
+
+NETATALK_CONFIG_DIRS
+
+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
+ AC_DEFINE(DISABLE_LOGGER, 1)
+ AC_MSG_RESULT([logger disabled])
+ elif test "$withval" != "yes"; then
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval")
+ AC_MSG_RESULT([logfile set to $withval])
+ else
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+ AC_MSG_RESULT([logfile set to default])
+ fi,
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+ AC_MSG_RESULT([logfile set to default])
)
AC_ARG_WITH(cracklib,
AC_DEFINE_UNQUOTED(DEBUG, $enableval)
fi
AC_MSG_RESULT([enabling debugging code])
- else
- AC_DEFINE(DEBUG, 0)
fi
)
fi
)
-dnl Don't use DB3 unless it's needed
-db3_required=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 (last,hash,mtab,cnid)],
+ [ --with-did=SCHEME set DID scheme (cnid,last)],
[ did_scheme="$withval" ],
- [ did_scheme="last" ]
+ [ did_scheme="cnid" ]
)
if test "x$did_scheme" = "xlast"; then
AC_DEFINE(USE_LASTDID, 1)
AC_MSG_RESULT([last])
-elif test "x$did_scheme" = "xhash"; then
- AC_MSG_RESULT([device/inode-based hashing])
-elif test "x$did_scheme" = "xmtab"; then
- AC_DEFINE(DID_MTAB, 1)
- AC_MSG_RESULT([mtab-based DID creation support])
elif test "x$did_scheme" = "xcnid"; then
- db3_required="yes"
+ bdb_required="yes"
AC_DEFINE(CNID_DB, 1)
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")
+
+dnl Determine whether or not to use filename mangling
+AC_MSG_CHECKING([whether or not to use filename mangling])
+AC_ARG_WITH(mangling,
+ [ --with-mangling enable filename mangling],
+ if test "$withval" = "yes"; 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)
+ AC_MSG_RESULT([yes])
+ fi
+ 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
-dnl Check for quota support
-AC_CHECK_QUOTA
-
-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)
+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_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])
)
-AC_ARG_ENABLE(srvloc,
- [ --enable-srvloc turn on Server Location Protocol support (EXPERIMENTAL)],
- srvloc=$enableval,
- srvloc=no
-)
+if test "$USE_CDB" = "yes"; then
+ AC_DEFINE(CNID_DB_CDB, 1)
+fi
-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
+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
-# Check for PAM libs
+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 PAM libs
AC_PATH_PAM([
PAPD_LIBS="$PAPD_LIBS $PAM_LIBS"
AFPD_LIBS="$AFPD_LIBS $PAM_LIBS"
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_MSG_RESULT([enabling cobalt-style sysv support])
)
+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])
+)
+
dnl ----- timelord compilation (disabled by default)
AC_MSG_CHECKING([whether timelord should be compiled])
compile_timelord=no
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...
+ mandir="/usr/share/man"
AC_DEFINE(FHS_COMPATIBILITY)
fi
AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
fi
dnl ----- Linux specific -----
+ac_have_atalk_addr=no
if test x"$this_os" = "xlinux"; then
AC_MSG_RESULT([ * Linux specific configuration])
+ 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])
+ ])
+
dnl ----- check if we need the quotactl wrapper
AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
AC_CHECK_FUNC(quotactl,,
fi
need_dash_r=no
fi
+AC_DEFINE(HAVE_ATALK_ADDR, [test "x$ac_have_atalk_addr" = "xyes"], [set if struct at_addr is called atalk_addr])
dnl ----- Mac OSX specific -----
if test x"$this_os" = "xmacosx"; then
if test x"$this_os" = "xnetbsd"; then
AC_MSG_RESULT([ * NetBSD specific configuration])
AC_DEFINE(BSD4_4)
- AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
+ 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)
+ fi
CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
need_dash_r=yes
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(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)
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
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
distrib/Makefile
distrib/config/Makefile
sys/netbsd/Makefile
sys/netbsd/netatalk/Makefile
sys/solaris/Makefile
+ sys/solaris/Makefile.kernel
sys/sunos/Makefile
sys/ultrix/Makefile
],