changeset 15058:925e4e76213b

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.
author Bruno Haible <bruno@clisp.org>
date Sat, 21 May 2011 16:48:06 +0200
parents 1754adc5fd88
children 6645dea6c600
files ChangeLog m4/openat.m4 modules/openat
diffstat 3 files changed, 28 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
--- a/m4/openat.m4
+++ b/m4/openat.m4
@@ -1,4 +1,4 @@
-# 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.
@@ -22,27 +22,22 @@
   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
     ;;
   *)
@@ -158,9 +153,6 @@
        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],
--- a/modules/openat
+++ b/modules/openat
@@ -38,6 +38,25 @@
 
 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: