X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frmdir.m4;h=f6a02dd24a86aca5e6a7d13983ad44709b581c7f;hb=e7086a9a301ffcfef17edbcba9e7c0312c33f7a8;hp=599b7895786e50aff6bc646cb9bfa06e9f9fafc0;hpb=5ff811558adf7013f9fd9109fa794dd4e5ee8c91;p=gnulib.git diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index 599b78957..f6a02dd24 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,44 +1,49 @@ -# rmdir.m4 serial 7 -dnl Copyright (C) 2002, 2005, 2009 Free Software Foundation, Inc. +# rmdir.m4 serial 13 +dnl Copyright (C) 2002, 2005, 2009-2013 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 - 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 + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + dnl Detect cygwin 1.5.x bug. + AC_CHECK_HEADERS_ONCE([unistd.h]) + 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 + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif +]], [[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], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rmdir_works="guessing no" ;; + esac + ]) + rm -rf conftest.dir conftest.file]) + case "$gl_cv_func_rmdir_works" in + *yes) ;; + *) REPLACE_RMDIR=1 - AC_LIBOBJ([rmdir]) - fi - fi + ;; + esac ])