diff options
author | Jim Meyering <jim@meyering.net> | 1997-08-31 21:00:05 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1997-08-31 21:00:05 +0000 |
commit | 7435d833529765f724fa03ed2840299825bcbcf0 (patch) | |
tree | b774b13f1024929308ac7031d854b8d3de06a953 /m4 | |
parent | ea4e209b2b50eac0a8778a77af5a4f7e763442b3 (diff) | |
download | coreutils-7435d833529765f724fa03ed2840299825bcbcf0.tar.xz |
.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/lstat.m4 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/m4/lstat.m4 b/m4/lstat.m4 new file mode 100644 index 000000000..bb2f75415 --- /dev/null +++ b/m4/lstat.m4 @@ -0,0 +1,38 @@ +#serial 1 + +dnl From Jim Meyering. +dnl Determine whether lstat has the bug that it succeeds when given the +dnl zero-length file name argument. The lstat 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_lstat if the replacement function should be used. */ +dnl #undef lstat +dnl + +AC_DEFUN(jm_FUNC_LSTAT, +[ + AC_CACHE_CHECK([for working lstat], jm_cv_func_working_lstat, + [AC_TRY_RUN([ +# include <sys/types.h> +# include <sys/stat.h> + + int + main () + { + struct stat sbuf; + exit (lstat ("", &sbuf) == 0 ? 1 : 0); + } + ], + jm_cv_func_working_lstat=yes, + jm_cv_func_working_lstat=no, + dnl When crosscompiling, assume lstat is broken. + jm_cv_func_working_lstat=no) + ]) + if test $jm_cv_func_working_lstat = no; then + LIBOBJS="$LIBOBJS lstat.o" + AC_DEFINE_UNQUOTED(lstat, rpl_lstat) + fi +]) |