Make the module 'getndelim2' compatible with the module 'getline'.
[gnulib.git] / m4 / ls-mntd-fs.m4
index 797efe9..e8a5656 100644 (file)
@@ -1,4 +1,4 @@
-#serial 11
+#serial 12
 
 dnl From Jim Meyering.
 dnl
@@ -10,7 +10,24 @@ dnl
 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
   [
 AC_CHECK_FUNCS(listmntent getmntinfo)
-AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
+AC_CHECK_HEADERS_ONCE(sys/param.h)
+AC_CHECK_HEADERS(mntent.h sys/ucred.h sys/mount.h sys/fs_types.h)
+    getfsstat_includes="\
+$ac_includes_default
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
+#endif
+#if HAVE_SYS_UCRED_H
+# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
+#endif
+#if HAVE_SYS_MOUNT_H
+# include <sys/mount.h>
+#endif
+#if HAVE_SYS_FS_TYPES_H
+# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
+#endif
+"
+AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
 
 # Determine how to get the list of mounted filesystems.
 ac_list_mounted_fs=
@@ -47,7 +64,7 @@ yes
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_LISTMNTENT, 1,
       [Define if there is a function named listmntent that can be used to
-   list all mounted filesystems. (UNICOS)])
+       list all mounted filesystems. (UNICOS)])
   fi
 fi
 
@@ -84,9 +101,9 @@ if test $ac_cv_func_getmntent = yes; then
     if test $fu_cv_sys_mounted_getmntent1 = yes; then
       ac_list_mounted_fs=found
       AC_DEFINE(MOUNTED_GETMNTENT1, 1,
-  [Define if there is a function named getmntent for reading the list
-   of mounted filesystems, and that function takes a single argument.
-   (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
+        [Define if there is a function named getmntent for reading the list
+         of mounted filesystems, and that function takes a single argument.
+         (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
     fi
   fi
 
@@ -101,8 +118,8 @@ if test $ac_cv_func_getmntent = yes; then
     if test $fu_cv_sys_mounted_getmntent2 = yes; then
       ac_list_mounted_fs=found
       AC_DEFINE(MOUNTED_GETMNTENT2, 1,
-  [Define if there is a function named getmntent for reading the list of
-   mounted filesystems, and that function takes two arguments.  (SVR4)])
+        [Define if there is a function named getmntent for reading the list of
+         mounted filesystems, and that function takes two arguments.  (SVR4)])
     fi
   fi
 
@@ -116,21 +133,16 @@ if test -z "$ac_list_mounted_fs"; then
   AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
   [AC_TRY_LINK([
 #include <sys/types.h>
-#if HAVE_SYS_PARAM_H
-# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
+#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
+# define FS_TYPE(Ent) ((Ent).f_fstypename)
+#else
+# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
 #endif
-#if HAVE_SYS_UCRED_H
-#include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
-#endif
-#if HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-#if HAVE_SYS_FS_TYPES_H
-#include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
-#endif
-],
+]$getfsstat_includes
+,
   [struct statfs *stats;
-  int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
+   int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
+   char *t = FS_TYPE (*stats); ],
     fu_cv_sys_mounted_getfsstat=yes,
     fu_cv_sys_mounted_getfsstat=no)])
   AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
@@ -138,7 +150,7 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_GETFSSTAT, 1,
              [Define if there is a function named getfsstat for reading the
-   list of mounted filesystems.  (DEC Alpha running OSF/1)])
+               list of mounted filesystems.  (DEC Alpha running OSF/1)])
   fi
 fi
 
@@ -154,8 +166,8 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_VMOUNT, 1,
        [Define if there is a function named mntctl that can be used to read
-   the list of mounted filesystems, and there is a system header file
-   that declares `struct vmount.'  (AIX)])
+         the list of mounted filesystems, and there is a system header file
+         that declares `struct vmount.'  (AIX)])
   fi
 fi
 
@@ -173,9 +185,9 @@ if test -z "$ac_list_mounted_fs"; then
   if test $fu_cv_sys_mounted_fread_fstyp = yes; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
-[Define if (like SVR2) there is no specific function for reading the
-   list of mounted filesystems, and your system has these header files:
-   <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
+      [Define if (like SVR2) there is no specific function for reading the
+       list of mounted filesystems, and your system has these header files:
+       <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
   fi
 fi
 
@@ -184,12 +196,7 @@ if test -z "$ac_list_mounted_fs"; then
   AC_MSG_CHECKING([for getmntinfo function])
   AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
     [
-      ok=
-      if test $ac_cv_func_getmntinfo = yes; then
-       AC_EGREP_HEADER(f_type;, sys/mount.h,
-                       ok=yes)
-      fi
-      test -n "$ok" \
+      test "$ac_cv_func_getmntinfo" = yes \
          && fu_cv_sys_mounted_getmntinfo=yes \
          || fu_cv_sys_mounted_getmntinfo=no
     ])
@@ -198,7 +205,7 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_GETMNTINFO, 1,
              [Define if there is a function named getmntinfo for reading the
-   list of mounted filesystems.  (4.4BSD)])
+               list of mounted filesystems.  (4.4BSD, Darwin)])
   fi
 fi
 
@@ -216,7 +223,7 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_GETMNT, 1,
       [Define if there is a function named getmnt for reading the list of
-   mounted filesystems.  (Ultrix)])
+       mounted filesystems.  (Ultrix)])
   fi
 fi
 
@@ -237,7 +244,7 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
       [Define if there are functions named next_dev and fs_stat_dev for
-   reading the list of mounted filesystems.  (BeOS)])
+       reading the list of mounted filesystems.  (BeOS)])
   fi
 fi
 
@@ -253,7 +260,8 @@ if test -z "$ac_list_mounted_fs"; then
     ac_list_mounted_fs=found
     AC_DEFINE(MOUNTED_FREAD, 1,
              [Define if there is no specific function for reading the list of
-   mounted filesystems.  fread will be used to read /etc/mnttab.  (SVR2) ])
+               mounted filesystems.  fread will be used to read /etc/mnttab.
+               (SVR2) ])
   fi
 fi