maint: update copyright
[gnulib.git] / m4 / openat.m4
index 0abb8c8..ad1d9d3 100644 (file)
@@ -1,7 +1,7 @@
-#serial 9
+# serial 45
 # See if we need to use our replacement for Solaris' openat et al functions.
 
-dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 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.
@@ -10,30 +10,27 @@ dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_OPENAT],
 [
-  AC_LIBSOURCES([openat.c, openat.h, openat-priv.h, openat-die.c, at-func.c])
-  AC_LIBSOURCES([intprops.h])
-  AC_LIBSOURCES([mkdirat.c])
-  AC_LIBSOURCES([fchmodat.c])
-
-  # No system provides these functions; compile them unconditionally.
-  AC_LIBOBJ([mkdirat])
-  AC_LIBOBJ([fchmodat])
-
-  AC_LIBOBJ([openat-die])
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_FUNCS_ONCE([lchmod])
-  AC_CHECK_FUNCS_ONCE([fdopendir])
-  AC_REPLACE_FUNCS(openat)
-  case $ac_cv_func_openat in
-  yes) ;;
+  AC_CHECK_FUNCS_ONCE([openat])
+  AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
+  case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in
+  yes+*yes)
+    ;;
+  yes+*)
+    # Solaris 9 has *at functions, but uniformly mishandles trailing
+    # slash in all of them.
+    REPLACE_OPENAT=1
+    ;;
   *)
-    AC_DEFINE([__OPENAT_PREFIX], [[rpl_]],
-      [Define to rpl_ if the openat replacement function should be used.])
-    gl_PREREQ_OPENAT;;
+    HAVE_OPENAT=0
+    ;;
   esac
 ])
 
+# Prerequisites of lib/openat.c.
 AC_DEFUN([gl_PREREQ_OPENAT],
 [
-  AC_REQUIRE([gl_SAVE_CWD])
+  AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T])
+  :
 ])