X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=m4%2Frmdir.m4;h=41705a1ee442b7ae8bdfac2d993ab702d609176f;hb=f3797c1231154dc0bbade50aceaa8639ffd9e3cf;hp=8d6bee8bb5a5d4c5fc340ccaecea9be13120356c;hpb=29ece34f44a27750bbfd76154ad9882580453dc7;p=debian%2Ftar diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index 8d6bee8b..41705a1e 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,44 +1,35 @@ -# rmdir.m4 serial 7 -dnl Copyright (C) 2002, 2005, 2009-2010 Free Software Foundation, Inc. +# rmdir.m4 serial 10 +dnl Copyright (C) 2002, 2005, 2009-2011 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_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - dnl FIXME: simplify this module in 2010 if no one reports a missing rmdir - AC_REPLACE_FUNCS([rmdir]) - if test $ac_cv_func_rmdir = no; then + 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 + #include + #include +]], [[int result = 0; + if (!rmdir ("conftest.file/")) + result |= 1; + else if (errno != ENOTDIR) + result |= 2; + if (!rmdir ("conftest.dir/./")) + result |= 4; + return result; + ]])], + [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 - # If someone lacks rmdir, make configure fail, and request - # a bug report to inform us about it. - if test x"$SKIP_RMDIR_CHECK" != xyes; then - AC_MSG_FAILURE([Your system lacks the rmdir function. - Please report this, along with the output of "uname -a", to the - bug-coreutils@gnu.org mailing list. To continue past this point, - rerun configure with SKIP_RMDIR_CHECK=yes. - E.g., ./configure SKIP_RMDIR_CHECK=yes]) - fi - else - 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 - #include - #include -]], [[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 + AC_LIBOBJ([rmdir]) fi ])