+dnl $Id: configure.in,v 1.96 2001-08-14 14:00:08 rufustfirefly Exp $
dnl configure.in for netatalk
AC_INIT(bin/adv1tov2/adv1tov2.c)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
AM_CONFIG_HEADER(config.h)
-AM_PROG_LIBTOOL
dnl Reset locations to proper places
-AC_PREFIX_DEFAULT(/usr)
+AC_PREFIX_DEFAULT(/usr/local)
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
-AC_PROG_LIBTOOL
+AC_LIBTOOL_DLOPEN
+AM_PROG_LIBTOOL
dnl *********************************************************************
dnl FIXME! FIXME! These should be selectable properly, and should produce
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 syslog.h unistd.h termios.h sys/termios.h netdb.h sgtty.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 sys/mount.h statfs.h sys/types.h dlfcn.h)
AC_CHECK_HEADER(sys/cdefs.h,,
AC_MSG_RESULT([enabling generic cdefs.h from tree])
CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
AC_TYPE_SIGNAL
AC_FUNC_UTIME_NULL
AC_FUNC_WAIT3
-AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
+AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
AC_FUNC_SETPGRP
dnl --------------------------------------------------------------------------
AC_DEFINE(ADMIN_GRP, 1)
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])
+ AC_DEFINE(ADMIN_GRP, 0)
+ AC_MSG_RESULT([disabling administrative group support])
fi
)
AC_ARG_ENABLE(afs,
- [ --enable-afs enable AFS support],
+ [ --enable-afs enable AFS support],
if test "$enableval" = "yes"; then
- AC_DEFINE(USE_AFS, 1)
+ AC_DEFINE(AFS, 1)
AC_MSG_RESULT([enabling AFS support])
fi
)
-AC_ARG_WITH(auth-printing-dir,
- [ --with-auth-printing-dir=path
- path to authenticated printing directory],
- cap_dir="$withval"
- AC_DEFINE_UNQUOTED(CAPDIR, "$cap_dir")
- AC_DEFINE(USE_CAP)
- AC_MSG_RESULT([enabling authenticated printing support]),
+AC_ARG_WITH(config-dir,
+ [ --with-config-dir=DIR obsolete - use --pkgconfdir],
+ sysconfdir="$withval",
+ if test "x$prefix" = "xNONE"; then
+ sysconfdir="$ac_default_prefix/etc"
+ else
+ sysconfdir="${prefix}/etc"
+ fi
)
-AC_ARG_WITH(config-dir,
- [ --with-config-dir=path path to config files [default=/etc/atalk]],
- config_dir="$withval",
- config_dir="/etc/atalk"
+AC_ARG_WITH(pkgconfdir,
+ [ --with-pkgconfdir=DIR package specific configuration in DIR
+ [default=SYSCONF/netatalk]],
+ PKGCONFDIR="$withval",
+ PKGCONFDIR="${sysconfdir}/netatalk"
)
AC_ARG_WITH(cracklib,
[ --with-cracklib=dict enable/set location of cracklib dictionary],
- cracklib="$withval"
- AC_CHECK_LIB(crack, main,
- AC_DEFINE(USE_CRACKLIB)
- LIBS="$LIBS -lcrack"
- AC_MSG_RESULT([enabling cracklib support])
- if test "$cracklib" = "yes"; then
- cracklib="/usr/lib/cracklib_dict"
- fi
- AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
- [path to cracklib dictionary])
- AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
- AC_MSG_ERROR([cracklib not found!])
- )
+ if test "x$withval" != "xno" ; then
+ cracklib="$withval"
+ AC_CHECK_LIB(crack, main,
+ AC_DEFINE(USE_CRACKLIB)
+ LIBS="$LIBS -lcrack"
+ AC_MSG_RESULT([enabling cracklib support])
+ if test "$cracklib" = "yes"; then
+ cracklib="/usr/lib/cracklib_dict"
+ fi
+ AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
+ [path to cracklib dictionary])
+ AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
+ AC_MSG_ERROR([cracklib not found!])
+ )
+ fi
)
AC_ARG_ENABLE(ddp,
AC_ARG_ENABLE(force-uidgid,
[ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ],
- if test "$enableval" = "yes"; then
+ if test "$enableval" = "yes"; then
AC_DEFINE(FORCE_UIDGID, 1)
AC_MSG_RESULT([enabling forcing of uid/gid per volume])
fi
)
-AC_ARG_ENABLE(lastdid,
- [ --enable-lastdid enable build without DID dev/inode mapping kludge],
- if test "$enableval" = "yes"; then
- AC_DEFINE(USE_LASTDID, 1)
- AC_MSG_RESULT([enabling build without DID dev/inode mapping kludge])
+AC_ARG_ENABLE(cnid-db,
+ [ --enable-cnid-db use persistent cnid database per volume (EXPERIMENTAL) ],
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(CNID_DB, 1)
+ AC_MSG_RESULT([using persistent cnid database per volume])
+ fi
+)
+
+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
fi
)
msg_dir=""
AC_ARG_WITH(message-dir,
- [ --with-msg-dir=path path to message files [default=/etc/atalk/msg]],
+ [ --with-msg-dir=path path to message files [default=$ac_prefix_default/etc/msg]],
msg_dir="$withval"
if test x"$msg_dir" = "x"; then
- msg_dir="$CONFIG_DIR/msg"
+ msg_dir="${PKGCONFDIR}/msg"
fi
AC_DEFINE_UNQUOTED(SERVERTEXT, "$msg_dir",
- [path to message dir [default=$CONFIG_DIR/msg]])
+ [path to message dir [default=$ac_prefix_default/etc/msg]])
SERVERTEXT="$msg_dir"
AC_SUBST(SERVERTEXT)
)
LIBS="$LIBS -lpam"
compile_pam=yes
)
-AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
AC_ARG_WITH(pam,
- [ --with-pam enable password authentication modules support],
- if test "x$compile_pam" = "xyes"; then
- use_pam_so=yes
- AC_MSG_RESULT([enabling pam modules support])
- else
- AC_MSG_RESULT([pam libraries not found. Disabling pam modules support])
- fi
+ [ --without-pam disable password authentication modules support],
+ compile_pam=no
+ use_pam_so=no
+ AC_DEFINE(USE_PAM, 0)
+ AC_MSG_RESULT([disabling pam modules support])
)
+if test "x$compile_pam" = "xyes"; then
+ use_pam_so=yes
+ AC_MSG_RESULT([enabling pam modules support])
+fi
shadowpw=no
AC_ARG_WITH(shadow,
shadowpw=yes
)
+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_MSG_RESULT([disabling valid shell check])
+ fi
+)
+
AC_ARG_WITH(flock-locks,
[ --with-flock-locks enable flock locks support],
AC_MSG_RESULT([enabling flock locks])
AC_ARG_WITH(tcp-wrappers,
[ --with-tcp-wrappers enable TCP wrappers support],
- AC_CHECK_LIB(wrap, hosts_access,
+ AC_CHECK_LIB(wrap, tcpd_warn,
AC_DEFINE(TCPWRAP)
- LIBS="$LIBS -lwrap"
+ AFPD_LIBS="$AFPD_LIBS -lwrap"
AC_MSG_RESULT([enabling TCP wrappers support])
)
)
AC_ARG_ENABLE(redhat,
[ --enable-redhat use redhat-style sysv configuration ],
- if test "$enableval" = "yes"; then
+ if test "$enableval" = "yes"; then
sysv_style=redhat
fi
AC_MSG_RESULT([enabling redhat-style sysv support])
AC_ARG_ENABLE(suse,
[ --enable-suse use suse-style sysv configuration ],
- if test "$enableval" = "yes"; then
+ if test "$enableval" = "yes"; then
sysv_style=suse
fi
AC_MSG_RESULT([enabling suse-style sysv support])
AC_ARG_ENABLE(cobalt,
[ --enable-cobalt use cobalt-style sysv configuration ],
- if test "$enableval" = "yes"; then
+ if test "$enableval" = "yes"; then
sysv_style=cobalt
fi
AC_MSG_RESULT([enabling cobalt-style sysv support])
)
+dnl ----- timelord compilation (disabled by default)
+compile_timelord=no
+AC_ARG_ENABLE(timelord,
+ [ --enable-timelord enable compilation of timelord server],
+ if test "$enableval" = "yes"; then
+ compile_timelord=yes
+ fi
+ AC_MSG_RESULT([enabling timelord compilation])
+)
+
AC_ARG_WITH(uams-path,
- [ --with-uams-path=path path to UAMs [default=/etc/atalk/uams]],
+ [ --with-uams-path=path path to UAMs [default=PKGCONF/uams]],
uams_path="$withval",
- uams_path="$config_dir/uams"
+ uams_path="${PKGCONFDIR}/uams"
)
dnl --------------------------------------------------------------------------
AC_ARG_ENABLE(fhs,
[ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],
- if test "$enableval" = "yes"; then
+ if test "$enableval" = "yes"; then
uams_path="/usr/lib/netatalk"
- config_dir="/etc/netatalk"
+ sysconfdir="/etc"
+ PKGCONFDIR=${sysconfdir}/netatalk
use_pam_so=yes
dnl FIXME: NEED TO HAVE --mandir=/usr/share/man AT SOME POINT...
AC_DEFINE(FHS_COMPATIBILITY)
dnl post-FHS substitutions, etc
dnl --------------------------------------------------------------------------
-dnl ***** CONFIG_DIR
-AC_DEFINE_UNQUOTED(CONFIG_DIR, "$config_dir",
- [path to config dir [default=/etc/atalk]])
-CONFIG_DIR="$config_dir"
-AC_SUBST(CONFIG_DIR)
-AC_MSG_RESULT([setting configuration files location to $CONFIG_DIR])
-
-dnl ***** UAMS_PATH
-AC_DEFINE_UNQUOTED(UAMS_PATH, "$uams_path",
- [path to UAMs [default=/etc/atalk/uams]])
-UAMS_PATH="$uams_path"
+***** UAMS_PATH
+AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
+ [path to UAMs [default=PKGCONF/uams]])
+UAMS_PATH="${uams_path}"
AC_SUBST(UAMS_PATH)
dnl --------------------------------------------------------------------------
dnl --------------------- determine operating system from "target"
case "$host_os" in
+ *aix*) this_os=aix ;;
*freebsd*) this_os=freebsd ;;
+ *hpux11*) this_os=hpux11 ;;
+ *irix*) this_os=irix ;;
*linux*) this_os=linux ;;
*osx*) this_os=macosx ;;
*netbsd*) this_os=netbsd ;;
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)
+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)
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-shared"
+ AC_DEFINE(NO_CRYPT_H, 1)
+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)
fi
dnl ----- Linux specific -----
if test x"$this_os" = "xlinux"; then
AC_MSG_RESULT([ * Linux specific configuration])
- AC_DEFINE(SENDFILE_FLAVOR_LINUX)
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-shared"
dnl ----- check if we need the quotactl wrapper
- AC_CHECK_HEADER(sys/quota.h,,
- AC_MSG_RESULT([enabling 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 ----- 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)
+
+ dnl --- added by Yoshinobu Ishizaki (2001.03.13) ---
+ dnl ----- check if version is newer than 2.2.x
+ changequote(<<,>>)
+ majorvers="`uname -r | sed 's/\([0-9]\)..*/\1/'`"
+ minorvers="`uname -r | sed 's/[0-9]\.\([0-9]\)\..*/\1/'`"
+ if [ $majorvers -ge 2 ]; then
+ if [ $minorvers -ge 2 ]; then
+ changequote([,])
+ AC_MSG_RESULT([ * found Linux 2.2.x or higher])
+ AC_DEFINE(SENDFILE_FLAVOR_LINUX)
+ else
+ AC_MSG_RESULT([ * found Linux 2.0.x ])
+ fi
+ fi
+
dnl ----- Linux/alpha specific -----
if test x"$this_cpu" = "xalpha"; then
AC_MSG_RESULT([enabling gcc memcpy bug workaround])
AC_DEFINE(BSD4_4)
AC_DEFINE(HAVE_BROKEN_CPP)
AC_DEFINE(HAVE_2ARG_DBTOB)
- AC_DEFINE(NO_DLFCN_H)
+ dnl AC_DEFINE(NO_DLFCN_H)
AC_DEFINE(MACOSX_SERVER)
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-shared"
fi
dnl ----- NetBSD specific -----
AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
need_dash_r=yes
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-shared"
+
+ dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
+ AC_DEFINE(UAM_DHX, 1)
+ AC_DEFINE(UAM_RNDNUM, 1)
+ compile_dhx=yes
+ compile_ssl=yes
+ AC_DEFINE(NO_CRYPT_H, 1)
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)
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-Bforcearchive -shared"
+
+ dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
+ AC_DEFINE(UAM_DHX, 1)
+ AC_DEFINE(UAM_RNDNUM, 1)
+ compile_dhx=yes
+ compile_ssl=yes
+ AC_DEFINE(NO_CRYPT_H, 1)
fi
dnl ----- Solaris specific -----
AC_DEFINE(SOLARIS)
CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
need_dash_r=yes
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-G"
+
AC_MSG_RESULT([enabling Solaris kernel module build])
solaris_module=yes
fi
AC_MSG_RESULT([ * Tru64 specific configuration])
AC_DEFINE(NO_DDP)
AC_DEFINE(HAVE_64BIT_LONGS)
- AC_DEFINE(USE_MOUNT_H)
+ dnl AC_DEFINE(USE_MOUNT_H)
AC_DEFINE(USE_OLD_RQUOTA)
- AC_DEFINE(USE_UFS_QUOTA_H)
+ dnl AC_DEFINE(USE_UFS_QUOTA_H)
AC_DEFINE(TRU64)
+ AC_CHECK_LIB(security,set_auth_parameters)
CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
- LDSHAREDFLAGS="-expect_unresolved \*"
+ LDSHAREDFLAGS="-shared -expect_unresolved \*"
need_dash_r=no
sysv_style=tru64
+
+ dnl ----- Set -shared flag
+ LDSHAREDFLAGS="-shared"
fi
dnl -- look for openssl
[ --with-ssl-dir=PATH specify path to openssl installation (must contain
lib and include dirs) ],
[
- if test "x$withval" != "$xno"; then
+ if test "x$withval" != "xno"; then
tryssldir=$withval
fi
]
AC_DEFINE(OPENSSL_DHX, 1)
AC_DEFINE(UAM_DHX, 1)
-dnl AC_DEFINE(UAM_PGP, 1)
AC_DEFINE(UAM_RNDNUM, 1)
- use_pgp=no
compile_dhx=yes
+ compile_ssl=yes
AC_MSG_RESULT([Found ssl and enabling RANDNUM and DHX support "$ssldir"])
break
fi
done
+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)
+ compile_kerberos=yes
+ AC_MSG_RESULT([enabling build with Kerberos v4 UAM module])
+ fi
+)
+
dnl --------------------- last minute substitutions
AC_SUBST(LIBS)
+AC_SUBST(AFPD_LIBS)
+AC_SUBST(PAPD_LIBS)
+
AC_SUBST(CFLAGS)
AC_SUBST(LDSHAREDFLAGS)
+
+AC_SUBST(PKGCONFDIR)
+
AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
+AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
AM_CONDITIONAL(USE_DHX, test x$compile_dhx = 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_REDHAT, test x$sysv_style = xredhat)
bin/psorder/Makefile
config/Makefile
contrib/Makefile
+ contrib/macusers/Makefile
contrib/nu/Makefile
contrib/printing/Makefile
contrib/shell_utils/Makefile
distrib/config/netatalk-config
distrib/initscripts/Makefile
distrib/m4/Makefile
+ doc/Makefile
etc/Makefile
etc/afpd/Makefile
etc/afpd/nls/Makefile
etc/atalkd/Makefile
etc/uams/Makefile
+ etc/uams/uams_krb4/Makefile
etc/papd/Makefile
etc/psf/Makefile
include/Makefile
libatalk/adouble/Makefile
libatalk/asp/Makefile
libatalk/atp/Makefile
+ libatalk/cnid/Makefile
libatalk/compat/Makefile
libatalk/dsi/Makefile
libatalk/nbp/Makefile
man/man5/Makefile
man/man8/Makefile
sys/Makefile
+ sys/generic/Makefile
+ sys/generic/sys/Makefile
sys/netatalk/Makefile
+ sys/netbsd/Makefile
+ sys/netbsd/netatalk/Makefile
+ sys/solaris/Makefile
+ sys/sunos/Makefile
+ sys/ultrix/Makefile
],
[chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
)