Sync usage with man page.
[netbsd-mini2440.git] / external / bsd / am-utils / dist / configure.in
blob0ed43c595fef3ccb676c07eff158b49711bcafdc
1 dnl configure.in file for am-utils-6.x
2 dnl Contains general GNU-autoconf macros.
3 dnl Author: Erez Zadok <ezk AT cs.sunysb.edu>
4 dnl
5 dnl ######################################################################
6 dnl UNCOMMENT THE NEXT FEW LINES FOR DEBUGGING CONFIGURE
7 dnl define([AC_CACHE_LOAD], )dnl
8 dnl define([AC_CACHE_SAVE], )dnl
9 dnl ======================================================================
11 dnl ######################################################################
12 dnl INITIALIZATION
13 dnl AC_INIT
14 dnl new init style: PACKAGE, VERSION, BUG-REPORTING-ADDRESS
15 AC_INIT([am-utils],
16         sinclude([vers.m4]),
17         [https://bugzilla.am-utils.org/ or am-utils@am-utils.org])
18 AC_MSG_NOTICE(*** INITIALIZATION ***)
19 AC_CONFIG_SRCDIR([amd/amd.c])
20 AM_CONFIG_HEADER(config.h)
21 AH_TOP([
23  * Start of am-utils-6.x config.h file.
24  * Erez Zadok <ezk AT cs.sunysb.edu>
25  *
26  * DO NOT EDIT BY HAND.
27  * Note: generated by autoheader from configure.in.
28  */
30 #ifndef _CONFIG_H
31 #define _CONFIG_H
33 dnl add actual "#undef" commands into m4/macros/header_templates.m4
34 AH_BOTTOM([
35 /****************************************************************************/
36 /*** INCLUDE localconfig.h if it exists, to allow users to make some      ***/
37 /*** compile time configuration changes.                                  ***/
38 /****************************************************************************/
39 /* does a local configuration file exist? */
40 #undef HAVE_LOCALCONFIG_H
41 #ifdef HAVE_LOCALCONFIG_H
42 # include <localconfig.h>
43 #endif /* HAVE_LOCALCONFIG_H */
45 #endif /* not _CONFIG_H */
48  * Local Variables:
49  * mode: c
50  * End:
51  */
53 /* End of am-utils-6.x config.h file */
55 dnl
56 dnl AC_CONFIG_AUX_DIR(m4)
57 AC_PREREQ(2.52)
58 AC_REVISION(Revision: 1.2)
59 AC_COPYRIGHT([Copyright (c) 1997-2009 Erez Zadok])
60 dnl find out system type
61 AC_MSG_NOTICE(*** SYSTEM TYPES ***)
62 dnl run by libtool, but must be kept here because HOST_MACROS depends on it
63 AC_CANONICAL_HOST
64 AMU_HOST_MACROS
65 dnl ======================================================================
67 dnl ######################################################################
68 dnl PACKAGE NAME AND VERSION
69 AC_MSG_NOTICE(*** PACKAGE NAME AND VERSION ***)
70 AMU_PACKAGE_NAME($PACKAGE_NAME)
71 AMU_PACKAGE_VERSION($PACKAGE_VERSION)
72 AMU_PACKAGE_BUGREPORT($PACKAGE_BUGREPORT)
73 AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
74 dnl SET (shared) library version.  Update it only before major release!
75 dnl Clarification:
76 dnl The major number should change when an incompatible change is made to
77 dnl the API; the minor number should change when an API is added; the patch
78 dnl level should change when an internal implementation change is made that
79 dnl does not affect the API.
80 dnl
81 dnl In other words: if the major changes, the library is incompatible with
82 dnl older ones; if the minor changes, the library is backwards compatible
83 dnl with libraries using the same major; if the patchlevel changes, the
84 dnl library is backward and forward compatible with libraries using the same
85 dnl major and minor.
86 dnl
87 dnl For sanity, the lower numbers should be set to 0 when a higher number
88 dnl is changed.
89 dnl last version info was 3:2:1 (am-utils-6.0.2)
90 dnl last version info was 4:0:2 (am-utils-6.0.3)
91 dnl last version info was 4:1:2 (am-utils-6.0.4)
92 dnl last version info was 3:0:0 (am-utils-6.1, should have been updated)
93 dnl
94 dnl We increase the major number for am-utils-6.1, because it has new API's
95 dnl and removes some old API's.
96 LIBTOOL_LDFLAGS="-version-info 4:0:0"
97 AC_SUBST(LIBTOOL_LDFLAGS)
98 dnl ======================================================================
100 dnl ######################################################################
101 dnl ALTERNATIVE PROGRAMS
102 dnl Part 1: these are required before "unix variants"
103 dnl ======================================================================
104 dnl Particular Program Checks
105 AC_MSG_NOTICE(*** PARTICULAR PROGRAMS (part 1) ***)
106 dnl AC-PROG-LIBTOOL will run this, but we need this to squelch warnings
107 dnl from autoconf about AMU_TRY_COMPILE running before AC_AIX/AC_ISC_POSIX
108 AC_PROG_CC
109 AC_PROG_CPP
110 AC_PROG_CC_C_O
111 AC_PROG_GCC_TRADITIONAL
112 AC_PROG_MAKE_SET
113 AC_ISC_POSIX
114 AC_AIX
115 dnl XXX: available in autoconf-2.14
116 dnl AC_PROG_CC_STDC
117 dnl ======================================================================
119 dnl ######################################################################
120 dnl OPTION PROCESSING
121 AC_MSG_NOTICE(*** OPTION PROCESSING ***)
122 dnl Do we want LDAP support ?
123 AMU_WITH_ADDON(ldap, LDAP)
124 dnl Do we want HESIOD support ?
125 AMU_WITH_ADDON(hesiod, HESIOD)
126 dnl Do we want NDBM support ?
127 AMU_WITH_ADDON(ndbm, NDBM)
128 dnl Debugging options (yes, mem, or no)
129 AMU_OPT_DEBUG
130 dnl additional preprocessor options for configuration/compilation
131 AMU_OPT_CPPFLAGS
132 dnl additional linker -l options for configuration/compilation
133 AMU_OPT_LIBS
134 dnl additional linker -L options for configuration/compilation
135 AMU_OPT_LDFLAGS
136 dnl Which options to add to CFLAGS for compilation only?
137 AMU_OPT_AMU_CFLAGS
138 dnl check if a local configuration file exists
139 AMU_LOCALCONFIG
140 dnl turn off maintainer-mode Makefile rules, unless using --enable-maintainer-mode
141 AM_MAINTAINER_MODE
142 dnl ======================================================================
144 dnl ######################################################################
145 AC_MSG_NOTICE(*** LIBTOOL ***)
146 dnl my version of prog_libtool will not build shared by default
147 dnl AM_PROG_LIBTOOL2
148 dnl build static libraries by default
149 AC_DISABLE_SHARED
150 dnl XXX: for autoconf-2.14: use AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL
151 case ${host_os} in
152         # Temporarily undo renaming of "linux-gnu" to "linux", because
153         # libtool only looks for "linux-gnu".  Sigh.
154         linux ) host_os=linux-gnu ;;
155 esac
156 dnl this line must appear only once and on its own line
157 dnl (hence the double case statements above and below)
158 AC_PROG_LIBTOOL
159 case ${host_os} in
160         # end temporary renaming of "linux-gnu" to "linux"
161         linux-gnu ) host_os=linux ;;
162 esac
163 dnl ======================================================================
165 dnl ######################################################################
166 dnl ADDITIONAL OPTION PROCESSING (must be done after CC is defined)
167 AC_MSG_NOTICE(*** EXTRA OPTION PROCESSING ***)
168 AMU_OS_CPPFLAGS
169 AMU_OS_CFLAGS
170 AMU_OS_LDFLAGS
171 dnl ======================================================================
173 dnl ######################################################################
174 dnl Some of these macros must be called before any call to the C compiler
175 AC_MSG_NOTICE(*** UNIX VARIANTS ***)
176 dnl UNIX VARIANTS
177 dnl AC_AIX
178 dnl AC_ISC_POSIX
179 AMU_LINUX_HEADERS
180 dnl ======================================================================
182 dnl ######################################################################
183 dnl ALTERNATIVE PROGRAMS
184 dnl Part 2: these are required after "unix variants"
185 dnl ======================================================================
186 dnl Particular Program Checks (part 2)
187 AC_MSG_NOTICE(*** PARTICULAR PROGRAMS (part 2) ***)
188 AC_PROG_INSTALL
189 dnl the next two are run or supported natively by libtool
190 dnl AC_PROG_LN_S
191 dnl AC_PROG_RANLIB
192 dnl AC_PROG_YACC
193 AMU_PROG_YACC
194 AMU_PROG_LEX
195 dnl I have to keep a unused dummy AM_PROG_LEX here, because old Automake
196 dnl (1.6.3) looks for it if you refer to LEX in your Makefile.am files.
197 dnl Silly thing, fixed in newer versions of Automake (1.9.2).
198 if test 0 != 0 ; then
199 AM_PROG_LEX
202 dnl ======================================================================
203 dnl Generic Program Checks
204 AC_MSG_NOTICE(*** GENERIC PROGRAMS ***)
205 AC_PATH_PROGS(AR, ar, :)
206 AC_PATH_PROGS(PERL, perl5 perl4 perl, /usr/bin/perl)
207 AC_PATH_PROGS(UNMOUNT_PROGRAM, umount unmount, /bin/umount)
208 dnl ======================================================================
210 dnl ######################################################################
211 dnl LIBRARY FILES
212 dnl ======================================================================
213 dnl Note that the configuration order of libraries is in reverse of linkage
214 dnl for example, linking of the first two is -lc -lnsl.
215 AC_MSG_NOTICE(*** LIBRARY FILES ***)
217 dnl libnsl/libsocket are needed only on solaris and some svr4 systems.
218 dnl Using a typical macro has proven unsuccesful, because on some other
219 dnl systems such as irix, including libnsl and or libsocket actually breaks
220 dnl lots of code.  So I am forced to use a special purpose macro that sets
221 dnl the libraries based on the OS.  Sigh.  -Erez.
222 AMU_CHECK_OS_LIBS
224 dnl librpc and librpcsvc are needed on Solaris
225 AC_CHECK_LIB(rpc, clnt_sperrno)
226 AC_CHECK_LIB(rpcsvc, xdr_fhandle)
227 dnl libresolv is needed on Solaris/HPUX-11 for hstrerror()
228 AC_CHECK_FUNC(hstrerror,,AC_CHECK_LIB(resolv, hstrerror))
229 dnl Linux RedHat 5.1 puts yp functions only in libnsl (libnsl broken on aix)
230 AC_CHECK_FUNC(yp_all,,AC_CHECK_LIB(nsl, yp_all))
232 dnl hesiod library may not link unless libresolv is included
233 if test "$with_hesiod" = "yes"; then
234 AMU_CHECK_LIB2(hesiod, hes_init,,, -lresolv)
236 if test "$with_ldap" = "yes"; then
237 AMU_CHECK_LIB2(ldap, ldap_open,,, -llber)
238 AC_CHECK_FUNCS(ldap_enable_cache)
241 dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt
242 dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt,
243 dnl so only use one of them
244 case "$ac_cv_opt_debug" in
245 yes | mem )
246      AC_CHECK_LIB(rt, clock_gettime,, AC_CHECK_LIB(posix4, clock_gettime))
247      ;;
248 esac
250 dnl ######################################################################
251 dnl LIBRARY FUNCTIONS
252 dnl ======================================================================
253 dnl Particular Function Checks
254 AC_MSG_NOTICE(*** PARTICULAR LIBRARY FUNCTIONS ***)
255 dnl AC_FUNC_ALLOCA
256 dnl This GETMNTENT test will add -lgen to LIBS if needed.  We may need it
257 dnl if we have to build am-utils on Irix 4, PTX, or Unixware.
258 dnl AC_FUNC_GETMNTENT
259 AMU_FUNC_BAD_MEMCMP
260 AMU_FUNC_BAD_YP_ALL
261 AC_FUNC_FORK([])
262 AC_FUNC_WAIT3
263 AC_FUNC_GETPGRP
264 AC_FUNC_SETPGRP
265 dnl if you get AIX link error related to rpl_malloc, turn off next test
266 dnl AC_FUNC_MALLOC
267 dnl ======================================================================
268 dnl Generic Function Checks
269 AC_MSG_NOTICE(*** GENERIC LIBRARY FUNCTIONS ***)
270 AC_CHECK_FUNCS(                 \
271         __rpc_get_local_uid     \
272         __seterr_reply          \
273         _seterr_reply           \
274         bcmp                    \
275         bcopy                   \
276         bzero                   \
277         clnt_create             \
278         clnt_create_vers        \
279         clnt_create_vers_timed  \
280         clnt_spcreateerror      \
281         clock_gettime           \
282         cnodeid                 \
283         dg_mount                \
284         flock                   \
285         fsmount                 \
286         get_myaddress           \
287         getccent                \
288         getcwd                  \
289         getdomainname           \
290         getdtablesize           \
291         gethostname             \
292         getifaddrs              \
293         getmntinfo              \
294         getmountent             \
295         getpagesize             \
296         gettimeofday            \
297         hasmntopt               \
298         hstrerror               \
299         madvise                 \
300         memcmp                  \
301         memcpy                  \
302         memmove                 \
303         memset                  \
304         mkdir                   \
305         mkstemp                 \
306         mntctl                  \
307         mlockall                \
308         mount                   \
309         mountsyscall            \
310         plock                   \
311         regcomp                 \
312         regexec                 \
313         rmdir                   \
314         select                  \
315         seteuid                 \
316         setitimer               \
317         setresuid               \
318         setsid                  \
319         sigaction               \
320         signal                  \
321         sigsuspend              \
322         socket                  \
323         statfs                  \
324         statvfs                 \
325         strcasecmp              \
326         strchr                  \
327         strcspn                 \
328         strdup                  \
329         strerror                \
330         strlcat                 \
331         strlcpy                 \
332         strspn                  \
333         strstr                  \
334         svc_getreq              \
335         svc_getreqset           \
336         sysfs                   \
337         syslog                  \
338         uname                   \
339         umount                  \
340         umount2                 \
341         unmount                 \
342         uvmount                 \
343         vfork                   \
344         vfsmount                \
345         vmount                  \
346         vsnprintf               \
347         wait3                   \
348         waitpid                 \
349         )
350 dnl optional functions
351 if test "$with_hesiod" = "yes"; then
352 AC_CHECK_FUNCS(                 \
353         hes_init                \
354         hesiod_init             \
355         hesiod_reload           \
356         hesiod_to_bind          \
357         )
359 AC_REPLACE_FUNCS(               \
360         clnt_sperrno            \
361         hasmntopt               \
362         strcasecmp              \
363         strdup                  \
364         strerror                \
365         strlcat                 \
366         strlcpy                 \
367         strstr                  \
368         ualarm                  \
369         )
370 dnl all xdr_* functions are implemented in libamu/xdr_func.c
371 AC_CHECK_FUNCS(                 \
372         xdr_attrstat            \
373         xdr_createargs          \
374         xdr_dirlist             \
375         xdr_diropargs           \
376         xdr_diropokres          \
377         xdr_diropres            \
378         xdr_dirpath             \
379         xdr_entry               \
380         xdr_exportnode          \
381         xdr_exports             \
382         xdr_fattr               \
383         xdr_fhandle             \
384         xdr_fhstatus            \
385         xdr_filename            \
386         xdr_ftype               \
387         xdr_groupnode           \
388         xdr_groups              \
389         xdr_linkargs            \
390         xdr_mountbody           \
391         xdr_mountlist           \
392         xdr_name                \
393         xdr_nfs_fh              \
394         xdr_nfscookie           \
395         xdr_nfspath             \
396         xdr_nfsstat             \
397         xdr_nfstime             \
398         xdr_pointer             \
399         xdr_readargs            \
400         xdr_readdirargs         \
401         xdr_readdirres          \
402         xdr_readlinkres         \
403         xdr_readokres           \
404         xdr_readres             \
405         xdr_renameargs          \
406         xdr_sattr               \
407         xdr_sattrargs           \
408         xdr_statfsokres         \
409         xdr_statfsres           \
410         xdr_symlinkargs         \
411         xdr_writeargs           \
412         )
413 dnl ======================================================================
415 dnl *********
416 AMU_SAVE_STATE
417 dnl *********
419 dnl ######################################################################
420 dnl HEADER FILES
421 dnl ======================================================================
422 dnl Particular Header Checks
423 AC_MSG_NOTICE(*** PARTICULAR HEADER FILES ***)
424 AC_HEADER_DIRENT
425 AC_HEADER_STDC
426 AC_HEADER_SYS_WAIT
427 dnl ======================================================================
428 dnl Generic Header Checks
429 AC_MSG_NOTICE(*** GENERIC HEADER FILES ***)
430 AC_CHECK_HEADERS(                       \
431         arpa/nameser.h                  \
432         arpa/inet.h                     \
433         bsd/rpc/rpc.h                   \
434         cdfs/cdfsmount.h                \
435         cdfs/cdfs_mount.h               \
436         fs/udf/udf_mount.h              \
437         db1/ndbm.h                      \
438         fs/efs/efs_mount.h              \
439         fs/msdosfs/msdosfsmount.h       \
440         fs/tmpfs/tmpfs_args.h           \
441         gdbm/ndbm.h                     \
442         hsfs/hsfs.h                     \
443         linux/fs.h                      \
444         linux/kdev_t.h                  \
445         linux/list.h                    \
446         linux/nfs.h                     \
447         linux/nfs2.h                    \
448         linux/posix_types.h             \
449         linux/socket.h                  \
450         machine/endian.h                \
451         net/errno.h                     \
452         net/if.h                        \
453         net/if_var.h                    \
454         net/route.h                     \
455         netinet/in.h                    \
456         nfs/export.h                    \
457         nfs/mount.h                     \
458         nfs/nfs_clnt.h                  \
459         nfs/nfs_gfs.h                   \
460         nfs/nfs_mount.h                 \
461         nfs/nfsmount.h                  \
462         nfs/nfsproto.h                  \
463         nfs/nfsv2.h                     \
464         nfs/pathconf.h                  \
465         nfs/rpcv2.h                     \
466         nfsclient/nfsargs.h             \
467         rpc/auth_des.h                  \
468         rpc/rpc.h                       \
469         rpc/types.h                     \
470         rpcsvc/autofs_prot.h            \
471         rpcsvc/mount.h                  \
472         rpcsvc/mountv3.h                \
473         rpcsvc/nfs_prot.h               \
474         rpcsvc/nis.h                    \
475         rpcsvc/ypclnt.h                 \
476         sys/config.h                    \
477         sys/dg_mount.h                  \
478         sys/dir.h                       \
479         sys/errno.h                     \
480         sys/file.h                      \
481         sys/fs/autofs.h                 \
482         sys/fs/autofs_prot.h            \
483         sys/fs/cachefs_fs.h             \
484         sys/fs/efs_clnt.h               \
485         sys/fs/nfs.h                    \
486         sys/fs/nfs/mount.h              \
487         sys/fs/nfs/nfs_clnt.h           \
488         sys/fs/nfs_clnt.h               \
489         sys/fs/pc_fs.h                  \
490         sys/fs/tmp.h                    \
491         sys/fs/ufs_mount.h              \
492         sys/fs/xfs_clnt.h               \
493         sys/fs_types.h                  \
494         sys/fsid.h                      \
495         sys/fstyp.h                     \
496         sys/ioctl.h                     \
497         sys/immu.h                      \
498         sys/lock.h                      \
499         sys/machine.h                   \
500         sys/mman.h                      \
501         sys/mntctl.h                    \
502         sys/mntent.h                    \
503         sys/mnttab.h                    \
504         sys/mount.h                     \
505         sys/ndir.h                      \
506         sys/netconfig.h                 \
507         sys/param.h                     \
508         sys/pathconf.h                  \
509         sys/resource.h                  \
510         sys/sema.h                      \
511         sys/signal.h                    \
512         sys/socket.h                    \
513         sys/sockio.h                    \
514         sys/stat.h                      \
515         sys/statfs.h                    \
516         sys/statvfs.h                   \
517         sys/syscall.h                   \
518         sys/syslimits.h                 \
519         sys/syslog.h                    \
520         sys/time.h                      \
521         sys/tiuser.h                    \
522         sys/types.h                     \
523         sys/ucred.h                     \
524         sys/uio.h                       \
525         sys/utsname.h                   \
526         sys/vfs.h                       \
527         sys/vmount.h                    \
528         sys/vnode.h                     \
529 dnl     sys/wait.h                      \
530         ufs/ufs/extattr.h               \
531         ufs/ufs/ufsmount.h              \
532         ufs/ufs_mount.h                 \
533         \
534         assert.h                        \
535 dnl     cfs.h                           \
536         cluster.h                       \
537         ctype.h                         \
538 dnl     dirent.h                        \
539         errno.h                         \
540         fcntl.h                         \
541         ifaddrs.h                       \
542         irs.h                           \
543         grp.h                           \
544         libgen.h                        \
545         limits.h                        \
546         malloc.h                        \
547         memory.h                        \
548         mntent.h                        \
549         mnttab.h                        \
550         mount.h                         \
551         ndbm.h                          \
552         ndir.h                          \
553         netconfig.h                     \
554         netdb.h                         \
555         netdir.h                        \
556         nsswitch.h                      \
557         pwd.h                           \
558         regex.h                         \
559         setjmp.h                        \
560         signal.h                        \
561         socketbits.h                    \
562         statbuf.h                       \
563         stdarg.h                        \
564         stdlib.h                        \
565         stdio.h                         \
566         string.h                        \
567         strings.h                       \
568         syslog.h                        \
569         tcpd.h                          \
570         time.h                          \
571         tiuser.h                        \
572         varargs.h                       \
573         unistd.h                        \
574         )
575 dnl optional headers
576 if test "$with_ldap" = "yes"; then
577 AC_CHECK_HEADERS(                       \
578         lber.h                          \
579         ldap.h                          \
580         )
582 if test "$with_hesiod" = "yes"; then
583 AC_CHECK_HEADERS(                       \
584         hesiod.h                        \
585         )
587 dnl headers which depend on others, else you get an configure error
588 AC_CHECK_HEADERS([                      \
589         isofs/cd9660/cd9660_mount.h     \
590         msdosfs/msdosfsmount.h          \
591         netinet/if_ether.h              \
592         nfs/nfs.h                       \
593         rpc/pmap_clnt.h                 \
594         rpc/pmap_prot.h                 \
595         rpcsvc/yp_prot.h                \
596         sys/mbuf.h                      \
597         sys/proc.h                      \
598         resolv.h                        \
599 ], [], [],
601 #ifdef HAVE_SYS_TYPES_H
602 # include <sys/types.h>
603 #endif /* HAVE_SYS_TYPES_H */
604 #ifdef HAVE_SYS_PARAM_H
605 # include <sys/param.h>
606 #endif /* HAVE_SYS_PARAM_H */
607 #ifdef HAVE_SYS_QUEUE_H
608 # include <sys/queue.h>
609 #endif /* HAVE_SYS_QUEUE_H */
610 #ifdef HAVE_NET_IF_H
611 # include <net/if.h>
612 #endif /* HAVE_NET_IF_H */
613 #ifdef HAVE_NETINET_IN_H
614 # include <netinet/in.h>
615 #endif /* HAVE_NETINET_IN_H */
616 #ifdef HAVE_SYS_MOUNT_H
617 # include <sys/mount.h>
618 #endif /* HAVE_SYS_MOUNT_H */
619 #ifdef HAVE_NFS_NFSMOUNT_H
620 # include <nfs/nfsmount.h>
621 #endif /* HAVE_NFS_NFSMOUNT_H */
622 #ifdef HAVE_RPC_TYPES_H
623 # include <rpc/types.h>
624 #endif /* HAVE_RPC_TYPES_H */
625 #ifdef HAVE_RPC_RPC_H
626 # include <rpc/rpc.h>
627 #endif /* HAVE_RPC_RPC_H */
628 #ifdef HAVE_NFS_RPCV2_H
629 # include <nfs/rpcv2.h>
630 #endif /* HAVE_NFS_RPCV2_H */
632 AC_CHECK_HEADERS([                      \
633         linux/auto_fs.h                 \
634         linux/auto_fs4.h                \
635         linux/loop.h                    \
636 ], [], [],
638 #ifdef HAVE_SYS_SOCKET_H
639 # include <sys/socket.h>
640 #endif /* HAVE_SYS_SOCKET_H */
641 #ifdef HAVE_LIMITS_H
642 # include <limits.h>
643 #endif /* HAVE_LIMITS_H */
644 #ifdef HAVE_LINUX_POSIX_TYPES_H
645 # include <linux/posix_types.h>
646 #endif /* HAVE_LINUX_POSIX_TYPES_H */
647 /* next dev_t lines needed due to changes in kernel code */
648 #undef dev_t
649 #define dev_t unsigned short    /* compatible with Red Hat and SuSE */
651 dnl even more special checks for Linux nfs headers
652 AC_CHECK_HEADERS([                      \
653         linux/nfs_mount.h               \
654 ], [], [],
657  * Needed to find nfs2_fh and nfs_fh on older systems (yellowdog2.3, gentoo,
658  * etc.)
659  * Needs to be defined before <asm/types.h> so u32 is available for
660  * <linux/sunrpc/msg_prot.h>.
661  */
662 #ifdef HAVE_SYS_TYPES_H
663 # include <sys/types.h>
664 #endif /* HAVE_SYS_TYPES_H */
665 # ifndef __KERNEL__
666 #  define __KERNEL__
667 # endif /* __KERNEL__ */
668 #ifdef HAVE_LINUX_SOCKET_H
669 # include <linux/socket.h>
670 #endif /* HAVE_LINUX_SOCKET_H */
671 #ifdef HAVE_LIMITS_H
672 # include <limits.h>
673 #endif /* HAVE_LIMITS_H */
674 #ifdef HAVE_LINUX_POSIX_TYPES_H
675 # include <linux/posix_types.h>
676 #endif /* HAVE_LINUX_POSIX_TYPES_H */
677 #ifdef HAVE_LINUX_NFS2_H
678 struct nfs2_fh {
679   char data[FHSIZE];
681 # define _LINUX_NFS2_H
682 #endif /* HAVE_LINUX_NFS2_H */
683 /* next dev_t lines needed due to changes in kernel code */
684 #undef dev_t
685 #define dev_t unsigned short    /* compatible with Red Hat and SuSE */
688 dnl ======================================================================
689 dnl db/ndbm/gdbm: This is serious autoconf-fu...
690 dnl ======================================================================
691 if test "$with_ndbm" = "yes"
692 then
693 if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_ndbm_h" = "yes"; then
694   AC_CHECK_LIB(ndbm, dbm_open,
695 dnl some systems replaced old ndbm.h include with GNU ndbm.h, which requires
696 dnl libgdbm for dbm_pagfno, so check for this.
697     AC_CHECK_LIB(ndbm, dbm_pagfno, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="ndbm",
698       AC_CHECK_LIB(gdbm, dbm_pagfno, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="ndbm -lgdbm")))
700 dnl check if dbm_open is part of libc
701 if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_ndbm_h" = "yes"; then
702   AC_CHECK_LIB(c, dbm_open, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="c")
704 if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_db1_ndbm_h" = "yes"; then
705   AC_CHECK_LIB(db1, dbm_open, ac_cv_header_new_dbm="db1/ndbm.h"; ac_cv_lib_new_dbm="db1")
707 dnl nasty workaround:  <gdbm/ndbm.h> and <gdbm-ndbm.h> map to the same ac_cv_ variable name
708 if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_gdbm_ndbm_h" = "yes"; then
709   AC_CHECK_LIB(gdbm, dbm_open, ac_cv_header_new_dbm="gdbm/ndbm.h"; ac_cv_lib_new_dbm="gdbm")
710 else
711   # reset any previous knowledge and retest for different header name
712   # check also gdbm_compat library (Debian 3.1)
713   unset ac_cv_header_gdbm_ndbm_h
714   AC_CHECK_HEADERS(gdbm-ndbm.h)
715   if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_gdbm_ndbm_h" = "yes"; then
716     AC_CHECK_LIB(gdbm, dbm_open, ac_cv_header_new_dbm="gdbm-ndbm.h"; ac_cv_lib_new_dbm="gdbm",
717       AC_CHECK_LIB(gdbm_compat, dbm_open, ac_cv_header_new_dbm="gdbm-ndbm.h"; ac_cv_lib_new_dbm="gdbm -lgdbm_compat")
718     )
719   fi
721 if test "$ac_cv_header_new_dbm" != "" -a "$ac_cv_lib_new_dbm" != ""; then
722   AC_DEFINE_UNQUOTED(NEW_DBM_H, "$ac_cv_header_new_dbm")
723 dnl don't bother adding "-lc" when it's the default anyway
724   if test "$ac_cv_lib_new_dbm" != "c" ; then
725     LIBS="-l$ac_cv_lib_new_dbm $LIBS"
726   fi
729 dnl ======================================================================
731 dnl *********
732 AMU_SAVE_STATE
733 dnl *********
735 dnl ######################################################################
736 dnl STRUCTURES
737 AC_MSG_NOTICE(*** PARTICULAR STRUCTURES ***)
738 AC_HEADER_STAT
739 AC_HEADER_TIME
740 AC_STRUCT_TM
741 dnl ======================================================================
742 AC_MSG_NOTICE(*** GENERIC STRUCTURES ***)
743 dnl before any use of macros that need nfs/mount headers, must define O/S
744 dnl specific header to include.
745 AMU_CHECK_NFS_PROT_HEADERS
746 AMU_STRUCT_MNTENT
747 AMU_STRUCT_MNTTAB
748 dnl -----------------------------------------------------------------------
749 dnl check for bad hasmntopt() function after struct mntent/mnttab
750 dnl but only if hasmntopt() is actually defined.
751 if test $ac_cv_func_hasmntopt = yes
752 then
753         AMU_FUNC_BAD_HASMNTOPT
755 dnl -----------------------------------------------------------------------
756 AMU_STRUCT_NFS_ARGS
757 AMU_STRUCT_NFS_GFS_MOUNT
758 dnl -----------------------------------------------------------------------
759 dnl cannot proceed if struct nfs_args/gfs_mount is not found!
760 if test "$ac_cv_have_struct_nfs_args" = notfound && test "$ac_cv_have_struct_nfs_gfs_mount" = no
761 then
762 AC_MSG_ERROR(
763 [Cannot find any definition for struct nfs_args!
764 This can be due to several reasons: a misconfigured system, a system that is
765 missing some vital NFS-related headers or libraries, one for which am-utils
766 was not ported to yet, or even a bug in the am-utils sources.  Check the
767 BUGS file in this distribution and see if there is any mention relevant to
768 your system.  If that does not help, check the config.log and config.cache
769 files in this build for details and report them to
770 https://bugzilla.am-utils.org/ or am-utils@am-utils.org please.
773 dnl -----------------------------------------------------------------------
774 AMU_STRUCT_FIELD_NFS_FH
775 AMU_STRUCT_NFS_FH
776 AMU_STRUCT_NFS_FH3
777 AMU_CHECK_FS_MNTENT(nfs3)
778 dnl ======================================================================
780 dnl *********
781 AMU_SAVE_STATE
782 dnl *********
784 dnl ######################################################################
785 dnl TYPEDEFS
786 dnl ======================================================================
787 dnl Particular Typedef Checks
788 AC_MSG_NOTICE(*** PARTICULAR TYPEDEFS ***)
789 AC_TYPE_GETGROUPS
790 AC_TYPE_MODE_T
791 AC_TYPE_PID_T
792 AC_TYPE_SIGNAL
793 AC_TYPE_SIZE_T
794 AC_TYPE_UID_T
795 dnl ======================================================================
796 dnl Generic Typedef Checks
797 AC_MSG_NOTICE(*** GENERIC TYPEDEFS ***)
798 AMU_TYPE_TIME_T
799 AMU_TYPE_RPCVERS_T
800 case "${host_os}" in
801         irix6* )
802 AMU_TYPE_PTE_T
803         ;;
804 esac
805 AMU_CHECK_FHANDLE
806 AMU_CHECK_MTYPE_TYPE
807 AMU_CHECK_MTYPE_PRINTF_TYPE
808 AMU_TYPE_YP_ORDER_OUTORDER
809 AMU_TYPE_RECVFROM_FROMLEN
810 AMU_TYPE_AUTH_CREATE_GIDLIST
811 AMU_TYPE_SVC_IN_ARG
812 AMU_TYPE_AUTOFS_ARGS
813 AMU_TYPE_CACHEFS_ARGS
814 AMU_TYPE_CDFS_ARGS
815 AMU_TYPE_UDF_ARGS
816 AMU_TYPE_LOFS_ARGS
817 AMU_TYPE_MFS_ARGS
818 AMU_TYPE_PCFS_ARGS
819 AMU_TYPE_RFS_ARGS
820 AMU_TYPE_TMPFS_ARGS
821 AMU_TYPE_UFS_ARGS
822 AMU_TYPE_XFS_ARGS
823 AMU_TYPE_EFS_ARGS
824 AMU_TYPE_XDRPROC_T
825 dnl ======================================================================
827 dnl ######################################################################
828 dnl Particular Compiler Characteristics
829 AC_MSG_NOTICE(*** PARTICULAR COMPILER CHARACTERISTICS ***)
830 AC_C_BIGENDIAN
831 AC_C_CONST
832 AC_C_INLINE
833 AC_C_VOLATILE
834 dnl AC_CHECK_SIZEOF(void *, 0)
835 dnl ======================================================================
836 dnl Generic Compiler Characteristics
837 AC_MSG_NOTICE(*** GENERIC COMPILER CHARACTERISTICS ***)
838 AMU_C_VOID_P
839 AMU_VARARGS_MACROS
840 dnl ======================================================================
842 dnl *********
843 AMU_SAVE_STATE
844 dnl *********
846 dnl ######################################################################
847 AC_MSG_NOTICE(*** EXTERNAL DEFINITIONS ***)
848 AMU_EXTERN_SYS_ERRLIST
849 AMU_EXTERN_OPTARG
850 AMU_CHECK_EXTERNS(
851         clnt_spcreateerror      \
852         clnt_sperrno            \
853         free                    \
854         get_myaddress           \
855         getccent                \
856         getdomainname           \
857         getdtablesize           \
858         gethostname             \
859         getlogin                \
860         getpagesize             \
861         getwd                   \
862         hosts_ctl               \
863         innetgr                 \
864         mkstemp                 \
865         mntctl                  \
866         sbrk                    \
867         seteuid                 \
868         setitimer               \
869         sleep                   \
870         strcasecmp              \
871         strdup                  \
872         strlcat                 \
873         strlcpy                 \
874         strstr                  \
875         ualarm                  \
876         usleep                  \
877         wait3                   \
878         vsnprintf               \
879         xdr_callmsg             \
880         xdr_opaque_auth         \
881         )
882 dnl Different macro to check for LDAP externs, so as to avoid
883 dnl breaking the basic extern-checking macro.
884 if test "$with_ldap" = "yes"; then
885 AMU_CHECK_EXTERN_LDAP(ldap_enable_cache)
887 dnl ======================================================================
889 dnl ######################################################################
890 dnl C PREPROCESSOR MACROS
891 AC_MSG_NOTICE(*** C PREPROCESSOR MACROS ***)
892 dnl ======================================================================
894 dnl ######################################################################
895 dnl SYSTEM SERVICES
896 AC_MSG_NOTICE(*** SYSTEM SERVICES ***)
897 AC_SYS_LONG_FILE_NAMES
898 AC_SYS_RESTARTABLE_SYSCALLS
899 AMU_CHECK_NETWORK_TRANSPORT_TYPE
900 dnl ======================================================================
902 dnl *********
903 AMU_SAVE_STATE
904 dnl *********
906 dnl ######################################################################
907 AC_MSG_NOTICE(*** FIELDS WITHIN STRUCTURES ***)
908 AMU_CHECK_FIELD(fd_set.fds_bits)
909 AMU_CHECK_FIELD(mntent_t.mnt_cnode)
910 AMU_CHECK_FIELD(mntent_t.mnt_ro)
911 AMU_CHECK_FIELD(mntent_t.mnt_time)
912 AMU_FIELD_MNTENT_T_MNT_TIME_STRING
913 AMU_CHECK_FIELD(cdfs_args_t.flags)
914 AMU_CHECK_FIELD(cdfs_args_t.fspec)
915 AMU_CHECK_FIELD(cdfs_args_t.iso_flags)
916 AMU_CHECK_FIELD(cdfs_args_t.iso_pgthresh)
917 AMU_CHECK_FIELD(cdfs_args_t.norrip)
918 AMU_CHECK_FIELD(cdfs_args_t.ssector)
919 AMU_CHECK_FIELD(udf_args_t.version)
920 AMU_CHECK_FIELD(udf_args_t.fspec)
921 AMU_CHECK_FIELD(udf_args_t.sessionnr)
922 AMU_CHECK_FIELD(udf_args_t.udfmflags)
923 AMU_CHECK_FIELD(udf_args_t.gmtoff)
924 AMU_CHECK_FIELD(udf_args_t.anon_uid)
925 AMU_CHECK_FIELD(udf_args_t.anon_gid)
926 AMU_CHECK_FIELD(udf_args_t.nobody_uid)
927 AMU_CHECK_FIELD(udf_args_t.nobody_gid)
928 AMU_CHECK_FIELD(udf_args_t.sector_size)
929 AMU_CHECK_FIELD(pcfs_args_t.dirmask)
930 AMU_CHECK_FIELD(pcfs_args_t.dsttime)
931 AMU_CHECK_FIELD(pcfs_args_t.fspec)
932 AMU_CHECK_FIELD(pcfs_args_t.gid)
933 AMU_CHECK_FIELD(pcfs_args_t.mask)
934 AMU_CHECK_FIELD(pcfs_args_t.secondswest)
935 AMU_CHECK_FIELD(pcfs_args_t.uid)
936 AMU_CHECK_FIELD(ufs_args_t.flags)
937 AMU_CHECK_FIELD(ufs_args_t.fspec)
938 AMU_CHECK_FIELD(ufs_args_t.ufs_flags)
939 AMU_CHECK_FIELD(ufs_args_t.ufs_pgthresh)
940 AMU_CHECK_FIELD(efs_args_t.flags)
941 AMU_CHECK_FIELD(efs_args_t.fspec)
942 AMU_CHECK_FIELD(efs_args_t.version)
943 AMU_CHECK_FIELD(xfs_args_t.flags)
944 AMU_CHECK_FIELD(xfs_args_t.fspec)
945 AMU_CHECK_FIELD(tmpfs_args_t.ta_version)
946 AMU_CHECK_FIELD(tmpfs_args_t.ta_nodes_max)
947 AMU_CHECK_FIELD(tmpfs_args_t.ta_size_max)
948 AMU_CHECK_FIELD(tmpfs_args_t.ta_root_uid)
949 AMU_CHECK_FIELD(tmpfs_args_t.ta_root_gid)
950 AMU_CHECK_FIELD(tmpfs_args_t.ta_root_mode)
951 AMU_CHECK_FIELD(struct fhstatus.fhs_fh)
952 AMU_CHECK_FIELD(struct statfs.f_fstypename)
953 AMU_CHECK_FIELD(nfs_args_t.acdirmin)
954 AMU_CHECK_FIELD(nfs_args_t.acdirmax)
955 AMU_CHECK_FIELD(nfs_args_t.acregmin)
956 AMU_CHECK_FIELD(nfs_args_t.acregmax)
957 AMU_CHECK_FIELD(nfs_args_t.addrlen)
958 AMU_CHECK_FIELD(nfs_args_t.bsize)
959 AMU_CHECK_FIELD(nfs_args_t.fh_len)
960 AMU_CHECK_FIELD(nfs_args_t.fhsize)
961 AMU_CHECK_FIELD(nfs_args_t.gfs_flags)
962 AMU_CHECK_FIELD(nfs_args_t.namlen)
963 AMU_CHECK_FIELD(nfs_args_t.optstr)
964 AMU_CHECK_FIELD(nfs_args_t.pathconf)
965 AMU_CHECK_FIELD(nfs_args_t.proto)
966 AMU_CHECK_FIELD(nfs_args_t.sotype)
967 AMU_CHECK_FIELD(nfs_args_t.version)
968 AMU_CHECK_FIELD(nfs_args_t.pseudoflavor)
969 AMU_CHECK_FIELD(nfs_args_t.context)
970 AMU_CHECK_FIELD(struct ifreq.ifr_addr)
971 AMU_CHECK_FIELD(struct ifaddrs.ifa_next)
972 AMU_CHECK_FIELD(struct sockaddr.sa_len)
973 AMU_CHECK_FIELD(struct umntrequest.devid)
974 dnl This one is for Irix
975 AMU_CHECK_FIELD(autofs_args_t.addr)
976 dnl For Solaris 2.8+
977 AMU_CHECK_FIELD(mounta.optptr)
979 dnl ======================================================================
981 dnl ######################################################################
982 dnl MAP TYPES
983 AC_MSG_NOTICE(*** MAP TYPES ***)
984 dnl DBM is obsolete, use NDBM
985 dnl AMU_CHECK_MAP_FUNCS(dbminit dbmopen, dbm)
986 AMU_CHECK_MAP_FUNCS(fgets, file)
987 AMU_CHECK_MAP_FUNCS(fgets, sun)
988 AMU_CHECK_MAP_FUNCS(waitpid, exec)
989 dnl Define HESIOD map if user wanted it, and both headers and libraries exist
990 if test "$with_hesiod" = "yes" && test "$ac_cv_header_hesiod_h" = "yes"
991 then
992 AMU_CHECK_MAP_FUNCS(hes_init hesiod_init, hesiod)
994 dnl Define LDAP map if user wanted it, and both headers and libraries exist
995 if test "$with_ldap" = "yes" && test "$ac_cv_header_ldap_h" = "yes"
996 then
997 AMU_CHECK_MAP_FUNCS(ldap_open, ldap)
999 if test "$with_ndbm" = "yes" -a "$ac_cv_lib_new_dbm" != ""
1000 then
1001 AMU_CHECK_MAP_FUNCS(dbm_open, $ac_cv_lib_new_dbm, ndbm)
1003 AMU_CHECK_MAP_FUNCS(yp_get_default_domain yp_all, nis)
1004 AMU_CHECK_MAP_FUNCS(nis_domain_of, nisplus, nisplus)
1005 AMU_CHECK_MAP_FUNCS(getpwnam, passwd)
1006 AMU_CHECK_MAP_FUNCS(opendir, union)
1007 dnl ======================================================================
1009 dnl *********
1010 AMU_SAVE_STATE
1011 dnl *********
1013 dnl ######################################################################
1014 dnl FILESYSTEM TYPES
1015 AC_MSG_NOTICE(*** FILESYSTEM TYPES ***)
1016 dnl check for filesystem existence if MNTTYPE_<filesystem> exists, then if
1017 dnl MOUNT_<fs>, then MNT_<fs>, then in /proc/filesystems, and getvfsbyname()
1018 AMU_CHECK_FS_MNTENT(autofs)
1019 AMU_CHECK_FS_MNTENT(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
1020 AMU_CHECK_FS_MNTENT(udf)
1021 AMU_CHECK_FS_MNTENT(cache)
1022 AMU_CHECK_FS_MNTENT(lofs lo, lofs)
1023 AMU_CHECK_FS_MNTENT(mfs)
1024 AMU_CHECK_FS_MNTENT(nfs)
1025 dnl This test for nfs3 was moved up, because other tests depend on it
1026 dnl especially checking for nfsv3 file handle structure types
1027 dnl AMU_CHECK_FS_MNTENT(nfs3)
1028 AMU_CHECK_FS_MNTENT(vfat pcfs pc msdos msdosfs fat, pcfs)
1029 AMU_CHECK_FS_MNTENT(tfs)
1030 AMU_CHECK_FS_MNTENT(tmpfs)
1031 AMU_CHECK_FS_MNTENT(ext3 ext2 ffs ufs 42 43 44 efs xfs jfs ultrix, ufs)
1032 dnl openbsd 2.4 introduce a new file system called xfs, which is not
1033 dnl the same as irix-s xfs.  Sigh, why did openbsd have to use such a name!
1034 case "${host_os_name}" in
1035         openbsd* ) ;;
1036         * ) AMU_CHECK_FS_MNTENT(xfs) ;;
1037 esac
1038 AMU_CHECK_FS_MNTENT(efs)
1039 dnl new ones in bsd44
1040 AMU_CHECK_FS_MNTENT(null nullfs, nullfs)
1041 AMU_CHECK_FS_MNTENT(union unionfs, unionfs)
1042 AMU_CHECK_FS_MNTENT(umap umapfs, umapfs)
1044 dnl check for filesystem existence if their headers exist
1045 dnl AMU_CHECK_FS_HEADERS(cfs.h, cfs)
1046 AMU_CHECK_FS_HEADERS(hsfs/hsfs.h, cdfs)
1047 AMU_CHECK_FS_HEADERS(fs/udf/udf_mount.h, udf)
1048 AMU_CHECK_FS_HEADERS(tmpfs/tmp.h, tmpfs)
1049 AMU_CHECK_FS_HEADERS(fs/tmpfs/tmpfs_args.h, tmpfs)
1050 AMU_CHECK_FS_HEADERS(fs/efs/efs_mount.h, efs)
1051 AMU_CHECK_FS_HEADERS(sys/fs/autofs.h, autofs)
1052 AMU_CHECK_FS_HEADERS(sys/fs/cachefs_fs.h, cachefs)
1053 dnl AMU_CHECK_FS_HEADERS(jfs/jfsmount.h, ufs)
1054 dnl ======================================================================
1055 dnl AUTOMOUNTER FILESYSTEM TYPES
1056 AC_MSG_NOTICE(*** AUTOMOUNTER FILESYSTEM TYPES ***)
1057 AMU_CHECK_AMU_FS(auto, automounter)
1058 AMU_CHECK_AMU_FS(direct, direct automount)
1059 AMU_CHECK_AMU_FS(toplvl, top-level)
1060 AMU_CHECK_AMU_FS(error, error)
1061 dnl AMU_CHECK_AMU_FS(inherit, inheritance)
1062 AMU_CHECK_AMU_FS(program, program)
1063 AMU_CHECK_AMU_FS(link, symlink)
1064 AMU_CHECK_AMU_FS(linkx, symlink with existence check)
1065 AMU_CHECK_AMU_FS(host, host (nfs), nfs)
1066 AMU_CHECK_AMU_FS(nfsx, multi-nfs mount, nfs)
1067 AMU_CHECK_AMU_FS(nfsl, NFS with local existence check)
1068 AMU_CHECK_AMU_FS(union, union)
1069 dnl AMU_CHECK_AMU_FS(autofs, Sun AutoFS, autofs)
1070 dnl ======================================================================
1072 dnl *********
1073 AMU_SAVE_STATE
1074 dnl *********
1076 dnl ######################################################################
1077 dnl MOUNTING TYPES AND NAMES FOR MOUNTING TABLE
1078 dnl check for mount(2) type/name for filesystem (MNTTYPE_*, MOUNT_*)
1079 AC_MSG_NOTICE(*** MOUNTING TYPES ***)
1080 AMU_CHECK_MOUNT_TYPE(nfs)
1081 AMU_CHECK_MOUNT_TYPE(nfs3)
1082 AMU_CHECK_MOUNT_TYPE(ext3 ext2 ffs ufs 4.2 4.3 4.4 efs xfs jfs ultrix, ufs)
1083 AMU_CHECK_MOUNT_TYPE(xfs)
1084 AMU_CHECK_MOUNT_TYPE(efs)
1085 AMU_CHECK_MOUNT_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
1086 AMU_CHECK_MOUNT_TYPE(udf)
1087 AMU_CHECK_MOUNT_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
1088 AMU_CHECK_MOUNT_TYPE(mfs)
1089 AMU_CHECK_MOUNT_TYPE(tmpfs tmp, tmpfs)
1090 AMU_CHECK_MOUNT_TYPE(lofs lo, lofs)
1091 AMU_CHECK_MOUNT_TYPE(lfs)
1092 AMU_CHECK_MOUNT_TYPE(afs)
1093 AMU_CHECK_MOUNT_TYPE(autofs)
1094 AMU_CHECK_MOUNT_TYPE(tfs)
1095 AMU_CHECK_MOUNT_TYPE(cachefs)
1096 AMU_CHECK_MOUNT_TYPE(ignore)
1097 dnl new ones in bsd44
1098 AMU_CHECK_MOUNT_TYPE(null nullfs, nullfs)
1099 AMU_CHECK_MOUNT_TYPE(union unionfs, unionfs)
1100 AMU_CHECK_MOUNT_TYPE(umap umapfs, umapfs)
1101 dnl ######################################################################
1102 dnl check for mnttab name for filesystem
1103 AC_MSG_NOTICE(*** MOUNTING TABLE NAMES ***)
1104 AMU_CHECK_MNTTAB_TYPE(nfs)
1105 AMU_CHECK_MNTTAB_TYPE(nfs3)
1106 AMU_CHECK_MNTTAB_TYPE(ext3 ext2 ffs ufs 4.2 4.3 4.4 efs xfs jfs ultrix, ufs)
1107 AMU_CHECK_MNTTAB_TYPE(xfs)
1108 AMU_CHECK_MNTTAB_TYPE(efs)
1109 AMU_CHECK_MNTTAB_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
1110 AMU_CHECK_MNTTAB_TYPE(udf)
1111 AMU_CHECK_MNTTAB_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
1112 AMU_CHECK_MNTTAB_TYPE(mfs)
1113 AMU_CHECK_MNTTAB_TYPE(tmpfs tmp, tmpfs)
1114 AMU_CHECK_MNTTAB_TYPE(lofs lo, lofs)
1115 AMU_CHECK_MNTTAB_TYPE(lfs)
1116 AMU_CHECK_MNTTAB_TYPE(afs)
1117 AMU_CHECK_MNTTAB_TYPE(autofs)
1118 AMU_CHECK_MNTTAB_TYPE(tfs)
1119 AMU_CHECK_MNTTAB_TYPE(cachefs)
1120 dnl new ones in bsd44
1121 AMU_CHECK_MNTTAB_TYPE(null nullfs, nullfs)
1122 AMU_CHECK_MNTTAB_TYPE(union unionfs, unionfs)
1123 AMU_CHECK_MNTTAB_TYPE(umap umapfs, umapfs)
1124 dnl ======================================================================
1126 dnl *********
1127 AMU_SAVE_STATE
1128 dnl *********
1130 dnl ######################################################################
1131 dnl Mount Table option name strings like MNTOPT_*
1132 dnl if found, defines MNTTAB_OPT_*
1133 AC_MSG_NOTICE(*** MOUNT TABLE OPTION NAME STRINGS ***)
1134 AMU_CHECK_MNTTAB_OPTS(  \
1135         acdirmax        \
1136         acdirmin        \
1137         acregmax        \
1138         acregmin        \
1139         actimeo         \
1140         compress        \
1141         dev             \
1142         fsid            \
1143         grpid           \
1144         ignore          \
1145         intr            \
1146         longname        \
1147         maxgroups       \
1148         multi           \
1149         noac            \
1150         noauto          \
1151         noconn          \
1152         nocto           \
1153         nosub           \
1154         nosuid          \
1155         nowin95         \
1156         pgthresh        \
1157         port            \
1158         posix           \
1159         private         \
1160         proplist        \
1161         proto           \
1162         public          \
1163         retrans         \
1164         retry           \
1165         ro              \
1166         rsize           \
1167         rw              \
1168         shortname       \
1169         soft            \
1170         spongy          \
1171         suid            \
1172         symttl          \
1173         timeo           \
1174         vers            \
1175         wsize           \
1176         )
1177 dnl ======================================================================
1179 dnl *********
1180 AMU_SAVE_STATE
1181 dnl *********
1183 dnl ######################################################################
1184 dnl Generic mount(2) system call flags (hex/int numbers) like M_*/MS_*/MNT_*
1185 dnl if found, defines MNT2_GEN_OPT_*
1186 AC_MSG_NOTICE(*** GENERIC MOUNT(2) OPTIONS ***)
1187 AMU_CHECK_MNT2_GEN_OPTS(        \
1188         async           \
1189         automntfs       \
1190         bind            \
1191         cache           \
1192         data            \
1193         detach          \
1194         force           \
1195         fss             \
1196         grpid           \
1197         ignore          \
1198         jfs             \
1199         log             \
1200         multi           \
1201         newtype         \
1202         nfs             \
1203         noatime         \
1204         nocache         \
1205         nocoredump      \
1206         nodev           \
1207         nodevmtime      \
1208         noexec          \
1209         nomnttab        \
1210         nosub           \
1211         nosuid          \
1212         optionstr       \
1213         overlay         \
1214         quota           \
1215         rdonly          \
1216         ronly           \
1217         softdep         \
1218         sync            \
1219         synchronous     \
1220         symperm         \
1221         union           \
1222         )
1223 dnl ======================================================================
1225 dnl *********
1226 AMU_SAVE_STATE
1227 dnl *********
1229 dnl ######################################################################
1230 dnl NFS-specific mount(2) options (hex numbers) like NFSMNT_*/NFS_MOUNT_*
1231 AC_MSG_NOTICE(*** NFS-SPECIFIC MOUNT(2) OPTIONS ***)
1232 dnl if found, defines MNT2_NFS_OPT_*
1233 AMU_CHECK_MNT2_NFS_OPTS(        \
1234         acdirmax        \
1235         acdirmin        \
1236         acregmax        \
1237         acregmin        \
1238         auto            \
1239         deadthresh      \
1240         dumbtimr        \
1241         fsname          \
1242         grpid           \
1243         hostname        \
1244         ignore          \
1245         int             \
1246         intr            \
1247         kerb            \
1248         knconf          \
1249         leaseterm       \
1250         maxgrps         \
1251         nfsv3           \
1252         noac            \
1253         noconn          \
1254         nocto           \
1255         noint           \
1256         nonlm           \
1257         nqnfs           \
1258         pgthresh        \
1259         posix           \
1260         private         \
1261         proplist        \
1262         rdirplus        \
1263         readahead       \
1264         readdirsize     \
1265         resvport        \
1266         retrans         \
1267         ronly           \
1268         rsize           \
1269         soft            \
1270         spongy          \
1271         symttl          \
1272         tcp             \
1273         timeo           \
1274         ver3            \
1275         wsize           \
1276         xlatecookie     \
1277         )
1278 dnl ======================================================================
1280 dnl ######################################################################
1281 dnl CDFS-specific mount(2) options (hex numbers) like M_*
1282 AC_MSG_NOTICE(*** CDFS-SPECIFIC MOUNT(2) OPTIONS ***)
1283 dnl if found, defines MNT2_CDFS_OPT_*
1284 AMU_CHECK_MNT2_CDFS_OPTS(\
1285         defperm         \
1286         extatt          \
1287         gens            \
1288         nocasetrans     \
1289         nodefperm       \
1290         nojoliet        \
1291         norrip          \
1292         noversion       \
1293         rrcaseins       \
1294         rrip            \
1295         )
1296 dnl ======================================================================
1298 dnl ######################################################################
1299 dnl UDF-specific mount(2) options (hex numbers) like M_*
1300 AC_MSG_NOTICE(*** UDF-SPECIFIC MOUNT(2) OPTIONS ***)
1301 dnl if found, defines MNT2_UDF_OPT_*
1302 AMU_CHECK_MNT2_UDF_OPTS(\
1303         closesession    \
1304         )
1305 dnl ======================================================================
1307 dnl ######################################################################
1308 dnl PCFS-specific mount(2) options (hex numbers) like M_*
1309 AC_MSG_NOTICE(*** PCFS-SPECIFIC MOUNT(2) OPTIONS ***)
1310 dnl if found, defines MNT2_PCFS_OPT_*
1311 AMU_CHECK_MNT2_PCFS_OPTS(\
1312         longname        \
1313         nowin95         \
1314         shortname       \
1315         )
1316 dnl ======================================================================
1318 dnl *********
1319 AMU_SAVE_STATE
1320 dnl *********
1322 dnl ######################################################################
1323 dnl SYSTEM-SPECIFIC TESTS
1324 AC_MSG_NOTICE(*** SYSTEM-SPECIFIC TESTS ***)
1325 dnl ======================================================================
1326 dnl Mount table style
1327 AMU_CHECK_MNTTAB_STYLE
1328 AMU_CHECK_HIDE_MOUNT_TYPE
1329 AMU_CHECK_MNTTAB_LOCATION
1330 dnl -----------------------------------------------------------------------
1331 dnl check if has mnttab/mntent or in-kernel mount tables
1332 dnl this test must follow AMU_CHECK_MNTTAB_LOCATION and
1333 dnl     AMU_CHECK_MNT2_GEN_OPTS(nomnttab)
1334 if test "$ac_cv_have_struct_mnttab" != yes && test "$ac_cv_have_struct_mntent" != yes && test "$ac_cv_mnttab_location" = file
1335 then
1336 AC_MSG_ERROR(
1337 [No definition found for struct mnttab or struct mntent
1338 and this system stores its mount tables on files (not in kernel).
1339 This can be due to a misconfigured system, one for which am-utils
1340 was not ported to yet, or a bug in the am-utils sources.  Check
1341 config.log for details and report them to am-utils@am-utils.org please.])
1343 dnl -----------------------------------------------------------------------
1344 AMU_CHECK_MNTTAB_FILE_NAME
1345 AMU_CHECK_MOUNT_TRAP
1346 AMU_CHECK_MOUNT_STYLE
1347 AMU_CHECK_UMOUNT_STYLE
1348 AMU_CHECK_AUTOFS_STYLE
1349 AMU_CHECK_UNMOUNT_CALL
1350 AMU_CHECK_UNMOUNT_ARGS
1351 AMU_CHECK_NFS_SA_DREF
1352 AMU_CHECK_NFS_HN_DREF
1353 AMU_CHECK_NFS_FH_DREF
1354 AMU_CHECK_NFS_SOCKET_CONNECTION
1355 AMU_CHECK_CHECKMOUNT_STYLE
1356 AMU_CHECK_RESTARTABLE_SIGNAL_HANDLER
1357 AMU_CHECK_GNU_GETOPT
1358 dnl ======================================================================
1360 dnl ######################################################################
1361 dnl Check for tcpwrappers
1362 dnl This check is moved this far down because on modern tcpwrapper systems
1363 dnl such as openbsd, the caller must provide two symbols: deny_severity and
1364 dnl allow_severity, which determine the logging level of rejected and
1365 dnl requested requests, respectively.  If this check happens too early, then
1366 dnl $LIBS includes -lwrap, which causes many subsequent tests to fail with
1367 dnl missing symbols.
1368 AC_CHECK_LIB(wrap, hosts_ctl,
1370 AC_DEFINE(HAVE_LIBWRAP)
1371 WRAPLIB="-lwrap"
1373 dnl replace value of WRAPLIB in specific Makefiles
1374 AC_SUBST(WRAPLIB)
1375 dnl next, check if libwrap defines allow/deny_severity or expects the caller to define it
1376 if test "$ac_cv_lib_wrap_hosts_ctl" = "yes"
1377 then
1378 AMU_CHECK_LIBWRAP_SEVERITY
1380 dnl ======================================================================
1382 dnl *********
1383 AMU_SAVE_STATE
1384 dnl *********
1386 dnl ######################################################################
1387 dnl output files
1388 AC_MSG_NOTICE(*** OUTPUT FILES ***)
1389 dnl The am_utils_link_files variable is set in macros in aclocal.m4
1390 AC_CONFIG_LINKS(${am_utils_link_files})
1391 dnl ==========================================================================
1392 dnl This is necessary so that .o files in LIBOBJS are also built via
1393 dnl the ANSI2KNR-filtering rules.
1394 LIB@&t@OBJS=`echo "$LIB@&t@OBJS" |
1395                 sed 's,\.[[^.]]* ,$U&,g;s,\.[[^.]]*$,$U&,'`
1396 LTLIBOBJS=`echo "$LIB@&t@OBJS" |
1397                 sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'`
1398 AC_SUBST(LTLIBOBJS)
1399 dnl XXX: next two lines are temp hack until automake newer than 1.4 comes out
1400 AMU_LIB_OBJS="${LTLIBOBJS}"
1401 AC_SUBST(AMU_LIB_OBJS)
1402 dnl for Makefile rule to regenerate libtool
1403 AC_SUBST(LIBTOOL_DEPS)
1404 dnl ==========================================================================
1405 AC_CONFIG_FILES(                        \
1406         aux_conf.h                      \
1407         \
1408         Makefile                        \
1409         amd/Makefile                    \
1410         amq/Makefile                    \
1411         \
1412         fixmount/Makefile               \
1413         fsinfo/Makefile                 \
1414         hlfsd/Makefile                  \
1415         libamu/Makefile                 \
1416         mk-amd-map/Makefile             \
1417         wire-test/Makefile              \
1418         \
1419         scripts/Makefile                \
1420         doc/Makefile                    \
1421         \
1422         scripts/am-eject                \
1423         scripts/amd2ldif                \
1424         scripts/amd2sun                 \
1425         scripts/automount2amd           \
1426         scripts/ctl-amd                 \
1427         scripts/ctl-hlfsd               \
1428         scripts/expn                    \
1429         scripts/fix-amd-map             \
1430         scripts/fixrmtab                \
1431         scripts/lostaltmail             \
1432         scripts/redhat-ctl-amd          \
1433         scripts/test-attrcache          \
1434         scripts/wait4amd                \
1435         scripts/wait4amd2die            \
1436         )
1437 AC_OUTPUT
1438 # chmod some scripts that are built but not installed
1439 test -f scripts/test-attrcache && chmod +x scripts/test-attrcache
1440 dnl ======================================================================
1442 dnl ######################################################################
1443 AC_MSG_NOTICE(*** END OF CONFIGURATION ***)
1444 dnl end of configure.in for am-utils-6.x