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