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