-#serial 3
-# See if we need to use our replacement for Solaris' openat function.
+# serial 45
+# See if we need to use our replacement for Solaris' openat et al functions.
-dnl Copyright (C) 2004 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2013 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_OPENAT],
[
- AC_LIBSOURCES([openat.c, openat.h])
+ AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- 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])
+ :
])