1 dnl $Id: configure.in,v 1.179.2.3.2.21 2004-02-29 15:26:03 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(cobalt,
444 [ --enable-cobalt use cobalt-style sysv configuration ],
445 if test "$enableval" = "yes"; then
448 AC_MSG_RESULT([enabling cobalt-style sysv support])
451 AC_ARG_ENABLE(netbsd,
452 [ --enable-netbsd use NetBSD-style rc.d configuration ],
453 if test "x$enableval" = "xyes"; then
456 AC_MSG_RESULT([enabling NetBSD-style rc.d support])
459 dnl ----- timelord compilation (disabled by default)
460 AC_MSG_CHECKING([whether timelord should be compiled])
462 AC_ARG_ENABLE(timelord,
463 [ --enable-timelord enable compilation of timelord server],
464 [compile_timelord="$enableval"],
465 [compile_timelord="no"]
467 AC_MSG_RESULT([$compile_timelord])
469 dnl ----- a2boot compilation (disabled by default)
470 AC_MSG_CHECKING([whether a2boot should be compiled])
472 AC_ARG_ENABLE(a2boot,
473 [ --enable-a2boot enable compilation of Apple2 boot server],
474 [compile_a2boot="$enableval"],
475 [compile_a2boot="no"]
477 AC_MSG_RESULT([$compile_a2boot])
479 AC_ARG_WITH(uams-path,
480 [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],[
483 uams_path="${PKGCONFDIR}/uams"
487 dnl --------------------------------------------------------------------------
488 dnl FHS stuff has to be done last because it overrides other defaults
489 dnl --------------------------------------------------------------------------
491 AC_MSG_CHECKING([whether to use Filesystem Hierarchy Standard (FHS) compatibility])
493 [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],[
494 if test "$enableval" = "yes"; then
495 uams_path="${libdir}/netatalk"
497 PKGCONFDIR=${sysconfdir}/netatalk
498 SERVERTEXT="${PKGCONFDIR}/msg"
500 mandir="/usr/share/man"
501 AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS])
511 dnl --------------------------------------------------------------------------
512 dnl post-FHS substitutions, etc
513 dnl --------------------------------------------------------------------------
516 dnl AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
517 dnl [path to UAMs [default=PKGCONF/uams]])
518 UAMS_PATH="${uams_path}"
521 dnl --------------------------------------------------------------------------
522 dnl drop in includes for top level directory structures here...
523 dnl --------------------------------------------------------------------------
525 dnl Note: $(top_srcdir)/include should be added before all other includes
526 dnl so that includes from that directory a preferred to includes from
527 dnl /usr/include or similar places.
528 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
529 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
531 dnl --------------------------------------------------------------------------
532 dnl specific configuration comes in here:
533 dnl --------------------------------------------------------------------------
535 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
537 dnl --------------------- determine operating system from "target"
539 *aix*) this_os=aix ;;
540 *freebsd*) this_os=freebsd ;;
541 *hpux11*) this_os=hpux11 ;;
542 *irix*) this_os=irix ;;
543 *linux*) this_os=linux ;;
544 *osx*) this_os=macosx ;;
545 *darwin*) this_os=macosx ;;
546 *netbsd*) this_os=netbsd ;;
547 *openbsd*) this_os=openbsd ;;
548 *osf*) this_os=tru64 ;;
549 *solaris*) this_os=solaris ;;
553 i386|i486|i586|i686|k7) this_cpu=x86 ;;
554 alpha) this_cpu=alpha ;;
555 mips) this_cpu=mips ;;
556 powerpc|ppc) this_cpu=ppc ;;
559 dnl --------------------- operating system specific flags (port from sys/*)
561 dnl ----- AIX specific -----
562 if test x"$this_os" = "xaix"; then
563 AC_MSG_RESULT([ * AIX specific configuration])
564 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
566 dnl This is probably a lie; AIX 4.3 supports a 64-bit long
567 dnl compilation environment. It's enough to get things defined
568 dnl right in endian.h provided that long long is supported, though.
569 AC_DEFINE(HAVE_32BIT_LONGS, 1, [Define if the data type long has 32 bit])
572 dnl ----- FreeBSD specific -----
573 if test x"$this_os" = "xfreebsd"; then
574 AC_MSG_RESULT([ * FreeBSD specific configuration])
575 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
576 AC_DEFINE(SENDFILE_FLAVOR_BSD, 1, [Define if the sendfile() function uses BSD semantics])
578 dnl AC_DEFINE(NO_CRYPT_H, 1, [Define if crypt.h does not exist])
581 dnl ----- HP-UX 11 specific -----
582 if test x"$this_os" = "xhpux11"; then
583 AC_MSG_RESULT([ * HP-UX 11 specific configuration])
585 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
586 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
589 dnl ----- IRIX specific -----
590 if test x"$this_os" = "xirix"; then
591 AC_MSG_RESULT([ * IRIX specific configuration])
593 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
596 dnl ----- Linux specific -----
597 if test x"$this_os" = "xlinux"; then
598 AC_MSG_RESULT([ * Linux specific configuration])
600 dnl ----- kernel 2.6 changed struct at_addr to atalk_addr
601 AC_MSG_CHECKING([for struct atalk_addr])
602 dnl AC_COMPILE_IFELSE([
604 #include <sys/socket.h>
605 #include <asm/types.h>
606 #include <linux/atalk.h>
610 struct atalk_addr foo;
615 ac_have_atalk_addr=yes
621 if test "x$ac_have_atalk_addr" = "xyes"; then
622 AC_DEFINE(HAVE_ATALK_ADDR, 1, [set if struct at_addr is called atalk_addr])
625 dnl ----- check if we need the quotactl wrapper
626 # AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
627 # AC_CHECK_FUNC(quotactl,,
628 # AC_DEFINE(NEED_QUOTACTL_WRAPPER, 1, [Define if the quotactl wrapper is needed])
629 # AC_MSG_RESULT([enabling quotactl wrapper])
632 # For quotas on Linux XFS filesystems
633 AC_CHECK_HEADERS(linux/xqm.h linux/xfs_fs.h)
634 AC_CHECK_HEADERS(xfs/libxfs.h xfs/xqm.h xfs/xfs_fs.h)
636 AC_CHECK_HEADERS(linux/dqblk_xfs.h)
639 dnl ----- as far as I can tell, dbtob always does the wrong thing
640 dnl ----- on every single version of linux I've ever played with.
641 dnl ----- see etc/afpd/quota.c
642 AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken])
644 netatalk_cv_linux_sendfile=no
645 AC_ARG_ENABLE(sendfile,
646 [ --enable-sendfile use sendfile syscall default (no) ],[
647 if test "$enableval" = "yes"; then
648 netatalk_cv_linux_sendfile=yes
650 AC_MSG_RESULT([enabling sendfile syscall])
654 if test x"$netatalk_cv_linux_sendfile" = "xyes"; then
655 AC_CACHE_CHECK([for linux sendfile support],netatalk_cv_HAVE_SENDFILE,[
656 AC_TRY_LINK([#include <sys/sendfile.h>],
661 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
663 netatalk_cv_HAVE_SENDFILE=yes,netatalk_cv_HAVE_SENDFILE=no)])
665 # Try and cope with broken Linux sendfile....
666 AC_CACHE_CHECK([for broken linux sendfile support],netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE,[
668 #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
669 #undef _FILE_OFFSET_BITS
671 #include <sys/sendfile.h>],
676 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
678 netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=no,netatalk_cv_HAVE_BROKEN_SENDFILE=cross)])
680 if test x"$netatalk_cv_HAVE_SENDFILE" = x"yes"; then
681 AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
682 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
683 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
684 elif test x"$netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
685 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
686 AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
687 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
689 netatalk_cv_linux_sendfile=no
694 dnl ----- Linux/alpha specific -----
695 if test x"$this_cpu" = "xalpha"; then
696 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
697 AC_DEFINE(HAVE_GCC_MEMCPY_BUG, 1, [Define if memcpy is buggy])
704 dnl ----- Mac OSX specific -----
705 if test x"$this_os" = "xmacosx"; then
706 AC_MSG_RESULT([ * Mac OSX specific configuration])
707 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
708 AC_DEFINE(HAVE_BROKEN_CPP, 1, [Define if cpp is broken])
709 AC_DEFINE(HAVE_2ARG_DBTOB, 1, [Define if dbtob takes two arguments])
710 dnl AC_DEFINE(NO_DLFCN_H)
711 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
712 AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if Quota support should be disabled])
713 AC_DEFINE(MACOSX_SERVER, 1, [Define if compiling for MacOS X Server])
716 dnl ----- NetBSD specific -----
717 if test x"$this_os" = "xnetbsd"; then
718 AC_MSG_RESULT([ * NetBSD specific configuration])
719 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
720 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
721 # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
722 # If this test is true, it's not an ELF box.
723 # This REALLY should be a configure test.
724 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
726 CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
729 dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
730 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
733 dnl ----- OpenBSD specific -----
734 if test x"$this_os" = "xopenbsd"; then
735 AC_MSG_RESULT([ * OpenBSD specific configuration])
736 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
737 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
739 dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
740 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
743 dnl ----- Solaris specific -----
744 if test x"$this_os" = "xsolaris"; then
745 AC_MSG_RESULT([ * Solaris specific configuration])
746 AC_DEFINE(__svr4__, 1, [Solaris compatibility macro])
747 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
748 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
749 AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro])
750 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
755 AC_MSG_CHECKING([if we can build Solaris kernel module])
756 if test -x /usr/ccs/bin/ld; then
759 AC_MSG_RESULT([$solaris_module])
761 COMPILE_64BIT_KMODULE=no
764 COMPILE_KERNEL_GCC=no
766 if test "$solaris_module" = "yes"; then
767 dnl Solaris kernel module stuff
768 AC_MSG_CHECKING([if we have to build a 64bit kernel module])
770 # check for isainfo, if not found it has to be a 32 bit kernel (<=2.6)
771 if test -x /usr/bin/isainfo; then
772 # check for 64 bit platform
773 if isainfo -kv | grep '^64-bit'; then
774 COMPILE_64BIT_KMODULE=yes
778 AC_MSG_RESULT([$COMPILE_64BIT_KMODULE])
781 if test "${GCC}" = yes; then
782 COMPILE_KERNEL_GCC=yes
783 if test "$COMPILE_64BIT_KMODULE" = yes; then
786 #KLDFLAGS="-melf64_sparc"
792 KCFLAGS="$KCFLAGS -D_KERNEL -Wall -Wstrict-prototypes"
794 if test "$COMPILE_64BIT_KMODULE" = yes; then
795 # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ")
796 KCFLAGS="-xarch=v9 -xregs=no%appl"
802 KCFLAGS="-D_KERNEL $KCFLAGS -mno-app-regs -munaligned-doubles -fpcc-struct-return"
805 AC_CACHE_CHECK([for timeout_id_t],netatalk_cv_HAVE_TIMEOUT_ID_T,[
807 #include <sys/stream.h>
808 #include <sys/ddi.h>],
812 netatalk_cv_HAVE_TIMEOUT_ID_T=yes,netatalk_cv_HAVE_TIMEOUT_ID_T=no,netatalk_cv_HAVE_TIMEOUT_ID_T=cross)])
814 AC_DEFINE(HAVE_TIMEOUT_ID_T, test x"$netatalk_cv_HAVE_TIMEOUT_ID" = x"yes", [define for timeout_id_t])
817 AC_SUBST(COMPILE_KERNEL_GCC)
818 AC_SUBST(COMPILE_64BIT_KMODULE)
823 dnl ----- Tru64 specific -----
824 if test x"$this_os" = "xtru64"; then
825 AC_MSG_RESULT([ * Tru64 specific configuration])
826 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
827 AC_DEFINE(HAVE_64BIT_LONGS, 1, [Define if the data type long has 64 bit])
828 dnl AC_DEFINE(USE_MOUNT_H)
829 AC_DEFINE(USE_OLD_RQUOTA, 1, [Define to use old rquota])
830 dnl AC_DEFINE(USE_UFS_QUOTA_H)
831 AC_DEFINE(TRU64, 1, [Define on Tru64 platforms])
832 AC_DEFINE(_OSF_SOURCE, 1, [Define if the *passwd UAMs should be used])
833 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Define for Berkeley DB 4])
834 AC_CHECK_LIB(security,set_auth_parameters)
835 CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
840 dnl -- look for openssl
843 dnl -- check for crypt
846 dnl --------------------- check for building PGP UAM module
848 AC_MSG_CHECKING([whether the PGP UAM should be build])
849 AC_ARG_ENABLE(pgp-uam,
850 [ --enable-pgp-uam enable build of PGP UAM module],[
851 if test "$enableval" = "yes"; then
852 if test "$compile_ssl" = "yes"; then
853 AC_DEFINE(UAM_PGP, 1, [Define if the PGP UAM module should be compiled])
865 dnl --------------------- check for building Kerberos v4 UAM module
867 AC_MSG_CHECKING([whether the Kerberos IV UAM should be build])
868 AC_ARG_ENABLE(krb4-uam,
869 [ --enable-krb4-uam enable build of Kerberos v4 UAM module],[
870 if test "$enableval" = "yes"; then
871 AC_DEFINE(UAM_KRB4, 1, [Define if the Kerberos 4 UAM module should be compiled])
882 dnl --------------------- check for building Kerberos V UAM module
884 netatalk_cv_build_krb5_uam=no
885 AC_ARG_ENABLE(krbV-uam,
886 [ --enable-krbV-uam enable build of Kerberos V UAM module],
888 if test x"$enableval" = x"yes"; then
889 NETATALK_GSSAPI_CHECK([
890 netatalk_cv_build_krb5_uam=yes
892 AC_MSG_ERROR([need GSSAPI to build Kerberos V UAM])
899 AC_MSG_CHECKING([whether Kerberos V UAM should be build])
900 if test x"$netatalk_cv_build_krb5_uam" = x"yes"; then
905 AM_CONDITIONAL(USE_GSSAPI, test x"$netatalk_cv_build_krb5_uam" = x"yes")
907 dnl --------------------- overwrite the config files . . . or not.
909 AC_MSG_CHECKING([whether configuration files should be overwritten])
910 AC_ARG_ENABLE(overwrite,
911 [ --enable-overwrite overwrite configuration files during installation],
912 [OVERWRITE_CONFIG="${enable_overwrite}"],
913 [OVERWRITE_CONFIG="no"]
915 AC_MSG_RESULT([$OVERWRITE_CONFIG])
917 dnl --------------------- last minute substitutions
921 AC_SUBST(OVERWRITE_CONFIG)
923 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
924 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
925 AM_CONDITIONAL(COMPILE_A2BOOT, test x$compile_a2boot = xyes)
926 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
927 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
928 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
929 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
930 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
931 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
932 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
933 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
934 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
935 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
936 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
937 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
938 AM_CONDITIONAL(USE_SOLARIS, test x$sysv_style = xsolaris)
940 dnl --------------------- generate files
944 bin/adv1tov2/Makefile
947 bin/afppasswd/Makefile
950 bin/cnid/cnid2_create
951 bin/getzones/Makefile
952 bin/megatron/Makefile
959 contrib/macusers/Makefile
960 contrib/macusers/macusers
963 contrib/printing/Makefile
964 contrib/shell_utils/Makefile
965 contrib/shell_utils/afpd-mtab.pl
966 contrib/shell_utils/apple_cp
967 contrib/shell_utils/apple_mv
968 contrib/shell_utils/apple_rm
969 contrib/shell_utils/cleanappledouble.pl
970 contrib/shell_utils/netatalkshorternamelinks.pl
971 contrib/timelord/Makefile
972 contrib/a2boot/Makefile
974 distrib/config/Makefile
975 distrib/config/netatalk-config
976 distrib/initscripts/Makefile
982 etc/cnid_dbd/Makefile
984 etc/uams/uams_krb4/Makefile
988 include/atalk/Makefile
990 libatalk/adouble/Makefile
991 libatalk/asp/Makefile
992 libatalk/atp/Makefile
993 libatalk/cnid/Makefile
994 libatalk/cnid/db3/Makefile
995 libatalk/cnid/cdb/Makefile
996 libatalk/cnid/last/Makefile
997 libatalk/cnid/mtab/Makefile
998 libatalk/cnid/dbd/Makefile
999 libatalk/cnid/hash/Makefile
1000 libatalk/cnid/tdb/Makefile
1001 libatalk/compat/Makefile
1002 libatalk/dsi/Makefile
1003 libatalk/nbp/Makefile
1004 libatalk/netddp/Makefile
1005 libatalk/util/Makefile
1006 libatalk/tdb/Makefile
1007 libatalk/unicode/Makefile
1008 libatalk/unicode/charsets/Makefile
1017 sys/generic/Makefile
1018 sys/generic/sys/Makefile
1019 sys/netatalk/Makefile
1021 sys/netbsd/netatalk/Makefile
1022 sys/solaris/Makefile
1026 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
1029 AC_NETATALK_LIBS_SUMMARY
1030 AC_NETATALK_CONFIG_SUMMARY