maint: update copyright
[gnulib.git] / m4 / rmdir-errno.m4
1 # serial 10
2
3 # Copyright (C) 2000-2001, 2005-2006, 2009-2014 Free Software Foundation, Inc.
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # When rmdir fails because the specified directory is not empty, it sets
9 # errno to some value, usually ENOTEMPTY.  However, on some AIX systems,
10 # ENOTEMPTY is mistakenly defined to be EEXIST.  To work around this, and
11 # in general, to avoid depending on the use of any particular symbol, this
12 # test runs a test to determine the actual numeric value.
13 AC_DEFUN([gl_FUNC_RMDIR_NOTEMPTY],
14 [dnl
15   AC_CHECK_HEADERS_ONCE([unistd.h])
16   AC_CACHE_CHECK([for rmdir-not-empty errno value],
17     gl_cv_func_rmdir_errno_not_empty,
18     [
19       # Arrange for deletion of the temporary directory this test creates.
20       ac_clean_files="$ac_clean_files confdir2"
21       mkdir confdir2; : > confdir2/file
22       AC_RUN_IFELSE([AC_LANG_SOURCE([[
23 #include <stdio.h>
24 #include <errno.h>
25 #ifdef HAVE_UNISTD_H
26 # include <unistd.h>
27 #endif
28         int main ()
29         {
30           FILE *s;
31           int val;
32           rmdir ("confdir2");
33           val = errno;
34           s = fopen ("confdir2/errno", "w");
35           fprintf (s, "%d\n", val);
36           return 0;
37         }
38         ]])],
39       [gl_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`],
40       [gl_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4'],
41       [gl_cv_func_rmdir_errno_not_empty=ENOTEMPTY]
42       )
43     ]
44   )
45
46   AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
47     $gl_cv_func_rmdir_errno_not_empty,
48     [the value to which errno is set when rmdir fails on a nonempty directory])
49 ])