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_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:
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"
]
)
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"
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
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]],
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],
)
)
+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]])
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 ;;
- *openbsd*) this_os=openbsd ;;
+ *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 ;;
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)
+ AC_DEFINE(NO_DLFCN_H)
+ AC_DEFINE(MACOSX_SERVER)
+fi
+
dnl ----- NetBSD specific -----
if test x"$this_os" = "xnetbsd"; then
AC_MSG_RESULT([ * NetBSD specific configuration])
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
]
)
-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
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
distrib/config/Makefile
distrib/config/netatalk-config
distrib/initscripts/Makefile
- distrib/initscripts/rc.atalk.redhat
distrib/m4/Makefile
etc/Makefile
etc/afpd/Makefile
man/man1/Makefile
man/man3/Makefile
man/man4/Makefile
+ man/man5/Makefile
man/man8/Makefile
sys/Makefile
sys/netatalk/Makefile