projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
test-exclude: skip tests rather than failing on deficient systems
[gnulib.git]
/
m4
/
fchdir.m4
diff --git
a/m4/fchdir.m4
b/m4/fchdir.m4
index
f0e4dc0
..
30e0af1
100644
(file)
--- a/
m4/fchdir.m4
+++ b/
m4/fchdir.m4
@@
-1,5
+1,5
@@
-# fchdir.m4 serial
1
0
-dnl Copyright (C) 2006-20
09
Free Software Foundation, Inc.
+# fchdir.m4 serial
2
0
+dnl Copyright (C) 2006-20
11
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.
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.
@@
-8,10
+8,14
@@
AC_DEFUN([gl_FUNC_FCHDIR],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
- AC_CHECK_FUNCS_ONCE([fchdir])
- if test $ac_cv_func_fchdir = no; then
- REPLACE_FCHDIR=1
+
+ AC_CHECK_DECLS_ONCE([fchdir])
+ if test $ac_cv_have_decl_fchdir = no; then
+ HAVE_DECL_FCHDIR=0
+ fi
+
+ AC_REQUIRE([gl_TEST_FCHDIR])
+ if test $HAVE_FCHDIR = 0; then
AC_LIBOBJ([fchdir])
gl_PREREQ_FCHDIR
AC_DEFINE([REPLACE_FCHDIR], [1],
AC_LIBOBJ([fchdir])
gl_PREREQ_FCHDIR
AC_DEFINE([REPLACE_FCHDIR], [1],
@@
-19,19
+23,10
@@
AC_DEFUN([gl_FUNC_FCHDIR],
dnl We must also replace anything that can manipulate a directory fd,
dnl to keep our bookkeeping up-to-date. We don't have to replace
dnl fstatat, since no platform has fstatat but lacks fchdir.
dnl We must also replace anything that can manipulate a directory fd,
dnl to keep our bookkeeping up-to-date. We don't have to replace
dnl fstatat, since no platform has fstatat but lacks fchdir.
- REPLACE_FSTAT=1
- REPLACE_OPENDIR=1
- REPLACE_CLOSEDIR=1
- REPLACE_DUP=1
- gl_REPLACE_OPEN
- gl_REPLACE_CLOSE
- gl_REPLACE_DUP2
- dnl dup3 is already unconditionally replaced
- gl_REPLACE_DIRENT_H
AC_CACHE_CHECK([whether open can visit directories],
[gl_cv_func_open_directory_works],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <fcntl.h>
AC_CACHE_CHECK([whether open can visit directories],
[gl_cv_func_open_directory_works],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <fcntl.h>
-]], [return open(".", O_RDONLY);])],
+]], [return open(".", O_RDONLY)
< 0
;])],
[gl_cv_func_open_directory_works=yes],
[gl_cv_func_open_directory_works=no],
[gl_cv_func_open_directory_works="guessing no"])])
[gl_cv_func_open_directory_works=yes],
[gl_cv_func_open_directory_works=no],
[gl_cv_func_open_directory_works="guessing no"])])
@@
-42,5
+37,15
@@
work around the inability to open a directory.])
fi
])
fi
])
+# Determine whether to use the overrides in lib/fchdir.c.
+AC_DEFUN([gl_TEST_FCHDIR],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([fchdir])
+ if test $ac_cv_func_fchdir = no; then
+ HAVE_FCHDIR=0
+ fi
+])
+
# Prerequisites of lib/fchdir.c.
AC_DEFUN([gl_PREREQ_FCHDIR], [:])
# Prerequisites of lib/fchdir.c.
AC_DEFUN([gl_PREREQ_FCHDIR], [:])