diff options
Diffstat (limited to 'm4/unlink.m4')
-rw-r--r-- | m4/unlink.m4 | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/m4/unlink.m4 b/m4/unlink.m4 index 626c3adf35..bed24665de 100644 --- a/m4/unlink.m4 +++ b/m4/unlink.m4 @@ -1,4 +1,4 @@ -# unlink.m4 serial 1 +# unlink.m4 serial 2 dnl Copyright (C) 2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,18 +8,26 @@ AC_DEFUN([gl_FUNC_UNLINK], [ AC_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - dnl Detect Solaris 9 bug. + dnl Detect Solaris 9 and FreeBSD 7.2 bug. AC_CACHE_CHECK([whether unlink honors trailing slashes], [gl_cv_func_unlink_works], [touch conftest.file + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.file conftest.lnk + fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include <stdio.h> #include <errno.h> -]], [[return !unlink ("conftest.file/") || errno != ENOTDIR;]])], +]], [[if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1; +#if HAVE_LSTAT + if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2; +#endif + ]])], [gl_cv_func_unlink_works=yes], [gl_cv_func_unlink_works=no], [gl_cv_func_unlink_works="guessing no"]) - rm -f conftest.file]) + rm -f conftest.file conftest.lnk]) if test x"$gl_cv_func_unlink_works" != xyes; then REPLACE_UNLINK=1 AC_LIBOBJ([unlink]) |