]> git.cworth.org Git - tar/blobdiff - m4/rmdir.m4
upstream: Fix extraction of device nodes.
[tar] / m4 / rmdir.m4
index 7235203f2e6ea526b163e0b594f52710ae5ea7ef..a8a113eef03846b2bf4ff5766f9c6d4c4df04162 100644 (file)
@@ -1,10 +1,29 @@
-# rmdir.m4 serial 3
-dnl Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+# rmdir.m4 serial 8
+dnl Copyright (C) 2002, 2005, 2009-2010 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.
 
 AC_DEFUN([gl_FUNC_RMDIR],
 [
-  AC_REPLACE_FUNCS(rmdir)
+  AC_REQUIRE([gl_AC_DOS])
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  dnl Detect cygwin 1.5.x bug.
+  AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
+    [mkdir conftest.dir
+     touch conftest.file
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[#include <stdio.h>
+           #include <errno.h>
+           #include <unistd.h>
+]], [[return !rmdir ("conftest.file/") || errno != ENOTDIR
+       || !rmdir ("conftest.dir/./");]])],
+       [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
+       [gl_cv_func_rmdir_works="guessing no"])
+     rm -rf conftest.dir conftest.file])
+  if test x"$gl_cv_func_rmdir_works" != xyes; then
+    REPLACE_RMDIR=1
+    AC_LIBOBJ([rmdir])
+  fi
 ])