Merge commit 'a39d4083cab589d7cd6a13e8a4b8db8875261d75'
[gnulib.git] / m4 / remove.m4
index 139d2fa..7eb8f7e 100644 (file)
@@ -1,5 +1,5 @@
-# remove.m4 serial 1
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# remove.m4 serial 5
+dnl Copyright (C) 2009-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,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,15 +7,17 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_REMOVE],
 [
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_AC_DOS])
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   AC_REQUIRE([gl_FUNC_RMDIR])
   AC_REQUIRE([gl_FUNC_UNLINK])
-  if test "$gl_cv_func_rmdir_works:$gl_cv_func_unlink_works" != yes:yes; then
+  if { case "$gl_cv_func_rmdir_works:$gl_cv_func_unlink_honors_slashes" in
+         *yes:*yes) false;;
+         *) true;;
+       esac
+     }; then
     dnl If either underlying syscall is broken, then remove likely has
     dnl the same bug; blindly use our replacement.
     REPLACE_REMOVE=1
-    AC_LIBOBJ([remove])
   else
     dnl C89 requires remove(), but only POSIX requires it to handle
     dnl directories.  On mingw, directories fails with EPERM.
@@ -33,8 +35,7 @@ AC_DEFUN([gl_FUNC_REMOVE],
           esac])
        rm -rf conftest.dir])
     case $gl_cv_func_remove_dir_works in
-      *no*) REPLACE_REMOVE=1
-        AC_LIBOBJ([remove]);;
+      *no*) REPLACE_REMOVE=1;;
     esac
   fi
 ])