1 dnl $Id: configure.in,v 1.205 2006-09-09 04:30:01 didg 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 dnl 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)
59 dnl not the right stuff but should be enough for now
60 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
61 AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
63 dnl Replace `main' with a function in -lprot:
64 dnl AC_CHECK_LIB(prot, main)
65 dnl Replace `main' with a function in -lrx:
66 dnl AC_CHECK_LIB(rx, main)
67 dnl Replace `main' with a function in -lrxkad:
68 dnl AC_CHECK_LIB(rxkad, main)
69 dnl Replace `main' with a function in -lsys:
70 dnl AC_CHECK_LIB(sys, main)
71 dnl Replace `main' with a function in -lubik:
72 dnl AC_CHECK_LIB(ubik, main)
76 # Check presence of some functions
78 # Check for XPG4 access() function
79 # Be sure to test before adding AFS libs in LIBS path as AFS lib
80 # has such a function that works only on AFS filesystems.
81 AC_CHECK_FUNCS(access)
83 AC_CHECK_FUNCS(pread pwrite)
85 dnl Checks for header files.
89 AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h time.h sys/param.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 statfs.h sys/types.h dlfcn.h errno.h sys/errno.h sys/uio.h)
90 AC_CHECK_HEADER(sys/cdefs.h,,
91 AC_MSG_RESULT([enabling generic cdefs.h from tree])
92 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
94 AC_CHECK_HEADERS([sys/mount.h], , ,
95 [#ifdef HAVE_SYS_PARAM_H
96 #include <sys/param.h>
100 AC_CHECK_HEADERS(langinfo.h locale.h sys/filio.h)
102 dnl Checks for typedefs, structures, and compiler characteristics.
114 dnl --------------------------------------------------------------------------
115 dnl check if dlsym needs to add an underscore, uses libtool macros
116 dnl --------------------------------------------------------------------------
118 AC_CHECK_FUNCS(dlopen dlsym dlclose)
120 if test x"$libltdl_cv_need_uscore" = xyes; then
121 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
125 dnl Checks for library functions.
127 AC_PROG_GCC_TRADITIONAL
134 AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul strchr memcpy)
135 AC_CHECK_FUNCS(backtrace_symbols)
136 AC_CHECK_FUNCS(setlocale nl_langinfo)
137 AC_CHECK_FUNCS(waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
138 AC_CHECK_FUNCS(strlcpy strlcat)
139 AC_CHECK_FUNCS(setlinebuf)
140 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
143 dnl Checks for (v)snprintf
144 NETATALK_SNPRINTF_CHECK
146 dnl --------------------------------------------------------------------------
147 dnl 64bit platform check
148 dnl --------------------------------------------------------------------------
150 AC_MSG_CHECKING([whether to check for 64bit libraries])
151 dnl Determine libdir name
154 # Test if the compiler is 64bit
155 echo 'int i;' > conftest.$ac_ext
156 atalk_cv_cc_64bit_output=no
157 if AC_TRY_EVAL(ac_compile); then
158 case `/usr/bin/file conftest.$ac_objext` in
160 atalk_cv_cc_64bit_output=yes
169 dnl FIXME: Do we need something like this for Solaris 64bit?
172 case $host_cpu:$atalk_cv_cc_64bit_output in
173 powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
174 atalk_libname="lib64"
183 dnl --------------------------------------------------------------------------
184 dnl specific configuration comes in here:
185 dnl --------------------------------------------------------------------------
188 netatalk_cv_admin_group=yes
189 AC_MSG_CHECKING([for administrative group support])
190 AC_ARG_ENABLE(admin-group,
191 [ --disable-admin-group disable admin group],[
192 if test x"$enableval" = x"no"; then
193 AC_DEFINE(ADMIN_GRP, 0, [Define if the admin group should be enabled])
194 netatalk_cv_admin_group=no
197 AC_DEFINE(ADMIN_GRP, 1, [Define if the admin group should be enabled])
200 AC_DEFINE(ADMIN_GRP, 1, [Define if the admin group should be enabled])
209 AC_MSG_CHECKING([whether to use logfile])
211 [ --with-logfile=PATH path for file used by logger],[
212 if test x"$withval" = x"no"; then
213 AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
214 AC_MSG_RESULT([no, syslog])
215 elif test "$withval" != "yes"; then
216 AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file])
217 AC_MSG_RESULT([$withval])
219 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
220 AC_MSG_RESULT([/var/log/netatalk.log])
222 AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
223 AC_MSG_RESULT([no, syslog])
228 netatalk_cv_with_cracklib=no
229 AC_ARG_WITH(cracklib,
230 [ --with-cracklib=DICT enable/set location of cracklib dictionary],[
231 if test "x$withval" != "xno" ; then
233 AC_CHECK_LIB(crack, main, [
234 AC_DEFINE(USE_CRACKLIB, 1, [Define if cracklib should be used])
236 if test "$cracklib" = "yes"; then
237 cracklib="/usr/$atalk_libname/cracklib_dict"
239 AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
240 [path to cracklib dictionary])
241 AC_MSG_RESULT([setting cracklib dictionary to $cracklib])
242 netatalk_cv_with_cracklib=yes
244 AC_MSG_ERROR([cracklib not found!])
250 AC_MSG_CHECKING([for cracklib support])
251 AC_MSG_RESULT([$netatalk_cv_with_cracklib])
253 netatalk_cv_ddp_enabled=yes
254 AC_MSG_CHECKING([whether to enable DDP])
256 [ --disable-ddp disable DDP],[
257 if test "$enableval" = "no"; then
258 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
260 netatalk_cv_ddp_enabled=no
269 AC_MSG_CHECKING([whether to enable debug code])
270 AC_ARG_ENABLE(debug1,
271 [ --enable-debug1 enable debug code],[
272 if test "$enableval" != "no"; then
273 if test "$enableval" = "yes"; then
274 AC_DEFINE(DEBUG1, 1, [Define if debugging information should be included])
276 AC_DEFINE_UNQUOTED(DEBUG1, $enableval, [Define if debugging information should be included])
287 AC_MSG_CHECKING([whether to enable verbose debug code])
289 [ --enable-debug enable verbose debug code],[
290 if test "$enableval" != "no"; then
291 if test "$enableval" = "yes"; then
292 AC_DEFINE(DEBUG, 1, [Define if verbose debugging information should be included])
294 AC_DEFINE_UNQUOTED(DEBUG, $enableval, [Define if verbose debugging information should be included])
307 AC_MSG_CHECKING([whether AFP 3.x calls should be enabled])
309 [ --disable-afp3 disable AFP 3.x calls],
311 if test x"$enableval" != x"no"; then
324 if test x"$afp3" = x"yes"; then
326 AC_DEFINE(AFP3x, 1, [Define to enable AFP 3.x support])
328 if test x"$afp3set" = x"yes"; then
329 AC_MSG_ERROR([AFP 3.x support requires Large File Support.])
331 AC_MSG_WARN([AFP 3.x support requires Large File Support. AFP3.x support disabled])
339 dnl ----------- A NOTE ABOUT DROPKLUDGE
340 dnl The trouble with this fix is that if you know what the file is called, it
341 dnl can be read from the Unix side. That's okay for most academic institutions
342 dnl since the students don't have telnet access to the Mac servers. There is
343 dnl currently no one working on further development/fixes of DROPKLUDGE.
346 netatalk_cv_dropkludge=no
347 AC_MSG_CHECKING([whether to enable experimental dropbox support])
348 AC_ARG_ENABLE(dropkludge,
349 [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ],[
350 if test "$enableval" = "yes"; then
351 AC_DEFINE(DROPKLUDGE, 1, [Define if you want to use the experimental dropkludge support])
353 netatalk_cv_dropkludge=yes
362 netatalk_cv_force_uidgid=no
363 AC_MSG_CHECKING([whether to enable forcing of uid/gid per volume])
364 AC_ARG_ENABLE(force-uidgid,
365 [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ],[
366 if test "$enableval" = "yes"; then
367 AC_DEFINE(FORCE_UIDGID, 1, [Define if you want forcing of uid/gid per volume])
368 AC_MSG_RESULT([enabling forcing of uid/gid per volume])
370 netatalk_cv_force_uidgid=yes
379 dnl Check for CNID database backends
381 AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
383 dnl Check for Berkeley DB library
384 if test "x$bdb_required" = "xyes"; then
387 AC_MSG_RESULT([Make sure you have the required Berkeley DB libraries AND headers installed.])
388 AC_MSG_RESULT([You can download the latest version from http://www.sleepycat.com.])
389 AC_MSG_RESULT([If you have installed BDB in a non standard location use the])
390 AC_MSG_RESULT([--with-bdb=/path/to/bdb configure option and make sure])
391 AC_MSG_RESULT([your linker is configured to check for libraries there.])
392 AC_MSG_ERROR([Berkeley DB library required but not found!])
396 dnl Check for quota support
399 dnl Check for optional server location protocol support (used by MacOS X)
402 dnl Check for PAM libs
403 netatalk_cv_use_pam=no
407 netatalk_cv_use_pam=yes
408 AC_DEFINE(USE_PAM, 1, [Define to enable PAM support])
411 netatalk_cv_use_shadowpw=no
413 [ --with-shadow enable shadow password support [[auto]]],
414 [netatalk_cv_use_shadowpw="$withval"],
415 [netatalk_cv_use_shadowpw=auto]
418 if test "x$netatalk_cv_use_shadowpw" != "xno"; then
419 AC_CHECK_HEADER([shadow.h])
420 if test x"$ac_cv_header_shadow_h" = x"yes"; then
421 netatalk_cv_use_shadowpw=yes
422 AC_DEFINE(SHADOWPW, 1, [Define if shadow passwords should be used])
424 if test "x$shadowpw" = "xyes"; then
425 AC_MSG_ERROR([shadow support not available])
427 netatalk_cv_use_shadowpw=no
432 AC_MSG_CHECKING([whether shadow support should be enabled])
433 if test "x$netatalk_cv_use_shadowpw" = "xyes"; then
441 netatalk_cv_use_shellcheck=yes
442 AC_MSG_CHECKING([whether checking for a valid shell should be enabled])
443 AC_ARG_ENABLE(shell-check,
444 [ --disable-shell-check disable checking for a valid shell],[
445 if test "$enableval" = "no"; then
446 AC_DEFINE(DISABLE_SHELLCHECK, 1, [Define if shell check should be disabled])
448 netatalk_cv_use_shellcheck=no
457 NETATALK_TCP_WRAPPERS
459 AC_MSG_CHECKING([whether system (fcntl) locking should be disabled])
460 AC_ARG_ENABLE(locking,
461 [ --disable-locking disable system locking],[
462 if test "$enableval" = "no"; then
463 AC_DEFINE(DISABLE_LOCKING, 1, [Define if system (fcntl) locking should be disabled])
476 AC_ARG_ENABLE(redhat,
477 [ --enable-redhat use redhat-style sysv configuration ],[
478 if test "$enableval" = "yes"; then
481 AC_MSG_RESULT([enabling redhat-style sysv support])
486 [ --enable-suse use suse-style sysv configuration ],[
487 if test "$enableval" = "yes"; then
490 AC_MSG_RESULT([enabling suse-style sysv support])
494 AC_ARG_ENABLE(gentoo,
495 [ --enable-gentoo use gentoo-style sysv configuration ],[
496 if test "$enableval" = "yes"; then
499 AC_MSG_RESULT([enabling gentoo-style sysv support])
503 AC_ARG_ENABLE(cobalt,
504 [ --enable-cobalt use cobalt-style sysv configuration ],
505 if test "$enableval" = "yes"; then
508 AC_MSG_RESULT([enabling cobalt-style sysv support])
511 AC_ARG_ENABLE(netbsd,
512 [ --enable-netbsd use NetBSD-style rc.d configuration ],
513 if test "x$enableval" = "xyes"; then
516 AC_MSG_RESULT([enabling NetBSD-style rc.d support])
519 AC_ARG_ENABLE(debian,
520 [ --enable-debian use debian-style sysv configuration ],[
521 if test "$enableval" = "yes"; then
524 AC_MSG_RESULT([enabling debian-style sysv support])
528 dnl ----- timelord compilation (disabled by default)
529 AC_MSG_CHECKING([whether timelord should be compiled])
531 AC_ARG_ENABLE(timelord,
532 [ --enable-timelord enable compilation of timelord server],
533 [compile_timelord="$enableval"],
534 [compile_timelord="no"]
536 AC_MSG_RESULT([$compile_timelord])
538 dnl ----- a2boot compilation (disabled by default)
539 AC_MSG_CHECKING([whether a2boot should be compiled])
541 AC_ARG_ENABLE(a2boot,
542 [ --enable-a2boot enable compilation of Apple2 boot server],
543 [compile_a2boot="$enableval"],
544 [compile_a2boot="no"]
546 AC_MSG_RESULT([$compile_a2boot])
548 AC_ARG_WITH(uams-path,
549 [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],[
552 uams_path="${PKGCONFDIR}/uams"
558 dnl check if we can use attribute unused (gcc only) from ethereal
559 AC_MSG_CHECKING(to see if we can add '__attribute__((unused))' to CFLAGS)
560 if test x$GCC != x ; then
561 CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
564 CFLAGS="-D_U_=\"\" $CFLAGS"
568 dnl --------------------------------------------------------------------------
569 dnl FHS stuff has to be done last because it overrides other defaults
570 dnl --------------------------------------------------------------------------
572 AC_MSG_CHECKING([whether to use Filesystem Hierarchy Standard (FHS) compatibility])
574 [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],[
575 if test "$enableval" = "yes"; then
576 uams_path="${libdir}/netatalk"
578 PKGCONFDIR=${sysconfdir}/netatalk
579 SERVERTEXT="${PKGCONFDIR}/msg"
581 mandir="/usr/share/man"
582 AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS])
592 dnl --------------------------------------------------------------------------
593 dnl post-FHS substitutions, etc
594 dnl --------------------------------------------------------------------------
597 dnl AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
598 dnl [path to UAMs [default=PKGCONF/uams]])
599 UAMS_PATH="${uams_path}"
602 dnl --------------------------------------------------------------------------
603 dnl drop in includes for top level directory structures here...
604 dnl --------------------------------------------------------------------------
606 dnl Note: $(top_srcdir)/include should be added before all other includes
607 dnl so that includes from that directory a preferred to includes from
608 dnl /usr/include or similar places.
609 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
610 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
612 dnl --------------------------------------------------------------------------
613 dnl specific configuration comes in here:
614 dnl --------------------------------------------------------------------------
616 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
618 dnl --------------------- determine operating system from "target"
620 *aix*) this_os=aix ;;
621 *freebsd*) this_os=freebsd ;;
622 *hpux11*) this_os=hpux11 ;;
623 *irix*) this_os=irix ;;
624 *linux*) this_os=linux ;;
625 *osx*) this_os=macosx ;;
626 *darwin*) this_os=macosx ;;
627 *netbsd*) this_os=netbsd ;;
628 *openbsd*) this_os=openbsd ;;
629 *osf*) this_os=tru64 ;;
630 *solaris*) this_os=solaris ;;
634 i386|i486|i586|i686|k7) this_cpu=x86 ;;
635 alpha) this_cpu=alpha ;;
636 mips) this_cpu=mips ;;
637 powerpc|ppc) this_cpu=ppc ;;
640 dnl --------------------- operating system specific flags (port from sys/*)
642 dnl ----- AIX specific -----
643 if test x"$this_os" = "xaix"; then
644 AC_MSG_RESULT([ * AIX specific configuration])
645 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
647 dnl This is probably a lie; AIX 4.3 supports a 64-bit long
648 dnl compilation environment. It's enough to get things defined
649 dnl right in endian.h provided that long long is supported, though.
650 AC_DEFINE(HAVE_32BIT_LONGS, 1, [Define if the data type long has 32 bit])
653 dnl ----- FreeBSD specific -----
654 if test x"$this_os" = "xfreebsd"; then
655 AC_MSG_RESULT([ * FreeBSD specific configuration])
656 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
657 AC_DEFINE(FREEBSD, 1, [Define if OS is FreeBSD])
658 AC_DEFINE(SENDFILE_FLAVOR_BSD, 1, [Define if the sendfile() function uses BSD semantics])
661 dnl ----- HP-UX 11 specific -----
662 if test x"$this_os" = "xhpux11"; then
663 AC_MSG_RESULT([ * HP-UX 11 specific configuration])
665 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
666 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
669 dnl ----- IRIX specific -----
670 if test x"$this_os" = "xirix"; then
671 AC_MSG_RESULT([ * IRIX specific configuration])
673 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
676 dnl ----- Linux specific -----
677 if test x"$this_os" = "xlinux"; then
678 AC_MSG_RESULT([ * Linux specific configuration])
680 dnl ----- kernel 2.6 changed struct at_addr to atalk_addr
681 AC_MSG_CHECKING([for struct atalk_addr])
682 dnl AC_COMPILE_IFELSE([
684 #include <sys/socket.h>
685 #include <asm/types.h>
686 #include <linux/atalk.h>
688 struct atalk_addr foo;
691 ac_have_atalk_addr=yes
697 if test "x$ac_have_atalk_addr" = "xyes"; then
698 AC_DEFINE(HAVE_ATALK_ADDR, 1, [set if struct at_addr is called atalk_addr])
701 dnl ----- check if we need the quotactl wrapper
702 # AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
703 # AC_CHECK_FUNC(quotactl,,
704 # AC_DEFINE(NEED_QUOTACTL_WRAPPER, 1, [Define if the quotactl wrapper is needed])
705 # AC_MSG_RESULT([enabling quotactl wrapper])
708 # For quotas on Linux XFS filesystems
711 AC_CHECK_HEADERS(linux/dqblk_xfs.h,,
712 [AC_CHECK_HEADERS(linux/xqm.h linux/xfs_fs.h)
713 AC_CHECK_HEADERS(xfs/libxfs.h xfs/xqm.h xfs/xfs_fs.h)]
717 dnl ----- as far as I can tell, dbtob always does the wrong thing
718 dnl ----- on every single version of linux I've ever played with.
719 dnl ----- see etc/afpd/quota.c
720 AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken])
722 netatalk_cv_linux_sendfile=no
723 dnl disable this for now, code doesn't use sendfile anyway
724 dnl AC_ARG_ENABLE(sendfile,
725 dnl [ --enable-sendfile use sendfile syscall default (no) ],[
726 dnl if test "$enableval" = "yes"; then
727 dnl netatalk_cv_linux_sendfile=yes
729 dnl AC_MSG_RESULT([enabling sendfile syscall])
733 if test x"$netatalk_cv_linux_sendfile" = "xyes"; then
734 AC_CACHE_CHECK([for linux sendfile support],netatalk_cv_HAVE_SENDFILE,[
735 AC_TRY_LINK([#include <sys/sendfile.h>],
740 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
742 netatalk_cv_HAVE_SENDFILE=yes,netatalk_cv_HAVE_SENDFILE=no)])
744 # Try and cope with broken Linux sendfile....
745 AC_CACHE_CHECK([for broken linux sendfile support],netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE,[
747 #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
748 #undef _FILE_OFFSET_BITS
750 #include <sys/sendfile.h>],
755 ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
757 netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=no,netatalk_cv_HAVE_BROKEN_SENDFILE=cross)])
759 if test x"$netatalk_cv_HAVE_SENDFILE" = x"yes"; then
760 AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
761 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
762 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
763 elif test x"$netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
764 AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
765 AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
766 AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
768 netatalk_cv_linux_sendfile=no
773 dnl ----- Linux/alpha specific -----
774 if test x"$this_cpu" = "xalpha"; then
775 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
776 AC_DEFINE(HAVE_GCC_MEMCPY_BUG, 1, [Define if memcpy is buggy])
783 dnl ----- Mac OSX specific -----
784 if test x"$this_os" = "xmacosx"; then
785 AC_MSG_RESULT([ * Mac OSX specific configuration])
786 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
787 AC_DEFINE(HAVE_2ARG_DBTOB, 1, [Define if dbtob takes two arguments])
788 dnl AC_DEFINE(NO_DLFCN_H)
789 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
790 AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if Quota support should be disabled])
791 AC_DEFINE(MACOSX_SERVER, 1, [Define if compiling for MacOS X Server])
794 dnl ----- NetBSD specific -----
795 if test x"$this_os" = "xnetbsd"; then
796 AC_MSG_RESULT([ * NetBSD specific configuration])
797 AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
798 AC_DEFINE(NETBSD, 1, [Define if OS is FreeBSD])
799 CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
802 dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
803 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
806 dnl ----- OpenBSD specific -----
807 if test x"$this_os" = "xopenbsd"; then
808 AC_MSG_RESULT([ * OpenBSD specific configuration])
809 dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
810 AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
813 dnl ----- Solaris specific -----
814 if test x"$this_os" = "xsolaris"; then
815 AC_MSG_RESULT([ * Solaris specific configuration])
816 AC_DEFINE(__svr4__, 1, [Solaris compatibility macro])
817 AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
818 AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
819 AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro])
820 CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
825 AC_MSG_CHECKING([if we can build Solaris kernel module])
826 if test -x /usr/ccs/bin/ld; then
829 AC_MSG_RESULT([$solaris_module])
831 COMPILE_64BIT_KMODULE=no
834 COMPILE_KERNEL_GCC=no
836 if test "$solaris_module" = "yes"; then
837 dnl Solaris kernel module stuff
838 AC_MSG_CHECKING([if we have to build a 64bit kernel module])
840 # check for isainfo, if not found it has to be a 32 bit kernel (<=2.6)
841 if test -x /usr/bin/isainfo; then
842 # check for 64 bit platform
843 if isainfo -kv | grep '^64-bit'; then
844 COMPILE_64BIT_KMODULE=yes
848 AC_MSG_RESULT([$COMPILE_64BIT_KMODULE])
850 if test "${GCC}" = yes; then
851 COMPILE_KERNEL_GCC=yes
852 if test "$COMPILE_64BIT_KMODULE" = yes; then
854 AC_MSG_CHECKING([if we can build a 64bit kernel module])
856 case `$CC --version 2>/dev/null` in
858 COMPILE_64BIT_KMODULE=no
859 COMPILE_KERNEL_GCC=no
864 #KLDFLAGS="-melf64_sparc"
868 AC_MSG_RESULT([$COMPILE_64BIT_KMODULE])
874 KCFLAGS="$KCFLAGS -D_KERNEL -Wall -Wstrict-prototypes"
876 if test "$COMPILE_64BIT_KMODULE" = yes; then
877 # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ")
878 KCFLAGS="-xarch=v9 -xregs=no%appl"
884 KCFLAGS="-D_KERNEL $KCFLAGS -mno-app-regs -munaligned-doubles -fpcc-struct-return"
887 AC_CACHE_CHECK([for timeout_id_t],netatalk_cv_HAVE_TIMEOUT_ID_T,[
889 #include <sys/stream.h>
890 #include <sys/ddi.h>],
894 netatalk_cv_HAVE_TIMEOUT_ID_T=yes,netatalk_cv_HAVE_TIMEOUT_ID_T=no,netatalk_cv_HAVE_TIMEOUT_ID_T=cross)])
896 AC_DEFINE(HAVE_TIMEOUT_ID_T, test x"$netatalk_cv_HAVE_TIMEOUT_ID" = x"yes", [define for timeout_id_t])
899 AC_SUBST(COMPILE_KERNEL_GCC)
900 AC_SUBST(COMPILE_64BIT_KMODULE)
905 dnl ----- Tru64 specific -----
906 if test x"$this_os" = "xtru64"; then
907 AC_MSG_RESULT([ * Tru64 specific configuration])
908 AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
909 AC_DEFINE(HAVE_64BIT_LONGS, 1, [Define if the data type long has 64 bit])
910 dnl AC_DEFINE(USE_MOUNT_H)
911 AC_DEFINE(USE_OLD_RQUOTA, 1, [Define to use old rquota])
912 dnl AC_DEFINE(USE_UFS_QUOTA_H)
913 AC_DEFINE(TRU64, 1, [Define on Tru64 platforms])
914 AC_DEFINE(_OSF_SOURCE, 1, [Define if the *passwd UAMs should be used])
915 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Define for Berkeley DB 4])
916 AC_CHECK_LIB(security,set_auth_parameters)
917 CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
922 dnl -- look for openssl
925 dnl -- check for crypt
928 dnl --------------------- check for building PGP UAM module
930 AC_MSG_CHECKING([whether the PGP UAM should be build])
931 AC_ARG_ENABLE(pgp-uam,
932 [ --enable-pgp-uam enable build of PGP UAM module],[
933 if test "$enableval" = "yes"; then
934 if test "$compile_ssl" = "yes"; then
935 AC_DEFINE(UAM_PGP, 1, [Define if the PGP UAM module should be compiled])
947 dnl --------------------- check for building Kerberos v4 UAM module
949 AC_MSG_CHECKING([whether the Kerberos IV UAM should be build])
950 AC_ARG_ENABLE(krb4-uam,
951 [ --enable-krb4-uam enable build of Kerberos v4 UAM module],[
952 if test "$enableval" = "yes"; then
953 AC_DEFINE(UAM_KRB4, 1, [Define if the Kerberos 4 UAM module should be compiled])
964 dnl --------------------- check for building Kerberos V UAM module
966 netatalk_cv_build_krb5_uam=no
967 AC_ARG_ENABLE(krbV-uam,
968 [ --enable-krbV-uam enable build of Kerberos V UAM module],
970 if test x"$enableval" = x"yes"; then
971 NETATALK_GSSAPI_CHECK([
972 netatalk_cv_build_krb5_uam=yes
974 AC_MSG_ERROR([need GSSAPI to build Kerberos V UAM])
981 AC_MSG_CHECKING([whether Kerberos V UAM should be build])
982 if test x"$netatalk_cv_build_krb5_uam" = x"yes"; then
987 AM_CONDITIONAL(USE_GSSAPI, test x"$netatalk_cv_build_krb5_uam" = x"yes")
989 dnl --------------------- overwrite the config files . . . or not.
991 AC_MSG_CHECKING([whether configuration files should be overwritten])
992 AC_ARG_ENABLE(overwrite,
993 [ --enable-overwrite overwrite configuration files during installation],
994 [OVERWRITE_CONFIG="${enable_overwrite}"],
995 [OVERWRITE_CONFIG="no"]
997 AC_MSG_RESULT([$OVERWRITE_CONFIG])
999 dnl --------------------- last minute substitutions
1003 AC_SUBST(OVERWRITE_CONFIG)
1005 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
1006 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
1007 AM_CONDITIONAL(COMPILE_A2BOOT, test x$compile_a2boot = xyes)
1008 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
1009 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
1010 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
1011 AM_CONDITIONAL(USE_PAM, test x$netatalk_cv_install_pam = xyes)
1012 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
1013 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
1014 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
1015 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
1016 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
1017 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
1018 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
1019 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
1020 AM_CONDITIONAL(USE_SOLARIS, test x$sysv_style = xsolaris)
1021 AM_CONDITIONAL(USE_GENTOO, test x$sysv_style = xgentoo)
1022 AM_CONDITIONAL(USE_DEBIAN, test x$sysv_style = xdebian)
1023 AM_CONDITIONAL(USE_UNDEF, test x$sysv_style = x)
1025 dnl --------------------- generate files
1029 bin/adv1tov2/Makefile
1032 bin/afppasswd/Makefile
1035 bin/cnid/cnid2_create
1036 bin/getzones/Makefile
1037 bin/megatron/Makefile
1040 bin/psorder/Makefile
1041 bin/uniconv/Makefile
1044 contrib/macusers/Makefile
1045 contrib/macusers/macusers
1048 contrib/printing/Makefile
1049 contrib/shell_utils/Makefile
1050 contrib/shell_utils/afpd-mtab.pl
1051 contrib/shell_utils/apple_cp
1052 contrib/shell_utils/apple_mv
1053 contrib/shell_utils/apple_rm
1054 contrib/shell_utils/asip-status.pl
1055 contrib/shell_utils/cleanappledouble.pl
1056 contrib/timelord/Makefile
1057 contrib/a2boot/Makefile
1059 distrib/config/Makefile
1060 distrib/config/netatalk-config
1061 distrib/initscripts/Makefile
1067 etc/cnid_dbd/Makefile
1069 etc/uams/uams_krb4/Makefile
1073 include/atalk/Makefile
1075 libatalk/adouble/Makefile
1076 libatalk/asp/Makefile
1077 libatalk/atp/Makefile
1078 libatalk/cnid/Makefile
1079 libatalk/cnid/db3/Makefile
1080 libatalk/cnid/cdb/Makefile
1081 libatalk/cnid/last/Makefile
1082 libatalk/cnid/mtab/Makefile
1083 libatalk/cnid/dbd/Makefile
1084 libatalk/cnid/hash/Makefile
1085 libatalk/cnid/tdb/Makefile
1086 libatalk/compat/Makefile
1087 libatalk/dsi/Makefile
1088 libatalk/nbp/Makefile
1089 libatalk/netddp/Makefile
1090 libatalk/util/Makefile
1091 libatalk/tdb/Makefile
1092 libatalk/unicode/Makefile
1093 libatalk/unicode/charsets/Makefile
1102 sys/generic/Makefile
1103 sys/generic/sys/Makefile
1104 sys/netatalk/Makefile
1106 sys/netbsd/netatalk/Makefile
1107 sys/solaris/Makefile
1111 [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
1114 AC_NETATALK_LIBS_SUMMARY
1115 AC_NETATALK_CONFIG_SUMMARY