From c8e57ce5bbfc176ca622fcfff5af1982dd9ff17e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Fri, 31 Oct 2014 18:12:15 +0000 Subject: linkat: wrap to handle symlinks on OS X 10.10 * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite but not usable because it doesn't support creating hardlinks to symlinks. Therefore add a generic test for this capability and fallback to our emulation if linkat() fails with ENOTSUP. --- modules/linkat | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'modules/linkat') diff --git a/modules/linkat b/modules/linkat index f31dcf70c5..e0c4165759 100644 --- a/modules/linkat +++ b/modules/linkat @@ -14,18 +14,18 @@ errno [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] fcntl-h [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] filenamecat-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] link-follow [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] -areadlink [test $HAVE_LINKAT = 0] -at-internal [test $HAVE_LINKAT = 0] -dosname [test $HAVE_LINKAT = 0] -fstat [test $HAVE_LINKAT = 0] -getcwd-lgpl [test $HAVE_LINKAT = 0] -openat-h [test $HAVE_LINKAT = 0] -openat-die [test $HAVE_LINKAT = 0] -link [test $HAVE_LINKAT = 0] -lstat [test $HAVE_LINKAT = 0] -same-inode [test $HAVE_LINKAT = 0] -save-cwd [test $HAVE_LINKAT = 0] -symlink [test $HAVE_LINKAT = 0] +areadlink [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +at-internal [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +dosname [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +fstat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +getcwd-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +openat-h [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +openat-die [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +link [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +lstat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +same-inode [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +save-cwd [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] +symlink [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1] areadlinkat [test $REPLACE_LINKAT = 1] fstatat [test $REPLACE_LINKAT = 1] @@ -33,8 +33,6 @@ configure.ac: gl_FUNC_LINKAT if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then AC_LIBOBJ([linkat]) -fi -if test $HAVE_LINKAT = 0; then AC_LIBOBJ([at-func2]) fi gl_UNISTD_MODULE_INDICATOR([linkat]) -- cgit v1.2.1