From d5c3a9c8cd018610263857912c480707ff25e5b9 Mon Sep 17 00:00:00 2001 From: Erez Zadok Date: Sat, 1 Oct 2005 06:48:08 +0000 Subject: [PATCH] * 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). --- ChangeLog | 11 +++++++++++ NEWS | 2 +- configure.in | 8 ++++---- m4/macros/check_mnttab_type.m4 | 16 ++++++++++++++++ m4/macros/header_templates.m4 | 9 +++++++++ 5 files changed, 41 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e728ca9..973c3520 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2005-10-01 Erez Zadok + * 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 if it exists. * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs() diff --git a/NEWS b/NEWS index 85176fd2..27ff14d8 100644 --- a/NEWS +++ b/NEWS @@ -48,7 +48,7 @@ XXX: Dan, document sun_map_syntax flag in more detail in am-utils.texi and * 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 diff --git a/configure.in b/configure.in index 5becebfc..b28e787d 100644 --- a/configure.in +++ b/configure.in @@ -55,7 +55,7 @@ AH_BOTTOM([ 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 ***) @@ -941,7 +941,7 @@ dnl AMU_CHECK_FS_MNTENT(nfs3) 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 @@ -989,7 +989,7 @@ 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(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) @@ -1012,7 +1012,7 @@ 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(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) diff --git a/m4/macros/check_mnttab_type.m4 b/m4/macros/check_mnttab_type.m4 index f0f003a6..5b6b4896 100644 --- a/m4/macros/check_mnttab_type.m4 +++ b/m4/macros/check_mnttab_type.m4 @@ -115,6 +115,22 @@ do 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( [ diff --git a/m4/macros/header_templates.m4 b/m4/macros/header_templates.m4 index 458905d8..611c931e 100644 --- a/m4/macros/header_templates.m4 +++ b/m4/macros/header_templates.m4 @@ -70,6 +70,9 @@ AH_TEMPLATE([HAVE_MAP_EXEC], 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)]) @@ -124,6 +127,9 @@ AH_TEMPLATE([HAVE_FS_UMAPFS], 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)]) @@ -178,6 +184,9 @@ AH_TEMPLATE([MOUNT_TYPE_UMAPFS], 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)]) -- 2.43.0