Mercurial > hg > octave-nkf > gnulib-hg
changeset 2495:34631cecc244
(fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sat, 06 May 2000 14:25:18 +0000 |
parents | 69a6b161b9b9 |
children | 1f391ed6c27e |
files | m4/rmdir-errno.m4 |
diffstat | 1 files changed, 43 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /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]) +])