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