diff options
author | Jim Meyering <jim@meyering.net> | 2000-05-06 14:25:18 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2000-05-06 14:25:18 +0000 |
commit | 884af44da8de0a378a4b8b9b2b7ad2cd4df15a23 (patch) | |
tree | dfc5572f7226fd58de04f6742162f8870f383fbf /m4/rmdir-errno.m4 | |
parent | c2a761780e66aa3bf0a3c32b175400cdda680ee8 (diff) | |
download | coreutils-884af44da8de0a378a4b8b9b2b7ad2cd4df15a23.tar.xz |
(fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
Diffstat (limited to 'm4/rmdir-errno.m4')
-rw-r--r-- | m4/rmdir-errno.m4 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/m4/rmdir-errno.m4 b/m4/rmdir-errno.m4 new file mode 100644 index 000000000..f7d866911 --- /dev/null +++ b/m4/rmdir-errno.m4 @@ -0,0 +1,43 @@ +#serial 1 + +# 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(fetish_FUNC_RMDIR_NOTEMPTY, +[dnl + AC_CACHE_CHECK([for rmdir-not-empty errno value], + fetish_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_TRY_RUN([ +#include <stdio.h> +#include <errno.h> +#ifndef errno +extern int errno; +#endif + int main () + { + FILE *s; + int val; + rmdir ("confdir2"); + val = errno; + s = fopen ("confdir2/file", "w"); + fprintf (s, "%d\n", val); + exit (0); + } + ], + fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/file`, + fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4', + fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY + ) + ] + ) + + AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY], + $fetish_cv_func_rmdir_errno_not_empty, + [the value to which errno is set when rmdir fails on a nonempty directory]) +]) |