From 2116c530953fb430c2077a5af7b0f24af001c3c1 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 6 May 2000 14:25:18 +0000 Subject: [PATCH] (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. --- m4/rmdir-errno.m4 | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 m4/rmdir-errno.m4 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 +#include +#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]) +]) -- 2.11.0