Branch
Hash :
7b089321
Author :
Date :
2025-01-01T09:24:36
maint: run 'make update-copyright'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
# rmdir-errno.m4
# serial 16
dnl Copyright (C) 2000-2001, 2005-2006, 2009-2025 Free Software Foundation,
dnl 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.
dnl This file is offered as-is, without any warranty.
# When rmdir fails because the specified directory is not empty, it sets
# errno to some value, usually ENOTEMPTY. However, on some AIX systems,
# ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and
# in general, to avoid depending on the use of any particular symbol, this
# test runs a test to determine the actual numeric value.
AC_DEFUN([gl_FUNC_RMDIR_NOTEMPTY],
[dnl
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CHECK_HEADERS_ONCE([unistd.h])
AC_CACHE_CHECK([for rmdir-not-empty errno value],
[gl_cv_func_rmdir_errno_not_empty],
[
# Arrange for deletion of the temporary directory this test creates.
ac_clean_files="$ac_clean_files confdir2"
mkdir confdir2; : > confdir2/file
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
#include <errno.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
]GL_MDA_DEFINES[
int main ()
{
FILE *s;
int val;
rmdir ("confdir2");
val = errno;
s = fopen ("confdir2/errno", "w");
fprintf (s, "%d", val);
fclose (s);
return 0;
}
]])],
[gl_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`],
[gl_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4'],
[case "$host_os" in
# Guess ENOTEMPTY = 41 on native Windows.
mingw* | windows*) gl_cv_func_rmdir_errno_not_empty=ENOTEMPTY ;;
*) gl_cv_func_rmdir_errno_not_empty=ENOTEMPTY ;;
esac
])
]
)
AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
[$gl_cv_func_rmdir_errno_not_empty],
[the value to which errno is set when rmdir fails on a nonempty directory])
])