diff options
author | Jim Meyering <jim@meyering.net> | 1997-09-02 01:46:30 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1997-09-02 01:46:30 +0000 |
commit | 0ebbcc8728f3e5b7234509b75e9bf513011c7698 (patch) | |
tree | 1780952a90cd0a3cc0beb7cc880fcbf6b66588d5 /m4/stat.m4 | |
parent | 50eb86bbb738122dd1e12ba276c156782e39f2f7 (diff) | |
download | gnulib-0ebbcc8728f3e5b7234509b75e9bf513011c7698.tar.gz |
.
Diffstat (limited to 'm4/stat.m4')
-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 0000000000..6ac3e02e33 --- /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 +]) |