diff options
-rw-r--r-- | m4/stat.m4 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/m4/stat.m4 b/m4/stat.m4 new file mode 100644 index 000000000..6ac3e02e3 --- /dev/null +++ b/m4/stat.m4 @@ -0,0 +1,38 @@ +#serial 1 + +dnl From Jim Meyering. +dnl Determine whether stat has the bug that it succeeds when given the +dnl zero-length file name argument. The stat from SunOS4.1.4 does this. +dnl +dnl If it doesn't, arrange to use the replacement function. +dnl +dnl If you use this macro in a package, you should +dnl add the following two lines to acconfig.h: +dnl /* Define to rpl_stat if the replacement function should be used. */ +dnl #undef stat +dnl + +AC_DEFUN(jm_FUNC_STAT, +[ + AC_CACHE_CHECK([for working stat], jm_cv_func_working_stat, + [AC_TRY_RUN([ +# include <sys/types.h> +# include <sys/stat.h> + + int + main () + { + struct stat sbuf; + exit (stat ("", &sbuf) == 0 ? 1 : 0); + } + ], + jm_cv_func_working_stat=yes, + jm_cv_func_working_stat=no, + dnl When crosscompiling, assume stat is broken. + jm_cv_func_working_stat=no) + ]) + if test $jm_cv_func_working_stat = no; then + LIBOBJS="$LIBOBJS stat.o" + AC_DEFINE_UNQUOTED(stat, rpl_stat) + fi +]) |