xref: /netbsd-src/external/gpl3/gdb/dist/gnulib/import/m4/rmdir.m4 (revision 122b5006ee1bd67145794b4cde92f4fe4781a5ec)
1# rmdir.m4 serial 17
2dnl Copyright (C) 2002, 2005, 2009-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_FUNC_RMDIR],
8[
9  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
10  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
11  dnl Detect cygwin 1.5.x bug.
12  AC_CHECK_HEADERS_ONCE([unistd.h])
13  AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
14    [mkdir conftest.dir
15     touch conftest.file
16     AC_RUN_IFELSE(
17       [AC_LANG_PROGRAM(
18         [[#include <stdio.h>
19           #include <errno.h>
20           #if HAVE_UNISTD_H
21           # include <unistd.h>
22           #else /* on Windows with MSVC */
23           # include <direct.h>
24           #endif
25]], [[int result = 0;
26      if (!rmdir ("conftest.file/"))
27        result |= 1;
28      else if (errno != ENOTDIR)
29        result |= 2;
30      if (!rmdir ("conftest.dir/./"))
31        result |= 4;
32      return result;
33    ]])],
34       [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
35       [case "$host_os" in
36                           # Guess yes on Linux systems.
37          linux-* | linux) gl_cv_func_rmdir_works="guessing yes" ;;
38                           # Guess yes on glibc systems.
39          *-gnu* | gnu*)   gl_cv_func_rmdir_works="guessing yes" ;;
40                           # Guess yes on bsd systems.
41          *bsd*)           gl_cv_func_rmdir_works="guessing yes" ;;
42                           # Guess no on native Windows.
43          mingw*)          gl_cv_func_rmdir_works="guessing no" ;;
44                           # If we don't know, obey --enable-cross-guesses.
45          *)               gl_cv_func_rmdir_works="$gl_cross_guess_normal" ;;
46        esac
47       ])
48     rm -rf conftest.dir conftest.file])
49  case "$gl_cv_func_rmdir_works" in
50    *yes) ;;
51    *)
52      REPLACE_RMDIR=1
53      ;;
54  esac
55])
56