1 dnl $Id: configure.in,v 1.179.2.3.2.24 2004-03-18 02:56:31 bfernhomberg Exp $
2 dnl configure.in for netatalk
4 AC_INIT(etc/afpd/main.c)
6 NETATALK_VERSION=`cat $srcdir/VERSION`
7 AC_SUBST(NETATALK_VERSION)
10 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
11 AM_CONFIG_HEADER(config.h)
13 dnl Checks for programs.
25 dnl *********************************************************************
26 dnl FIXME! FIXME! These should be selectable properly, and should produce
27 dnl the proper flags and defines...
28 dnl *********************************************************************
30 ############################################
31 # we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the plugin loading code
32 #AC_SEARCH_LIBS(dlopen, [dl])
33 # dlopen/dlclose/dlsym/dlerror will be checked again later and defines will be set then
35 dnl Checks for libraries.
36 dnl Replace `main' with a function in -labs:
37 dnl AC_CHECK_LIB(abs, main)
38 dnl Replace `main' with a function in -laudit:
39 dnl AC_CHECK_LIB(audit, main)
40 dnl Replace `main' with a function in -lauth:
41 dnl AC_CHECK_LIB(auth, main)
42 dnl Replace `main' with a function in -lcmd:
43 dnl AC_CHECK_LIB(cmd, main)
44 dnl Replace `main' with a function in -lcrypt:
45 dnl AC_CHECK_LIB(crypt, main)
46 dnl Replace `main' with a function in -ld:
47 dnl AC_CHECK_LIB(d, main)
48 dnl Replace `main' with a function in -ldl:
49 AC_CHECK_LIB(dl, dlopen)
50 dnl Replace `main' with a function in -lkauth:
51 dnl AC_CHECK_LIB(kauth, main)
52 dnl Replace `main' with a function in -lkrb:
53 dnl AC_CHECK_LIB(krb, main)
54 dnl Replace `main' with a function in -llwp:
55 dnl AC_CHECK_LIB(lwp, main)
56 dnl Replace `main' with a function in -ln:
57 dnl AC_CHECK_LIB(n, main)
58 dnl Replace `main' with a function in -lnsl:
59 AC_CHECK_LIB(nsl, main)
60 dnl Replace `main' with a function in -lprot:
61 dnl AC_CHECK_LIB(prot, main)
62 dnl Replace `main' with a function in -lrx:
63 dnl AC_CHECK_LIB(rx, main)
64 dnl Replace `main' with a function in -lrxkad:
65 dnl AC_CHECK_LIB(rxkad, main)
66 dnl Replace `main' with a function in -lsocket:
67 AC_CHECK_LIB(socket, socket)
68 dnl Replace `main' with a function in -lsys:
69 dnl AC_CHECK_LIB(sys, main)
70 dnl Replace `main' with a function in -lubik:
71 dnl AC_CHECK_LIB(ubik, main)
75 # Check presence of some functions
77 # Check for XPG4 access() function
78 # Be sure to test before adding AFS libs in LIBS path as AFS lib
79 # has such a function that works only on AFS filesystems.
80 AC_CHECK_FUNCS(access)
82 AC_CHECK_FUNCS(pread pwrite)
84 dnl Checks for header files.
88 AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h time.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 sys/uio.h)
89 AC_CHECK_HEADER(sys/cdefs.h,,
90 AC_MSG_RESULT([enabling generic cdefs.h from tree])
91 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
93 AC_CHECK_HEADERS(langinfo.h locale.h sys/filio.h)
95 dnl Checks for typedefs, structures, and compiler characteristics.
107 dnl Checks for library functions.
109 AC_PROG_GCC_TRADITIONAL
116 AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy)
118 AC_CHECK_FUNCS(backtrace_symbols)
119 AC_CHECK_FUNCS(setlocale nl_langinfo)
120 AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
121 AC_CHECK_FUNCS(strlcpy strlcat)
122 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
126 dnl Checks for (v)snprintf
127 NETATALK_SNPRINTF_CHECK
129 dnl --------------------------------------------------------------------------
130 dnl specific configuration comes in here:
131 dnl --------------------------------------------------------------------------
133 AC_DEFINE(ADMIN_GRP, 1, [Define if the admin group should be enabled])
135 netatalk_cv_admin_group=yes
136 AC_MSG_CHECKING([for administrative group support])
137 AC_ARG_WITH(admin-group,
138 [ --disable-admin-group disable admin group],[
139 if test "$enableval" = "no"; then
140 AC_DEFINE(ADMIN_GRP, 0, [Define if the admin group should be enabled])
144 netatalk_cv_admin_group=no
154 AC_MSG_CHECKING([for logfile path])
156 [ --with-logfile=PATH path for file used by logger [/var/log/netatalk.log]
157 use --without-logfile to disable logger],[
158 if test x"$withval" = x"no"; then
159 AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
160 AC_MSG_RESULT([syslog])
161 elif test "$withval" != "yes"; then
162 AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file])
163 AC_MSG_RESULT([$withval])
165 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
166 AC_MSG_RESULT([/var/log/netatalk.log])
168 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
169 AC_MSG_RESULT([/var/log/netatalk.log])
174 netatalk_cv_with_cracklib=no
175 AC_MSG_CHECKING([for cracklib support])
176 AC_ARG_WITH(cracklib,
177 [ --with-cracklib=DICT enable/set location of cracklib dictionary],[
178 if test "x$withval" != "xno" ; then
180 AC_CHECK_LIB(crack, main, [
181 AC_DEFINE(USE_CRACKLIB, 1, [Define if cracklib should be used])
184 if test "$cracklib" = "yes"; then
185 cracklib="/usr/lib/cracklib_dict"
187 AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
188 [path to cracklib dictionary])
189 AC_MSG_RESULT([setting cracklib dictionary to $cracklib])
190 netatalk_cv_with_cracklib=yes
192 AC_MSG_ERROR([cracklib not found!])
203 netatalk_cv_ddp_enabled=yes
204 AC_MSG_CHECKING([whether to enable DDP])
206 [ --disable-ddp disable DDP],[
207 if test "$enableval" = "no"; then
208 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
210 netatalk_cv_ddp_enabled=no
219 AC_MSG_CHECKING([whether to enable debug code])
220 AC_ARG_ENABLE(debug1,
221 [ --enable-debug1 enable debug code],[
222 if test "$enableval" != "no"; then
223 if test "$enableval" = "yes"; then
224 AC_DEFINE(DEBUG1, 1, [Define if debugging information should be included])
226 AC_DEFINE_UNQUOTED(DEBUG1, $enableval, [Define if debugging information should be included])
237 AC_MSG_CHECKING([whether to enable verbose debug code])
239 [ --enable-debug enable verbose debug code],[
240 if test "$enableval" != "no"; then
241 if test "$enableval" = "yes"; then
242 AC_DEFINE(DEBUG, 1, [Define if verbose debugging information should be included])
244 AC_DEFINE_UNQUOTED(DEBUG, $enableval, [Define if verbose debugging information should be included])
257 AC_MSG_CHECKING([whether AFP 3.x calls should be enabled])
259 [ --disable-afp3 disable AFP 3.x calls],
261 if test x"$enableval" != x"no"; then
274 if test x"$afp3" = x"yes"; then
276 AC_DEFINE(AFP3x, 1, [Define to enable AFP 3.x support])
278 if test x"$afp3set" = x"yes"; then
279 AC_MSG_ERROR([AFP 3.x support requires Large File Support.])
281 AC_MSG_WARN([AFP 3.x support requires Large File Support. AFP3.x support disabled])
289 dnl ----------- A NOTE ABOUT DROPKLUDGE
290 dnl The trouble with this fix is that if you know what the file is called, it
291 dnl can be read from the Unix side. That's okay for most academic institutions
292 dnl since the students don't have telnet access to the Mac servers. There is
293 dnl currently no one working on further development/fixes of DROPKLUDGE.
296 netatalk_cv_dropkludge=no
297 AC_MSG_CHECKING([whether to enable experimental dropbox support])
298 AC_ARG_ENABLE(dropkludge,
299 [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ],[
300 if test "$enableval" = "yes"; then
301 AC_DEFINE(DROPKLUDGE, 1, [Define if you want to use the experimental dropkludge support])
303 netatalk_cv_dropkludge=yes
312 netatalk_cv_force_uidgid=no
313 AC_MSG_CHECKING([whether to enable forcing of uid/gid per volume])
314 AC_ARG_ENABLE(force-uidgid,
315 [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ],[
316 if test "$enableval" = "yes"; then
317 AC_DEFINE(FORCE_UIDGID, 1, [Define if you want forcing of uid/gid per volume])
318 AC_MSG_RESULT([enabling forcing of uid/gid per volume])
320 netatalk_cv_force_uidgid=yes
329 dnl Check for CNID database backends
331 AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
333 dnl Check for Berkeley DB library
334 if test "x$bdb_required" = "xyes"; then
337 AC_MSG_RESULT([Make sure you have the Berkeley DB libraries AND headers installed.])
338 AC_MSG_RESULT([You can download the latest version from http://www.sleepcat.com.])
339 AC_MSG_RESULT([If you have installed BDB in a non standard location use the])
340 AC_MSG_RESULT([--with-bdb=/path/to/bdb configure option.])
341 AC_MSG_ERROR([Berkeley DB library required but not found!])
345 dnl Check for quota support
348 dnl Check for optional server location protocol support (used by MacOS X)
351 dnl Check for PAM libs
352 netatalk_cv_use_pam=no
356 netatalk_cv_use_pam=yes
357 AC_DEFINE(USE_PAM, 1, [Define to enable PAM support])
360 netatalk_cv_use_shadowpw=no
362 [ --with-shadow enable shadow password support [[auto]]],
363 [netatalk_cv_use_shadowpw="$withval"],
364 [netatalk_cv_use_shadowpw=auto]
367 if test "x$netatalk_cv_use_shadowpw" != "xno"; then
368 AC_CHECK_HEADER([shadow.h])
369 if test x"$ac_cv_header_shadow_h" = x"yes"; then
370 netatalk_cv_use_shadowpw=yes
371 AC_DEFINE(SHADOWPW, 1, [Define if shadow passwords should be used])
373 if test "x$shadowpw" = "xyes"; then
374 AC_MSG_ERROR([shadow support not available])
376 netatalk_cv_use_shadowpw=no
381 AC_MSG_CHECKING([whether shadow support should be enabled])
382 if test "x$netatalk_cv_use_shadowpw" = "xyes"; then
390 netatalk_cv_use_shellcheck=yes
391 AC_MSG_CHECKING([whether checking for a valid shell should be enabled])
392 AC_ARG_ENABLE(shell-check,
393 [ --disable-shell-check disable checking for a valid shell],[
394 if test "$enableval" = "no"; then
395 AC_DEFINE(DISABLE_SHELLCHECK, 1, [Define if shell check should be disabled])
397 netatalk_cv_use_shellcheck=no
406 NETATALK_TCP_WRAPPERS
408 AC_MSG_CHECKING([whether system (fcntl) locking should be disabled])
409 AC_ARG_ENABLE(locking,
410 [ --disable-locking disable system locking],[
411 if test "$enableval" = "no"; then
412 AC_DEFINE(DISABLE_LOCKING, 1, [Define if system (fcntl) locking should be disabled])
425 AC_ARG_ENABLE(redhat,
426 [ --enable-redhat use redhat-style sysv configuration ],[
427 if test "$enableval" = "yes"; then
430 AC_MSG_RESULT([enabling redhat-style sysv support])
435 [ --enable-suse use suse-style sysv configuration ],[
436 if test "$enableval" = "yes"; then
439 AC_MSG_RESULT([enabling suse-style sysv support])
443 AC_ARG_ENABLE(gentoo,
444 [ --enable-gentoo use gentoo-style sysv configuration ],[
445 if test "$enableval" = "yes"; then
448 AC_MSG_RESULT([enabling gentoo-style sysv support])
452 AC_ARG_ENABLE(cobalt,
453 [ --enable-cobalt use cobalt-style sysv configuration ],
454 if test "$enableval" = "yes"; then
457 AC_MSG_RESULT([enabling cobalt-style sysv support])
460 AC_ARG_ENABLE(netbsd,
461 [ --enable-netbsd use NetBSD-style rc.d configuration ],
462 if test "x$enableval" = "xyes"; then
465 AC_MSG_RESULT([enabling NetBSD-style rc.d support])
468 dnl ----- timelord compilation (disabled by default)
469 AC_MSG_CHECKING([whether timelord should be compiled])
471 AC_ARG_ENABLE(timelord,
472 [ --enable-timelord enable compilation of timelord server],
473 [compile_timelord="$enableval"],
474 [compile_timelord="no"]
476 AC_MSG_RESULT([$compile_timelord])
478 dnl ----- a2boot compilation (disabled by default)
479 AC_MSG_CHECKING([whether a2boot should be compiled])
481 AC_ARG_ENABLE(a2boot,
482 [ --enable-a2boot enable compilation of Apple2 boot server],
483 [compile_a2boot="$enableval"],
484 [compile_a2boot="no"]
486 AC_MSG_RESULT([$compile_a2boot])
488 AC_ARG_WITH(uams-path,
489 [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],[
492 uams_path="${PKGCONFDIR}/uams"
496 dnl --------------------------------------------------------------------------
497 dnl FHS stuff has to be done last because it overrides other defaults
498 dnl --------------------------------------------------------------------------
500 AC_MSG_CHECKING([whether to use Filesystem Hierarchy Standard (FHS) compatibility])
502 [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],[
503 if test "$enableval" = "yes"; then
504 uams_path="${libdir}/netatalk"
506 PKGCONFDIR=${sysconfdir}/netatalk
507 SERVERTEXT="${PKGCONFDIR}/msg"
509 mandir="/usr/share/man"
510 AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS])
520 dnl --------------------------------------------------------------------------
521 dnl post-FHS substitutions, etc
522 dnl --------------------------------------------------------------------------
525 dnl AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
526 dnl [path to UAMs [default=PKGCONF/uams]])
527 UAMS_PATH="${uams_path}"
530 dnl --------------------------------------------------------------------------
531 dnl drop in includes for top level directory structures here...
532 dnl --------------------------------------------------------------------------
534 dnl Note: $(top_srcdir)/include should be added before all other includes
535 dnl so that includes from that directory a preferred to includes from
536 dnl /usr/include or similar places.
537 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
538 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
540 dnl --------------------------------------------------------------------------
541 dnl specific configuration comes in here:
542 dnl --------------------------------------------------------------------------
544 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
546 dnl --------------------- determine operating system from "target"
548 *aix*) this_os=aix ;;
549 *freebsd*) this_os=freebsd ;;
550 *hpux11*) this_os=hpux11 ;;
551 *irix*) this_os=irix ;;
552 *linux*) this_os=linux ;;
553 *osx*) this_os=macosx ;;
554 *darwin*) this_os=macosx ;;
555 *netbsd*) this_os=netbsd ;;
556 *openbsd*) this_os=openbsd ;;
557 *osf*) this_os=tru64 ;;
558 *solaris*) this_os=solaris ;;
562 i386|i486|i586|i686|k7) this_cpu=x86 ;;
563 alpha) this_cpu=alpha ;;
564 mips) this_cpu=mips ;;
565 powerpc|ppc) this_cpu=ppc ;;
568 dnl --------------------- operating system specific flags (port from sys/*)
570 dnl ----- AIX specific -----
571 if test x"$this_os" = "xaix"; then
572 AC_MSG_RESULT([ * AIX specific configuration])
573 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
575 dnl This is probably a lie; AIX 4.3 supports a 64-bit long
576 dnl compilation environment. It's enough to get things defined
577 dnl right in endian.h provided that long long is supported, though.
578 AC_DEFINE(HAVE_32BIT_LONGS, 1, [Define if the data type long has 32 bit])
581 dnl ----- FreeBSD specific -----
582 if test x"$this_os" = "xfreebsd"; then
583 AC_MSG_RESULT([ * FreeBSD specific configuration])
584 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
585 AC_DEFINE(FREEBSD, 1, [Define if OS is FreeBSD])
586 AC_DEFINE(SENDFILE_FLAVOR_BSD, 1, [Define if the sendfile() function uses BSD semantics])
589 dnl ----- HP-UX 11 specific -----
590 if test x"$this_os" = "xhpux11"; then
591 AC_MSG_RESULT([ * HP-UX 11 specific configuration])
593 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
594 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
597 dnl ----- IRIX specific -----
598 if test x"$this_os" = "xirix"; then
599 AC_MSG_RESULT([ * IRIX specific configuration])
601 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
604 dnl ----- Linux specific -----
605 if test x"$this_os" = "xlinux"; then
606 AC_MSG_RESULT([ * Linux specific configuration])
608 dnl ----- kernel 2.6 changed struct at_addr to atalk_addr
609 AC_MSG_CHECKING([for struct atalk_addr])
610 dnl AC_COMPILE_IFELSE([
612 #include <sys/socket.h>
613 #include <asm/types.h>
614 #include <linux/atalk.h>
618 struct atalk_addr foo;
623 ac_have_atalk_addr=yes
629 if test "x$ac_have_atalk_addr" = "xyes"; then
630 AC_DEFINE(HAVE_ATALK_ADDR, 1, [set if struct at_addr is called atalk_addr])
633 dnl ----- check if we need the quotactl wrapper
634 # AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
635 # AC_CHECK_FUNC(quotactl,,
636 # AC_DEFINE(NEED_QUOTACTL_WRAPPER, 1, [Define if the quotactl wrapper is needed])
637 # AC_MSG_RESULT([enabling quotactl wrapper])
640 # For quotas on Linux XFS filesystems
641 AC_CHECK_HEADERS(linux/xqm.h linux/xfs_fs.h)
642 AC_CHECK_HEADERS(xfs/libxfs.h xfs/xqm.h xfs/xfs_fs.h)
644 AC_CHECK_HEADERS(linux/dqblk_xfs.h)
647 dnl ----- as far as I can tell, dbtob always does the wrong thing
648 dnl ----- on every single version of linux I've ever played with.
649 dnl ----- see etc/afpd/quota.c
650 AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken])
652 netatalk_cv_linux_sendfile=no
653 AC_ARG_ENABLE(sendfile,
654 [ --enable-sendfile use sendfile syscall default (no) ],[
655 if test "$enableval" = "yes"; then
656 netatalk_cv_linux_sendfile=yes
658 AC_MSG_RESULT([enabling sendfile syscall])
662 if test x"$netatalk_cv_linux_sendfile" = "xyes"; then
663 AC_CACHE_CHECK([for linux sendfile support],netatalk_cv_HAVE_SENDFILE,[
664 AC_TRY_LINK([#include <sys/sendfile.h>],
669 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
671 netatalk_cv_HAVE_SENDFILE=yes,netatalk_cv_HAVE_SENDFILE=no)])
673 # Try and cope with broken Linux sendfile....
674 AC_CACHE_CHECK([for broken linux sendfile support],netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE,[
676 #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
677 #undef _FILE_OFFSET_BITS
679 #include <sys/sendfile.h>],
684 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
686 netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=no,netatalk_cv_HAVE_BROKEN_SENDFILE=cross)])
688 if test x"$netatalk_cv_HAVE_SENDFILE" = x"yes"; then
689 AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
690 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
691 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
692 elif test x"$netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
693 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
694 AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
695 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
697 netatalk_cv_linux_sendfile=no
702 dnl ----- Linux/alpha specific -----
703 if test x"$this_cpu" = "xalpha"; then
704 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
705 AC_DEFINE(HAVE_GCC_MEMCPY_BUG, 1, [Define if memcpy is buggy])
712 dnl ----- Mac OSX specific -----
713 if test x"$this_os" = "xmacosx"; then
714 AC_MSG_RESULT([ * Mac OSX specific configuration])
715 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
716 AC_DEFINE(HAVE_BROKEN_CPP, 1, [Define if cpp is broken])
717 AC_DEFINE(HAVE_2ARG_DBTOB, 1, [Define if dbtob takes two arguments])
718 dnl AC_DEFINE(NO_DLFCN_H)
719 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
720 AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if Quota support should be disabled])
721 AC_DEFINE(MACOSX_SERVER, 1, [Define if compiling for MacOS X Server])
724 dnl ----- NetBSD specific -----
725 if test x"$this_os" = "xnetbsd"; then
726 AC_MSG_RESULT([ * NetBSD specific configuration])
727 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
728 AC_DEFINE(NETBSD, 1, [Define if OS is FreeBSD])
729 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
730 # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
731 # If this test is true, it's not an ELF box.
732 # This REALLY should be a configure test.
733 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
735 CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
738 dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
739 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
742 dnl ----- OpenBSD specific -----
743 if test x"$this_os" = "xopenbsd"; then
744 AC_MSG_RESULT([ * OpenBSD specific configuration])
745 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
746 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
748 dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
749 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
752 dnl ----- Solaris specific -----
753 if test x"$this_os" = "xsolaris"; then
754 AC_MSG_RESULT([ * Solaris specific configuration])
755 AC_DEFINE(__svr4__, 1, [Solaris compatibility macro])
756 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
757 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
758 AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro])
759 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
764 AC_MSG_CHECKING([if we can build Solaris kernel module])
765 if test -x /usr/ccs/bin/ld; then
768 AC_MSG_RESULT([$solaris_module])
770 COMPILE_64BIT_KMODULE=no
773 COMPILE_KERNEL_GCC=no
775 if test "$solaris_module" = "yes"; then
776 dnl Solaris kernel module stuff
777 AC_MSG_CHECKING([if we have to build a 64bit kernel module])
779 # check for isainfo, if not found it has to be a 32 bit kernel (<=2.6)
780 if test -x /usr/bin/isainfo; then
781 # check for 64 bit platform
782 if isainfo -kv | grep '^64-bit'; then
783 COMPILE_64BIT_KMODULE=yes
787 AC_MSG_RESULT([$COMPILE_64BIT_KMODULE])
790 if test "${GCC}" = yes; then
791 COMPILE_KERNEL_GCC=yes
792 if test "$COMPILE_64BIT_KMODULE" = yes; then
795 #KLDFLAGS="-melf64_sparc"
801 KCFLAGS="$KCFLAGS -D_KERNEL -Wall -Wstrict-prototypes"
803 if test "$COMPILE_64BIT_KMODULE" = yes; then
804 # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ")
805 KCFLAGS="-xarch=v9 -xregs=no%appl"
811 KCFLAGS="-D_KERNEL $KCFLAGS -mno-app-regs -munaligned-doubles -fpcc-struct-return"
814 AC_CACHE_CHECK([for timeout_id_t],netatalk_cv_HAVE_TIMEOUT_ID_T,[
816 #include <sys/stream.h>
817 #include <sys/ddi.h>],
821 netatalk_cv_HAVE_TIMEOUT_ID_T=yes,netatalk_cv_HAVE_TIMEOUT_ID_T=no,netatalk_cv_HAVE_TIMEOUT_ID_T=cross)])
823 AC_DEFINE(HAVE_TIMEOUT_ID_T, test x"$netatalk_cv_HAVE_TIMEOUT_ID" = x"yes", [define for timeout_id_t])
826 AC_SUBST(COMPILE_KERNEL_GCC)
827 AC_SUBST(COMPILE_64BIT_KMODULE)
832 dnl ----- Tru64 specific -----
833 if test x"$this_os" = "xtru64"; then
834 AC_MSG_RESULT([ * Tru64 specific configuration])
835 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
836 AC_DEFINE(HAVE_64BIT_LONGS, 1, [Define if the data type long has 64 bit])
837 dnl AC_DEFINE(USE_MOUNT_H)
838 AC_DEFINE(USE_OLD_RQUOTA, 1, [Define to use old rquota])
839 dnl AC_DEFINE(USE_UFS_QUOTA_H)
840 AC_DEFINE(TRU64, 1, [Define on Tru64 platforms])
841 AC_DEFINE(_OSF_SOURCE, 1, [Define if the *passwd UAMs should be used])
842 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Define for Berkeley DB 4])
843 AC_CHECK_LIB(security,set_auth_parameters)
844 CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
849 dnl -- look for openssl
852 dnl -- check for crypt
855 dnl --------------------- check for building PGP UAM module
857 AC_MSG_CHECKING([whether the PGP UAM should be build])
858 AC_ARG_ENABLE(pgp-uam,
859 [ --enable-pgp-uam enable build of PGP UAM module],[
860 if test "$enableval" = "yes"; then
861 if test "$compile_ssl" = "yes"; then
862 AC_DEFINE(UAM_PGP, 1, [Define if the PGP UAM module should be compiled])
874 dnl --------------------- check for building Kerberos v4 UAM module
876 AC_MSG_CHECKING([whether the Kerberos IV UAM should be build])
877 AC_ARG_ENABLE(krb4-uam,
878 [ --enable-krb4-uam enable build of Kerberos v4 UAM module],[
879 if test "$enableval" = "yes"; then
880 AC_DEFINE(UAM_KRB4, 1, [Define if the Kerberos 4 UAM module should be compiled])
891 dnl --------------------- check for building Kerberos V UAM module
893 netatalk_cv_build_krb5_uam=no
894 AC_ARG_ENABLE(krbV-uam,
895 [ --enable-krbV-uam enable build of Kerberos V UAM module],
897 if test x"$enableval" = x"yes"; then
898 NETATALK_GSSAPI_CHECK([
899 netatalk_cv_build_krb5_uam=yes
901 AC_MSG_ERROR([need GSSAPI to build Kerberos V UAM])
908 AC_MSG_CHECKING([whether Kerberos V UAM should be build])
909 if test x"$netatalk_cv_build_krb5_uam" = x"yes"; then
914 AM_CONDITIONAL(USE_GSSAPI, test x"$netatalk_cv_build_krb5_uam" = x"yes")
916 dnl --------------------- overwrite the config files . . . or not.
918 AC_MSG_CHECKING([whether configuration files should be overwritten])
919 AC_ARG_ENABLE(overwrite,
920 [ --enable-overwrite overwrite configuration files during installation],
921 [OVERWRITE_CONFIG="${enable_overwrite}"],
922 [OVERWRITE_CONFIG="no"]
924 AC_MSG_RESULT([$OVERWRITE_CONFIG])
926 dnl --------------------- last minute substitutions
930 AC_SUBST(OVERWRITE_CONFIG)
932 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
933 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
934 AM_CONDITIONAL(COMPILE_A2BOOT, test x$compile_a2boot = xyes)
935 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
936 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
937 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
938 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
939 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
940 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
941 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
942 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
943 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
944 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
945 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
946 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
947 AM_CONDITIONAL(USE_SOLARIS, test x$sysv_style = xsolaris)
948 AM_CONDITIONAL(USE_GENTOO, test x$sysv_style = xgentoo)
949 AM_CONDITIONAL(USE_UNDEF, test x$sysv_style = x)
951 dnl --------------------- generate files
955 bin/adv1tov2/Makefile
958 bin/afppasswd/Makefile
961 bin/cnid/cnid2_create
962 bin/getzones/Makefile
963 bin/megatron/Makefile
970 contrib/macusers/Makefile
971 contrib/macusers/macusers
974 contrib/printing/Makefile
975 contrib/shell_utils/Makefile
976 contrib/shell_utils/afpd-mtab.pl
977 contrib/shell_utils/apple_cp
978 contrib/shell_utils/apple_mv
979 contrib/shell_utils/apple_rm
980 contrib/shell_utils/cleanappledouble.pl
981 contrib/shell_utils/netatalkshorternamelinks.pl
982 contrib/timelord/Makefile
983 contrib/a2boot/Makefile
985 distrib/config/Makefile
986 distrib/config/netatalk-config
987 distrib/initscripts/Makefile
993 etc/cnid_dbd/Makefile
995 etc/uams/uams_krb4/Makefile
999 include/atalk/Makefile
1001 libatalk/adouble/Makefile
1002 libatalk/asp/Makefile
1003 libatalk/atp/Makefile
1004 libatalk/cnid/Makefile
1005 libatalk/cnid/db3/Makefile
1006 libatalk/cnid/cdb/Makefile
1007 libatalk/cnid/last/Makefile
1008 libatalk/cnid/mtab/Makefile
1009 libatalk/cnid/dbd/Makefile
1010 libatalk/cnid/hash/Makefile
1011 libatalk/cnid/tdb/Makefile
1012 libatalk/compat/Makefile
1013 libatalk/dsi/Makefile
1014 libatalk/nbp/Makefile
1015 libatalk/netddp/Makefile
1016 libatalk/util/Makefile
1017 libatalk/tdb/Makefile
1018 libatalk/unicode/Makefile
1019 libatalk/unicode/charsets/Makefile
1028 sys/generic/Makefile
1029 sys/generic/sys/Makefile
1030 sys/netatalk/Makefile
1032 sys/netbsd/netatalk/Makefile
1033 sys/solaris/Makefile
1037 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
1040 AC_NETATALK_LIBS_SUMMARY
1041 AC_NETATALK_CONFIG_SUMMARY