1# unlinkat.m4 serial 2 2dnl Copyright (C) 2004-2021 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7# Written by Jim Meyering. 8 9AC_DEFUN([gl_FUNC_UNLINKAT], 10[ 11 AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) 12 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) 13 AC_CHECK_FUNCS_ONCE([unlinkat]) 14 AC_REQUIRE([gl_FUNC_UNLINK]) 15 AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) 16 if test $ac_cv_func_unlinkat = no; then 17 HAVE_UNLINKAT=0 18 else 19 case "$gl_cv_func_lstat_dereferences_slashed_symlink" in 20 *no) 21 # Solaris 9 has *at functions, but uniformly mishandles trailing 22 # slash in all of them. 23 REPLACE_UNLINKAT=1 24 ;; 25 *) 26 # GNU/Hurd has unlinkat, but it has the same bug as unlink. 27 # Darwin has unlinkat, but it has the same UNLINK_PARENT_BUG. 28 if test $REPLACE_UNLINK = 1; then 29 REPLACE_UNLINKAT=1 30 fi 31 ;; 32 esac 33 fi 34]) 35