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