X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=f94535c4cbb2282c96afceca0cb9c991e288b1cb;hb=b19bf8b3569ca2fc8199b55306482f71db14dd89;hp=97e81ecec6fba67ebb0ff83b1120c51e468beec9;hpb=25ad52a0e7741043b8b7d7d637e107afbe7e67ac;p=netatalk.git diff --git a/configure.in b/configure.in index 97e81ece..f94535c4 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.89 2001-06-19 17:03:26 srittau Exp $ +dnl $Id: configure.in,v 1.132 2001-11-25 21:48:01 srittau Exp $ dnl configure.in for netatalk AC_INIT(bin/adv1tov2/adv1tov2.c) @@ -42,8 +42,6 @@ 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 -ldb: -AC_CHECK_LIB(db, main) dnl Replace `main' with a function in -ldl: AC_CHECK_LIB(dl, main) dnl Replace `main' with a function in -lkauth: @@ -85,7 +83,7 @@ dnl Checks for header files. 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) +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" @@ -130,7 +128,7 @@ AC_FUNC_MMAP AC_TYPE_SIGNAL AC_FUNC_UTIME_NULL AC_FUNC_WAIT3 -AC_CHECK_FUNCS(flock 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 strchr memcpy) AC_FUNC_SETPGRP dnl -------------------------------------------------------------------------- @@ -140,7 +138,7 @@ 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]) @@ -148,27 +146,22 @@ AC_ARG_WITH(admin-group, ) AC_ARG_ENABLE(afs, - [ --enable-afs enable AFS support], + [ --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", - sysconfdir="${prefix}/etc" -) - AC_ARG_WITH(pkgconfdir, - [ --with-pkgconfdir=DIR package specific configuration in DIR [default=SYSCONF/netatalk]], + [ --with-pkgconfdir=DIR package specific configuration in DIR + [[SYSCONF/netatalk]]], PKGCONFDIR="$withval", PKGCONFDIR="${sysconfdir}/netatalk" ) 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, @@ -226,63 +219,109 @@ AC_ARG_ENABLE(dropkludge, 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_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]) +dnl Don't use DB3 unless it's needed +db3_required=no + +dnl Check for CNID DB support +AC_MSG_CHECKING([whether CNID support should be enabled]) +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" + AC_DEFINE(CNID_DB) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) fi - 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!])]) +fi + +dnl Determine DID scheme +AC_MSG_CHECKING([for DID scheme to use]) +AC_ARG_WITH(did, + [ --with-did=SCHEME set DID scheme (last,mtab)], + [ 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" = "xmtab"; then + AC_DEFINE(DID_MTAB, 1) + AC_MSG_RESULT([mtab-based DID creation support]) +elif test "x$did_scheme" != "xno"; then + AC_MSG_RESULT([default]) +else + AC_MSG_ERROR([unknown DID scheme]) +fi + 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="${prefix}/etc/msg" + 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_CHECK_LIB(pam, pam_start, - AC_DEFINE(USE_PAM, 1) - LIBS="$LIBS -lpam" - compile_pam=yes +AC_ARG_ENABLE(srvloc, + [ --enable-srvloc turn on Server Location Protocol support (EXPERIMENTAL)], + srvloc=$enableval, + srvloc=no ) -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 -) +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 +fi + +# 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) +]) -shadowpw=no +AC_MSG_CHECKING([whether shadow support should be enabled]) AC_ARG_WITH(shadow, [ --with-shadow enable shadow password support], - AC_MSG_RESULT([enabling shadow password support]) - AC_DEFINE(SHADOWPW) - shadowpw=yes + [shadowpw="$withval"], + [shadowpw=no] ) +if test "x$shadowpw" = "xyes"; then + AC_DEFINE(SHADOWPW) +fi +AC_MSG_RESULT([$shadowpw]) AC_ARG_ENABLE(shell-check, [ --disable-shell-check disable checking for a valid shell], @@ -292,11 +331,16 @@ AC_ARG_ENABLE(shell-check, fi ) +AC_MSG_CHECKING([whether flock locks should be enabled]) AC_ARG_WITH(flock-locks, [ --with-flock-locks enable flock locks support], - AC_MSG_RESULT([enabling flock locks]) - AC_DEFINE(USE_FLOCK_LOCKS) + [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], @@ -332,17 +376,17 @@ AC_ARG_ENABLE(cobalt, ) 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], - if test "$enableval" = "yes"; then - compile_timelord=yes - fi - AC_MSG_RESULT([enabling timelord compilation]) + [compile_timelord="$enableval"], + [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" ) @@ -368,7 +412,7 @@ dnl -------------------------------------------------------------------------- dnl post-FHS substitutions, etc dnl -------------------------------------------------------------------------- -***** UAMS_PATH +dnl ***** UAMS_PATH AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}", [path to UAMs [default=PKGCONF/uams]]) UAMS_PATH="${uams_path}" @@ -377,8 +421,12 @@ AC_SUBST(UAMS_PATH) 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: @@ -394,6 +442,7 @@ case "$host_os" in *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 ;; @@ -426,8 +475,7 @@ if test x"$this_os" = "xfreebsd"; then 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 ----- @@ -449,13 +497,11 @@ dnl ----- Linux specific ----- 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_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 @@ -492,11 +538,8 @@ if test x"$this_os" = "xmacosx"; then 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 ----- @@ -507,14 +550,8 @@ if test x"$this_os" = "xnetbsd"; then 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 @@ -524,14 +561,8 @@ if test x"$this_os" = "xopenbsd"; then 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 @@ -545,9 +576,6 @@ if test x"$this_os" = "xsolaris"; then 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 @@ -563,48 +591,12 @@ if test x"$this_os" = "xtru64"; then 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 -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 - fi - ] -) - -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 +dnl -- look for openssl +AC_PATH_SSL dnl --------------------- check for building PGP UAM module @@ -619,23 +611,42 @@ AC_ARG_ENABLE(pgp-uam, 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 --------------------- overwrite the config files . . . or not. + +AC_MSG_CHECKING([whether configuration files should be overwritten]) +AC_ARG_ENABLE(overwrite, + [ --enable-overwrite overwrite configuration files during installation], + [OVERWRITE_CONFIG="${enable_overwrite}"], + [OVERWRITE_CONFIG="no"] +) +AC_MSG_RESULT([$OVERWRITE_CONFIG]) + dnl --------------------- last minute substitutions AC_SUBST(LIBS) AC_SUBST(AFPD_LIBS) AC_SUBST(PAPD_LIBS) - AC_SUBST(CFLAGS) -AC_SUBST(LDSHAREDFLAGS) - AC_SUBST(PKGCONFDIR) +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_REDHAT, test x$sysv_style = xredhat) @@ -683,11 +694,13 @@ AC_OUTPUT([Makefile libatalk/adouble/Makefile libatalk/asp/Makefile libatalk/atp/Makefile + libatalk/cnid/Makefile libatalk/compat/Makefile libatalk/dsi/Makefile libatalk/nbp/Makefile libatalk/netddp/Makefile libatalk/util/Makefile + macros/Makefile man/Makefile man/man1/Makefile man/man3/Makefile @@ -695,7 +708,14 @@ AC_OUTPUT([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_*] )