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