glob: merge from glibc with Zanella glob changes
[gnulib.git] / m4 / d-type.m4
blobc819fc02f84fc186cd28b2d6e67b56b1ef874ea3
1 # serial 12
3 dnl From Jim Meyering.
4 dnl
5 dnl Check whether struct dirent has a member named d_type.
6 dnl
8 # Copyright (C) 1997, 1999-2004, 2006, 2009-2017 Free Software Foundation, Inc.
10 # This file is free software; the Free Software Foundation
11 # gives unlimited permission to copy and/or distribute it,
12 # with or without modifications, as long as this notice is preserved.
14 AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
15   [AC_CACHE_CHECK([for d_type member in directory struct],
16                   [gl_cv_struct_dirent_d_type],
17      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
18 #include <sys/types.h>
19 #include <dirent.h>
20          ]],
21          [[struct dirent dp; dp.d_type = 0;]])],
22        [gl_cv_struct_dirent_d_type=yes],
23        [gl_cv_struct_dirent_d_type=no])
24      ]
25    )
26    if test $gl_cv_struct_dirent_d_type = yes; then
27      AC_DEFINE([HAVE_STRUCT_DIRENT_D_TYPE], [1],
28        [Define if there is a member named d_type in the struct describing
29         directory headers.])
30    fi
31   ]