aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac1511
1 files changed, 1511 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000000..3d1bb00c3b9a
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,1511 @@
+dnl configure.in file for am-utils-6.x
+dnl Contains general GNU-autoconf macros.
+dnl Author: Erez Zadok <ezk AT cs.sunysb.edu>
+dnl
+dnl ######################################################################
+dnl UNCOMMENT THE NEXT FEW LINES FOR DEBUGGING CONFIGURE
+dnl define([AC_CACHE_LOAD], )dnl
+dnl define([AC_CACHE_SAVE], )dnl
+dnl ======================================================================
+
+dnl ######################################################################
+dnl INITIALIZATION
+dnl AC_INIT
+dnl new init style: PACKAGE, VERSION, BUG-REPORTING-ADDRESS
+AC_INIT([am-utils],
+ sinclude([vers.m4]),
+ [https://bugzilla.am-utils.org/ or am-utils@am-utils.org])
+AC_MSG_NOTICE(*** INITIALIZATION ***)
+AC_CONFIG_SRCDIR([amd/amd.c])
+AC_CONFIG_MACRO_DIR([m4/macros])
+AM_CONFIG_HEADER(config.h)
+AH_TOP([
+/*
+ * Start of am-utils-6.x config.h file.
+ * Erez Zadok <ezk AT cs.sunysb.edu>
+ *
+ * DO NOT EDIT BY HAND.
+ * Note: generated by autoheader from configure.in.
+ */
+
+#ifndef _CONFIG_H
+#define _CONFIG_H
+])
+dnl add actual "#undef" commands into m4/macros/header_templates.m4
+AH_BOTTOM([
+/****************************************************************************/
+/*** INCLUDE localconfig.h if it exists, to allow users to make some ***/
+/*** compile time configuration changes. ***/
+/****************************************************************************/
+/* does a local configuration file exist? */
+#undef HAVE_LOCALCONFIG_H
+#ifdef HAVE_LOCALCONFIG_H
+# include <localconfig.h>
+#endif /* HAVE_LOCALCONFIG_H */
+
+#endif /* not _CONFIG_H */
+
+/*
+ * Local Variables:
+ * mode: c
+ * End:
+ */
+
+/* End of am-utils-6.x config.h file */
+])
+dnl
+dnl AC_CONFIG_AUX_DIR(m4)
+AC_PREREQ(2.52)
+AC_REVISION($Revision: 1.134 $)
+AC_COPYRIGHT([Copyright (c) 1997-2011 Erez Zadok])
+dnl find out system type
+AC_MSG_NOTICE(*** SYSTEM TYPES ***)
+dnl run by libtool, but must be kept here because HOST_MACROS depends on it
+AC_CANONICAL_HOST
+AMU_HOST_MACROS
+dnl ======================================================================
+
+dnl ######################################################################
+dnl PACKAGE NAME AND VERSION
+AC_MSG_NOTICE(*** PACKAGE NAME AND VERSION ***)
+AMU_PACKAGE_NAME($PACKAGE_NAME)
+AMU_PACKAGE_VERSION($PACKAGE_VERSION)
+AMU_PACKAGE_BUGREPORT($PACKAGE_BUGREPORT)
+AM_INIT_AUTOMAKE
+dnl SET (shared) library version. Update it only before major release!
+dnl Clarification:
+dnl The major number should change when an incompatible change is made to
+dnl the API; the minor number should change when an API is added; the patch
+dnl level should change when an internal implementation change is made that
+dnl does not affect the API.
+dnl
+dnl In other words: if the major changes, the library is incompatible with
+dnl older ones; if the minor changes, the library is backwards compatible
+dnl with libraries using the same major; if the patchlevel changes, the
+dnl library is backward and forward compatible with libraries using the same
+dnl major and minor.
+dnl
+dnl For sanity, the lower numbers should be set to 0 when a higher number
+dnl is changed.
+dnl last version info was 3:2:1 (am-utils-6.0.2)
+dnl last version info was 4:0:2 (am-utils-6.0.3)
+dnl last version info was 4:1:2 (am-utils-6.0.4)
+dnl last version info was 3:0:0 (am-utils-6.1, should have been updated)
+dnl
+dnl We increase the major number for am-utils-6.1, because it has new API's
+dnl and removes some old API's.
+LIBTOOL_LDFLAGS="-version-info 4:0:0"
+AC_SUBST(LIBTOOL_LDFLAGS)
+dnl ======================================================================
+
+dnl ######################################################################
+dnl ALTERNATIVE PROGRAMS
+dnl Part 1: these are required before "unix variants"
+dnl ======================================================================
+dnl Particular Program Checks
+AC_MSG_NOTICE(*** PARTICULAR PROGRAMS (part 1) ***)
+dnl AC-PROG-LIBTOOL will run this, but we need this to squelch warnings
+dnl from autoconf about AMU_TRY_COMPILE running before AC_AIX/AC_ISC_POSIX
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_CC_C_O
+AC_PROG_GCC_TRADITIONAL
+AC_PROG_MAKE_SET
+AC_ISC_POSIX
+AC_AIX
+dnl XXX: available in autoconf-2.14
+dnl AC_PROG_CC_STDC
+dnl ======================================================================
+
+dnl ######################################################################
+dnl OPTION PROCESSING
+AC_MSG_NOTICE(*** OPTION PROCESSING ***)
+dnl Do we want LDAP support ?
+AMU_WITH_ADDON(ldap, LDAP)
+dnl Do we want HESIOD support ?
+AMU_WITH_ADDON(hesiod, HESIOD)
+dnl Do we want NDBM support ?
+AMU_WITH_ADDON(ndbm, NDBM)
+dnl Debugging options (yes, mem, or no)
+AMU_OPT_DEBUG
+dnl additional preprocessor options for configuration/compilation
+AMU_OPT_CPPFLAGS
+dnl additional linker -l options for configuration/compilation
+AMU_OPT_LIBS
+dnl additional linker -L options for configuration/compilation
+AMU_OPT_LDFLAGS
+dnl Which options to add to CFLAGS for compilation only?
+AMU_OPT_AMU_CFLAGS
+dnl check if a local configuration file exists
+AMU_LOCALCONFIG
+dnl turn off maintainer-mode Makefile rules, unless using --enable-maintainer-mode
+AM_MAINTAINER_MODE
+dnl ======================================================================
+
+dnl ######################################################################
+AC_MSG_NOTICE(*** LIBTOOL ***)
+dnl my version of prog_libtool will not build shared by default
+dnl AM_PROG_LIBTOOL2
+dnl build static libraries by default
+AC_DISABLE_SHARED
+dnl XXX: for autoconf-2.14: use AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL
+case ${host_os} in
+ # Temporarily undo renaming of "linux-gnu" to "linux", because
+ # libtool only looks for "linux-gnu". Sigh.
+ linux ) host_os=linux-gnu ;;
+esac
+dnl this line must appear only once and on its own line
+dnl (hence the double case statements above and below)
+AC_PROG_LIBTOOL
+case ${host_os} in
+ # end temporary renaming of "linux-gnu" to "linux"
+ linux-gnu ) host_os=linux ;;
+esac
+dnl ======================================================================
+
+dnl ######################################################################
+dnl ADDITIONAL OPTION PROCESSING (must be done after CC is defined)
+AC_MSG_NOTICE(*** EXTRA OPTION PROCESSING ***)
+AMU_OS_CPPFLAGS
+AMU_OS_CFLAGS
+AMU_OS_LDFLAGS
+dnl ======================================================================
+
+dnl ######################################################################
+dnl Some of these macros must be called before any call to the C compiler
+AC_MSG_NOTICE(*** UNIX VARIANTS ***)
+dnl UNIX VARIANTS
+dnl AC_AIX
+dnl AC_ISC_POSIX
+AMU_LINUX_HEADERS
+dnl ======================================================================
+
+dnl ######################################################################
+dnl ALTERNATIVE PROGRAMS
+dnl Part 2: these are required after "unix variants"
+dnl ======================================================================
+dnl Particular Program Checks (part 2)
+AC_MSG_NOTICE(*** PARTICULAR PROGRAMS (part 2) ***)
+AC_PROG_INSTALL
+dnl the next two are run or supported natively by libtool
+dnl AC_PROG_LN_S
+dnl AC_PROG_RANLIB
+dnl AC_PROG_YACC
+AMU_PROG_YACC
+AMU_PROG_LEX
+dnl I have to keep a unused dummy AM_PROG_LEX here, because old Automake
+dnl (1.6.3) looks for it if you refer to LEX in your Makefile.am files.
+dnl Silly thing, fixed in newer versions of Automake (1.9.2).
+if test 0 != 0 ; then
+AM_PROG_LEX
+fi
+
+dnl ======================================================================
+dnl Generic Program Checks
+AC_MSG_NOTICE(*** GENERIC PROGRAMS ***)
+AC_PATH_PROGS(AR, ar, :)
+AC_PATH_PROGS(PERL, perl5 perl4 perl, /usr/bin/perl)
+AC_PATH_PROGS(UNMOUNT_PROGRAM, umount unmount, /bin/umount)
+dnl ======================================================================
+
+dnl ######################################################################
+dnl LIBRARY FILES
+dnl ======================================================================
+dnl Note that the configuration order of libraries is in reverse of linkage
+dnl for example, linking of the first two is -lc -lnsl.
+AC_MSG_NOTICE(*** LIBRARY FILES ***)
+
+dnl libnsl/libsocket are needed only on solaris and some svr4 systems.
+dnl Using a typical macro has proven unsuccesful, because on some other
+dnl systems such as irix, including libnsl and or libsocket actually breaks
+dnl lots of code. So I am forced to use a special purpose macro that sets
+dnl the libraries based on the OS. Sigh. -Erez.
+AMU_CHECK_OS_LIBS
+
+dnl librpc and librpcsvc are needed on Solaris
+AC_CHECK_LIB(rpc, clnt_sperrno)
+AC_CHECK_LIB(rpcsvc, xdr_fhandle)
+dnl libresolv is needed on Solaris/HPUX-11 for hstrerror()
+AC_CHECK_FUNC(hstrerror,,AC_CHECK_LIB(resolv, hstrerror))
+dnl Linux RedHat 5.1 puts yp functions only in libnsl (libnsl broken on aix)
+AC_CHECK_FUNC(yp_all,,AC_CHECK_LIB(nsl, yp_all))
+
+dnl hesiod library may not link unless libresolv is included
+if test "$with_hesiod" = "yes"; then
+AMU_CHECK_LIB2(hesiod, hes_init,,, -lresolv)
+fi
+if test "$with_ldap" = "yes"; then
+AMU_CHECK_LIB2(ldap, ldap_open,,, -llber)
+AC_CHECK_FUNCS(ldap_enable_cache)
+fi
+
+dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt
+dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt,
+dnl so only use one of them
+case "$ac_cv_opt_debug" in
+yes | mem )
+ AC_CHECK_LIB(rt, clock_gettime,, AC_CHECK_LIB(posix4, clock_gettime))
+ ;;
+esac
+
+dnl ######################################################################
+dnl LIBRARY FUNCTIONS
+dnl ======================================================================
+dnl Particular Function Checks
+AC_MSG_NOTICE(*** PARTICULAR LIBRARY FUNCTIONS ***)
+dnl AC_FUNC_ALLOCA
+dnl This GETMNTENT test will add -lgen to LIBS if needed. We may need it
+dnl if we have to build am-utils on Irix 4, PTX, or Unixware.
+dnl AC_FUNC_GETMNTENT
+AMU_FUNC_BAD_MEMCMP
+AMU_FUNC_BAD_YP_ALL
+AC_FUNC_FORK([])
+AC_FUNC_WAIT3
+AC_FUNC_GETPGRP
+AC_FUNC_SETPGRP
+dnl if you get AIX link error related to rpl_malloc, turn off next test
+dnl AC_FUNC_MALLOC
+dnl ======================================================================
+dnl Generic Function Checks
+AC_MSG_NOTICE(*** GENERIC LIBRARY FUNCTIONS ***)
+AC_CHECK_FUNCS( \
+ __rpc_get_local_uid \
+ __seterr_reply \
+ _seterr_reply \
+ bcmp \
+ bcopy \
+ bzero \
+ clnt_create \
+ clnt_create_vers \
+ clnt_create_vers_timed \
+ clnt_spcreateerror \
+ clock_gettime \
+ cnodeid \
+ dg_mount \
+ flock \
+ fsmount \
+ get_myaddress \
+ getccent \
+ getcwd \
+ getdomainname \
+ getdtablesize \
+ gethostname \
+ getifaddrs \
+ getmntinfo \
+ getmountent \
+ getpagesize \
+ gettimeofday \
+ hasmntopt \
+ hstrerror \
+ madvise \
+ memcmp \
+ memcpy \
+ memmove \
+ memset \
+ mkdir \
+ mkstemp \
+ mntctl \
+ mlockall \
+ mount \
+ mountsyscall \
+ plock \
+ regcomp \
+ regexec \
+ rmdir \
+ select \
+ seteuid \
+ setitimer \
+ setresuid \
+ setsid \
+ sigaction \
+ signal \
+ sigsuspend \
+ socket \
+ statfs \
+ statvfs \
+ strcasecmp \
+ strchr \
+ strcspn \
+ strdup \
+ strerror \
+ strlcat \
+ strlcpy \
+ strspn \
+ strstr \
+ svc_getreq \
+ svc_getreqset \
+ sysfs \
+ syslog \
+ uname \
+ umount \
+ umount2 \
+ unmount \
+ uvmount \
+ vfork \
+ vfsmount \
+ vmount \
+ vsnprintf \
+ wait3 \
+ waitpid \
+ )
+dnl optional functions
+if test "$with_hesiod" = "yes"; then
+AC_CHECK_FUNCS( \
+ hes_init \
+ hesiod_init \
+ hesiod_reload \
+ hesiod_to_bind \
+ )
+fi
+AC_REPLACE_FUNCS( \
+ clnt_sperrno \
+ hasmntopt \
+ strcasecmp \
+ strdup \
+ strerror \
+ strlcat \
+ strlcpy \
+ strstr \
+ ualarm \
+ )
+dnl all xdr_* functions are implemented in libamu/xdr_func.c
+AC_CHECK_FUNCS( \
+ xdr_attrstat \
+ xdr_createargs \
+ xdr_dirlist \
+ xdr_diropargs \
+ xdr_diropokres \
+ xdr_diropres \
+ xdr_dirpath \
+ xdr_entry \
+ xdr_exportnode \
+ xdr_exports \
+ xdr_fattr \
+ xdr_fhandle \
+ xdr_fhstatus \
+ xdr_filename \
+ xdr_ftype \
+ xdr_groupnode \
+ xdr_groups \
+ xdr_linkargs \
+ xdr_mountbody \
+ xdr_mountlist \
+ xdr_name \
+ xdr_nfs_fh \
+ xdr_nfscookie \
+ xdr_nfspath \
+ xdr_nfsstat \
+ xdr_nfstime \
+ xdr_pointer \
+ xdr_u_int64_t \
+ xdr_readargs \
+ xdr_readdirargs \
+ xdr_readdirres \
+ xdr_readlinkres \
+ xdr_readokres \
+ xdr_readres \
+ xdr_renameargs \
+ xdr_sattr \
+ xdr_sattrargs \
+ xdr_statfsokres \
+ xdr_statfsres \
+ xdr_symlinkargs \
+ xdr_writeargs \
+ )
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl HEADER FILES
+dnl ======================================================================
+dnl Particular Header Checks
+AC_MSG_NOTICE(*** PARTICULAR HEADER FILES ***)
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+dnl ======================================================================
+dnl Generic Header Checks
+AC_MSG_NOTICE(*** GENERIC HEADER FILES ***)
+AC_CHECK_HEADERS( \
+ arpa/nameser.h \
+ arpa/inet.h \
+ bsd/rpc/rpc.h \
+ cdfs/cdfsmount.h \
+ cdfs/cdfs_mount.h \
+ fs/udf/udf_mount.h \
+ db1/ndbm.h \
+ fs/efs/efs_mount.h \
+ fs/msdosfs/msdosfsmount.h \
+ fs/tmpfs/tmpfs_args.h \
+ gdbm/ndbm.h \
+ hsfs/hsfs.h \
+ linux/fs.h \
+ linux/kdev_t.h \
+ linux/list.h \
+ linux/nfs.h \
+ linux/nfs2.h \
+ linux/nfs4.h \
+ linux/posix_types.h \
+ linux/socket.h \
+ machine/endian.h \
+ net/errno.h \
+ net/if_var.h \
+ netinet/in.h \
+ nfs/export.h \
+ nfs/mount.h \
+ nfs/nfs_gfs.h \
+ nfs/nfs_mount.h \
+ nfs/nfsmount.h \
+ nfs/nfsproto.h \
+ nfs/nfsv2.h \
+ nfs/pathconf.h \
+ nfs/rpcv2.h \
+ nfsclient/nfsargs.h \
+ rpc/rpc.h \
+ rpc/types.h \
+ rpcsvc/autofs_prot.h \
+ rpcsvc/mount.h \
+ rpcsvc/mountv3.h \
+ rpcsvc/nfs_prot.h \
+ rpcsvc/nis.h \
+ rpcsvc/ypclnt.h \
+ sys/config.h \
+ sys/dg_mount.h \
+ sys/dir.h \
+ sys/errno.h \
+ sys/file.h \
+ sys/fs/autofs.h \
+ sys/fs/autofs_prot.h \
+ sys/fs/cachefs_fs.h \
+ sys/fs/efs_clnt.h \
+ sys/fs/nfs.h \
+ sys/fs/nfs/mount.h \
+ sys/fs/nfs/nfs_clnt.h \
+ sys/fs/nfs_clnt.h \
+ sys/fs/pc_fs.h \
+ sys/fs/tmp.h \
+ sys/fs/ufs_mount.h \
+ sys/fs/xfs_clnt.h \
+ sys/fs_types.h \
+ sys/fsid.h \
+ sys/fstyp.h \
+ sys/ioctl.h \
+ sys/immu.h \
+ sys/lock.h \
+ sys/machine.h \
+ sys/mman.h \
+ sys/mntctl.h \
+ sys/mntent.h \
+ sys/mnttab.h \
+ sys/mount.h \
+ sys/ndir.h \
+ sys/netconfig.h \
+ sys/param.h \
+ sys/pathconf.h \
+ sys/resource.h \
+ sys/sema.h \
+ sys/signal.h \
+ sys/socket.h \
+ sys/sockio.h \
+ sys/stat.h \
+ sys/statfs.h \
+ sys/statvfs.h \
+ sys/syscall.h \
+ sys/syslimits.h \
+ sys/syslog.h \
+ sys/time.h \
+ sys/tiuser.h \
+ sys/types.h \
+ sys/ucred.h \
+ sys/uio.h \
+ sys/utsname.h \
+ sys/vfs.h \
+ sys/vmount.h \
+ sys/vnode.h \
+dnl sys/wait.h \
+ ufs/ufs/extattr.h \
+ ufs/ufs/ufsmount.h \
+ ufs/ufs_mount.h \
+ \
+ assert.h \
+dnl cfs.h \
+ cluster.h \
+ ctype.h \
+dnl dirent.h \
+ errno.h \
+ fcntl.h \
+ ifaddrs.h \
+ irs.h \
+ grp.h \
+ libgen.h \
+ limits.h \
+ malloc.h \
+ memory.h \
+ mntent.h \
+ mnttab.h \
+ mount.h \
+ ndbm.h \
+ ndir.h \
+ netconfig.h \
+ netdb.h \
+ netdir.h \
+ nsswitch.h \
+ pwd.h \
+ regex.h \
+ setjmp.h \
+ signal.h \
+ socketbits.h \
+ statbuf.h \
+ stdarg.h \
+ stdlib.h \
+ stdio.h \
+ string.h \
+ strings.h \
+ syslog.h \
+ tcpd.h \
+ time.h \
+ tiuser.h \
+ varargs.h \
+ unistd.h \
+ )
+dnl headers that likely have dependencies
+AC_CHECK_HEADERS([ \
+ net/if.h \
+ net/route.h \
+ nfs/nfs_clnt.h \
+], [], [],
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif /* HAVE_SYS_SOCKET_H */
+])
+
+dnl optional headers
+if test "$with_ldap" = "yes"; then
+AC_CHECK_HEADERS( \
+ lber.h \
+ ldap.h \
+ )
+fi
+if test "$with_hesiod" = "yes"; then
+AC_CHECK_HEADERS( \
+ hesiod.h \
+ )
+fi
+dnl headers which depend on others, else you get an configure error
+AC_CHECK_HEADERS([ \
+ isofs/cd9660/cd9660_mount.h \
+ msdosfs/msdosfsmount.h \
+ netinet/if_ether.h \
+ nfs/nfs.h \
+ rpc/auth.h \
+ rpc/auth_des.h \
+ rpc/pmap_clnt.h \
+ rpc/pmap_prot.h \
+ rpcsvc/yp_prot.h \
+ sys/mbuf.h \
+ sys/proc.h \
+ resolv.h \
+], [], [],
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif /* HAVE_SYS_SOCKET_H */
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif /* HAVE_SYS_PARAM_H */
+#ifdef HAVE_SYS_QUEUE_H
+# include <sys/queue.h>
+#endif /* HAVE_SYS_QUEUE_H */
+#ifdef HAVE_NET_IF_H
+# include <net/if.h>
+#endif /* HAVE_NET_IF_H */
+#ifdef HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif /* HAVE_NETINET_IN_H */
+#ifdef HAVE_SYS_MOUNT_H
+# include <sys/mount.h>
+#endif /* HAVE_SYS_MOUNT_H */
+#ifdef HAVE_NFS_NFSMOUNT_H
+# include <nfs/nfsmount.h>
+#endif /* HAVE_NFS_NFSMOUNT_H */
+#ifdef HAVE_RPC_TYPES_H
+# include <rpc/types.h>
+#endif /* HAVE_RPC_TYPES_H */
+#ifdef HAVE_RPC_RPC_H
+# include <rpc/rpc.h>
+#endif /* HAVE_RPC_RPC_H */
+#ifdef HAVE_NFS_RPCV2_H
+# include <nfs/rpcv2.h>
+#endif /* HAVE_NFS_RPCV2_H */
+])
+AC_CHECK_HEADERS([ \
+ linux/auto_fs.h \
+ linux/auto_fs4.h \
+ linux/loop.h \
+], [], [],
+[
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif /* HAVE_SYS_SOCKET_H */
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif /* HAVE_LIMITS_H */
+#ifdef HAVE_LINUX_POSIX_TYPES_H
+# include <linux/posix_types.h>
+#endif /* HAVE_LINUX_POSIX_TYPES_H */
+/* next dev_t lines needed due to changes in kernel code */
+#undef dev_t
+#define dev_t unsigned short /* compatible with Red Hat and SuSE */
+])
+dnl even more special checks for Linux nfs headers
+AC_CHECK_HEADERS([ \
+ linux/nfs_mount.h \
+], [], [],
+[
+/*
+ * Needed to find nfs2_fh and nfs_fh on older systems (yellowdog2.3, gentoo,
+ * etc.)
+ * Needs to be defined before <asm/types.h> so u32 is available for
+ * <linux/sunrpc/msg_prot.h>.
+ */
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+/*
+ * It used to be the case that linux/socket.h would define sa_family_t,
+ * but as of FC15, this is not the case anymore (although the comments
+ * in some headers say that is true! So we include <sys/socket.h> too.
+ */
+#ifdef HAVE_LINUX_SOCKET_H
+# include <linux/socket.h>
+#endif /* HAVE_LINUX_SOCKET_H */
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif /* HAVE_SYS_SOCKET_H */
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif /* HAVE_LIMITS_H */
+#ifdef HAVE_LINUX_POSIX_TYPES_H
+# include <linux/posix_types.h>
+#endif /* HAVE_LINUX_POSIX_TYPES_H */
+#ifdef HAVE_LINUX_NFS2_H
+# if !defined(FHSIZE) && defined(NFS2_FHSIZE)
+# define FHSIZE NFS2_FHSIZE
+# endif
+#ifdef HAVE_LINUX_NFS_H
+# include <linux/nfs.h>
+# if !defined(FHSIZE) && defined(NFS_FHSIZE)
+# define FHSIZE NFS_FHSIZE
+# endif
+#endif
+struct nfs2_fh {
+ char data[[FHSIZE]];
+};
+# define _LINUX_NFS2_H
+#endif /* HAVE_LINUX_NFS2_H */
+/* next dev_t lines needed due to changes in kernel code */
+#undef dev_t
+#define dev_t unsigned short /* compatible with Red Hat and SuSE */
+])
+
+dnl ======================================================================
+dnl db/ndbm/gdbm: This is serious autoconf-fu...
+dnl ======================================================================
+if test "$with_ndbm" = "yes"
+then
+if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_ndbm_h" = "yes"; then
+ AC_CHECK_LIB(ndbm, dbm_open,
+dnl some systems replaced old ndbm.h include with GNU ndbm.h, which requires
+dnl libgdbm for dbm_pagfno, so check for this.
+ AC_CHECK_LIB(ndbm, dbm_pagfno, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="ndbm",
+ AC_CHECK_LIB(gdbm, dbm_pagfno, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="ndbm -lgdbm")))
+fi
+dnl check if dbm_open is part of libc
+if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_ndbm_h" = "yes"; then
+ AC_CHECK_LIB(c, dbm_open, ac_cv_header_new_dbm="ndbm.h"; ac_cv_lib_new_dbm="c")
+fi
+if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_db1_ndbm_h" = "yes"; then
+ AC_CHECK_LIB(db1, dbm_open, ac_cv_header_new_dbm="db1/ndbm.h"; ac_cv_lib_new_dbm="db1")
+fi
+dnl nasty workaround: <gdbm/ndbm.h> and <gdbm-ndbm.h> map to the same ac_cv_ variable name
+if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_gdbm_ndbm_h" = "yes"; then
+ AC_CHECK_LIB(gdbm, dbm_open, ac_cv_header_new_dbm="gdbm/ndbm.h"; ac_cv_lib_new_dbm="gdbm")
+else
+ # reset any previous knowledge and retest for different header name
+ # check also gdbm_compat library (Debian 3.1)
+ unset ac_cv_header_gdbm_ndbm_h
+ AC_CHECK_HEADERS(gdbm-ndbm.h)
+ if test "$ac_cv_lib_new_dbm" = "" -a "$ac_cv_header_gdbm_ndbm_h" = "yes"; then
+ AC_CHECK_LIB(gdbm, dbm_open, ac_cv_header_new_dbm="gdbm-ndbm.h"; ac_cv_lib_new_dbm="gdbm",
+ AC_CHECK_LIB(gdbm_compat, dbm_open, ac_cv_header_new_dbm="gdbm-ndbm.h"; ac_cv_lib_new_dbm="gdbm -lgdbm_compat")
+ )
+ fi
+fi
+if test "$ac_cv_header_new_dbm" != "" -a "$ac_cv_lib_new_dbm" != ""; then
+ AC_DEFINE_UNQUOTED(NEW_DBM_H, "$ac_cv_header_new_dbm")
+dnl don't bother adding "-lc" when it's the default anyway
+ if test "$ac_cv_lib_new_dbm" != "c" ; then
+ LIBS="-l$ac_cv_lib_new_dbm $LIBS"
+ fi
+fi
+fi
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl STRUCTURES
+AC_MSG_NOTICE(*** PARTICULAR STRUCTURES ***)
+AC_HEADER_STAT
+AC_HEADER_TIME
+AC_STRUCT_TM
+dnl ======================================================================
+AC_MSG_NOTICE(*** GENERIC STRUCTURES ***)
+dnl before any use of macros that need nfs/mount headers, must define O/S
+dnl specific header to include.
+AMU_CHECK_NFS_PROT_HEADERS
+AMU_STRUCT_MNTENT
+AMU_STRUCT_MNTTAB
+dnl -----------------------------------------------------------------------
+dnl check for bad hasmntopt() function after struct mntent/mnttab
+dnl but only if hasmntopt() is actually defined.
+if test $ac_cv_func_hasmntopt = yes
+then
+ AMU_FUNC_BAD_HASMNTOPT
+fi
+dnl -----------------------------------------------------------------------
+AMU_STRUCT_NFS_ARGS
+AMU_STRUCT_NFS_GFS_MOUNT
+dnl -----------------------------------------------------------------------
+dnl cannot proceed if struct nfs_args/gfs_mount is not found!
+if test "$ac_cv_have_struct_nfs_args" = notfound && test "$ac_cv_have_struct_nfs_gfs_mount" = no
+then
+AC_MSG_ERROR(
+[Cannot find any definition for struct nfs_args!
+This can be due to several reasons: a misconfigured system, a system that is
+missing some vital NFS-related headers or libraries, one for which am-utils
+was not ported to yet, or even a bug in the am-utils sources. Check the
+BUGS file in this distribution and see if there is any mention relevant to
+your system. If that does not help, check the config.log and config.cache
+files in this build for details and report them to
+https://bugzilla.am-utils.org/ or am-utils@am-utils.org please.
+])
+fi
+dnl -----------------------------------------------------------------------
+dnl NFS related tests need to happen earlier: many things depend on them
+AMU_STRUCT_FIELD_NFS_FH
+AMU_STRUCT_NFS_FH
+AMU_STRUCT_NFS_FH3
+AMU_CHECK_FS_MNTENT(nfs3)
+AMU_CHECK_FS_MNTENT(nfs4)
+dnl ======================================================================
+
+dnl -----------------------------------------------------------------------
+dnl Lustre related tests
+AMU_CHECK_FS_MNTENT(lustre)
+
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl TYPEDEFS
+dnl ======================================================================
+dnl Particular Typedef Checks
+AC_MSG_NOTICE(*** PARTICULAR TYPEDEFS ***)
+AC_TYPE_GETGROUPS
+AC_TYPE_MODE_T
+AC_TYPE_PID_T
+AC_TYPE_SIGNAL
+AC_TYPE_SIZE_T
+AC_TYPE_UID_T
+dnl ======================================================================
+dnl Generic Typedef Checks
+AC_MSG_NOTICE(*** GENERIC TYPEDEFS ***)
+AMU_TYPE_TIME_T
+AMU_TYPE_RPCVERS_T
+case "${host_os}" in
+ irix6* )
+AMU_TYPE_PTE_T
+ ;;
+esac
+AMU_CHECK_FHANDLE
+AMU_CHECK_MTYPE_TYPE
+AMU_CHECK_MTYPE_PRINTF_TYPE
+AMU_TYPE_YP_ORDER_OUTORDER
+AMU_TYPE_RECVFROM_FROMLEN
+AMU_TYPE_AUTH_CREATE_GIDLIST
+AMU_TYPE_SVC_IN_ARG
+AMU_TYPE_AUTOFS_ARGS
+AMU_TYPE_CACHEFS_ARGS
+AMU_TYPE_CDFS_ARGS
+AMU_TYPE_UDF_ARGS
+AMU_TYPE_LOFS_ARGS
+AMU_TYPE_MFS_ARGS
+AMU_TYPE_PCFS_ARGS
+AMU_TYPE_RFS_ARGS
+AMU_TYPE_TMPFS_ARGS
+AMU_TYPE_UFS_ARGS
+AMU_TYPE_XFS_ARGS
+AMU_TYPE_EFS_ARGS
+AMU_TYPE_XDRPROC_T
+dnl ======================================================================
+
+dnl ######################################################################
+dnl Particular Compiler Characteristics
+AC_MSG_NOTICE(*** PARTICULAR COMPILER CHARACTERISTICS ***)
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_C_INLINE
+AC_C_VOLATILE
+dnl AC_CHECK_SIZEOF(void *, 0)
+dnl ======================================================================
+dnl Generic Compiler Characteristics
+AC_MSG_NOTICE(*** GENERIC COMPILER CHARACTERISTICS ***)
+AMU_C_VOID_P
+AMU_VARARGS_MACROS
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+AC_MSG_NOTICE(*** EXTERNAL DEFINITIONS ***)
+AMU_EXTERN_SYS_ERRLIST
+AMU_EXTERN_OPTARG
+AMU_CHECK_EXTERNS(
+ clnt_spcreateerror \
+ clnt_sperrno \
+ free \
+ get_myaddress \
+ getccent \
+ getdomainname \
+ getdtablesize \
+ gethostname \
+ getlogin \
+ getpagesize \
+ getwd \
+ hosts_ctl \
+ innetgr \
+ mkstemp \
+ mntctl \
+ sbrk \
+ seteuid \
+ setitimer \
+ sleep \
+ strcasecmp \
+ strdup \
+ strlcat \
+ strlcpy \
+ strstr \
+ ualarm \
+ usleep \
+ wait3 \
+ vsnprintf \
+ xdr_callmsg \
+ xdr_opaque_auth \
+ )
+dnl Different macro to check for LDAP externs, so as to avoid
+dnl breaking the basic extern-checking macro.
+if test "$with_ldap" = "yes"; then
+AMU_CHECK_EXTERN_LDAP(ldap_enable_cache)
+fi
+dnl ======================================================================
+
+dnl ######################################################################
+dnl C PREPROCESSOR MACROS
+AC_MSG_NOTICE(*** C PREPROCESSOR MACROS ***)
+dnl ======================================================================
+
+dnl ######################################################################
+dnl SYSTEM SERVICES
+AC_MSG_NOTICE(*** SYSTEM SERVICES ***)
+AC_SYS_LONG_FILE_NAMES
+AC_SYS_LARGEFILE
+AC_SYS_RESTARTABLE_SYSCALLS
+AMU_CHECK_NETWORK_TRANSPORT_TYPE
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+AC_MSG_NOTICE(*** FIELDS WITHIN STRUCTURES ***)
+AMU_CHECK_FIELD(fd_set.fds_bits)
+AMU_CHECK_FIELD(mntent_t.mnt_cnode)
+AMU_CHECK_FIELD(mntent_t.mnt_ro)
+AMU_CHECK_FIELD(mntent_t.mnt_time)
+AMU_FIELD_MNTENT_T_MNT_TIME_STRING
+AMU_CHECK_FIELD(cdfs_args_t.flags)
+AMU_CHECK_FIELD(cdfs_args_t.fspec)
+AMU_CHECK_FIELD(cdfs_args_t.iso_flags)
+AMU_CHECK_FIELD(cdfs_args_t.iso_pgthresh)
+AMU_CHECK_FIELD(cdfs_args_t.norrip)
+AMU_CHECK_FIELD(cdfs_args_t.ssector)
+AMU_CHECK_FIELD(udf_args_t.version)
+AMU_CHECK_FIELD(udf_args_t.fspec)
+AMU_CHECK_FIELD(udf_args_t.sessionnr)
+AMU_CHECK_FIELD(udf_args_t.udfmflags)
+AMU_CHECK_FIELD(udf_args_t.gmtoff)
+AMU_CHECK_FIELD(udf_args_t.anon_uid)
+AMU_CHECK_FIELD(udf_args_t.anon_gid)
+AMU_CHECK_FIELD(udf_args_t.nobody_uid)
+AMU_CHECK_FIELD(udf_args_t.nobody_gid)
+AMU_CHECK_FIELD(udf_args_t.sector_size)
+AMU_CHECK_FIELD(pcfs_args_t.dirmask)
+AMU_CHECK_FIELD(pcfs_args_t.dsttime)
+AMU_CHECK_FIELD(pcfs_args_t.fspec)
+AMU_CHECK_FIELD(pcfs_args_t.gid)
+AMU_CHECK_FIELD(pcfs_args_t.mask)
+AMU_CHECK_FIELD(pcfs_args_t.secondswest)
+AMU_CHECK_FIELD(pcfs_args_t.uid)
+AMU_CHECK_FIELD(ufs_args_t.flags)
+AMU_CHECK_FIELD(ufs_args_t.fspec)
+AMU_CHECK_FIELD(ufs_args_t.ufs_flags)
+AMU_CHECK_FIELD(ufs_args_t.ufs_pgthresh)
+AMU_CHECK_FIELD(efs_args_t.flags)
+AMU_CHECK_FIELD(efs_args_t.fspec)
+AMU_CHECK_FIELD(efs_args_t.version)
+AMU_CHECK_FIELD(xfs_args_t.flags)
+AMU_CHECK_FIELD(xfs_args_t.fspec)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_version)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_nodes_max)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_size_max)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_root_uid)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_root_gid)
+AMU_CHECK_FIELD(tmpfs_args_t.ta_root_mode)
+AMU_CHECK_FIELD(struct fhstatus.fhs_fh)
+AMU_CHECK_FIELD(struct statfs.f_fstypename)
+AMU_CHECK_FIELD(nfs_args_t.acdirmin)
+AMU_CHECK_FIELD(nfs_args_t.acdirmax)
+AMU_CHECK_FIELD(nfs_args_t.acregmin)
+AMU_CHECK_FIELD(nfs_args_t.acregmax)
+AMU_CHECK_FIELD(nfs_args_t.addrlen)
+AMU_CHECK_FIELD(nfs_args_t.bsize)
+AMU_CHECK_FIELD(nfs_args_t.fh_len)
+AMU_CHECK_FIELD(nfs_args_t.fhsize)
+AMU_CHECK_FIELD(nfs_args_t.gfs_flags)
+AMU_CHECK_FIELD(nfs_args_t.namlen)
+AMU_CHECK_FIELD(nfs_args_t.optstr)
+AMU_CHECK_FIELD(nfs_args_t.pathconf)
+AMU_CHECK_FIELD(nfs_args_t.proto)
+AMU_CHECK_FIELD(nfs_args_t.sotype)
+AMU_CHECK_FIELD(nfs_args_t.version)
+AMU_CHECK_FIELD(nfs_args_t.pseudoflavor)
+AMU_CHECK_FIELD(nfs_args_t.context)
+AMU_CHECK_FIELD(struct ifreq.ifr_addr)
+AMU_CHECK_FIELD(struct ifaddrs.ifa_next)
+AMU_CHECK_FIELD(struct sockaddr.sa_len)
+AMU_CHECK_FIELD(struct umntrequest.devid)
+dnl This one is for Irix
+AMU_CHECK_FIELD(autofs_args_t.addr)
+dnl For Solaris 2.8+
+AMU_CHECK_FIELD(mounta.optptr)
+
+dnl ======================================================================
+
+dnl ######################################################################
+dnl MAP TYPES
+AC_MSG_NOTICE(*** MAP TYPES ***)
+dnl DBM is obsolete, use NDBM
+dnl AMU_CHECK_MAP_FUNCS(dbminit dbmopen, dbm)
+AMU_CHECK_MAP_FUNCS(fgets, file)
+AMU_CHECK_MAP_FUNCS(fgets, sun)
+AMU_CHECK_MAP_FUNCS(waitpid, exec)
+dnl Define HESIOD map if user wanted it, and both headers and libraries exist
+if test "$with_hesiod" = "yes" && test "$ac_cv_header_hesiod_h" = "yes"
+then
+AMU_CHECK_MAP_FUNCS(hes_init hesiod_init, hesiod)
+fi
+dnl Define LDAP map if user wanted it, and both headers and libraries exist
+if test "$with_ldap" = "yes" && test "$ac_cv_header_ldap_h" = "yes"
+then
+AMU_CHECK_MAP_FUNCS(ldap_open, ldap)
+fi
+if test "$with_ndbm" = "yes" -a "$ac_cv_lib_new_dbm" != ""
+then
+AMU_CHECK_MAP_FUNCS(dbm_open, $ac_cv_lib_new_dbm, ndbm)
+fi
+AMU_CHECK_MAP_FUNCS(yp_get_default_domain yp_all, nis)
+AMU_CHECK_MAP_FUNCS(nis_domain_of, nisplus, nisplus)
+AMU_CHECK_MAP_FUNCS(getpwnam, passwd)
+AMU_CHECK_MAP_FUNCS(opendir, union)
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl FILESYSTEM TYPES
+AC_MSG_NOTICE(*** FILESYSTEM TYPES ***)
+dnl check for filesystem existence if MNTTYPE_<filesystem> exists, then if
+dnl MOUNT_<fs>, then MNT_<fs>, then in /proc/filesystems, and getvfsbyname()
+AMU_CHECK_FS_MNTENT(autofs)
+AMU_CHECK_FS_MNTENT(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
+AMU_CHECK_FS_MNTENT(udf)
+AMU_CHECK_FS_MNTENT(cache)
+AMU_CHECK_FS_MNTENT(lofs lo, lofs)
+AMU_CHECK_FS_MNTENT(mfs)
+AMU_CHECK_FS_MNTENT(nfs)
+AMU_CHECK_FS_MNTENT(vfat pcfs pc msdos msdosfs fat, pcfs)
+AMU_CHECK_FS_MNTENT(tfs)
+AMU_CHECK_FS_MNTENT(tmpfs)
+AMU_CHECK_FS_MNTENT(ext4 ext3 ext2 ffs ufs 42 43 44 efs xfs jfs ultrix, ufs)
+dnl openbsd 2.4 introduce a new file system called xfs, which is not
+dnl the same as irix-s xfs. Sigh, why did openbsd have to use such a name!
+case "${host_os_name}" in
+ openbsd* ) ;;
+ * ) AMU_CHECK_FS_MNTENT(xfs) ;;
+esac
+AMU_CHECK_FS_MNTENT(efs)
+dnl new ones in bsd44
+AMU_CHECK_FS_MNTENT(null nullfs, nullfs)
+AMU_CHECK_FS_MNTENT(union unionfs, unionfs)
+AMU_CHECK_FS_MNTENT(umap umapfs, umapfs)
+
+dnl check for filesystem existence if their headers exist
+dnl AMU_CHECK_FS_HEADERS(cfs.h, cfs)
+AMU_CHECK_FS_HEADERS(hsfs/hsfs.h, cdfs)
+AMU_CHECK_FS_HEADERS(fs/udf/udf_mount.h, udf)
+AMU_CHECK_FS_HEADERS(tmpfs/tmp.h, tmpfs)
+AMU_CHECK_FS_HEADERS(fs/tmpfs/tmpfs_args.h, tmpfs)
+AMU_CHECK_FS_HEADERS(fs/efs/efs_mount.h, efs)
+AMU_CHECK_FS_HEADERS(sys/fs/autofs.h linux/auto_fs.h, autofs)
+AMU_CHECK_FS_HEADERS(sys/fs/cachefs_fs.h, cachefs)
+dnl AMU_CHECK_FS_HEADERS(jfs/jfsmount.h, ufs)
+dnl ======================================================================
+dnl AUTOMOUNTER FILESYSTEM TYPES
+AC_MSG_NOTICE(*** AUTOMOUNTER FILESYSTEM TYPES ***)
+AMU_CHECK_AMU_FS(auto, automounter)
+AMU_CHECK_AMU_FS(direct, direct automount)
+AMU_CHECK_AMU_FS(toplvl, top-level)
+AMU_CHECK_AMU_FS(error, error)
+dnl AMU_CHECK_AMU_FS(inherit, inheritance)
+AMU_CHECK_AMU_FS(program, program)
+AMU_CHECK_AMU_FS(link, symlink)
+AMU_CHECK_AMU_FS(linkx, symlink with existence check)
+AMU_CHECK_AMU_FS(host, host (nfs), nfs)
+AMU_CHECK_AMU_FS(nfsx, multi-nfs mount, nfs)
+AMU_CHECK_AMU_FS(nfsl, NFS with local existence check)
+AMU_CHECK_AMU_FS(union, union)
+dnl AMU_CHECK_AMU_FS(autofs, Sun AutoFS, autofs)
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl MOUNTING TYPES AND NAMES FOR MOUNTING TABLE
+dnl check for mount(2) type/name for filesystem (MNTTYPE_*, MOUNT_*)
+AC_MSG_NOTICE(*** MOUNTING TYPES ***)
+AMU_CHECK_MOUNT_TYPE(nfs)
+AMU_CHECK_MOUNT_TYPE(nfs3)
+AMU_CHECK_MOUNT_TYPE(nfs4)
+AMU_CHECK_MOUNT_TYPE(lustre)
+AMU_CHECK_MOUNT_TYPE(ext4 ext3 ext2 ffs ufs 4.2 4.3 4.4 efs xfs jfs ultrix, ufs)
+AMU_CHECK_MOUNT_TYPE(xfs)
+AMU_CHECK_MOUNT_TYPE(efs)
+AMU_CHECK_MOUNT_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
+AMU_CHECK_MOUNT_TYPE(udf)
+AMU_CHECK_MOUNT_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
+AMU_CHECK_MOUNT_TYPE(mfs)
+AMU_CHECK_MOUNT_TYPE(tmpfs tmp, tmpfs)
+AMU_CHECK_MOUNT_TYPE(lofs lo, lofs)
+AMU_CHECK_MOUNT_TYPE(lfs)
+AMU_CHECK_MOUNT_TYPE(afs)
+AMU_CHECK_MOUNT_TYPE(autofs)
+AMU_CHECK_MOUNT_TYPE(tfs)
+AMU_CHECK_MOUNT_TYPE(cachefs)
+AMU_CHECK_MOUNT_TYPE(ignore)
+dnl new ones in bsd44
+AMU_CHECK_MOUNT_TYPE(null nullfs, nullfs)
+AMU_CHECK_MOUNT_TYPE(union unionfs, unionfs)
+AMU_CHECK_MOUNT_TYPE(umap umapfs, umapfs)
+dnl ######################################################################
+dnl check for mnttab name for filesystem
+AC_MSG_NOTICE(*** MOUNTING TABLE NAMES ***)
+AMU_CHECK_MNTTAB_TYPE(nfs)
+AMU_CHECK_MNTTAB_TYPE(nfs3)
+AMU_CHECK_MNTTAB_TYPE(nfs4)
+AMU_CHECK_MNTTAB_TYPE(lustre)
+AMU_CHECK_MNTTAB_TYPE(ext4 ext3 ext2 ffs ufs 4.2 4.3 4.4 efs xfs jfs ultrix, ufs)
+AMU_CHECK_MNTTAB_TYPE(xfs)
+AMU_CHECK_MNTTAB_TYPE(efs)
+AMU_CHECK_MNTTAB_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
+AMU_CHECK_MNTTAB_TYPE(udf)
+AMU_CHECK_MNTTAB_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
+AMU_CHECK_MNTTAB_TYPE(mfs)
+AMU_CHECK_MNTTAB_TYPE(tmpfs tmp, tmpfs)
+AMU_CHECK_MNTTAB_TYPE(lofs lo, lofs)
+AMU_CHECK_MNTTAB_TYPE(lfs)
+AMU_CHECK_MNTTAB_TYPE(afs)
+AMU_CHECK_MNTTAB_TYPE(autofs)
+AMU_CHECK_MNTTAB_TYPE(tfs)
+AMU_CHECK_MNTTAB_TYPE(cachefs)
+dnl new ones in bsd44
+AMU_CHECK_MNTTAB_TYPE(null nullfs, nullfs)
+AMU_CHECK_MNTTAB_TYPE(union unionfs, unionfs)
+AMU_CHECK_MNTTAB_TYPE(umap umapfs, umapfs)
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl Mount Table option name strings like MNTOPT_*
+dnl if found, defines MNTTAB_OPT_*
+AC_MSG_NOTICE(*** MOUNT TABLE OPTION NAME STRINGS ***)
+AMU_CHECK_MNTTAB_OPTS( \
+ acdirmax \
+ acdirmin \
+ acregmax \
+ acregmin \
+ actimeo \
+ compress \
+ dev \
+ fsid \
+ grpid \
+ ignore \
+ intr \
+ longname \
+ maxgroups \
+ multi \
+ noac \
+ noacl \
+ noauto \
+ noconn \
+ nocto \
+ nosub \
+ nosuid \
+ nowin95 \
+ pgthresh \
+ port \
+ posix \
+ private \
+ proplist \
+ proto \
+ public \
+ retrans \
+ retry \
+ ro \
+ rsize \
+ rw \
+ shortname \
+ soft \
+ spongy \
+ suid \
+ symttl \
+ timeo \
+ vers \
+ wsize \
+ )
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl Generic mount(2) system call flags (hex/int numbers) like M_*/MS_*/MNT_*
+dnl if found, defines MNT2_GEN_OPT_*
+AC_MSG_NOTICE(*** GENERIC MOUNT(2) OPTIONS ***)
+AMU_CHECK_MNT2_GEN_OPTS( \
+ active \
+ async \
+ automntfs \
+ bind \
+ cache \
+ data \
+ detach \
+ force \
+ fss \
+ grpid \
+ ignore \
+ i_version \
+ jfs \
+ kernmount \
+ log \
+ mandlock \
+ move \
+ multi \
+ newtype \
+ nfs \
+ noatime \
+ nocache \
+ nocoredump \
+ nodev \
+ nodevmtime \
+ nodiratime \
+ noexec \
+ nomnttab \
+ nosub \
+ nosuid \
+ nouser \
+ optionstr \
+ overlay \
+ posixacl \
+ private \
+ quota \
+ rdonly \
+ rec \
+ remount \
+ relatime \
+ ronly \
+ shared \
+ silent \
+ slave \
+ softdep \
+ strictatime \
+ sync \
+ synchronous \
+ symperm \
+ unbindable \
+ union \
+ verbose \
+ )
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl NFS-specific mount(2) options (hex numbers) like NFSMNT_*/NFS_MOUNT_*
+AC_MSG_NOTICE(*** NFS-SPECIFIC MOUNT(2) OPTIONS ***)
+dnl if found, defines MNT2_NFS_OPT_*
+AMU_CHECK_MNT2_NFS_OPTS( \
+ acdirmax \
+ acdirmin \
+ acregmax \
+ acregmin \
+ auto \
+ broken_suid \
+ deadthresh \
+ dirsync \
+ dumbtimr \
+ fsname \
+ grpid \
+ hostname \
+ ignore \
+ int \
+ intr \
+ kerb \
+ knconf \
+ leaseterm \
+ maxgrps \
+ nfsv3 \
+ noac \
+ noacl \
+ noconn \
+ nocto \
+ noint \
+ nonlm \
+ nordirplus \
+ nqnfs \
+ nqlooklease \
+ pgthresh \
+ posix \
+ private \
+ proplist \
+ rdirplus \
+ readahead \
+ readdirsize \
+ resvport \
+ retrans \
+ ronly \
+ rsize \
+ soft \
+ spongy \
+ strictlock \
+ symttl \
+ tcp \
+ timeo \
+ unshared \
+ ver3 \
+ wsize \
+ xlatecookie \
+ )
+dnl ======================================================================
+
+dnl ######################################################################
+dnl CDFS-specific mount(2) options (hex numbers) like M_*
+AC_MSG_NOTICE(*** CDFS-SPECIFIC MOUNT(2) OPTIONS ***)
+dnl if found, defines MNT2_CDFS_OPT_*
+AMU_CHECK_MNT2_CDFS_OPTS(\
+ defperm \
+ extatt \
+ gens \
+ nocasetrans \
+ nodefperm \
+ nojoliet \
+ norrip \
+ noversion \
+ rrcaseins \
+ rrip \
+ )
+dnl ======================================================================
+
+dnl ######################################################################
+dnl UDF-specific mount(2) options (hex numbers) like M_*
+AC_MSG_NOTICE(*** UDF-SPECIFIC MOUNT(2) OPTIONS ***)
+dnl if found, defines MNT2_UDF_OPT_*
+AMU_CHECK_MNT2_UDF_OPTS(\
+ closesession \
+ )
+dnl ======================================================================
+
+dnl ######################################################################
+dnl PCFS-specific mount(2) options (hex numbers) like M_*
+AC_MSG_NOTICE(*** PCFS-SPECIFIC MOUNT(2) OPTIONS ***)
+dnl if found, defines MNT2_PCFS_OPT_*
+AMU_CHECK_MNT2_PCFS_OPTS(\
+ longname \
+ nowin95 \
+ shortname \
+ )
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl SYSTEM-SPECIFIC TESTS
+AC_MSG_NOTICE(*** SYSTEM-SPECIFIC TESTS ***)
+dnl ======================================================================
+dnl Mount table style
+AMU_CHECK_MNTTAB_STYLE
+AMU_CHECK_HIDE_MOUNT_TYPE
+AMU_CHECK_MNTTAB_LOCATION
+dnl -----------------------------------------------------------------------
+dnl check if has mnttab/mntent or in-kernel mount tables
+dnl this test must follow AMU_CHECK_MNTTAB_LOCATION and
+dnl AMU_CHECK_MNT2_GEN_OPTS(nomnttab)
+if test "$ac_cv_have_struct_mnttab" != yes && test "$ac_cv_have_struct_mntent" != yes && test "$ac_cv_mnttab_location" = file
+then
+AC_MSG_ERROR(
+[No definition found for struct mnttab or struct mntent
+and this system stores its mount tables on files (not in kernel).
+This can be due to a misconfigured system, one for which am-utils
+was not ported to yet, or a bug in the am-utils sources. Check
+config.log for details and report them to am-utils@am-utils.org please.])
+fi
+dnl -----------------------------------------------------------------------
+AMU_CHECK_MNTTAB_FILE_NAME
+AMU_CHECK_MOUNT_TRAP
+AMU_CHECK_MOUNT_STYLE
+AMU_CHECK_UMOUNT_STYLE
+AMU_CHECK_AUTOFS_STYLE
+AMU_CHECK_UNMOUNT_CALL
+AMU_CHECK_UNMOUNT_ARGS
+AMU_CHECK_NFS_SA_DREF
+AMU_CHECK_NFS_HN_DREF
+AMU_CHECK_NFS_FH_DREF
+AMU_CHECK_NFS_SOCKET_CONNECTION
+AMU_CHECK_CHECKMOUNT_STYLE
+AMU_CHECK_RESTARTABLE_SIGNAL_HANDLER
+AMU_CHECK_GNU_GETOPT
+dnl ======================================================================
+
+dnl ######################################################################
+dnl Check for tcpwrappers
+dnl This check is moved this far down because on modern tcpwrapper systems
+dnl such as openbsd, the caller must provide two symbols: deny_severity and
+dnl allow_severity, which determine the logging level of rejected and
+dnl requested requests, respectively. If this check happens too early, then
+dnl $LIBS includes -lwrap, which causes many subsequent tests to fail with
+dnl missing symbols.
+AC_CHECK_LIB(wrap, hosts_ctl,
+[
+AC_DEFINE(HAVE_LIBWRAP)
+WRAPLIB="-lwrap"
+])
+dnl replace value of WRAPLIB in specific Makefiles
+AC_SUBST(WRAPLIB)
+dnl next, check if libwrap defines allow/deny_severity or expects the caller to define it
+if test "$ac_cv_lib_wrap_hosts_ctl" = "yes"
+then
+AMU_CHECK_LIBWRAP_SEVERITY
+fi
+dnl ======================================================================
+
+dnl *********
+AMU_SAVE_STATE
+dnl *********
+
+dnl ######################################################################
+dnl output files
+AC_MSG_NOTICE(*** OUTPUT FILES ***)
+dnl The am_utils_link_files variable is set in macros in aclocal.m4
+AC_CONFIG_LINKS(${am_utils_link_files})
+dnl ==========================================================================
+dnl This is necessary so that .o files in LIBOBJS are also built via
+dnl the ANSI2KNR-filtering rules.
+LIB@&t@OBJS=`echo "$LIB@&t@OBJS" |
+ sed 's,\.[[^.]]* ,$U&,g;s,\.[[^.]]*$,$U&,'`
+LTLIBOBJS=`echo "$LIB@&t@OBJS" |
+ sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'`
+AC_SUBST(LTLIBOBJS)
+dnl XXX: next two lines are temp hack until automake newer than 1.4 comes out
+AMU_LIB_OBJS="${LTLIBOBJS}"
+AC_SUBST(AMU_LIB_OBJS)
+dnl for Makefile rule to regenerate libtool
+AC_SUBST(LIBTOOL_DEPS)
+dnl ==========================================================================
+AC_CONFIG_FILES( \
+ aux_conf.h \
+ \
+ Makefile \
+ amd/Makefile \
+ amq/Makefile \
+ \
+ fixmount/Makefile \
+ fsinfo/Makefile \
+ hlfsd/Makefile \
+ libamu/Makefile \
+ mk-amd-map/Makefile \
+ wire-test/Makefile \
+ \
+ scripts/Makefile \
+ doc/Makefile \
+ \
+ scripts/am-eject \
+ scripts/amd2ldif \
+ scripts/amd2sun \
+ scripts/automount2amd \
+ scripts/ctl-amd \
+ scripts/ctl-hlfsd \
+ scripts/fix-amd-map \
+ scripts/fixrmtab \
+ scripts/lostaltmail \
+ scripts/redhat-ctl-amd \
+ scripts/test-attrcache \
+ scripts/wait4amd \
+ scripts/wait4amd2die \
+ )
+AC_OUTPUT
+# chmod some scripts that are built but not installed
+test -f scripts/test-attrcache && chmod +x scripts/test-attrcache
+dnl ======================================================================
+
+dnl ######################################################################
+AC_MSG_NOTICE(*** END OF CONFIGURATION ***)
+dnl end of configure.in for am-utils-6.x