diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-10-18 22:35:28 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-10-18 22:36:27 -0700 |
commit | cb3a9b8b565ba8ae3425c591d9d8399f524f4b6f (patch) | |
tree | aca3cd911deef9b9626d6f3050031fd91c7b13a5 /m4 | |
parent | b155b0649814b20e635a2db305696710fa1037ce (diff) | |
download | gnulib-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.m4 | 15 | ||||
-rw-r--r-- | m4/unistd_h.m4 | 3 |
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]) |