add sockets wrappers
[gnulib.git] / m4 / dirfd.m4
index 8e42075..125966b 100644 (file)
@@ -1,6 +1,13 @@
-#serial 7
+#serial 14   -*- Autoconf -*-
 
 dnl Find out how to get the file descriptor associated with an open DIR*.
+
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+# Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
 dnl From Jim Meyering
 
 AC_DEFUN([gl_FUNC_DIRFD],
@@ -8,30 +15,16 @@ AC_DEFUN([gl_FUNC_DIRFD],
   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
   AC_REQUIRE([AC_PROG_CPP])
   AC_REQUIRE([AC_PROG_EGREP])
-
-  AC_HEADER_DIRENT
-  dirfd_headers='
-#if HAVE_DIRENT_H
-# include <dirent.h>
-#else /* not HAVE_DIRENT_H */
-# define dirent direct
-# if HAVE_SYS_NDIR_H
-#  include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# if HAVE_SYS_DIR_H
-#  include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# if HAVE_NDIR_H
-#  include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
-'
   AC_CHECK_FUNCS(dirfd)
-  AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
+  AC_CHECK_DECLS([dirfd], , ,
+    [#include <sys/types.h>
+     #include <dirent.h>])
 
   AC_CACHE_CHECK([whether dirfd is a macro],
     gl_cv_func_dirfd_macro,
-    [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
+    [AC_EGREP_CPP([dirent_header_defines_dirfd], [
+#include <sys/types.h>
+#include <dirent.h>
 #ifdef dirfd
  dirent_header_defines_dirfd
 #endif],
@@ -47,13 +40,13 @@ AC_DEFUN([gl_FUNC_DIRFD],
              [how to get the file descriptor associated with an open DIR*],
                   gl_cv_sys_dir_fd_member_name,
       [
-        dirfd_save_CFLAGS=$CFLAGS
+       dirfd_save_CFLAGS=$CFLAGS
        for ac_expr in d_fd dd_fd; do
 
          CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
          AC_TRY_COMPILE(
-           [$dirfd_headers
-           ],
+           [#include <sys/types.h>
+            #include <dirent.h>],
            [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
            dir_fd_found=yes
          )