summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-10-18 22:35:28 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2014-10-18 22:36:27 -0700
commitcb3a9b8b565ba8ae3425c591d9d8399f524f4b6f (patch)
treeaca3cd911deef9b9626d6f3050031fd91c7b13a5 /m4
parentb155b0649814b20e635a2db305696710fa1037ce (diff)
downloadgnulib-cb3a9b8b565ba8ae3425c591d9d8399f524f4b6f.tar.gz
readlinkat: port to AIX 7.1
* doc/posix-functions/readlink.texi (readlink): * doc/posix-functions/readlinkat.texi (readlinkat): Mention AIX porting problem. * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]: New function. * lib/unistd.in.h (readlinkat): Add replacement machinery. * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT. * modules/readlinkat (configure.ac): Also compile replacement if REPLACE_READLINKAT. * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
Diffstat (limited to 'm4')
-rw-r--r--m4/readlinkat.m415
-rw-r--r--m4/unistd_h.m43
2 files changed, 16 insertions, 2 deletions
diff --git a/m4/readlinkat.m4 b/m4/readlinkat.m4
index 65c0689c11..f9ed9436af 100644
--- a/m4/readlinkat.m4
+++ b/m4/readlinkat.m4
@@ -1,4 +1,4 @@
-# serial 3
+# serial 4
# See if we need to provide readlinkat replacement.
dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
@@ -15,5 +15,18 @@ AC_DEFUN([gl_FUNC_READLINKAT],
AC_CHECK_FUNCS_ONCE([readlinkat])
if test $ac_cv_func_readlinkat = no; then
HAVE_READLINKAT=0
+ else
+ AC_CACHE_CHECK([whether readlinkat signature is correct],
+ [gl_cv_decl_readlinkat_works],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+ /* Check whether original declaration has correct type. */
+ ssize_t readlinkat (int, char const *, char *, size_t);]])],
+ [gl_cv_decl_readlinkat_works=yes],
+ [gl_cv_decl_readlinkat_works=no])])
+ if test "$gl_cv_decl_readlink_works" != yes; then
+ REPLACE_READLINKAT=1
+ fi
fi
])
diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4
index 1fa197e694..6d217d66b4 100644
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 67
+# unistd_h.m4 serial 68
dnl Copyright (C) 2006-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,
@@ -173,6 +173,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
REPLACE_READ=0; AC_SUBST([REPLACE_READ])
REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
+ REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT])
REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])