diff options
Diffstat (limited to 'gl/m4/opendir.m4')
-rw-r--r-- | gl/m4/opendir.m4 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gl/m4/opendir.m4 b/gl/m4/opendir.m4 new file mode 100644 index 0000000..2e9be76 --- /dev/null +++ b/gl/m4/opendir.m4 @@ -0,0 +1,35 @@ +# opendir.m4 serial 6 +dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_OPENDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + AC_CHECK_FUNCS([opendir]) + if test $ac_cv_func_opendir = no; then + HAVE_OPENDIR=0 + else + dnl Replace opendir() on native Windows, to support fdopendir(). + AC_REQUIRE([gl_DIRENT_DIR]) + if test $DIR_HAS_FD_MEMBER = 0; then + REPLACE_OPENDIR=1 + fi + dnl Replace opendir() on OS/2 kLIBC to support dirfd() function replaced + dnl by gnulib. + case $host_os in + os2*) REPLACE_OPENDIR=1 ;; + esac + dnl Replace opendir() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_OPENDIR=1 + fi + ]) + fi +]) |