+2011-05-21 Bruno Haible <bruno@clisp.org>
+
+ openat: Respect rules for use of AC_LIBOBJ.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
+ AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
+ * modules/openat (configure.ac): ... to here.
+
2011-05-21 Bruno Haible <bruno@clisp.org>
obstack-printf*: Move AC_LIBOBJ invocations to module description.
-# serial 32
+# serial 33
# See if we need to use our replacement for Solaris' openat et al functions.
dnl Copyright (C) 2004-2011 Free Software Foundation, Inc.
GNULIB_FCHOWNAT=1
GNULIB_UNLINKAT=1
- AC_LIBOBJ([openat-proc])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_CHECK_FUNCS_ONCE([lchmod])
- AC_REPLACE_FUNCS([fchmodat fstatat mkdirat openat unlinkat])
+ AC_CHECK_FUNCS([fchmodat fstatat mkdirat openat unlinkat])
AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
AC_REQUIRE([gl_FUNC_UNLINK])
case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in
yes+yes)
# GNU/Hurd has unlinkat, but it has the same bug as unlink.
if test $REPLACE_UNLINK = 1; then
- AC_LIBOBJ([unlinkat])
REPLACE_UNLINKAT=1
fi ;;
yes+*)
# Solaris 9 has *at functions, but uniformly mishandles trailing
# slash in all of them.
- AC_LIBOBJ([openat])
REPLACE_OPENAT=1
- AC_LIBOBJ([fstatat])
REPLACE_FSTATAT=1
- AC_LIBOBJ([unlinkat])
REPLACE_UNLINKAT=1
;;
*)
REPLACE_FCHOWNAT=1
fi],
[HAVE_FCHOWNAT=0])
- if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
- AC_LIBOBJ([fchownat])
- fi
])
AC_DEFUN([gl_PREREQ_OPENAT],
configure.ac:
gl_FUNC_OPENAT
+AC_LIBOBJ([openat-proc])
+if test $HAVE_FCHMODAT = 0; then
+ AC_LIBOBJ([fchmodat])
+fi
+if test $ac_cv_func_fstatat = no || test $REPLACE_FSTATAT = 1; then
+ AC_LIBOBJ([fstatat])
+fi
+if test $HAVE_MKDIRAT = 0; then
+ AC_LIBOBJ([mkdirat])
+fi
+if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then
+ AC_LIBOBJ([openat])
+fi
+if test $ac_cv_func_unlinkat = no || test $REPLACE_UNLINKAT = 1; then
+ AC_LIBOBJ([unlinkat])
+fi
+if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
+ AC_LIBOBJ([fchownat])
+fi
Makefile.am: