]> arthur.barton.de Git - netatalk.git/blob - configure.in
Make the --disable-admin-group configure option work.
[netatalk.git] / configure.in
1 dnl $Id: configure.in,v 1.168.2.10 2003-12-15 07:03:16 srittau 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_ENABLE(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_ARG_WITH(tcp-wrappers,
320         [  --with-tcp-wrappers     enable TCP wrappers support],
321         AC_CHECK_LIB(wrap, tcpd_warn,
322                 AC_DEFINE(TCPWRAP)
323                 AFPD_LIBS="$AFPD_LIBS -lwrap"
324                 AC_MSG_RESULT([enabling TCP wrappers support])
325         )
326 )
327
328 AC_ARG_ENABLE(redhat,
329         [  --enable-redhat         use redhat-style sysv configuration ],
330         if test "$enableval" = "yes"; then
331                 sysv_style=redhat
332         fi
333         AC_MSG_RESULT([enabling redhat-style sysv support])
334 )
335
336 AC_ARG_ENABLE(suse,
337         [  --enable-suse           use suse-style sysv configuration ],
338         if test "$enableval" = "yes"; then
339                 sysv_style=suse
340         fi
341         AC_MSG_RESULT([enabling suse-style sysv support])
342 )
343
344 AC_ARG_ENABLE(cobalt,
345         [  --enable-cobalt         use cobalt-style sysv configuration ],
346         if test "$enableval" = "yes"; then
347                 sysv_style=cobalt
348         fi
349         AC_MSG_RESULT([enabling cobalt-style sysv support])
350 )
351
352 AC_ARG_ENABLE(netbsd,
353         [  --enable-netbsd         use NetBSD-style rc.d configuration ],
354         if test "x$enableval" = "xyes"; then
355                 sysv_style=netbsd
356         fi
357         AC_MSG_RESULT([enabling NetBSD-style rc.d support])
358 )
359
360 dnl ----- timelord compilation (disabled by default)
361 AC_MSG_CHECKING([whether timelord should be compiled])
362 compile_timelord=no
363 AC_ARG_ENABLE(timelord,
364         [  --enable-timelord       enable compilation of timelord server],
365         [compile_timelord="$enableval"],
366         [compile_timelord="no"]
367 )
368 AC_MSG_RESULT([$compile_timelord])
369
370 AC_ARG_WITH(uams-path,
371         [  --with-uams-path=PATH   path to UAMs [[PKGCONF/uams]]],
372         uams_path="$withval",
373         uams_path="${PKGCONFDIR}/uams"
374 )
375
376 dnl --------------------------------------------------------------------------
377 dnl FHS stuff has to be done last because it overrides other defaults
378 dnl --------------------------------------------------------------------------
379
380 AC_ARG_ENABLE(fhs,
381         [  --enable-fhs            use Filesystem Hierarchy Standard (FHS) compatibility],
382         if test "$enableval" = "yes"; then
383                 uams_path="${libdir}/netatalk"
384                 sysconfdir="/etc"
385                 PKGCONFDIR=${sysconfdir}/netatalk
386                 SERVERTEXT="${PKGCONFDIR}/msg"
387                 NLSDIR="${PKGCONFDIR}/nls"
388                 use_pam_so=yes
389                 mandir="/usr/share/man"
390                 AC_DEFINE(FHS_COMPATIBILITY)
391         fi
392         AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
393 )
394
395 dnl --------------------------------------------------------------------------
396 dnl post-FHS substitutions, etc
397 dnl --------------------------------------------------------------------------
398
399 dnl ***** UAMS_PATH
400 AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
401         [path to UAMs [default=PKGCONF/uams]])
402 UAMS_PATH="${uams_path}"
403 AC_SUBST(UAMS_PATH)
404
405 dnl --------------------------------------------------------------------------
406 dnl drop in includes for top level directory structures here...
407 dnl --------------------------------------------------------------------------
408
409 dnl Note: $(top_srcdir)/include should be added before all other includes
410 dnl       so that includes from that directory a preferred to includes from
411 dnl       /usr/include or similar places.
412 LIBS="$LIBS -L\$(top_srcdir)/libatalk"
413 CFLAGS="-I\$(top_srcdir)/include $CFLAGS -I\$(top_srcdir)/sys"
414
415 dnl --------------------------------------------------------------------------
416 dnl specific configuration comes in here:
417 dnl --------------------------------------------------------------------------
418
419 dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
420
421 dnl --------------------- determine operating system from "target"
422 case "$host_os" in
423         *aix*)                          this_os=aix ;;
424         *freebsd*)                      this_os=freebsd ;;
425         *hpux11*)                       this_os=hpux11 ;;
426         *irix*)                         this_os=irix ;;
427         *linux*)                        this_os=linux ;;
428         *osx*)                          this_os=macosx ;;
429         *darwin*)                       this_os=macosx ;;
430         *netbsd*)                       this_os=netbsd ;;
431         *openbsd*)                      this_os=openbsd ;;
432         *osf*)                          this_os=tru64 ;;
433         *solaris*)                      this_os=solaris ;;
434 esac
435
436 case "$host_cpu" in
437         i386|i486|i586|i686|k7)         this_cpu=x86 ;;
438         alpha)                                          this_cpu=alpha ;;
439         mips)                                           this_cpu=mips ;;
440         powerpc|ppc)                            this_cpu=ppc ;;
441 esac
442
443 dnl --------------------- operating system specific flags (port from sys/*)
444
445 dnl ----- AIX specific -----
446 if test x"$this_os" = "xaix"; then
447         AC_MSG_RESULT([ * AIX specific configuration])
448         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
449
450         dnl This is probably a lie; AIX 4.3 supports a 64-bit long
451         dnl compilation environment.  It's enough to get things defined
452         dnl right in endian.h provided that long long is supported, though.
453         AC_DEFINE(HAVE_32BIT_LONGS)
454 fi
455
456 dnl ----- FreeBSD specific -----
457 if test x"$this_os" = "xfreebsd"; then 
458         AC_MSG_RESULT([ * FreeBSD specific configuration])
459         AC_DEFINE(BSD4_4)
460         AC_DEFINE(SENDFILE_FLAVOR_BSD)
461
462         AC_DEFINE(NO_CRYPT_H, 1)
463 fi
464
465 dnl ----- HP-UX 11 specific -----
466 if test x"$this_os" = "xhpux11"; then
467         AC_MSG_RESULT([ * HP-UX 11 specific configuration])
468
469         AC_DEFINE(_ISOC9X_SOURCE)
470         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
471 fi
472
473 dnl ----- IRIX specific -----
474 if test x"$this_os" = "xirix"; then
475         AC_MSG_RESULT([ * IRIX specific configuration])
476
477         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
478 fi
479
480 dnl ----- Linux specific -----
481 ac_have_atalk_addr=no
482 if test x"$this_os" = "xlinux"; then 
483         AC_MSG_RESULT([ * Linux specific configuration])
484
485         dnl ----- kernel 2.6 changed struct at_addr to atalk_addr
486         AC_MSG_CHECKING([for struct atalk_addr])
487         AC_COMPILE_IFELSE([
488 #include <sys/socket.h>
489 #include <asm/types.h>
490 #include <linux/atalk.h>
491
492 int main() {
493         struct atalk_addr foo;
494
495         return 0;
496 }
497         ], [
498                 ac_have_atalk_addr=yes
499                 AC_MSG_RESULT([yes])
500         ], [
501                 AC_MSG_RESULT([no])
502         ])
503
504 if test "x$ac_have_atalk_addr" = "xyes"; then
505         AC_DEFINE(HAVE_ATALK_ADDR, 1, [set if struct at_addr is called atalk_addr])
506 fi
507
508         dnl ----- check if we need the quotactl wrapper
509         AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
510         AC_CHECK_FUNC(quotactl,,
511                 AC_DEFINE(NEED_QUOTACTL_WRAPPER)
512                 AC_MSG_RESULT([enabling quotactl wrapper])
513         )
514
515         dnl ----- as far as I can tell, dbtob always does the wrong thing
516         dnl ----- on every single version of linux I've ever played with.
517         dnl ----- see etc/afpd/quota.c
518         AC_DEFINE(HAVE_BROKEN_DBTOB)
519
520         dnl --- added by Yoshinobu Ishizaki (2001.03.13) ---
521         dnl ----- check if version is newer than 2.2.x
522         changequote(<<,>>)
523         majorvers="`uname -r | sed 's/\([0-9]\)..*/\1/'`"
524         minorvers="`uname -r | sed 's/[0-9]\.\([0-9]\)\..*/\1/'`"
525         if [ $majorvers -ge 2 ]; then
526                 if [ $minorvers -ge 2 ]; then
527                         changequote([,])
528                         AC_MSG_RESULT([ * found Linux 2.2.x or higher])
529                         AC_DEFINE(SENDFILE_FLAVOR_LINUX)
530                 else
531                         AC_MSG_RESULT([ * found Linux 2.0.x ]) 
532                 fi
533         fi
534
535         dnl ----- Linux/alpha specific -----
536         if test x"$this_cpu" = "xalpha"; then 
537                 AC_MSG_RESULT([enabling gcc memcpy bug workaround])
538                 AC_DEFINE(HAVE_GCC_MEMCPY_BUG)
539         fi
540         need_dash_r=no
541 fi
542
543 dnl ----- Mac OSX specific -----
544 if test x"$this_os" = "xmacosx"; then 
545         AC_MSG_RESULT([ * Mac OSX specific configuration])
546         AC_DEFINE(BSD4_4)
547         AC_DEFINE(HAVE_BROKEN_CPP)
548         AC_DEFINE(HAVE_2ARG_DBTOB)
549         dnl AC_DEFINE(NO_DLFCN_H)
550         AC_DEFINE(MACOSX_SERVER)
551 fi
552
553 dnl ----- NetBSD specific -----
554 if test x"$this_os" = "xnetbsd"; then 
555         AC_MSG_RESULT([ * NetBSD specific configuration])
556         AC_DEFINE(BSD4_4)
557         if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
558                 # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
559                 # If this test is true, it's not an ELF box.
560                 # This REALLY should be a configure test.
561                 AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
562         fi
563         CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
564         need_dash_r=yes 
565
566         dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
567         AC_DEFINE(UAM_DHX, 1)
568         AC_DEFINE(NO_CRYPT_H, 1)
569 fi
570
571 dnl ----- OpenBSD specific -----
572 if test x"$this_os" = "xopenbsd"; then 
573         AC_MSG_RESULT([ * OpenBSD specific configuration])
574         AC_DEFINE(BSD4_4)
575         AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
576
577         dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
578         AC_DEFINE(UAM_DHX, 1)
579         AC_DEFINE(NO_CRYPT_H, 1)
580 fi
581
582 dnl ----- Solaris specific -----
583 if test x"$this_os" = "xsolaris"; then 
584         AC_MSG_RESULT([ * Solaris specific configuration])
585         AC_DEFINE(__svr4__)
586         AC_DEFINE(_ISOC9X_SOURCE)
587         AC_DEFINE(NO_STRUCT_TM_GMTOFF)
588         AC_DEFINE(SOLARIS)
589         CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
590         need_dash_r=yes
591
592         AC_MSG_RESULT([enabling Solaris kernel module build])
593         solaris_module=yes
594 fi
595
596 dnl ----- Tru64 specific -----
597 if test x"$this_os" = "xtru64"; then 
598         AC_MSG_RESULT([ * Tru64 specific configuration])
599         AC_DEFINE(NO_DDP)
600         AC_DEFINE(HAVE_64BIT_LONGS)
601         dnl AC_DEFINE(USE_MOUNT_H)
602         AC_DEFINE(USE_OLD_RQUOTA)
603         dnl AC_DEFINE(USE_UFS_QUOTA_H)
604         AC_DEFINE(TRU64)
605         AC_CHECK_LIB(security,set_auth_parameters)
606         CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
607         need_dash_r=no
608         sysv_style=tru64
609 fi
610
611 dnl -- look for openssl
612 AC_PATH_SSL
613
614 dnl --------------------- check for building PGP UAM module
615
616 AC_ARG_ENABLE(pgp-uam,
617         [  --enable-pgp-uam        enable build of PGP UAM module],
618         if test "$enableval" = "yes"; then 
619                 if test "$compile_ssl" = "yes"; then 
620                         AC_DEFINE(UAM_PGP, 1)
621                         compile_pgp=yes
622                         AC_MSG_RESULT([enabling build with PGP UAM module])
623                 fi
624         fi
625 )
626
627 dnl --------------------- check for building Kerberos v4 UAM module
628
629 AC_ARG_ENABLE(krb4-uam,
630         [  --enable-krb4-uam       enable build of Kerberos v4 UAM module],
631         if test "$enableval" = "yes"; then
632                 AC_DEFINE(UAM_KRB4, 1)
633                 compile_kerberos=yes
634                 AC_MSG_RESULT([enabling build with Kerberos v4 UAM module])
635         fi
636 )
637 dnl --------------------- overwrite the config files . . . or not.
638
639 AC_MSG_CHECKING([whether configuration files should be overwritten])
640 AC_ARG_ENABLE(overwrite,
641         [  --enable-overwrite      overwrite configuration files during installation],
642         [OVERWRITE_CONFIG="${enable_overwrite}"],
643         [OVERWRITE_CONFIG="no"]
644 )
645 AC_MSG_RESULT([$OVERWRITE_CONFIG])
646
647 dnl --------------------- last minute substitutions
648
649 AC_SUBST(LIBS)
650 AC_SUBST(AFPD_LIBS)
651 AC_SUBST(PAPD_LIBS)
652 AC_SUBST(CFLAGS)
653 AC_SUBST(OVERWRITE_CONFIG)
654
655 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
656 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
657 AM_CONDITIONAL(USE_DHX, test x$compile_ssl = xyes)
658 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
659 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
660 AM_CONDITIONAL(USE_PAM, test x$compile_pam = xyes)
661 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
662 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
663 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
664 AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
665 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
666 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
667 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
668 AM_CONDITIONAL(USE_TRU64, test x$sysv_style = xtru64)
669
670 dnl --------------------- generate files
671
672 AC_OUTPUT([Makefile
673         bin/Makefile
674         bin/adv1tov2/Makefile
675         bin/aecho/Makefile
676         bin/afile/Makefile
677         bin/afppasswd/Makefile
678         bin/cnid/Makefile
679         bin/cnid/cnid_maint
680         bin/getzones/Makefile
681         bin/megatron/Makefile
682         bin/nbp/Makefile
683         bin/pap/Makefile
684         bin/psorder/Makefile
685         config/Makefile
686         contrib/Makefile
687         contrib/macusers/Makefile
688         contrib/macusers/macusers
689         contrib/nu/Makefile
690         contrib/nu/nu
691         contrib/printing/Makefile
692         contrib/shell_utils/Makefile
693         contrib/shell_utils/afpd-mtab.pl
694         contrib/shell_utils/apple_cp
695         contrib/shell_utils/apple_mv
696         contrib/shell_utils/apple_rm
697         contrib/shell_utils/cleanappledouble.pl
698         contrib/shell_utils/lp2pap.sh
699         contrib/shell_utils/netatalkshorternamelinks.pl
700         contrib/timelord/Makefile
701         distrib/Makefile
702         distrib/config/Makefile
703         distrib/config/netatalk-config
704         distrib/initscripts/Makefile
705         distrib/m4/Makefile
706         doc/Makefile
707         etc/Makefile
708         etc/afpd/Makefile
709         etc/afpd/nls/Makefile
710         etc/atalkd/Makefile
711         etc/uams/Makefile
712         etc/uams/uams_krb4/Makefile
713         etc/papd/Makefile
714         etc/psf/Makefile
715         include/Makefile
716         include/atalk/Makefile
717         libatalk/Makefile
718         libatalk/adouble/Makefile
719         libatalk/asp/Makefile
720         libatalk/atp/Makefile
721         libatalk/cnid/Makefile
722         libatalk/compat/Makefile
723         libatalk/dsi/Makefile
724         libatalk/nbp/Makefile
725         libatalk/netddp/Makefile
726         libatalk/util/Makefile
727         macros/Makefile
728         man/Makefile
729         man/man1/Makefile
730         man/man3/Makefile
731         man/man4/Makefile
732         man/man5/Makefile
733         man/man8/Makefile
734         sys/Makefile
735         sys/generic/Makefile
736         sys/generic/sys/Makefile
737         sys/netatalk/Makefile
738         sys/netbsd/Makefile
739         sys/netbsd/netatalk/Makefile
740         sys/solaris/Makefile
741         sys/solaris/Makefile.kernel
742         sys/sunos/Makefile
743         sys/ultrix/Makefile
744         ],
745         [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
746 )
747