From afd8381b512e1ac2dfea3fc3d488e5d1fb983133 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 1 Nov 2001 16:41:57 +0000 Subject: (UTILS_FUNC_DIRFD): New macro. --- m4/dirfd.m4 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 m4/dirfd.m4 (limited to 'm4') diff --git a/m4/dirfd.m4 b/m4/dirfd.m4 new file mode 100644 index 000000000..b62e12a54 --- /dev/null +++ b/m4/dirfd.m4 @@ -0,0 +1,49 @@ +#serial 1 + +dnl Find out how to get the file descriptor associated with an open DIR*. +dnl From Jim Meyering + +AC_DEFUN([UTILS_FUNC_DIRFD], +[ + AC_REPLACE_FUNCS([dirfd]) + if test $ac_cv_func_dirfd = no; then + AC_CACHE_CHECK( + [how to get the file descriptor associated with an open DIR*], + ac_cv_sys_dir_to_fd, + [ + dirfd_save_DEFS=$DEFS + for ac_expr in \ + \ + '# Solaris' \ + 'dir_p->d_fd' \ + \ + '# Solaris' \ + 'dir_p->dd_fd' \ + \ + '# systems for which the info is not available' \ + -1 \ + ; do + + # Skip each embedded comment. + case "$ac_expr" in '#'*) continue;; esac + + DEFS="$DEFS -DDIR_TO_FD=$ac_expr" + AC_TRY_COMPILE( + [#include + #include + ], + [DIR *dir_p = opendir("."); (void) ($ac_expr);], + dir_fd_done=yes + ) + DEFS=$dirfd_save_DEFS + test "$dir_fd_done" = yes && break + done + + ac_cv_sys_dir_to_fd=$ac_expr + ] + ) + AC_DEFINE_UNQUOTED(DIR_TO_FD, + $ac_cv_sys_dir_to_fd, + [the file descriptor associated with `dir_p']) + fi +]) -- cgit v1.2.3-54-g00ecf