X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fls-mntd-fs.m4;h=54ae7d9838448644897a01458c712bb95ce057ec;hb=c50728dcc26ea56e6e20937a97a26a70b0484703;hp=17d282fe9bea613a182c1725f8e627387604bd22;hpb=65e32a3af2a708c6edab190644d6d18b04fde567;p=gnulib.git diff --git a/m4/ls-mntd-fs.m4 b/m4/ls-mntd-fs.m4 index 17d282fe9..54ae7d983 100644 --- a/m4/ls-mntd-fs.m4 +++ b/m4/ls-mntd-fs.m4 @@ -10,7 +10,23 @@ dnl AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS], [ AC_CHECK_FUNCS(listmntent getmntinfo) -AC_CHECK_HEADERS(mntent.h) +AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h) + getfsstat_includes="\ +$ac_includes_default +#if HAVE_SYS_PARAM_H +# include /* needed by powerpc-apple-darwin1.3.7 */ +#endif +#if HAVE_SYS_UCRED_H +# include /* needed by powerpc-apple-darwin1.3.7 */ +#endif +#if HAVE_SYS_MOUNT_H +# include +#endif +#if HAVE_SYS_FS_TYPES_H +# include /* 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= @@ -109,19 +125,27 @@ if test $ac_cv_func_getmntent = yes; then fi if test -z "$ac_list_mounted_fs"; then - # DEC Alpha running OSF/1. + # DEC Alpha running OSF/1, and Apple Darwin 1.3. + # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h + AC_MSG_CHECKING([for getfsstat function]) - AC_CACHE_VAL(fu_cv_sys_mounted_getsstat, + AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat, [AC_TRY_LINK([ #include -#include -#include ], +#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME +# define FS_TYPE(Ent) ((Ent).f_fstypename) +#else +# define FS_TYPE(Ent) mnt_names[(Ent).f_type] +#endif +]$getfsstat_includes +, [struct statfs *stats; - int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ], - fu_cv_sys_mounted_getsstat=yes, - fu_cv_sys_mounted_getsstat=no)]) - AC_MSG_RESULT($fu_cv_sys_mounted_getsstat) - if test $fu_cv_sys_mounted_getsstat = yes; then + 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) + if test $fu_cv_sys_mounted_getfsstat = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETFSSTAT, 1, [Define if there is a function named getfsstat for reading the @@ -171,12 +195,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 ]) @@ -185,7 +204,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