X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frmdir.m4;h=f6a02dd24a86aca5e6a7d13983ad44709b581c7f;hb=da8054d48dc22e1c051db54049e005d51a006e69;hp=91eff7fdbf9727ff564fab8c3b84217fb7e2584e;hpb=44d7c1c1f004fa9bfb8ec3948de2671a7958cf5b;p=gnulib.git diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index 91eff7fdb..f6a02dd24 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,19 +1,49 @@ -# rmdir.m4 serial 2 -dnl Copyright (C) 2002 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_REPLACE_FUNCS(rmdir) - if test $ac_cv_func_rmdir = no; then - gl_PREREQ_RMDIR - fi -]) - -# Prerequisites of lib/rmdir.c. -AC_DEFUN([gl_PREREQ_RMDIR], [ - AC_REQUIRE([AC_HEADER_STAT]) - : + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + 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 + ;; + esac ])