NetBSD/dist/am-utils/configure.in

1009 lines
26 KiB
Plaintext
Raw Normal View History

dnl configure.in file for am-utils-6.x
dnl Contains general GNU-autoconf macros.
dnl Author: Erez Zadok <ezk@cs.columbia.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
AC_INIT(amd/amd.c)
AC_MSG(INITIALIZATION)
AM_CONFIG_HEADER(config.h)
dnl AM_CONFIG_HEADER(config.h:aux/config.h.in)
dnl AC_CONFIG_AUX_DIR(aux)
AC_PREREQ(2.13)
AC_REVISION($Revision: 1.0)
dnl find out system type
AC_MSG(SYSTEM TYPES)
dnl run by libtool, but must be kept here because HOST_MACROS depends on it
AC_CANONICAL_HOST
AC_HOST_MACROS
dnl ======================================================================
dnl ######################################################################
dnl PACKAGE NAME AND VERSION
AC_MSG(PACKAGE NAME AND VERSION)
PACKAGE=am-utils
VERSION=6.0.4
AC_SUBST(PACKAGE)
AC_NAME_PACKAGE($PACKAGE)
AC_SUBST(VERSION)
AC_NAME_VERSION($VERSION)
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
dnl SET (shared) library version. Update it only before major release!
dnl version info for am-utils-6.0.2: 3:2:1
dnl version info for am-utils-6.0.3: 4:0:2
dnl version info for am-utils-6.0.4: 4:1:2
LIBTOOL_LDFLAGS="-version-info 4:1:2"
AC_SUBST(LIBTOOL_LDFLAGS)
dnl ======================================================================
dnl ######################################################################
dnl OPTION PROCESSING
AC_MSG(OPTION PROCESSING)
dnl Debugging options (yes, mem, or no)
AC_OPT_DEBUG
dnl Do you want to turn on "amq -M" code
AC_OPT_AMQ_MOUNT
dnl additional preprocessor options for configuration/compilation
AC_OPT_CPPFLAGS
dnl additional linker -l options for configuration/compilation
AC_OPT_LIBS
dnl additional linker -L options for configuration/compilation
AC_OPT_LDFLAGS
dnl Which options to add to CFLAGS for compilation only?
AC_OPT_AMU_CFLAGS
dnl check if a local configuration file exists
AC_LOCALCONFIG
dnl ======================================================================
dnl ######################################################################
dnl ALTERNATIVE PROGRAMS
dnl Part 1: these are required before "unix variants"
dnl ======================================================================
dnl Particular Program Checks
AC_MSG(PARTICULAR PROGRAMS (part 1))
dnl AC-PROG-LIBTOOL will run this, but we need this to squelch warnings
dnl from autoconf about AC_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_ISC_POSIX
AC_AIX
dnl XXX: available in autoconf-2.14
dnl AC_PROG_CC_STDC
dnl my version of prog_libtool will not build shared by default
dnl AM_PROG_LIBTOOL2
dnl build static libraries by default
AM_DISABLE_SHARED
dnl XXX: for autoconf-2.14: use AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL
dnl AC_PROG_LIBTOOL
AM_PROG_LIBTOOL
dnl ======================================================================
dnl ######################################################################
dnl ADDITIONAL OPTION PROCESSING (must be done after CC is defined)
AC_MSG(EXTRA OPTION PROCESSING)
AC_OS_CPPFLAGS
AC_OS_CFLAGS
AC_OS_LDFLAGS
dnl ======================================================================
dnl ######################################################################
dnl Some of these macros must be called before any call to the C compiler
AC_MSG(UNIX VARIANTS)
dnl UNIX VARIANTS
dnl AC_AIX
dnl AC_ISC_POSIX
AC_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(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
AC_PROG_YACC
AM_PROG_LEX
dnl ======================================================================
dnl Generic Program Checks
AC_MSG(GENERIC PROGRAMS)
AC_PATH_PROGS(AR, ar, :)
AC_PATH_PROGS(PERL, perl5 perl4 perl, /usr/bin/perl)
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(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.
AC_CHECK_OS_LIBS
dnl librpc and librpcsvc are needed on Solaris (I think)
AC_CHECK_LIB(rpc, clnt_sperrno)
AC_CHECK_LIB(rpcsvc, xdr_fhandle)
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
AC_CHECK_LIB2(hesiod, hes_init,,, -lresolv)
AC_CHECK_LIB2(ldap, ldap_open,,, -llber)
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
AC_CHECK_LIB(rt, clock_gettime,, AC_CHECK_LIB(posix4, clock_gettime))
dnl some systems replaced old ndbm.h include with GNU ndbm.h, which requires
dnl libgdbm for dbm_pagfno, so check for this.
AC_MSG_CHECKING(for GNU ndbm.h)
AC_TRY_LINK([#include <ndbm.h>], [
DBM *db;
dbm_pagfno(db);
], AC_MSG_RESULT(no), AC_CHECK_LIB(gdbm, dbm_pagfno))
dnl ======================================================================
dnl ######################################################################
dnl LIBRARY FUNCTIONS
dnl ======================================================================
dnl Particular Function Checks
AC_MSG(PARTICULAR LIBRARY FUNCTIONS)
AC_FUNC_ALLOCA
dnl this GETMNTENT test will add -lgen to LIBS if needed
dnl AC_FUNC_GETMNTENT
AC_FUNC_BAD_MEMCMP
AC_FUNC_BAD_YP_ALL
AC_FUNC_VFORK
AC_FUNC_WAIT3
dnl ======================================================================
dnl Generic Function Checks
AC_MSG(GENERIC LIBRARY FUNCTIONS)
AC_CHECK_FUNCS( \
__seterr_reply \
_seterr_reply \
bcmp \
bcopy \
bzero \
clnt_create \
clnt_create_timed \
clnt_spcreateerror \
clock_gettime \
cnodeid \
dg_mount \
flock \
fsmount \
get_myaddress \
getccent \
getcwd \
getdomainname \
getdtablesize \
gethostname \
getifaddrs \
getmntinfo \
getmountent \
getpagesize \
gettimeofday \
hasmntopt \
hes_init \
hesiod_init \
hesiod_reload \
hesiod_to_bind \
ldap_open \
memcmp \
memcpy \
memmove \
memset \
mkdir \
mkstemp \
mntctl \
mount \
mountsyscall \
plock \
regcomp \
regexec \
rmdir \
select \
seteuid \
setitimer \
setresuid \
setsid \
sigaction \
signal \
socket \
strchr \
strcspn \
strcasecmp \
strdup \
strerror \
strspn \
strstr \
svc_getreq \
svc_getreqset \
sysfs \
syslog \
uname \
umount \
unmount \
uvmount \
vfork \
vfsmount \
vmount \
vsnprintf \
wait3 \
waitpid \
)
AC_REPLACE_FUNCS( \
clnt_sperrno \
hasmntopt \
strcasecmp \
strdup \
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_mntrequest \
xdr_mntres \
xdr_mountbody \
xdr_mountlist \
xdr_mountres3 \
xdr_name \
xdr_nfs_fh \
xdr_nfscookie \
xdr_nfspath \
xdr_nfsstat \
xdr_nfstime \
xdr_pointer \
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_umntrequest \
xdr_umntres \
xdr_writeargs \
)
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl HEADER FILES
dnl ======================================================================
dnl Particular Header Checks
AC_MSG(PARTICULAR HEADER FILES)
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
dnl ======================================================================
dnl Generic Header Checks
AC_MSG(GENERIC HEADER FILES)
AC_CHECK_HEADERS( \
arpa/nameser.h \
arpa/inet.h \
bsd/rpc/rpc.h \
cdfs/cdfsmount.h \
cdfs/cdfs_mount.h \
db1/ndbm.h \
hsfs/hsfs.h \
isofs/cd9660/cd9660_mount.h \
linux/auto_fs.h \
linux/fs.h \
linux/kdev_t.h \
linux/list.h \
linux/nfs.h \
linux/nfs_mount.h \
linux/posix_types.h \
machine/endian.h \
msdosfs/msdosfsmount.h \
net/errno.h \
net/if.h \
net/if_var.h \
net/route.h \
netinet/if_ether.h \
netinet/in.h \
nfs/export.h \
nfs/mount.h \
nfs/nfs.h \
nfs/nfs_clnt.h \
nfs/nfs_gfs.h \
nfs/nfs_mount.h \
nfs/nfsmount.h \
nfs/nfsproto.h \
nfs/nfsv2.h \
nfs/pathconf.h \
nfs/rpcv2.h \
rpc/auth_des.h \
rpc/pmap_clnt.h \
rpc/pmap_prot.h \
rpc/rpc.h \
rpc/types.h \
rpc/xdr.h \
rpcsvc/mount.h \
rpcsvc/mountv3.h \
rpcsvc/nfs_prot.h \
rpcsvc/nis.h \
rpcsvc/yp_prot.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/lock.h \
sys/machine.h \
sys/mbuf.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/proc.h \
sys/resource.h \
sys/sema.h \
sys/signal.h \
sys/socket.h \
sys/sockio.h \
sys/stat.h \
sys/statfs.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_mount.h \
ufs/ufs/ufsmount.h \
\
assert.h \
dnl cfs.h \
cluster.h \
ctype.h \
dnl dirent.h \
errno.h \
fcntl.h \
ifaddrs.h \
irs.h \
grp.h \
hesiod.h \
lber.h \
ldap.h \
libgen.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 \
resolv.h \
setjmp.h \
signal.h \
socketbits.h \
statbuf.h \
stdarg.h \
stdlib.h \
stdio.h \
string.h \
strings.h \
syslog.h \
time.h \
tiuser.h \
varargs.h \
unistd.h \
)
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl STRUCTURES
AC_MSG(PARTICULAR STRUCTURES)
AC_HEADER_STAT
AC_HEADER_TIME
AC_STRUCT_TM
dnl ======================================================================
AC_MSG(GENERIC STRUCTURES)
dnl before any use of macros that need nfs/mount headers, must define O/S
dnl specific header to include.
AC_CHECK_NFS_PROT_HEADERS
AC_STRUCT_MNTENT
AC_STRUCT_MNTTAB
AC_STRUCT_NFS_ARGS
AC_STRUCT_NFS_GFS_MOUNT
AC_STRUCT_FIELD_NFS_FH
AC_STRUCT_NFS_FH
AC_STRUCT_NFS_FH3
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl TYPEDEFS
dnl ======================================================================
dnl Particular Typedef Checks
AC_MSG(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(GENERIC TYPEDEFS)
AC_TYPE_TIME_T
AC_CHECK_FHANDLE
AC_CHECK_MTYPE_TYPE
AC_CHECK_MTYPE_PRINTF_TYPE
AC_TYPE_YP_ORDER_OUTORDER
AC_TYPE_RECVFROM_FROMLEN
AC_TYPE_AUTH_CREATE_GIDLIST
AC_TYPE_SVC_IN_ARG
AC_TYPE_AUTOFS_ARGS
AC_TYPE_CACHEFS_ARGS
AC_TYPE_CDFS_ARGS
AC_TYPE_LOFS_ARGS
AC_TYPE_MFS_ARGS
AC_TYPE_PCFS_ARGS
AC_TYPE_RFS_ARGS
AC_TYPE_TMPFS_ARGS
AC_TYPE_UFS_ARGS
AC_TYPE_XFS_ARGS
AC_TYPE_EFS_ARGS
AC_TYPE_XDRPROC_T
dnl ======================================================================
dnl ######################################################################
dnl Particular Compiler Characteristics
AC_MSG(PARTICULAR COMPILER CHARACTERISTICS)
AC_C_BIGENDIAN
AC_C_CONST
AC_C_INLINE
dnl AC_CHECK_SIZEOF(void *, 0)
dnl ======================================================================
dnl Generic Compiler Characteristics
AC_MSG(GENERIC COMPILER CHARACTERISTICS)
AC_C_VOID_P
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
AC_MSG(EXTERNAL DEFINITIONS)
AC_EXTERN_SYS_ERRLIST
AC_EXTERN_OPTARG
AC_CHECK_EXTERNS(
clnt_spcreateerror \
clnt_sperrno \
free \
get_myaddress \
getccent \
getdomainname \
getdtablesize \
gethostname \
getlogin \
getpagesize \
getwd \
innetgr \
mkstemp \
sbrk \
seteuid \
setitimer \
strcasecmp \
strdup \
strstr \
ualarm \
usleep \
wait3 \
vsnprintf \
xdr_opaque_auth \
)
dnl ======================================================================
dnl ######################################################################
dnl C PREPROCESSOR MACROS
AC_MSG(C PREPROCESSOR MACROS)
dnl ======================================================================
dnl ######################################################################
dnl SYSTEM SERVICES
AC_MSG(SYSTEM SERVICES)
AC_SYS_LONG_FILE_NAMES
AC_SYS_RESTARTABLE_SYSCALLS
AC_CHECK_NETWORK_TRANSPORT_TYPE
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
AC_MSG(FIELDS WITHIN STRUCTURES)
AC_CHECK_FIELD(mntent_t, mnt_cnode)
AC_CHECK_FIELD(mntent_t, mnt_ro)
AC_CHECK_FIELD(mntent_t, mnt_time)
AC_FIELD_MNTENT_T_MNT_TIME_STRING
AC_CHECK_FIELD(cdfs_args_t, flags)
AC_CHECK_FIELD(cdfs_args_t, fspec)
AC_CHECK_FIELD(cdfs_args_t, iso_flags)
AC_CHECK_FIELD(cdfs_args_t, iso_pgthresh)
AC_CHECK_FIELD(cdfs_args_t, norrip)
AC_CHECK_FIELD(cdfs_args_t, ssector)
AC_CHECK_FIELD(pcfs_args_t, dsttime)
AC_CHECK_FIELD(pcfs_args_t, fspec)
AC_CHECK_FIELD(pcfs_args_t, gid)
AC_CHECK_FIELD(pcfs_args_t, mask)
AC_CHECK_FIELD(pcfs_args_t, secondswest)
AC_CHECK_FIELD(pcfs_args_t, uid)
AC_CHECK_FIELD(ufs_args_t, flags)
AC_CHECK_FIELD(ufs_args_t, fspec)
AC_CHECK_FIELD(ufs_args_t, ufs_flags)
AC_CHECK_FIELD(ufs_args_t, ufs_pgthresh)
AC_CHECK_FIELD(efs_args_t, flags)
AC_CHECK_FIELD(efs_args_t, fspec)
AC_CHECK_FIELD(xfs_args_t, flags)
AC_CHECK_FIELD(xfs_args_t, fspec)
AC_CHECK_FIELD(struct fhstatus, fhs_fh)
AC_CHECK_FIELD(struct statfs, f_fstypename)
AC_CHECK_FIELD(nfs_args_t, acdirmin)
AC_CHECK_FIELD(nfs_args_t, acregmin)
AC_CHECK_FIELD(nfs_args_t, bsize)
AC_CHECK_FIELD(nfs_args_t, fh_len)
AC_CHECK_FIELD(nfs_args_t, fhsize)
AC_CHECK_FIELD(nfs_args_t, gfs_flags)
AC_CHECK_FIELD(nfs_args_t, namlen)
AC_CHECK_FIELD(nfs_args_t, optstr)
AC_CHECK_FIELD(nfs_args_t, proto)
AC_CHECK_FIELD(nfs_args_t, sotype)
AC_CHECK_FIELD(nfs_args_t, version)
AC_CHECK_FIELD(struct ifreq, ifr_addr)
AC_CHECK_FIELD(struct ifaddrs, ifa_next)
AC_CHECK_FIELD(struct sockaddr, sa_len)
AC_CHECK_FIELD(autofs_args_t, addr)
AC_CHECK_FIELD(umntrequest, rdevid)
dnl ======================================================================
dnl ######################################################################
dnl MAP TYPES
AC_MSG(MAP TYPES)
dnl DBM is obsolete, use NDBM
dnl AC_CHECK_MAP_FUNCS(dbminit dbmopen, dbm)
AC_CHECK_MAP_FUNCS(fgets, file)
AC_CHECK_MAP_FUNCS(hes_init hesiod_init, hesiod)
AC_CHECK_MAP_FUNCS(ldap_open, ldap)
AC_CHECK_MAP_FUNCS(dbm_open, ndbm)
AC_CHECK_MAP_FUNCS(yp_get_default_domain yp_all, nis)
AC_CHECK_MAP_FUNCS(nis_domain_of, nisplus, nisplus)
AC_CHECK_MAP_FUNCS(getpwnam, passwd)
AC_CHECK_MAP_FUNCS(opendir, union)
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl FILESYSTEM TYPES
AC_MSG(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()
AC_CHECK_FS_MNTENT(autofs)
AC_CHECK_FS_MNTENT(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
AC_CHECK_FS_MNTENT(cache)
AC_CHECK_FS_MNTENT(lofs lo, lofs)
AC_CHECK_FS_MNTENT(mfs)
AC_CHECK_FS_MNTENT(nfs)
AC_CHECK_FS_MNTENT(nfs3)
AC_CHECK_FS_MNTENT(vfat pcfs pc msdos msdosfs fat, pcfs)
AC_CHECK_FS_MNTENT(tfs)
AC_CHECK_FS_MNTENT(tmpfs)
AC_CHECK_FS_MNTENT(ext2 ffs ufs 42 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* ) ;;
* ) AC_CHECK_FS_MNTENT(xfs) ;;
esac
AC_CHECK_FS_MNTENT(efs)
dnl new ones in bsd44
AC_CHECK_FS_MNTENT(null nullfs, nullfs)
AC_CHECK_FS_MNTENT(union unionfs, unionfs)
AC_CHECK_FS_MNTENT(umap umapfs, umapfs)
dnl check for filesystem existence if their headers exist
dnl AC_CHECK_FS_HEADERS(cfs.h, cfs)
AC_CHECK_FS_HEADERS(hsfs/hsfs.h, cdfs)
AC_CHECK_FS_HEADERS(tmpfs/tmp.h, tmpfs)
AC_CHECK_FS_HEADERS(sys/fs/autofs.h, autofs)
AC_CHECK_FS_HEADERS(sys/fs/cachefs_fs.h, cachefs)
dnl AC_CHECK_FS_HEADERS(jfs/jfsmount.h, ufs)
dnl ======================================================================
dnl AUTOMOUNTER FILESYSTEM TYPES
AC_MSG(AUTOMOUNTER FILESYSTEM TYPES)
AC_CHECK_AMU_FS(auto, automounter)
AC_CHECK_AMU_FS(direct, direct automount)
AC_CHECK_AMU_FS(toplvl, top-level)
AC_CHECK_AMU_FS(error, error)
AC_CHECK_AMU_FS(inherit, inheritance)
AC_CHECK_AMU_FS(program, program)
AC_CHECK_AMU_FS(link, symlink)
AC_CHECK_AMU_FS(linkx, symlink with existence check)
AC_CHECK_AMU_FS(host, host (nfs), nfs)
AC_CHECK_AMU_FS(nfsx, multi-nfs mount, nfs)
AC_CHECK_AMU_FS(nfsl, NFS with local existence check)
AC_CHECK_AMU_FS(union, union)
dnl AC_CHECK_AMU_FS(autofs, Sun AutoFS, autofs)
dnl ======================================================================
dnl *********
AC_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(MOUNTING TYPES)
AC_CHECK_MOUNT_TYPE(nfs)
AC_CHECK_MOUNT_TYPE(nfs3)
AC_CHECK_MOUNT_TYPE(4.2 4.3 4.4 ext2 ufs efs xfs ffs jfs ultrix, ufs)
AC_CHECK_MOUNT_TYPE(xfs)
AC_CHECK_MOUNT_TYPE(efs)
AC_CHECK_MOUNT_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
AC_CHECK_MOUNT_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
AC_CHECK_MOUNT_TYPE(mfs)
AC_CHECK_MOUNT_TYPE(tmpfs tmp, tmpfs)
AC_CHECK_MOUNT_TYPE(lofs lo, lofs)
AC_CHECK_MOUNT_TYPE(lfs)
AC_CHECK_MOUNT_TYPE(afs)
AC_CHECK_MOUNT_TYPE(autofs)
AC_CHECK_MOUNT_TYPE(tfs)
AC_CHECK_MOUNT_TYPE(cachefs)
AC_CHECK_MOUNT_TYPE(ignore)
dnl new ones in bsd44
AC_CHECK_MOUNT_TYPE(null nullfs, nullfs)
AC_CHECK_MOUNT_TYPE(union unionfs, unionfs)
AC_CHECK_MOUNT_TYPE(umap umapfs, umapfs)
dnl ######################################################################
dnl check for mnttab name for filesystem
AC_MSG(MOUNTING TABLE NAMES)
AC_CHECK_MNTTAB_TYPE(nfs)
AC_CHECK_MNTTAB_TYPE(nfs3)
AC_CHECK_MNTTAB_TYPE(ext2 ufs jfs 4.2 4.3 4.4 efs xfs ffs, ufs)
AC_CHECK_MNTTAB_TYPE(xfs)
AC_CHECK_MNTTAB_TYPE(efs)
AC_CHECK_MNTTAB_TYPE(cdfs hsfs cd9660 iso9660 isofs cdrom, cdfs)
AC_CHECK_MNTTAB_TYPE(vfat pcfs pc msdos msdosfs fat, pcfs)
AC_CHECK_MNTTAB_TYPE(mfs)
AC_CHECK_MNTTAB_TYPE(tmpfs tmp, tmpfs)
AC_CHECK_MNTTAB_TYPE(lofs lo, lofs)
AC_CHECK_MNTTAB_TYPE(lfs)
AC_CHECK_MNTTAB_TYPE(afs)
AC_CHECK_MNTTAB_TYPE(autofs)
AC_CHECK_MNTTAB_TYPE(tfs)
AC_CHECK_MNTTAB_TYPE(cachefs)
dnl new ones in bsd44
AC_CHECK_MNTTAB_TYPE(null nullfs, nullfs)
AC_CHECK_MNTTAB_TYPE(union unionfs, unionfs)
AC_CHECK_MNTTAB_TYPE(umap umapfs, umapfs)
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl Mount Table option name strings like MNTOPT_*
dnl if found, defines MNTTAB_OPT_*
AC_MSG(MOUNT TABLE OPTION NAME STRINGS)
AC_CHECK_MNTTAB_OPTS( \
acdirmax \
acdirmin \
acregmax \
acregmin \
actimeo \
compress \
dev \
fsid \
grpid \
ignore \
intr \
maxgroups \
multi \
noac \
noauto \
noconn \
nocto \
nosub \
nosuid \
pgthresh \
port \
posix \
proto \
retrans \
retry \
ro \
rsize \
rw \
soft \
spongy \
suid \
symttl \
timeo \
vers \
wsize \
)
dnl ======================================================================
dnl *********
AC_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(GENERIC MOUNT(2) OPTIONS)
AC_CHECK_MNT2_GEN_OPTS( \
async \
automntfs \
cache \
data \
fss \
grpid \
ignore \
jfs \
multi \
newtype \
nfs \
nocache \
nodev \
noexec \
nomnttab \
nosub \
nosuid \
optionstr \
overlay \
quota \
rdonly \
ronly \
sync \
synchronous \
)
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl NFS-specific mount(2) options (hex numbers) like NFSMNT_*/NFS_MOUNT_*
AC_MSG(NFS-SPECIFIC MOUNT(2) OPTIONS)
dnl if found, defines MNT2_NFS_OPT_*
AC_CHECK_MNT2_NFS_OPTS( \
acdirmax \
acdirmin \
acregmax \
acregmin \
auto \
deadthresh \
dumbtimr \
fsname \
grpid \
hostname \
ignore \
int \
intr \
knconf \
leaseterm \
maxgrps \
nfsv3 \
noac \
noconn \
nocto \
noint \
nqnfs \
pgthresh \
posix \
readahead \
resvport \
retrans \
ronly \
rsize \
soft \
spongy \
symttl \
tcp \
timeo \
ver3 \
wsize \
)
dnl ======================================================================
dnl ######################################################################
dnl CDFS-specific mount(2) options (hex numbers) like M_*
AC_MSG(CDFS-SPECIFIC MOUNT(2) OPTIONS)
dnl if found, defines MNT2_CDFS_OPT_*
AC_CHECK_MNT2_CDFS_OPTS(\
defperm \
extatt \
gens \
nodefperm \
norrip \
noversion \
rrip \
)
dnl ======================================================================
dnl ######################################################################
dnl SYSTEM-SPECIFIC TESTS
AC_MSG(SYSTEM-SPECIFIC TESTS)
dnl ======================================================================
dnl Mount table style
AC_CHECK_MNTTAB_STYLE
AC_CHECK_HIDE_MOUNT_TYPE
AC_CHECK_MNTTAB_LOCATION
AC_CHECK_MNTTAB_FILE_NAME
AC_CHECK_MOUNT_TRAP
AC_CHECK_MOUNT_STYLE
AC_CHECK_UMOUNT_STYLE
AC_CHECK_UNMOUNT_CALL
AC_CHECK_UNMOUNT_ARGS
AC_CHECK_NFS_SA_DREF
AC_CHECK_NFS_HN_DREF
AC_CHECK_NFS_FH_DREF
AC_CHECK_NFS_SOCKET_CONNECTION
AC_CHECK_CHECKMOUNT_STYLE
AC_CHECK_RESTARTABLE_SIGNAL_HANDLER
dnl ======================================================================
dnl *********
AC_SAVE_STATE
dnl *********
dnl ######################################################################
dnl output files
AC_MSG(OUTPUT FILES)
dnl The am_utils_link_files_* variables are set in macros in aclocal.m4
dnl XXX: use the next line when porting to autoconf-2.14
dnl AC_CONFIG_LINKS(${am_utils_link_files})
dnl XXX: the next line is for autoconf-2.13 and earlier
AC_LINK_FILES(${am_utils_link_files_src}, ${am_utils_link_files_dst})
dnl ==========================================================================
dnl This is required by libtool 1.0 until an automake after 2.12 does it
dnl automatically.
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'`
AC_SUBST(LTLIBOBJS)
LTALLOCA=`echo "$ALLOCA" | sed 's/\.o/.lo/g'`
AC_SUBST(LTALLOCA)
dnl XXX: next two lines are temp hack until automake newer than 1.4 comes out
AMU_LIB_OBJS="${LTLIBOBJS} ${LTALLOCA}"
AC_SUBST(AMU_LIB_OBJS)
dnl for Makefile rule to regenerate libtool
AC_SUBST(LIBTOOL_DEPS)
dnl ==========================================================================
dnl It is *NOT* a mistake that I listed config.h.in (with ".in" extension)
dnl in this file. It is needed to perform @<var>@ substitution on the final
dnl config.h file, which does not get done by AC_CONFIG_HEADER, only by the
dnl AC_OUTPUT routines. Since AC_CONFIG_HEADER runs after the files listed
dnl in AC_OUTPUT, it overrides the @<var>@ substitutions made earlier.
dnl -Erez Zadok <ezk@cs.columbia.edu>
AC_OUTPUT( \
dnl aux_conf.h:aux/aux_conf.h.in \
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/expn \
scripts/fixrmtab \
scripts/fix-amd-map \
scripts/lostaltmail \
scripts/wait4amd \
scripts/wait4amd2die \
)
dnl ======================================================================
dnl ######################################################################
AC_MSG(END OF CONFIGURATION)
dnl end of configure.in for am-utils-6.x