2005-10-01 Erez Zadok <ezk@cs.sunysb.edu>
+ * m4/macros/header_templates.m4: templates for FFS.
+
+ * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
+ system mount table name via the MOUNT_* mount(2) macros (because
+ BSD44 keeps the mount table in the kernel).
+
+ * configure.in: synchronise order of searching for mnttab entries
+ and mount names. The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
+ efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
+ ufs, and ext3 instead of ext2 on Linux).
+
* include/am_defs.h: include <sys/statvfs.h> if it exists.
* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
* can turn off attrcache on netbsd, but need kernel patch, see
README.attrcache
* pawd goes into an infinite loop on type:=auto
-
+ * consistent search for file system mnttab/mount names
Amd now understands a new log_option called "defaults" which is synonymous
with "fatal,error,user,warning,info" (and is also what logging happens by
dnl
dnl AC_CONFIG_AUX_DIR(m4)
AC_PREREQ(2.52)
-AC_REVISION($Revision: 1.117 $)
+AC_REVISION($Revision: 1.118 $)
AC_COPYRIGHT([Copyright (c) 1997-2005 Erez Zadok])
dnl find out system type
AC_MSG_NOTICE(*** SYSTEM TYPES ***)
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(ext2 ffs ufs 42 efs xfs jfs ultrix, ufs)
+AMU_CHECK_FS_MNTENT(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
AC_MSG_NOTICE(*** MOUNTING TYPES ***)
AMU_CHECK_MOUNT_TYPE(nfs)
AMU_CHECK_MOUNT_TYPE(nfs3)
-AMU_CHECK_MOUNT_TYPE(4.2 4.3 4.4 ext2 ufs efs xfs ffs jfs ultrix, ufs)
+AMU_CHECK_MOUNT_TYPE(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)
AC_MSG_NOTICE(*** MOUNTING TABLE NAMES ***)
AMU_CHECK_MNTTAB_TYPE(nfs)
AMU_CHECK_MNTTAB_TYPE(nfs3)
-AMU_CHECK_MNTTAB_TYPE(ext2 ufs jfs 4.2 4.3 4.4 efs xfs ffs, ufs)
+AMU_CHECK_MNTTAB_TYPE(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)
break
fi
+ # then try to run a program that derefences a static array (bsd44)
+ AMU_EXPAND_RUN_STRING(
+ AMU_MOUNT_HEADERS(
+ [
+ ]),
+ [
+ if (argc > 1)
+ printf("\"%s\"", MOUNT_$ac_upcase_fs_symbol);
+ ], [ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$value\\\""
+ ])
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
# finally run a test program for bsdi3
AC_TRY_RUN(
[
AH_TEMPLATE([HAVE_FS_UFS],
[Define if have UFS filesystem])
+AH_TEMPLATE([HAVE_FS_FFS],
+[Define if have FFS filesystem])
+
AH_TEMPLATE([HAVE_FS_XFS],
[Define if have XFS filesystem (irix)])
AH_TEMPLATE([MOUNT_TYPE_UFS],
[Mount(2) type/name for UFS filesystem])
+AH_TEMPLATE([MOUNT_TYPE_FFS],
+[Mount(2) type/name for FFS filesystem])
+
AH_TEMPLATE([MOUNT_TYPE_XFS],
[Mount(2) type/name for XFS filesystem (irix)])
AH_TEMPLATE([MNTTAB_TYPE_UFS],
[Mount-table entry name for UFS filesystem])
+AH_TEMPLATE([MNTTAB_TYPE_FFS],
+[Mount-table entry name for FFS filesystem])
+
AH_TEMPLATE([MNTTAB_TYPE_XFS],
[Mount-table entry name for XFS filesystem (irix)])