]> arthur.barton.de Git - netatalk.git/blob - configure.in
Create a (for now) undocumented volume option, "umask" which gives us
[netatalk.git] / configure.in
1 dnl $Id: configure.in,v 1.163 2002-08-30 16:56:50 jmarcus Exp $
2 dnl configure.in for netatalk
3
4 AC_INIT(bin/adv1tov2/adv1tov2.c)
5
6 NETATALK_VERSION=`cat $srcdir/VERSION`
7 AC_SUBST(NETATALK_VERSION)
8
9 AC_CANONICAL_SYSTEM
10 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
11 AM_CONFIG_HEADER(config.h)
12
13 dnl Checks for programs.
14 AC_PROG_AWK
15 AC_PROG_CC
16 AC_PROG_INSTALL
17 AC_PROG_LN_S
18 AC_PROG_MAKE_SET
19 AC_LIBTOOL_DLOPEN
20 AM_PROG_LIBTOOL
21 AC_PROG_PERL
22 AC_PROG_GREP
23 AC_PROG_PS
24
25 dnl *********************************************************************
26 dnl FIXME! FIXME! These should be selectable properly, and should produce
27 dnl the proper flags and defines...
28 dnl *********************************************************************
29
30 dnl Checks for libraries.
31 dnl Replace `main' with a function in -labs:
32 AC_CHECK_LIB(abs, main)
33 dnl Replace `main' with a function in -laudit:
34 AC_CHECK_LIB(audit, main)
35 dnl Replace `main' with a function in -lauth:
36 AC_CHECK_LIB(auth, main)
37 dnl Replace `main' with a function in -lcmd:
38 AC_CHECK_LIB(cmd, main)
39 dnl Replace `main' with a function in -lcrypt:
40 AC_CHECK_LIB(crypt, main)
41 dnl Replace `main' with a function in -ld:
42 AC_CHECK_LIB(d, main)
43 dnl Replace `main' with a function in -ldl:
44 AC_CHECK_LIB(dl, main)
45 dnl Replace `main' with a function in -lkauth:
46 AC_CHECK_LIB(kauth, main)
47 dnl Replace `main' with a function in -lkrb:
48 AC_CHECK_LIB(krb, main)
49 dnl Replace `main' with a function in -llwp:
50 AC_CHECK_LIB(lwp, main)
51 dnl Replace `main' with a function in -ln:
52 AC_CHECK_LIB(n, main)
53 dnl Replace `main' with a function in -lnsl:
54 AC_CHECK_LIB(nsl, main)
55 dnl Replace `main' with a function in -lprot:
56 AC_CHECK_LIB(prot, main)
57 dnl Replace `main' with a function in -lrx:
58 AC_CHECK_LIB(rx, main)
59 dnl Replace `main' with a function in -lrxkad:
60 AC_CHECK_LIB(rxkad, main)
61 dnl Replace `main' with a function in -lsocket:
62 AC_CHECK_LIB(socket, main)
63 dnl Replace `main' with a function in -lsys:
64 AC_CHECK_LIB(sys, main)
65 dnl Replace `main' with a function in -lubik:
66 AC_CHECK_LIB(ubik, main)
67
68 #
69 # Check presence of some functions
70 #
71 # Check for XPG4 access() function
72 # Be sure to test before adding AFS libs in LIBS path as AFS lib
73 # has such a function that works only on AFS filesystems.
74 AC_CHECK_FUNCS(access)
75
76 dnl Checks for header files.
77 AC_HEADER_DIRENT
78 AC_HEADER_STDC
79 AC_HEADER_SYS_WAIT
80 AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.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)
81 AC_CHECK_HEADER(sys/cdefs.h,,
82         AC_MSG_RESULT([enabling generic cdefs.h from tree])
83         CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
84 )
85
86 dnl Checks for typedefs, structures, and compiler characteristics.
87 AC_C_CONST
88 AC_TYPE_UID_T
89 AC_C_INLINE
90 AC_TYPE_MODE_T
91 AC_TYPE_OFF_T
92 AC_TYPE_PID_T
93 AC_TYPE_SIZE_T
94 AC_STRUCT_ST_RDEV
95 AC_HEADER_TIME
96 AC_STRUCT_TM
97
98 dnl Checks for library functions.
99 AC_TYPE_GETGROUPS
100 AC_PROG_GCC_TRADITIONAL
101 AC_FUNC_MEMCMP
102 AC_HEADER_MAJOR
103 AC_FUNC_MMAP
104 AC_TYPE_SIGNAL
105 AC_FUNC_UTIME_NULL
106 AC_FUNC_WAIT3
107 AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp strchr memcpy)
108 AC_FUNC_SETPGRP
109
110 dnl Checks for (v)snprintf
111 NETATALK_SNPRINTF_CHECK
112
113 dnl --------------------------------------------------------------------------
114 dnl specific configuration comes in here:
115 dnl --------------------------------------------------------------------------
116
117 AC_DEFINE(ADMIN_GRP, 1)
118
119 AC_ARG_WITH(admin-group,
120         [  --disable-admin-group   disable admin group],
121         if test "$enableval" = "no"; then
122                 AC_DEFINE(ADMIN_GRP, 0)
123                 AC_MSG_RESULT([disabling administrative group support])
124         fi
125 )
126
127 NETATALK_AFS_CHECK
128
129 NETATALK_CONFIG_DIRS
130
131 AC_ARG_WITH(logfile,
132         [  --with-logfile=PATH     path for file used by logger [/var/log/netatalk.log]
133                           use --without-logfile to disable logger],
134         if test "$withval" = "no"; then
135                 AC_DEFINE(DISABLE_LOGGER, 1)
136                 AC_MSG_RESULT([logger disabled])
137         elif test "$withval" != "yes"; then
138                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval")
139                 AC_MSG_RESULT([logfile set to $withval])
140         else
141                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
142                 AC_MSG_RESULT([logfile set to default]) 
143         fi,
144                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
145                 AC_MSG_RESULT([logfile set to default])
146 )
147
148 AC_ARG_WITH(cracklib,
149         [  --with-cracklib=DICT    enable/set location of cracklib dictionary],
150         if test "x$withval" != "xno" ; then
151                 cracklib="$withval"
152                 AC_CHECK_LIB(crack, main,
153                         AC_DEFINE(USE_CRACKLIB) 
154                         LIBS="$LIBS -lcrack"
155                         AC_MSG_RESULT([enabling cracklib support])
156                         if test "$cracklib" = "yes"; then
157                                 cracklib="/usr/lib/cracklib_dict"
158                         fi
159                         AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
160                                 [path to cracklib dictionary])
161                         AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
162                         AC_MSG_ERROR([cracklib not found!])
163                 )
164         fi
165 )
166
167 AC_ARG_ENABLE(ddp,
168         [  --disable-ddp           disable DDP],
169         if test "$enableval" = "no"; then 
170                 AC_DEFINE(NO_DDP, 1)
171                 AC_MSG_RESULT([disabling DDP])
172         fi
173 )
174
175 AC_ARG_ENABLE(debug,
176         [  --enable-debug          enable debug code],
177         if test "$enableval" != "no"; then
178                 if test "$enableval" = "yes"; then
179                         AC_DEFINE(DEBUG, 1)
180                 else
181                         AC_DEFINE_UNQUOTED(DEBUG, $enableval)
182                 fi 
183                 AC_MSG_RESULT([enabling debugging code])
184         fi
185 )
186
187
188 dnl ----------- A NOTE ABOUT DROPKLUDGE
189 dnl The trouble with this fix is that if you know what the file is called, it
190 dnl can be read from the Unix side.  That's okay for most academic institutions
191 dnl since the students don't have telnet access to the Mac servers.  There is
192 dnl currently no one working on further development/fixes of DROPKLUDGE.
193 dnl -----------
194
195 AC_ARG_ENABLE(dropkludge,
196         [  --enable-dropkludge     enable the experimental dropbox fix (INSECURE!) ],
197         if test "$enableval" = "yes"; then 
198                 AC_DEFINE(DROPKLUDGE, 1)
199                 AC_MSG_RESULT([enabling experimental dropbox support])
200         fi
201 )
202
203 AC_ARG_ENABLE(force-uidgid,
204         [  --enable-force-uidgid   allow forcing of uid/gid per volume (BROKEN) ],
205         if test "$enableval" = "yes"; then
206                 AC_DEFINE(FORCE_UIDGID, 1)
207                 AC_MSG_RESULT([enabling forcing of uid/gid per volume])
208         fi
209 )
210
211 dnl Don't use DB3 unless it's needed
212 db3_required=no
213
214 dnl Determine DID scheme
215 AC_MSG_CHECKING([for DID scheme to use])
216 AC_ARG_WITH(did,
217         [  --with-did=SCHEME       set DID scheme (last,hash,mtab,cnid)],
218         [ did_scheme="$withval" ],
219         [ did_scheme="last" ]
220 )
221
222 if test "x$did_scheme" = "xlast"; then
223         AC_DEFINE(USE_LASTDID, 1)
224         AC_MSG_RESULT([last])
225 elif test "x$did_scheme" = "xhash"; then
226         AC_MSG_RESULT([device/inode-based hashing])
227 elif test "x$did_scheme" = "xmtab"; then
228         AC_DEFINE(DID_MTAB, 1)
229         AC_MSG_RESULT([mtab-based DID creation support])
230 elif test "x$did_scheme" = "xcnid"; then
231         db3_required="yes"
232         AC_DEFINE(CNID_DB, 1)
233         AC_MSG_RESULT([enabling build with CNID DB support])
234 else
235         AC_MSG_ERROR([unknown DID scheme])
236 fi
237 AM_CONDITIONAL(COMPILE_CNID, test "x$did_scheme" = "xcnid")
238
239 dnl Determine whether or not to use filename mangling
240 AC_MSG_CHECKING([whether or not to use filename mangling])
241 AC_ARG_WITH(mangling,
242         [ --with-mangling       enable filename mangling],
243         if test "$withval" = "yes"; then
244             if test "x$did_scheme" != "xcnid"; then
245                 AC_MSG_ERROR([DID scheme must be CNID to use filename mangling])
246             else
247                 AC_DEFINE(FILE_MANGLING, 1)
248                 AC_MSG_RESULT([yes])
249             fi
250         else
251             AC_MSG_RESULT([no])
252         fi
253         , AC_MSG_RESULT([no])
254 )
255
256 dnl Determine whether or not to use CDB or transactional DB store
257 AC_MSG_CHECKING([whether or not to use CNID with Concurrent Data Store])
258 AC_ARG_WITH(cdb,
259         [ --with-cdb            enable CNID with Concurrent Data Store],
260         if test "$withval" = "yes"; then
261             if test "x$did_scheme" != "xcnid"; then
262                 AC_MSG_ERROR([DID scheme must be CNID to use CDB])
263             else
264                 AC_DEFINE(CNID_DB_CDB, 1)
265                 AC_MSG_RESULT([yes])
266             fi
267         else
268             AC_MSG_RESULT([no])
269         fi
270         , AC_MSG_RESULT([no])
271 )
272
273 dnl Check for Berkeley DB3 library
274 if test "x$db3_required" = "xyes"; then
275         AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])])
276 fi
277
278 dnl Check for quota support
279 AC_CHECK_QUOTA
280
281 dnl Check for optional server location protocol support (used by MacOS X)
282 NETATALK_SRVLOC
283
284 dnl Check for PAM libs
285 AC_PATH_PAM([
286         PAPD_LIBS="$PAPD_LIBS $PAM_LIBS"
287         AFPD_LIBS="$AFPD_LIBS $PAM_LIBS"
288         use_pam_so=yes
289         compile_pam=yes
290         AC_DEFINE(USE_PAM)
291 ])
292
293 AC_MSG_CHECKING([whether shadow support should be enabled])
294 AC_ARG_WITH(shadow,
295         [  --with-shadow           enable shadow password support],
296         [shadowpw="$withval"],
297         [shadowpw=no]
298 )
299 if test "x$shadowpw" = "xyes"; then
300         AC_DEFINE(SHADOWPW)
301 fi
302 AC_MSG_RESULT([$shadowpw])
303
304 AC_ARG_ENABLE(shell-check,
305         [  --disable-shell-check   disable checking for a valid shell],
306         if test "$enableval" = "no"; then 
307                 AC_DEFINE(DISABLE_SHELLCHECK, 1)
308                 AC_MSG_RESULT([disabling valid shell check])
309         fi
310 )
311
312 AC_MSG_CHECKING([whether flock locks should be enabled])
313 AC_ARG_WITH(flock-locks,
314         [  --with-flock-locks      enable flock locks support],
315         [flock_locks="$withval"],
316         [flock_locks="no"]
317 )
318 if test "x$flock_locks" = "xyes"; then
319         AC_DEFINE(USE_FLOCK_LOCKS)
320 fi
321 AC_MSG_RESULT([$flock_locks])
322
323 AC_ARG_WITH(tcp-wrappers,
324         [  --with-tcp-wrappers     enable TCP wrappers support],
325         AC_CHECK_LIB(wrap, tcpd_warn,
326                 AC_DEFINE(TCPWRAP)
327                 AFPD_LIBS="$AFPD_LIBS -lwrap"
328                 AC_MSG_RESULT([enabling TCP wrappers support])
329         )
330 )
331
332 AC_ARG_ENABLE(redhat,
333         [  --enable-redhat         use redhat-style sysv configuration ],
334         if test "$enableval" = "yes"; then
335                 sysv_style=redhat
336         fi
337         AC_MSG_RESULT([enabling redhat-style sysv support])
338 )
339
340 AC_ARG_ENABLE(suse,
341         [  --enable-suse           use suse-style sysv configuration ],
342         if test "$enableval" = "yes"; then
343                 sysv_style=suse
344         fi
345         AC_MSG_RESULT([enabling suse-style sysv support])
346 )
347
348 AC_ARG_ENABLE(cobalt,
349         [  --enable-cobalt         use cobalt-style sysv configuration ],
350         if test "$enableval" = "yes"; then
351                 sysv_style=cobalt
352         fi
353         AC_MSG_RESULT([enabling cobalt-style sysv support])
354 )
355
356 AC_ARG_ENABLE(netbsd,
357         [  --enable-netbsd         use NetBSD-style rc.d configuration ],
358         if test "x$enableval" = "xyes"; then
359                 sysv_style=netbsd
360         fi
361         AC_MSG_RESULT([enabling NetBSD-style rc.d support])
362 )
363
364 dnl ----- timelord compilation (disabled by default)
365 AC_MSG_CHECKING([whether timelord should be compiled])
366 compile_timelord=no
367 AC_ARG_ENABLE(timelord,
368         [  --enable-timelord       enable compilation of timelord server],
369         [compile_timelord="$enableval"],
370         [compile_timelord="no"]
371 )
372 AC_MSG_RESULT([$compile_timelord])
373
374 AC_ARG_WITH(uams-path,
375         [  --with-uams-path=PATH   path to UAMs [[PKGCONF/uams]]],
376         uams_path="$withval",
377         uams_path="${PKGCONFDIR}/uams"
378 )
379
380 AC_ARG_WITH(catsearch,
381         [  --with-catsearch     enable fpCatSearch functionality (experimental)])
382         if test "$withval" = "yes"; then
383             AC_DEFINE(WITH_CATSEARCH, 1)
384         fi
385
386 dnl --------------------------------------------------------------------------
387 dnl FHS stuff has to be done last because it overrides other defaults
388 dnl --------------------------------------------------------------------------
389
390 AC_ARG_ENABLE(fhs,
391         [  --enable-fhs            use Filesystem Hierarchy Standard (FHS) compatibility],
392         if test "$enableval" = "yes"; then
393                 uams_path="/usr/lib/netatalk"
394                 sysconfdir="/etc"
395                 PKGCONFDIR=${sysconfdir}/netatalk
396                 use_pam_so=yes
397                 mandir="/usr/share/man"
398                 AC_DEFINE(FHS_COMPATIBILITY)
399         fi
400         AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
401 )
402
403 dnl --------------------------------------------------------------------------
404 dnl post-FHS substitutions, etc
405 dnl --------------------------------------------------------------------------
406
407 dnl ***** UAMS_PATH
408 AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
409         [path to UAMs [default=PKGCONF/uams]])
410 UAMS_PATH="${uams_path}"
411 AC_SUBST(UAMS_PATH)
412
413 dnl --------------------------------------------------------------------------
414 dnl drop in includes for top level directory structures here...
415 dnl --------------------------------------------------------------------------
416
417 dnl Note: $(top_srcdir)/include should be added before all other includes
418 dnl       so that includes from that directory a preferred to includes from
419 dnl       /usr/include or similar places.
420 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
421 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
422
423 dnl --------------------------------------------------------------------------
424 dnl specific configuration comes in here:
425 dnl --------------------------------------------------------------------------
426
427 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
428
429 dnl --------------------- determine operating system from "target"
430 case "$host_os" in
431         *aix*)                          this_os=aix ;;
432         *freebsd*)                      this_os=freebsd ;;
433         *hpux11*)                       this_os=hpux11 ;;
434         *irix*)                         this_os=irix ;;
435         *linux*)                        this_os=linux ;;
436         *osx*)                          this_os=macosx ;;
437         *darwin*)                       this_os=macosx ;;
438         *netbsd*)                       this_os=netbsd ;;
439         *openbsd*)                      this_os=openbsd ;;
440         *osf*)                          this_os=tru64 ;;
441         *solaris*)                      this_os=solaris ;;
442 esac
443
444 case "$host_cpu" in
445         i386|i486|i586|i686|k7)         this_cpu=x86 ;;
446         alpha)                                          this_cpu=alpha ;;
447         mips)                                           this_cpu=mips ;;
448         powerpc|ppc)                            this_cpu=ppc ;;
449 esac
450
451 dnl --------------------- operating system specific flags (port from sys/*)
452
453 dnl ----- AIX specific -----
454 if test x"$this_os" = "xaix"; then
455         AC_MSG_RESULT([ * AIX specific configuration])
456         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
457
458         dnl This is probably a lie; AIX 4.3 supports a 64-bit long
459         dnl compilation environment.  It's enough to get things defined
460         dnl right in endian.h provided that long long is supported, though.
461         AC_DEFINE(HAVE_32BIT_LONGS)
462 fi
463
464 dnl ----- FreeBSD specific -----
465 if test x"$this_os" = "xfreebsd"; then 
466         AC_MSG_RESULT([ * FreeBSD specific configuration])
467         AC_DEFINE(BSD4_4)
468         AC_DEFINE(SENDFILE_FLAVOR_BSD)
469
470         AC_DEFINE(NO_CRYPT_H, 1)
471 fi
472
473 dnl ----- HP-UX 11 specific -----
474 if test x"$this_os" = "xhpux11"; then
475         AC_MSG_RESULT([ * HP-UX 11 specific configuration])
476
477         AC_DEFINE(_ISOC9X_SOURCE)
478         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
479 fi
480
481 dnl ----- IRIX specific -----
482 if test x"$this_os" = "xirix"; then
483         AC_MSG_RESULT([ * IRIX specific configuration])
484
485         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
486 fi
487
488 dnl ----- Linux specific -----
489 if test x"$this_os" = "xlinux"; then 
490         AC_MSG_RESULT([ * Linux specific configuration])
491
492         dnl ----- check if we need the quotactl wrapper
493         AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
494         AC_CHECK_FUNC(quotactl,,
495                 AC_DEFINE(NEED_QUOTACTL_WRAPPER)
496                 AC_MSG_RESULT([enabling quotactl wrapper])
497         )
498
499         dnl ----- as far as I can tell, dbtob always does the wrong thing
500         dnl ----- on every single version of linux I've ever played with.
501         dnl ----- see etc/afpd/quota.c
502         AC_DEFINE(HAVE_BROKEN_DBTOB)
503
504         dnl --- added by Yoshinobu Ishizaki (2001.03.13) ---
505         dnl ----- check if version is newer than 2.2.x
506         changequote(<<,>>)
507         majorvers="`uname -r | sed 's/\([0-9]\)..*/\1/'`"
508         minorvers="`uname -r | sed 's/[0-9]\.\([0-9]\)\..*/\1/'`"
509         if [ $majorvers -ge 2 ]; then
510                 if [ $minorvers -ge 2 ]; then
511                         changequote([,])
512                         AC_MSG_RESULT([ * found Linux 2.2.x or higher])
513                         AC_DEFINE(SENDFILE_FLAVOR_LINUX)
514                 else
515                         AC_MSG_RESULT([ * found Linux 2.0.x ]) 
516                 fi
517         fi
518
519         dnl ----- Linux/alpha specific -----
520         if test x"$this_cpu" = "xalpha"; then 
521                 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
522                 AC_DEFINE(HAVE_GCC_MEMCPY_BUG)
523         fi
524         need_dash_r=no
525 fi
526
527 dnl ----- Mac OSX specific -----
528 if test x"$this_os" = "xmacosx"; then 
529         AC_MSG_RESULT([ * Mac OSX specific configuration])
530         AC_DEFINE(BSD4_4)
531         AC_DEFINE(HAVE_BROKEN_CPP)
532         AC_DEFINE(HAVE_2ARG_DBTOB)
533         dnl AC_DEFINE(NO_DLFCN_H)
534         AC_DEFINE(MACOSX_SERVER)
535 fi
536
537 dnl ----- NetBSD specific -----
538 if test x"$this_os" = "xnetbsd"; then 
539         AC_MSG_RESULT([ * NetBSD specific configuration])
540         AC_DEFINE(BSD4_4)
541         if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
542                 # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
543                 # If this test is true, it's not an ELF box.
544                 # This REALLY should be a configure test.
545                 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
546         fi
547         CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
548         need_dash_r=yes 
549
550         dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
551         AC_DEFINE(UAM_DHX, 1)
552         AC_DEFINE(NO_CRYPT_H, 1)
553 fi
554
555 dnl ----- OpenBSD specific -----
556 if test x"$this_os" = "xopenbsd"; then 
557         AC_MSG_RESULT([ * OpenBSD specific configuration])
558         AC_DEFINE(BSD4_4)
559         AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
560
561         dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
562         AC_DEFINE(UAM_DHX, 1)
563         AC_DEFINE(NO_CRYPT_H, 1)
564 fi
565
566 dnl ----- Solaris specific -----
567 if test x"$this_os" = "xsolaris"; then 
568         AC_MSG_RESULT([ * Solaris specific configuration])
569         AC_DEFINE(__svr4__)
570         AC_DEFINE(_ISOC9X_SOURCE)
571         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
572         AC_DEFINE(SOLARIS)
573         CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
574         need_dash_r=yes
575
576         AC_MSG_RESULT([enabling Solaris kernel module build])
577         solaris_module=yes
578 fi
579
580 dnl ----- Tru64 specific -----
581 if test x"$this_os" = "xtru64"; then 
582         AC_MSG_RESULT([ * Tru64 specific configuration])
583         AC_DEFINE(NO_DDP)
584         AC_DEFINE(HAVE_64BIT_LONGS)
585         dnl AC_DEFINE(USE_MOUNT_H)
586         AC_DEFINE(USE_OLD_RQUOTA)
587         dnl AC_DEFINE(USE_UFS_QUOTA_H)
588         AC_DEFINE(TRU64)
589         AC_CHECK_LIB(security,set_auth_parameters)
590         CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
591         need_dash_r=no
592         sysv_style=tru64
593 fi
594
595 dnl -- look for openssl
596 AC_PATH_SSL
597
598 dnl --------------------- check for building PGP UAM module
599
600 AC_ARG_ENABLE(pgp-uam,
601         [  --enable-pgp-uam        enable build of PGP UAM module],
602         if test "$enableval" = "yes"; then 
603                 if test "$compile_ssl" = "yes"; then 
604                         AC_DEFINE(UAM_PGP, 1)
605                         compile_pgp=yes
606                         AC_MSG_RESULT([enabling build with PGP UAM module])
607                 fi
608         fi
609 )
610
611 dnl --------------------- check for building Kerberos v4 UAM module
612
613 AC_ARG_ENABLE(krb4-uam,
614         [  --enable-krb4-uam       enable build of Kerberos v4 UAM module],
615         if test "$enableval" = "yes"; then
616                 AC_DEFINE(UAM_KRB4, 1)
617                 compile_kerberos=yes
618                 AC_MSG_RESULT([enabling build with Kerberos v4 UAM module])
619         fi
620 )
621 dnl --------------------- overwrite the config files . . . or not.
622
623 AC_MSG_CHECKING([whether configuration files should be overwritten])
624 AC_ARG_ENABLE(overwrite,
625         [  --enable-overwrite      overwrite configuration files during installation],
626         [OVERWRITE_CONFIG="${enable_overwrite}"],
627         [OVERWRITE_CONFIG="no"]
628 )
629 AC_MSG_RESULT([$OVERWRITE_CONFIG])
630
631 dnl --------------------- last minute substitutions
632
633 AC_SUBST(LIBS)
634 AC_SUBST(AFPD_LIBS)
635 AC_SUBST(PAPD_LIBS)
636 AC_SUBST(CFLAGS)
637 AC_SUBST(OVERWRITE_CONFIG)
638
639 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
640 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
641 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
642 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
643 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
644 AM_CONDITIONAL(USE_PAM, test x$compile_pam = xyes)
645 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
646 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
647 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
648 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
649 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
650 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
651 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
652 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
653
654 dnl --------------------- generate files
655
656 AC_OUTPUT([Makefile
657         bin/Makefile
658         bin/adv1tov2/Makefile
659         bin/aecho/Makefile
660         bin/afile/Makefile
661         bin/afppasswd/Makefile
662         bin/cnid/Makefile
663         bin/cnid/cnid_maint
664         bin/getzones/Makefile
665         bin/megatron/Makefile
666         bin/nbp/Makefile
667         bin/pap/Makefile
668         bin/psorder/Makefile
669         config/Makefile
670         contrib/Makefile
671         contrib/macusers/Makefile
672         contrib/macusers/macusers
673         contrib/nu/Makefile
674         contrib/nu/nu
675         contrib/printing/Makefile
676         contrib/shell_utils/Makefile
677         contrib/shell_utils/afpd-mtab.pl
678         contrib/shell_utils/apple_cp
679         contrib/shell_utils/apple_mv
680         contrib/shell_utils/apple_rm
681         contrib/shell_utils/cleanappledouble.pl
682         contrib/shell_utils/netatalkshorternamelinks.pl
683         contrib/timelord/Makefile
684         distrib/Makefile
685         distrib/config/Makefile
686         distrib/config/netatalk-config
687         distrib/initscripts/Makefile
688         distrib/m4/Makefile
689         doc/Makefile
690         etc/Makefile
691         etc/afpd/Makefile
692         etc/afpd/nls/Makefile
693         etc/atalkd/Makefile
694         etc/uams/Makefile
695         etc/uams/uams_krb4/Makefile
696         etc/papd/Makefile
697         etc/psf/Makefile
698         include/Makefile
699         include/atalk/Makefile
700         libatalk/Makefile
701         libatalk/adouble/Makefile
702         libatalk/asp/Makefile
703         libatalk/atp/Makefile
704         libatalk/cnid/Makefile
705         libatalk/compat/Makefile
706         libatalk/dsi/Makefile
707         libatalk/nbp/Makefile
708         libatalk/netddp/Makefile
709         libatalk/util/Makefile
710         macros/Makefile
711         man/Makefile
712         man/man1/Makefile
713         man/man3/Makefile
714         man/man4/Makefile
715         man/man5/Makefile
716         man/man8/Makefile
717         sys/Makefile
718         sys/generic/Makefile
719         sys/generic/sys/Makefile
720         sys/netatalk/Makefile
721         sys/netbsd/Makefile
722         sys/netbsd/netatalk/Makefile
723         sys/solaris/Makefile
724         sys/solaris/Makefile.kernel
725         sys/sunos/Makefile
726         sys/ultrix/Makefile
727         ],
728         [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
729 )
730