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