]> arthur.barton.de Git - netatalk.git/blobdiff - configure.in
Changes made by Michel Jouvin - jouvin@lal.in2p3.fr - 23/11/2000
[netatalk.git] / configure.in
index cbf63bcf9bc87c78f4b1d8e5dfff63a847de9d5c..b18a02a7acfa70029864f3a93b51bfeb116272f6 100644 (file)
@@ -8,6 +8,7 @@ AC_SUBST(NETATALK_VERSION)
 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)
@@ -38,14 +39,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:
@@ -75,15 +72,27 @@ 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/file.h sys/ioctl.h sys/time.h syslog.h unistd.h termios.h netdb.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],
+       [  --with-cflags           specify additional flags to pass to compiler],
        [
                if test "x$withval" != "xno" ; then
                        CFLAGS="$CFLAGS $withval"
@@ -91,7 +100,7 @@ AC_ARG_WITH(cflags,
        ]       
 )
 AC_ARG_WITH(libs,
-       [  --with-libs             Specify additional libraries to link with],
+       [  --with-libs             specify additional libraries to link with],
        [
                if test "x$withval" != "xno" ; then
                        LIBS="$LIBS $withval"
@@ -120,18 +129,22 @@ 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(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
+AC_FUNC_SETPGRP
 
 dnl --------------------------------------------------------------------------
 dnl specific configuration comes in here:
 dnl --------------------------------------------------------------------------
 
+AC_DEFINE(ADMIN_GRP, 1)
+
 AC_ARG_WITH(admin-group,
-       [  --with-admin-group=grp  enable and set administrative group],
-       admin_grp="$withval"
-       AC_DEFINE_UNQUOTED(ADMIN_GRP, "$admin_grp")
-       AC_MSG_RESULT([enabling administrative group "$admin_grp"]),
-)
+       [  --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_WITH(auth-printing-dir,
        [  --with-auth-printing-dir=path
@@ -201,11 +214,19 @@ dnl currently no one working on further development/fixes of DROPKLUDGE.
 dnl -----------
 
 AC_ARG_ENABLE(dropkludge,
-       [  --enable-dropkludge    enable the experimental dropbox fix (INSECURE!) ],
+       [  --enable-dropkludge     enable the experimental dropbox fix (INSECURE!) ],
        AC_DEFINE(DROPKLUDGE, 1)
        AC_MSG_RESULT([enabling experimental dropbox support])
 )
 
+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])
+       fi
+)
+
 msg_dir=""
 AC_ARG_WITH(message-dir,
        [  --with-msg-dir=path     path to message files [default=/etc/atalk/msg]],
@@ -219,14 +240,21 @@ AC_ARG_WITH(message-dir,
                AC_SUBST(SERVERTEXT)
 )
 
+AC_CHECK_LIB(pam, pam_start,
+       AC_DEFINE(USE_PAM, 1)
+       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],
-       AC_CHECK_LIB(pam, main,
-               AC_DEFINE(USE_PAM)
-               LIBS="$LIBS -lpam"
+       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
        )
-)
 
 AC_ARG_WITH(shadow,
        [  --with-shadow           enable shadow password support],
@@ -249,10 +277,26 @@ AC_ARG_WITH(tcp-wrappers,
        )
 )
 
+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(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])
+)
+
 AC_ARG_WITH(uams-path,
        [  --with-uams-path=path   path to UAMs [default=/etc/atalk/uams]],
        uams_path="$withval",
-       uams_path="/etc/atalk/uams"
+       uams_path="$config_dir/uams"
 )
 AC_DEFINE_UNQUOTED(UAMS_PATH, "$uams_path",
        [path to UAMs [default=/etc/atalk/uams]])
@@ -269,17 +313,20 @@ 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 "$ac_cv_target_os" in
+case "$host_os" in
        *freebsd*)                      this_os=freebsd ;;
        *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
 
-case "$ac_cv_target_cpu" in
+case "$host_cpu" in
        i386|i486|i586|i686|k7)         this_cpu=x86 ;;
        alpha)                          this_cpu=alpha ;;
        mips)                           this_cpu=mips ;;
@@ -346,12 +393,29 @@ if test x"$this_os" = "xsolaris"; then
        AC_DEFINE(_ISOC9X_SOURCE)
        AC_DEFINE(NO_STRUCT_TM_GMTOFF)
        AC_DEFINE(SOLARIS)
+       CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
        need_dash_r=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)
+       AC_DEFINE(USE_MOUNT_H)
+       AC_DEFINE(USE_OLD_RQUOTA)
+       AC_DEFINE(USE_UFS_QUOTA_H)
+       AC_DEFINE(TRU64)
+       CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
+       LDSHAREDFLAGS="-expect_unresolved \*"
+       need_dash_r=no
+       sysv_style=tru64
+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) ],
+       [  --with-ssl-dir=PATH     specify path to openssl installation (must contain
+                          lib and include dirs) ],
        [
                if test "x$withval" != "$xno"; then
                        tryssldir=$withval
@@ -359,17 +423,25 @@ AC_ARG_WITH(ssl-dir,
        ]
 )
 
-for ssldir in "" $tryssldir /usr/local/openssl /usr/lib/openssl/ /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
+for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl/ /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
        if test -f "$ssldir/include/openssl/cast.h" ; then
                LIBS="$LIBS -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
-               LIBS="$LIBS -lcrypto"
+
+               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)
+dnl            AC_DEFINE(UAM_PGP,      1)
                AC_DEFINE(UAM_RNDNUM,   1)
+               use_pgp=no
                compile_dhx=yes
                AC_MSG_RESULT([Found ssl and enabling RANDNUM and DHX support "$ssldir"])
                break
@@ -380,7 +452,14 @@ dnl --------------------- last minute substitutions
 
 AC_SUBST(LIBS)
 AC_SUBST(CFLAGS)
+AC_SUBST(LDSHAREDFLAGS)
 AM_CONDITIONAL(USE_DHX, test x$compile_dhx = xyes)
+AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
+AM_CONDITIONAL(USE_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_TRU64, test x$sysv_style = xtru64)
 
 dnl --------------------- generate files
 
@@ -405,7 +484,6 @@ AC_OUTPUT([Makefile
        distrib/config/Makefile
        distrib/config/netatalk-config
        distrib/initscripts/Makefile
-       distrib/initscripts/rc.atalk.redhat
        distrib/m4/Makefile
        etc/Makefile
        etc/afpd/Makefile
@@ -429,6 +507,7 @@ AC_OUTPUT([Makefile
        man/man1/Makefile
        man/man3/Makefile
        man/man4/Makefile
+       man/man5/Makefile
        man/man8/Makefile
        sys/Makefile
        sys/netatalk/Makefile