Commit | Line | Data |
---|---|---|
6a29c58e | 1 | # rmdir.m4 serial 13 |
49e4877c | 2 | dnl Copyright (C) 2002, 2005, 2009-2016 Free Software Foundation, Inc. |
6a29c58e YQ |
3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | |
5 | dnl with or without modifications, as long as this notice is preserved. | |
6 | ||
7 | AC_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 glibc systems. | |
37 | *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; | |
38 | # If we don't know, assume the worst. | |
39 | *) gl_cv_func_rmdir_works="guessing no" ;; | |
40 | esac | |
41 | ]) | |
42 | rm -rf conftest.dir conftest.file]) | |
43 | case "$gl_cv_func_rmdir_works" in | |
44 | *yes) ;; | |
45 | *) | |
46 | REPLACE_RMDIR=1 | |
47 | ;; | |
48 | esac | |
49 | ]) |