diff options
Diffstat (limited to 'm4')
-rw-r--r-- | m4/d-type.m4 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/d-type.m4 b/m4/d-type.m4 new file mode 100644 index 000000000..b3838f1f5 --- /dev/null +++ b/m4/d-type.m4 @@ -0,0 +1,40 @@ +#serial 1 + +dnl From Jim Meyering. +dnl +dnl Check whether struct dirent has a member named d_type. +dnl + +AC_DEFUN(jm_STRUCT_DIRENT_D_TYPE, + [AC_REQUIRE([AC_HEADER_DIRENT])dnl + AC_CACHE_CHECK([for d_type member in directory struct], + jm_cv_struct_dirent_d_type, + [AC_TRY_LINK(dnl + [ +#include <sys/types.h> +#ifdef HAVE_DIRENT_H +# include <dirent.h> +#else /* not HAVE_DIRENT_H */ +# define dirent direct +# ifdef HAVE_SYS_NDIR_H +# include <sys/ndir.h> +# endif /* HAVE_SYS_NDIR_H */ +# ifdef HAVE_SYS_DIR_H +# include <sys/dir.h> +# endif /* HAVE_SYS_DIR_H */ +# ifdef HAVE_NDIR_H +# include <ndir.h> +# endif /* HAVE_NDIR_H */ +#endif /* HAVE_DIRENT_H */ + ], + [struct dirent dp; dp.d_type = 0;], + + jm_cv_struct_dirent_d_type=yes, + jm_cv_struct_dirent_d_type=no) + ] + ) + if test $jm_cv_struct_dirent_d_type = yes; then + AC_DEFINE(D_TYPE_IN_DIRENT) + fi + ] +) |