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