]> arthur.barton.de Git - netatalk.git/blob - configure.in
Make CDB the default CNID data store. This is being done in the hopes that
[netatalk.git] / configure.in
1 dnl $Id: configure.in,v 1.170 2002-10-16 16:55:55 jmarcus Exp $
2 dnl configure.in for netatalk
3
4 AC_INIT(bin/adv1tov2/adv1tov2.c)
5
6 NETATALK_VERSION=`cat $srcdir/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 Checks for programs.
14 AC_PROG_AWK
15 AC_PROG_CC
16 AC_PROG_INSTALL
17 AC_PROG_LN_S
18 AC_PROG_MAKE_SET
19 AC_LIBTOOL_DLOPEN
20 AM_PROG_LIBTOOL
21 AC_PROG_PERL
22 AC_PROG_GREP
23 AC_PROG_PS
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 -lcrypt:
40 AC_CHECK_LIB(crypt, main)
41 dnl Replace `main' with a function in -ld:
42 AC_CHECK_LIB(d, main)
43 dnl Replace `main' with a function in -ldl:
44 AC_CHECK_LIB(dl, main)
45 dnl Replace `main' with a function in -lkauth:
46 AC_CHECK_LIB(kauth, main)
47 dnl Replace `main' with a function in -lkrb:
48 AC_CHECK_LIB(krb, main)
49 dnl Replace `main' with a function in -llwp:
50 AC_CHECK_LIB(lwp, main)
51 dnl Replace `main' with a function in -ln:
52 AC_CHECK_LIB(n, main)
53 dnl Replace `main' with a function in -lnsl:
54 AC_CHECK_LIB(nsl, main)
55 dnl Replace `main' with a function in -lprot:
56 AC_CHECK_LIB(prot, main)
57 dnl Replace `main' with a function in -lrx:
58 AC_CHECK_LIB(rx, main)
59 dnl Replace `main' with a function in -lrxkad:
60 AC_CHECK_LIB(rxkad, main)
61 dnl Replace `main' with a function in -lsocket:
62 AC_CHECK_LIB(socket, main)
63 dnl Replace `main' with a function in -lsys:
64 AC_CHECK_LIB(sys, main)
65 dnl Replace `main' with a function in -lubik:
66 AC_CHECK_LIB(ubik, main)
67
68 #
69 # Check presence of some functions
70 #
71 # Check for XPG4 access() function
72 # Be sure to test before adding AFS libs in LIBS path as AFS lib
73 # has such a function that works only on AFS filesystems.
74 AC_CHECK_FUNCS(access)
75
76 AC_CHECK_FUNCS(pread pwrite)
77
78 dnl Checks for header files.
79 AC_HEADER_DIRENT
80 AC_HEADER_STDC
81 AC_HEADER_SYS_WAIT
82 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)
83 AC_CHECK_HEADER(sys/cdefs.h,,
84         AC_MSG_RESULT([enabling generic cdefs.h from tree])
85         CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
86 )
87
88 dnl Checks for typedefs, structures, and compiler characteristics.
89 AC_C_CONST
90 AC_TYPE_UID_T
91 AC_C_INLINE
92 AC_TYPE_MODE_T
93 AC_TYPE_OFF_T
94 AC_TYPE_PID_T
95 AC_TYPE_SIZE_T
96 AC_STRUCT_ST_RDEV
97 AC_HEADER_TIME
98 AC_STRUCT_TM
99
100 dnl Checks for library functions.
101 AC_TYPE_GETGROUPS
102 AC_PROG_GCC_TRADITIONAL
103 AC_FUNC_MEMCMP
104 AC_HEADER_MAJOR
105 AC_FUNC_MMAP
106 AC_TYPE_SIGNAL
107 AC_FUNC_UTIME_NULL
108 AC_FUNC_WAIT3
109 AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy)
110 AC_FUNC_SETPGRP
111
112 dnl Checks for (v)snprintf
113 NETATALK_SNPRINTF_CHECK
114
115 dnl --------------------------------------------------------------------------
116 dnl specific configuration comes in here:
117 dnl --------------------------------------------------------------------------
118
119 AC_DEFINE(ADMIN_GRP, 1)
120
121 AC_ARG_WITH(admin-group,
122         [  --disable-admin-group   disable admin group],
123         if test "$enableval" = "no"; then
124                 AC_DEFINE(ADMIN_GRP, 0)
125                 AC_MSG_RESULT([disabling administrative group support])
126         fi
127 )
128
129 NETATALK_AFS_CHECK
130
131 NETATALK_CONFIG_DIRS
132
133 AC_ARG_WITH(logfile,
134         [  --with-logfile=PATH     path for file used by logger [/var/log/netatalk.log]
135                           use --without-logfile to disable logger],
136         if test "$withval" = "no"; then
137                 AC_DEFINE(DISABLE_LOGGER, 1)
138                 AC_MSG_RESULT([logger disabled])
139         elif test "$withval" != "yes"; then
140                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval")
141                 AC_MSG_RESULT([logfile set to $withval])
142         else
143                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
144                 AC_MSG_RESULT([logfile set to default]) 
145         fi,
146                 AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
147                 AC_MSG_RESULT([logfile set to default])
148 )
149
150 AC_ARG_WITH(cracklib,
151         [  --with-cracklib=DICT    enable/set location of cracklib dictionary],
152         if test "x$withval" != "xno" ; then
153                 cracklib="$withval"
154                 AC_CHECK_LIB(crack, main,
155                         AC_DEFINE(USE_CRACKLIB) 
156                         LIBS="$LIBS -lcrack"
157                         AC_MSG_RESULT([enabling cracklib support])
158                         if test "$cracklib" = "yes"; then
159                                 cracklib="/usr/lib/cracklib_dict"
160                         fi
161                         AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
162                                 [path to cracklib dictionary])
163                         AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
164                         AC_MSG_ERROR([cracklib not found!])
165                 )
166         fi
167 )
168
169 AC_ARG_ENABLE(ddp,
170         [  --disable-ddp           disable DDP],
171         if test "$enableval" = "no"; then 
172                 AC_DEFINE(NO_DDP, 1)
173                 AC_MSG_RESULT([disabling DDP])
174         fi
175 )
176
177 AC_ARG_ENABLE(debug,
178         [  --enable-debug          enable debug code],
179         if test "$enableval" != "no"; then
180                 if test "$enableval" = "yes"; then
181                         AC_DEFINE(DEBUG, 1)
182                 else
183                         AC_DEFINE_UNQUOTED(DEBUG, $enableval)
184                 fi 
185                 AC_MSG_RESULT([enabling debugging code])
186         fi
187 )
188
189 afp3=no
190 AC_ARG_ENABLE(afp3,
191         [  --enable-afp3          enable AFP 3.x calls],
192         if test "$enableval" = "yes"; then
193                 afp3=yes
194                 AC_DEFINE(AFP3x, 1)
195                 AC_MSG_RESULT([enabling AFP 3.x calls])
196         fi
197 )
198
199 if test "$afp3" = "yes"; then
200         AC_SYS_LARGEFILE
201 fi
202
203
204 dnl ----------- A NOTE ABOUT DROPKLUDGE
205 dnl The trouble with this fix is that if you know what the file is called, it
206 dnl can be read from the Unix side.  That's okay for most academic institutions
207 dnl since the students don't have telnet access to the Mac servers.  There is
208 dnl currently no one working on further development/fixes of DROPKLUDGE.
209 dnl -----------
210
211 AC_ARG_ENABLE(dropkludge,
212         [  --enable-dropkludge     enable the experimental dropbox fix (INSECURE!) ],
213         if test "$enableval" = "yes"; then 
214                 AC_DEFINE(DROPKLUDGE, 1)
215                 AC_MSG_RESULT([enabling experimental dropbox support])
216         fi
217 )
218
219 AC_ARG_ENABLE(force-uidgid,
220         [  --enable-force-uidgid   allow forcing of uid/gid per volume (BROKEN) ],
221         if test "$enableval" = "yes"; then
222                 AC_DEFINE(FORCE_UIDGID, 1)
223                 AC_MSG_RESULT([enabling forcing of uid/gid per volume])
224         fi
225 )
226
227 dnl Don't use DB3 unless it's needed
228 db3_required=no
229
230 dnl Determine DID scheme
231 AC_MSG_CHECKING([for DID scheme to use])
232 AC_ARG_WITH(did,
233         [  --with-did=SCHEME       set DID scheme (cnid,last)],
234         [ did_scheme="$withval" ],
235         [ did_scheme="cnid" ]
236 )
237
238 if test "x$did_scheme" = "xlast"; then
239         AC_DEFINE(USE_LASTDID, 1)
240         AC_MSG_RESULT([last])
241 elif test "x$did_scheme" = "xcnid"; then
242         db3_required="yes"
243         AC_DEFINE(CNID_DB, 1)
244         AC_MSG_RESULT([enabling build with CNID DB support])
245 else
246         AC_MSG_ERROR([unknown DID scheme])
247 fi
248 AM_CONDITIONAL(COMPILE_CNID, test "x$did_scheme" = "xcnid")
249
250 dnl Determine whether or not to use filename mangling
251 AC_MSG_CHECKING([whether or not to use filename mangling])
252 AC_ARG_WITH(mangling,
253         [  --with-mangling         enable filename mangling],
254         if test "$withval" = "yes"; then
255             if test "x$did_scheme" != "xcnid"; then
256                 AC_MSG_ERROR([DID scheme must be CNID to use filename mangling])
257             else
258                 AC_DEFINE(FILE_MANGLING, 1)
259                 AC_MSG_RESULT([yes])
260             fi
261         else
262             AC_MSG_RESULT([no])
263         fi
264         , AC_MSG_RESULT([no])
265 )
266
267 if test "$did_scheme" = "cnid"; then
268     USE_CDB="yes"
269 else
270     USE_CDB="no"
271 fi
272
273 dnl Determine whether or not to use CDB or transactional DB store
274 AC_MSG_CHECKING([whether or not to use CNID with Concurrent Data Store])
275 AC_ARG_WITH(cdb,
276         [ --with-cdb            enable CNID with Concurrent Data Store],
277         if test "$withval" = "no"; then
278             if test "x$did_scheme" != "xcnid"; then
279                 USE_CDB="no"
280                 AC_MSG_ERROR([DID scheme must be CNID to use CDB])
281             else
282                 USE_CDB="no"
283                 AC_MSG_RESULT([no])
284             fi
285         else
286             USE_CDB="yes"
287             AC_MSG_RESULT([yes])
288         fi
289         , AC_MSG_RESULT([yes])
290 )
291
292 if test "$USE_CDB" = "yes"; then
293     AC_DEFINE(CNID_DB_CDB, 1)
294 fi
295
296 dnl Check for Berkeley DB3 library
297 if test "x$db3_required" = "xyes"; then
298         AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])])
299 fi
300
301 dnl Check for quota support
302 AC_CHECK_QUOTA
303
304 dnl Check for optional server location protocol support (used by MacOS X)
305 NETATALK_SRVLOC
306
307 dnl Check for PAM libs
308 AC_PATH_PAM([
309         PAPD_LIBS="$PAPD_LIBS $PAM_LIBS"
310         AFPD_LIBS="$AFPD_LIBS $PAM_LIBS"
311         use_pam_so=yes
312         compile_pam=yes
313         AC_DEFINE(USE_PAM)
314 ])
315
316 AC_MSG_CHECKING([whether shadow support should be enabled])
317 AC_ARG_WITH(shadow,
318         [  --with-shadow           enable shadow password support],
319         [shadowpw="$withval"],
320         [shadowpw=no]
321 )
322 if test "x$shadowpw" = "xyes"; then
323         AC_DEFINE(SHADOWPW)
324 fi
325 AC_MSG_RESULT([$shadowpw])
326
327 AC_ARG_ENABLE(shell-check,
328         [  --disable-shell-check   disable checking for a valid shell],
329         if test "$enableval" = "no"; then 
330                 AC_DEFINE(DISABLE_SHELLCHECK, 1)
331                 AC_MSG_RESULT([disabling valid shell check])
332         fi
333 )
334
335 AC_MSG_CHECKING([whether flock locks should be enabled])
336 AC_ARG_WITH(flock-locks,
337         [  --with-flock-locks      enable flock locks support],
338         [flock_locks="$withval"],
339         [flock_locks="no"]
340 )
341 if test "x$flock_locks" = "xyes"; then
342         AC_DEFINE(USE_FLOCK_LOCKS)
343 fi
344 AC_MSG_RESULT([$flock_locks])
345
346 AC_ARG_WITH(tcp-wrappers,
347         [  --with-tcp-wrappers     enable TCP wrappers support],
348         AC_CHECK_LIB(wrap, tcpd_warn,
349                 AC_DEFINE(TCPWRAP)
350                 AFPD_LIBS="$AFPD_LIBS -lwrap"
351                 AC_MSG_RESULT([enabling TCP wrappers support])
352         )
353 )
354
355 AC_ARG_ENABLE(redhat,
356         [  --enable-redhat         use redhat-style sysv configuration ],
357         if test "$enableval" = "yes"; then
358                 sysv_style=redhat
359         fi
360         AC_MSG_RESULT([enabling redhat-style sysv support])
361 )
362
363 AC_ARG_ENABLE(suse,
364         [  --enable-suse           use suse-style sysv configuration ],
365         if test "$enableval" = "yes"; then
366                 sysv_style=suse
367         fi
368         AC_MSG_RESULT([enabling suse-style sysv support])
369 )
370
371 AC_ARG_ENABLE(cobalt,
372         [  --enable-cobalt         use cobalt-style sysv configuration ],
373         if test "$enableval" = "yes"; then
374                 sysv_style=cobalt
375         fi
376         AC_MSG_RESULT([enabling cobalt-style sysv support])
377 )
378
379 AC_ARG_ENABLE(netbsd,
380         [  --enable-netbsd         use NetBSD-style rc.d configuration ],
381         if test "x$enableval" = "xyes"; then
382                 sysv_style=netbsd
383         fi
384         AC_MSG_RESULT([enabling NetBSD-style rc.d support])
385 )
386
387 dnl ----- timelord compilation (disabled by default)
388 AC_MSG_CHECKING([whether timelord should be compiled])
389 compile_timelord=no
390 AC_ARG_ENABLE(timelord,
391         [  --enable-timelord       enable compilation of timelord server],
392         [compile_timelord="$enableval"],
393         [compile_timelord="no"]
394 )
395 AC_MSG_RESULT([$compile_timelord])
396
397 AC_ARG_WITH(uams-path,
398         [  --with-uams-path=PATH   path to UAMs [[PKGCONF/uams]]],
399         uams_path="$withval",
400         uams_path="${PKGCONFDIR}/uams"
401 )
402
403 AC_ARG_WITH(catsearch,
404         [  --with-catsearch     enable fpCatSearch functionality (experimental)],
405         if test "$withval" = "yes"; then
406             AC_DEFINE(WITH_CATSEARCH, 1)
407         fi
408 )
409
410 dnl --------------------------------------------------------------------------
411 dnl FHS stuff has to be done last because it overrides other defaults
412 dnl --------------------------------------------------------------------------
413
414 AC_ARG_ENABLE(fhs,
415         [  --enable-fhs            use Filesystem Hierarchy Standard (FHS) compatibility],
416         if test "$enableval" = "yes"; then
417                 uams_path="/usr/lib/netatalk"
418                 sysconfdir="/etc"
419                 PKGCONFDIR=${sysconfdir}/netatalk
420                 use_pam_so=yes
421                 mandir="/usr/share/man"
422                 AC_DEFINE(FHS_COMPATIBILITY)
423         fi
424         AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
425 )
426
427 dnl --------------------------------------------------------------------------
428 dnl post-FHS substitutions, etc
429 dnl --------------------------------------------------------------------------
430
431 dnl ***** UAMS_PATH
432 AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
433         [path to UAMs [default=PKGCONF/uams]])
434 UAMS_PATH="${uams_path}"
435 AC_SUBST(UAMS_PATH)
436
437 dnl --------------------------------------------------------------------------
438 dnl drop in includes for top level directory structures here...
439 dnl --------------------------------------------------------------------------
440
441 dnl Note: $(top_srcdir)/include should be added before all other includes
442 dnl       so that includes from that directory a preferred to includes from
443 dnl       /usr/include or similar places.
444 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
445 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
446
447 dnl --------------------------------------------------------------------------
448 dnl specific configuration comes in here:
449 dnl --------------------------------------------------------------------------
450
451 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
452
453 dnl --------------------- determine operating system from "target"
454 case "$host_os" in
455         *aix*)                          this_os=aix ;;
456         *freebsd*)                      this_os=freebsd ;;
457         *hpux11*)                       this_os=hpux11 ;;
458         *irix*)                         this_os=irix ;;
459         *linux*)                        this_os=linux ;;
460         *osx*)                          this_os=macosx ;;
461         *darwin*)                       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         if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
566                 # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
567                 # If this test is true, it's not an ELF box.
568                 # This REALLY should be a configure test.
569                 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
570         fi
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(OVERWRITE_CONFIG)
662
663 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
664 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
665 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
666 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
667 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
668 AM_CONDITIONAL(USE_PAM, test x$compile_pam = xyes)
669 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
670 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
671 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
672 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
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/cnid/Makefile
687         bin/cnid/cnid_maint
688         bin/getzones/Makefile
689         bin/megatron/Makefile
690         bin/nbp/Makefile
691         bin/pap/Makefile
692         bin/psorder/Makefile
693         config/Makefile
694         contrib/Makefile
695         contrib/macusers/Makefile
696         contrib/macusers/macusers
697         contrib/nu/Makefile
698         contrib/nu/nu
699         contrib/printing/Makefile
700         contrib/shell_utils/Makefile
701         contrib/shell_utils/afpd-mtab.pl
702         contrib/shell_utils/apple_cp
703         contrib/shell_utils/apple_mv
704         contrib/shell_utils/apple_rm
705         contrib/shell_utils/cleanappledouble.pl
706         contrib/shell_utils/netatalkshorternamelinks.pl
707         contrib/timelord/Makefile
708         distrib/Makefile
709         distrib/config/Makefile
710         distrib/config/netatalk-config
711         distrib/initscripts/Makefile
712         distrib/m4/Makefile
713         doc/Makefile
714         etc/Makefile
715         etc/afpd/Makefile
716         etc/afpd/nls/Makefile
717         etc/atalkd/Makefile
718         etc/uams/Makefile
719         etc/uams/uams_krb4/Makefile
720         etc/papd/Makefile
721         etc/psf/Makefile
722         include/Makefile
723         include/atalk/Makefile
724         libatalk/Makefile
725         libatalk/adouble/Makefile
726         libatalk/asp/Makefile
727         libatalk/atp/Makefile
728         libatalk/cnid/Makefile
729         libatalk/compat/Makefile
730         libatalk/dsi/Makefile
731         libatalk/nbp/Makefile
732         libatalk/netddp/Makefile
733         libatalk/util/Makefile
734         macros/Makefile
735         man/Makefile
736         man/man1/Makefile
737         man/man3/Makefile
738         man/man4/Makefile
739         man/man5/Makefile
740         man/man8/Makefile
741         sys/Makefile
742         sys/generic/Makefile
743         sys/generic/sys/Makefile
744         sys/netatalk/Makefile
745         sys/netbsd/Makefile
746         sys/netbsd/netatalk/Makefile
747         sys/solaris/Makefile
748         sys/solaris/Makefile.kernel
749         sys/sunos/Makefile
750         sys/ultrix/Makefile
751         ],
752         [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
753 )
754