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