.
[coreutils.git] / m4 / d-type.m4
blobb3838f1f5955da6c532c468fc90e08370e8aa394
1 #serial 1
3 dnl From Jim Meyering.
4 dnl
5 dnl Check whether struct dirent has a member named d_type.
6 dnl
8 AC_DEFUN(jm_STRUCT_DIRENT_D_TYPE,
9   [AC_REQUIRE([AC_HEADER_DIRENT])dnl
10    AC_CACHE_CHECK([for d_type member in directory struct],
11                   jm_cv_struct_dirent_d_type,
12      [AC_TRY_LINK(dnl
13        [
14 #include <sys/types.h>
15 #ifdef HAVE_DIRENT_H
16 # include <dirent.h>
17 #else /* not HAVE_DIRENT_H */
18 # define dirent direct
19 # ifdef HAVE_SYS_NDIR_H
20 #  include <sys/ndir.h>
21 # endif /* HAVE_SYS_NDIR_H */
22 # ifdef HAVE_SYS_DIR_H
23 #  include <sys/dir.h>
24 # endif /* HAVE_SYS_DIR_H */
25 # ifdef HAVE_NDIR_H
26 #  include <ndir.h>
27 # endif /* HAVE_NDIR_H */
28 #endif /* HAVE_DIRENT_H */
29        ],
30        [struct dirent dp; dp.d_type = 0;],
32        jm_cv_struct_dirent_d_type=yes,
33        jm_cv_struct_dirent_d_type=no)
34      ]
35    )
36    if test $jm_cv_struct_dirent_d_type = yes; then
37      AC_DEFINE(D_TYPE_IN_DIRENT)
38    fi
39   ]