]> arthur.barton.de Git - netatalk.git/blobdiff - configure.in
CNID/DID patch from Uwe Hees (moderately tested)
[netatalk.git] / configure.in
index bd4020ff57929488fb60271fb18e1060b55e65b8..4889aa00c9943ad75b541c1eab74728e9961f47c 100644 (file)
@@ -1,3 +1,4 @@
+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)
@@ -10,7 +11,7 @@ AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
 AM_CONFIG_HEADER(config.h)
 
 dnl Reset locations to proper places
-AC_PREFIX_DEFAULT(/usr)
+AC_PREFIX_DEFAULT(/usr/local)
 
 dnl Checks for programs.
 AC_PROG_AWK
@@ -18,7 +19,8 @@ AC_PROG_CC
 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
@@ -28,8 +30,6 @@ 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 -latalk:
-dnl (internal) AC_CHECK_LIB(atalk, main)
 dnl Replace `main' with a function in -laudit:
 AC_CHECK_LIB(audit, main)
 dnl Replace `main' with a function in -lauth:
@@ -40,14 +40,10 @@ 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 -lcrypto:
-AC_CHECK_LIB(crypto, 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 -ldes:
-AC_CHECK_LIB(des, main)
 dnl Replace `main' with a function in -ldl:
 AC_CHECK_LIB(dl, main)
 dnl Replace `main' with a function in -lkauth:
@@ -77,11 +73,41 @@ 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.
+AC_CHECK_FUNCS(access)
+
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/file.h sys/ioctl.h sys/time.h syslog.h unistd.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"
+)
+
+# 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
@@ -104,73 +130,554 @@ AC_FUNC_MMAP
 AC_TYPE_SIGNAL
 AC_FUNC_UTIME_NULL
 AC_FUNC_WAIT3
-AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul)
+AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
+AC_FUNC_SETPGRP
 
 dnl --------------------------------------------------------------------------
 dnl specific configuration comes in here:
 dnl --------------------------------------------------------------------------
 
-AC_ARG_ENABLE(config-dir,
-       [  --with-config-dir=path  path to config files (default is /etc/atalk)],
-               config_dir="$withval", config_dir="/etc/atalk")
-AC_DEFINE_UNQUOTED(CONFIG_DIR, "$config_dir",
-       [path to config dir (default is /etc/atalk)])
-CONFIG_DIR="$config_dir"
-AC_SUBST(CONFIG_DIR)
+AC_DEFINE(ADMIN_GRP, 1)
+
+AC_ARG_WITH(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])
+        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
+)
+
+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],
+       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,
+       [  --disable-ddp           disable DDP],
+       if test "$enableval" = "no"; then 
+               AC_DEFINE(NO_DDP, 1)
+               AC_MSG_RESULT([disabling DDP])
+       fi
+)
+
+AC_ARG_ENABLE(debug,
+       [  --enable-debug          enable debug code],
+       if test "$enableval" != "no"; then
+               if test "$enableval" = "yes"; then
+                       AC_DEFINE(DEBUG, 1)
+               else
+                       AC_DEFINE_UNQUOTED(DEBUG, $enableval)
+               fi 
+               AC_MSG_RESULT([enabling debugging code])
+       else
+               AC_DEFINE(DEBUG, 0)
+       fi
+)
+
+
+dnl ----------- A NOTE ABOUT DROPKLUDGE
+dnl The trouble with this fix is that if you know what the file is called, it
+dnl can be read from the Unix side.  That's okay for most academic institutions
+dnl since the students don't have telnet access to the Mac servers.  There is
+dnl currently no one working on further development/fixes of DROPKLUDGE.
+dnl -----------
+
+AC_ARG_ENABLE(dropkludge,
+       [  --enable-dropkludge     enable the experimental dropbox fix (INSECURE!) ],
+       if test "$enableval" = "yes"; then 
+               AC_DEFINE(DROPKLUDGE, 1)
+               AC_MSG_RESULT([enabling experimental dropbox support])
+       fi
+)
+
+AC_ARG_ENABLE(force-uidgid,
+       [  --enable-force-uidgid   allow forcing of uid/gid per volume (BROKEN) ],
+       if test "$enableval" = "yes"; then
+               AC_DEFINE(FORCE_UIDGID, 1)
+               AC_MSG_RESULT([enabling forcing of uid/gid per volume])
+       fi
+)
+
+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
+)
 
-AC_ARG_ENABLE(cracklib,
-       [  --with-cracklib         enable cracklib checking support],
-       AC_CHECK_LIB(crack, main, AC_DEFINE(USE_CRACKLIB))
+msg_dir=""
+AC_ARG_WITH(message-dir,
+       [  --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="${PKGCONFDIR}/msg"
+               fi
+               AC_DEFINE_UNQUOTED(SERVERTEXT, "$msg_dir",
+                       [path to message dir [default=$ac_prefix_default/etc/msg]])
+               SERVERTEXT="$msg_dir"
+               AC_SUBST(SERVERTEXT)
 )
 
-AC_ARG_ENABLE(pam,
-       [  --with-pam              enable password authentication modules support],
-       AC_CHECK_LIB(pam, main, AC_DEFINE(USE_PAM))
+AC_CHECK_LIB(pam, pam_start,
+       AC_DEFINE(USE_PAM, 1)
+       LIBS="$LIBS -lpam"
+       compile_pam=yes
 )
 
+AC_ARG_WITH(pam,
+       [  --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,
        [  --with-shadow           enable shadow password support],
-       AC_MSG_RESULT([Enabling shadow password support.])
+       AC_MSG_RESULT([enabling shadow password support])
        AC_DEFINE(SHADOWPW)
+       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_MSG_RESULT([enabling flock locks])
        AC_DEFINE(USE_FLOCK_LOCKS)
 )
 
 AC_ARG_WITH(tcp-wrappers,
        [  --with-tcp-wrappers     enable TCP wrappers support],
-       AC_CHECK_LIB(wrap, main, AC_DEFINE(TCPWRAP))
+       AC_CHECK_LIB(wrap, tcpd_warn,
+               AC_DEFINE(TCPWRAP)
+               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
+               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
+               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
+               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 is /etc/atalk/uams)],
-               uams_path="$withval", uams_path="/etc/atalk/uams")
-AC_DEFINE_UNQUOTED(UAMS_PATH, "$uams_path",
-       [path to UAMs (default is /etc/atalk/uams)])
-UAMS_PATH="$uams_path"
+       [  --with-uams-path=path   path to UAMs [default=PKGCONF/uams]],
+       uams_path="$withval",
+       uams_path="${PKGCONFDIR}/uams"
+)
+
+dnl --------------------------------------------------------------------------
+dnl FHS stuff has to be done last because it overrides other defaults
+dnl --------------------------------------------------------------------------
+
+AC_ARG_ENABLE(fhs,
+       [  --enable-fhs            use Filesystem Hierarchy Standard (FHS) compatibility],
+       if test "$enableval" = "yes"; then
+               uams_path="/usr/lib/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)
+       fi
+       AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
+)
+
+dnl --------------------------------------------------------------------------
+dnl post-FHS substitutions, etc
+dnl --------------------------------------------------------------------------
+
+***** 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 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 --------------------------------------------------------------------------
 dnl specific configuration comes in here:
 dnl --------------------------------------------------------------------------
 
+dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
+
 dnl --------------------- determine operating system from "target"
-case "$target" in
-*linux*)   this_os=linux ;;
-*solaris*) this_os=solaris ;;
+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 ;;
+       *openbsd*)                      this_os=openbsd ;;
+       *osf*)                          this_os=tru64 ;;
+       *solaris*)                      this_os=solaris ;;
 esac
 
-dnl --------------------- conditional libraries, etc from "target"
+case "$host_cpu" in
+       i386|i486|i586|i686|k7)         this_cpu=x86 ;;
+       alpha)                                          this_cpu=alpha ;;
+       mips)                                           this_cpu=mips ;;
+       powerpc|ppc)                            this_cpu=ppc ;;
+esac
+
+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])
+
+       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(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(HAVE_GCC_MEMCPY_BUG)
+       fi
+       need_dash_r=no
+fi
+
+dnl ----- Mac OSX specific -----
+if test x"$this_os" = "xmacosx"; then 
+       AC_MSG_RESULT([ * Mac OSX specific configuration])
+       AC_DEFINE(BSD4_4)
+       AC_DEFINE(HAVE_BROKEN_CPP)
+       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 -----
+if test x"$this_os" = "xnetbsd"; then 
+       AC_MSG_RESULT([ * NetBSD specific configuration])
+       AC_DEFINE(BSD4_4)
+       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 List of Makefiles to generate
+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 -----
+if test x"$this_os" = "xsolaris"; then 
+       AC_MSG_RESULT([ * Solaris specific configuration])
+       AC_DEFINE(__svr4__)
+       AC_DEFINE(_ISOC9X_SOURCE)
+       AC_DEFINE(NO_STRUCT_TM_GMTOFF)
+       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
+
+dnl ----- Tru64 specific -----
+if test x"$this_os" = "xtru64"; then 
+       AC_MSG_RESULT([ * Tru64 specific configuration])
+       AC_DEFINE(NO_DDP)
+       AC_DEFINE(HAVE_64BIT_LONGS)
+       dnl AC_DEFINE(USE_MOUNT_H)
+       AC_DEFINE(USE_OLD_RQUOTA)
+       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="-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 --------------------- 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)
+AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
+AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
+AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
+
+dnl --------------------- generate files
 
 AC_OUTPUT([Makefile
        bin/Makefile
        bin/adv1tov2/Makefile
        bin/aecho/Makefile
+       bin/afile/Makefile
        bin/afppasswd/Makefile
        bin/getzones/Makefile
        bin/megatron/Makefile
@@ -178,11 +685,24 @@ AC_OUTPUT([Makefile
        bin/pap/Makefile
        bin/psorder/Makefile
        config/Makefile
+       contrib/Makefile
+       contrib/macusers/Makefile
+       contrib/nu/Makefile
+       contrib/printing/Makefile
+       contrib/shell_utils/Makefile
+       contrib/timelord/Makefile
+       distrib/Makefile
+       distrib/config/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
@@ -191,6 +711,7 @@ AC_OUTPUT([Makefile
        libatalk/adouble/Makefile
        libatalk/asp/Makefile
        libatalk/atp/Makefile
+       libatalk/cnid/Makefile
        libatalk/compat/Makefile
        libatalk/dsi/Makefile
        libatalk/nbp/Makefile
@@ -200,8 +721,18 @@ AC_OUTPUT([Makefile
        man/man1/Makefile
        man/man3/Makefile
        man/man4/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_*]
+)