-dnl $Id: configure.in,v 1.110 2001-10-09 04:00:04 jmarcus Exp $
+dnl $Id: configure.in,v 1.126.2.18 2002-02-08 17:43:57 jmarcus Exp $
dnl configure.in for netatalk
AC_INIT(bin/adv1tov2/adv1tov2.c)
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
+NETATALK_PROG_PERL
+AC_PROG_GREP
+AC_PROG_PS
dnl *********************************************************************
dnl FIXME! FIXME! These should be selectable properly, and should produce
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(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_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 ufs/quota.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 Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_UID_T
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(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
-)
+NETATALK_AFS_CHECK
AC_ARG_WITH(pkgconfdir,
- [ --with-pkgconfdir=DIR package specific configuration in DIR
- [default=SYSCONF/netatalk]],
- PKGCONFDIR="$withval",
- PKGCONFDIR="${sysconfdir}/netatalk"
+ [ --with-pkgconfdir=DIR package specific configuration in DIR
+ [[SYSCONF/netatalk]]],
+ PKGCONFDIR="$withval",
+ PKGCONFDIR="${sysconfdir}/netatalk"
)
+dnl FIXME: make this an extra check
+NLSDIR="${PKGCONFDIR}/nls"
+
AC_ARG_WITH(cracklib,
- [ --with-cracklib=dict enable/set location of cracklib dictionary],
+ [ --with-cracklib=DICT enable/set location of cracklib dictionary],
if test "x$withval" != "xno" ; then
cracklib="$withval"
AC_CHECK_LIB(crack, main,
AC_DEFINE_UNQUOTED(DEBUG, $enableval)
fi
AC_MSG_RESULT([enabling debugging code])
- else
- AC_DEFINE(DEBUG, 0)
fi
)
dnl Don't use DB3 unless it's needed
db3_required=no
-dnl Check for CNID DB support
-AC_ARG_ENABLE(cnid-db,
- [ --enable-cnid-db use persistent cnid database per volume (EXPERIMENTAL) ],
- if test "x$enableval" = "xyes"; then
- dnl Now we need DB3
- db3_required="yes"
- dnl Note that we don't AC_DEFINE(CNID_DB, 1) here...
- dnl we have to check for the library first.
- dnl AC_MSG_RESULT([db3 check enabled])
- fi
-)
+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)],
+ [ did_scheme="$withval" ],
+ [ did_scheme="last" ]
+)
+
+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"
+ 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 Check for Berkeley DB3 library
-AC_ARG_WITH(db3,
- [ --with-db3=PATH specify path to Berkeley DB3 installation],
- if test "x$withval" != "xno"; then
- trydb3dir="$withval"
- fi
-)
-
-db3_found=no
-for db3dir in "" $trydb3dir /usr /usr /usr/local ; do
- if test -f "$db3dir/include/db3/db.h" ; then
- LDFLAGS="$LDFLAGS -L$db3dir/lib"
- CFLAGS="$CFLAGS -I$db3dir/include/db3"
-
- dnl If we require DB3, die if we don't have it
- if test "x$db3_required" != "xno"; then
- AC_CHECK_LIB(db, main,
- dnl AC_MSG_RESULT([enabling db3 support])
- db3_found=yes
- dnl -- also enable CNID DB when this is found
- AC_DEFINE(CNID_DB, 1)
- AC_MSG_RESULT([using persistent cnid database per volume])
- LIBS="$LIBS -ldb",
- dnl Not Found
- AC_MSG_ERROR([Berkeley DB3 library not found!])
- )
- fi
- break
- fi
-done
-
-dnl Die if the library is required, but not found
-if test "x$db3_required" != "xno"; then
- if test "x$db3_found" = "xno"; then
- dnl Not Found
- AC_MSG_ERROR([Berkeley DB3 library not found!])
- fi
+if test "x$db3_required" = "xyes"; then
+ AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])])
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
-)
+dnl Check for quota support
+AC_CHECK_QUOTA
msg_dir=""
AC_ARG_WITH(message-dir,
- [ --with-msg-dir=path path to message files [default=$ac_prefix_default/etc/msg]],
+ [ --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 [default=$ac_prefix_default/etc/msg]])
+ [path to message dir [[PKGCONF/msg]]])
SERVERTEXT="$msg_dir"
AC_SUBST(SERVERTEXT)
)
-AC_ARG_ENABLE(srvloc,
- [ --enable-srvloc Turn on Server Location Protocol support (EXPERIMENTAL)],
- srvloc=$enableval,
- srvloc=no
-)
+dnl Check for optional server location protocol support (used by MacOS X)
+NETATALK_SRVLOC
-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
- LDFLAGS="$LDFLAGS -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
-
-# Check for PAM libs
-AC_MSG_CHECKING([whether PAM support should be enabled])
-AC_ARG_WITH(pam,
- [ --with-pam Enable PAM support],
- [PAM_MSG="$withval"],
- [PAM_MSG="yes"]
-)
-AC_MSG_RESULT($PAM_MSG)
-
-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,
- [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 PAM libs
+AC_PATH_PAM([
+ PAPD_LIBS="$PAPD_LIBS $PAM_LIBS"
+ AFPD_LIBS="$AFPD_LIBS $PAM_LIBS"
+ use_pam_so=yes
+ compile_pam=yes
+ AC_DEFINE(USE_PAM)
+])
AC_MSG_CHECKING([whether shadow support should be enabled])
AC_ARG_WITH(shadow,
AC_MSG_CHECKING([whether flock locks should be enabled])
AC_ARG_WITH(flock-locks,
- [ --with-flock-locks enable flock locks support],a
+ [ --with-flock-locks enable flock locks support],
[flock_locks="$withval"],
[flock_locks="no"]
)
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_MSG_RESULT([$compile_timelord])
AC_ARG_WITH(uams-path,
- [ --with-uams-path=path path to UAMs [default=PKGCONF/uams]],
+ [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],
uams_path="$withval",
uams_path="${PKGCONFDIR}/uams"
)
sysconfdir="/etc"
PKGCONFDIR=${sysconfdir}/netatalk
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])
dnl --------------------------------------------------------------------------
dnl drop in includes for top level directory structures here...
dnl --------------------------------------------------------------------------
-LDFLAGS="$LDFLAGS -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:
*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 ;;
AC_DEFINE(BSD4_4)
AC_DEFINE(SENDFILE_FLAVOR_BSD)
- dnl ----- Set -shared flag
- LDSHAREDFLAGS="-shared"
AC_DEFINE(NO_CRYPT_H, 1)
fi
if test x"$this_os" = "xlinux"; then
AC_MSG_RESULT([ * Linux specific configuration])
- dnl ----- Set -shared flag
- LDSHAREDFLAGS="-shared"
-
dnl ----- check if we need the quotactl wrapper
AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
AC_CHECK_FUNC(quotactl,,
AC_DEFINE(HAVE_2ARG_DBTOB)
dnl AC_DEFINE(NO_DLFCN_H)
AC_DEFINE(MACOSX_SERVER)
-
- dnl ----- Set -shared flag
- LDSHAREDFLAGS="-shared"
fi
dnl ----- NetBSD specific -----
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
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
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_DEFINE(TRU64)
AC_CHECK_LIB(security,set_auth_parameters)
CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
- LDSHAREDFLAGS="-shared -expect_unresolved \*"
need_dash_r=no
sysv_style=tru64
-
- dnl ----- Set -shared flag
- LDSHAREDFLAGS="-shared"
fi
dnl -- look for openssl
-tryssl=yes
-AC_ARG_WITH(ssl-dir,
- [ --with-ssl-dir=PATH specify path to openssl installation (must contain
- lib and include dirs) ],
- [
- if test "x$withval" != "xno"; then
- tryssldir=$withval
- else
- tryssl=no
- fi
- ]
-)
-
-if test "$tryssl" = "yes"; then
- for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl/ /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl /usr/local/ssl ; do
- if test -f "$ssldir/include/openssl/cast.h" ; then
- LDFLAGS="$LDFLAGS -L$ssldir/lib -L$ssldir"
- CFLAGS="$CFLAGS -I$ssldir/include -I$ssldir/include/openssl"
- if test "$need_dash_r" = "yes"; then
- LIBS="$LIBS -R$ssldir/lib -R$ssldir"
- fi
-
- dnl Check for the crypto library:
- AC_CHECK_LIB(crypto, main)
- dnl LIBS="$LIBS -lcrypto"
- dnl Check for "DES" library (for SSLeay, not openssl):
- AC_CHECK_LIB(des, main)
-
- AC_DEFINE(OPENSSL_DHX, 1)
- AC_DEFINE(UAM_DHX, 1)
- AC_DEFINE(UAM_RNDNUM, 1)
- compile_dhx=yes
- compile_ssl=yes
- AC_MSG_RESULT([Found ssl and enabling RANDNUM and DHX support "$ssldir"])
- break
- fi
- done
-fi
+AC_PATH_SSL
dnl --------------------- check for building PGP UAM module
dnl --------------------- check for building Kerberos v4 UAM module
AC_ARG_ENABLE(krb4-uam,
- [ --enable-krb4-uam enable build of Kerberos v4 UAM module],
+ [ --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_CHECKING([whether configuration files should be overwritten])
AC_ARG_ENABLE(overwrite,
- [ --enable-overwrite Overwrite configuration files
- default=PKGCONFDIR],
+ [ --enable-overwrite overwrite configuration files during installation],
[OVERWRITE_CONFIG="${enable_overwrite}"],
[OVERWRITE_CONFIG="no"]
)
AC_SUBST(AFPD_LIBS)
AC_SUBST(PAPD_LIBS)
AC_SUBST(CFLAGS)
-AC_SUBST(LDSHAREDFLAGS)
AC_SUBST(PKGCONFDIR)
+AC_SUBST(NLSDIR)
AC_SUBST(OVERWRITE_CONFIG)
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_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)
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/netatalkshorternamelinks.pl
contrib/timelord/Makefile
distrib/Makefile
distrib/config/Makefile
libatalk/nbp/Makefile
libatalk/netddp/Makefile
libatalk/util/Makefile
+ macros/Makefile
man/Makefile
man/man1/Makefile
man/man3/Makefile
sys/netbsd/Makefile
sys/netbsd/netatalk/Makefile
sys/solaris/Makefile
+ sys/solaris/Makefile.kernel
sys/sunos/Makefile
sys/ultrix/Makefile
],