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