X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flstat.m4;h=154402762b1c8eba0b29b8adea41556ff26e7811;hb=0439822fa6b678aa4be450d5cb14b288f5c6cf0a;hp=3b7bdfbc61a017c9e32213cc3d5da9f50744a3a3;hpb=2cde0ccc10fd666c0ab79726afa888e7a36ad4d7;p=gnulib.git diff --git a/m4/lstat.m4 b/m4/lstat.m4 index 3b7bdfbc6..154402762 100644 --- a/m4/lstat.m4 +++ b/m4/lstat.m4 @@ -1,4 +1,4 @@ -#serial 2 +#serial 8 dnl From Jim Meyering. dnl Determine whether lstat has the bug that it succeeds when given the @@ -9,43 +9,19 @@ dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to dnl compile the wrapper function. dnl -AC_DEFUN(jm_FUNC_LSTAT, +AC_DEFUN([jm_FUNC_LSTAT], [ - AC_CACHE_CHECK([whether lstat accepts an empty string], - jm_cv_func_lstat_empty_string_bug, - [AC_TRY_RUN([ -# include -# include - - int - main () - { - struct stat sbuf; - exit (lstat ("", &sbuf) ? 1 : 0); - } - ], - jm_cv_func_lstat_empty_string_bug=yes, - jm_cv_func_lstat_empty_string_bug=no, - dnl When crosscompiling, assume lstat is broken. - jm_cv_func_lstat_empty_string_bug=yes) - ]) - if test $jm_cv_func_lstat_empty_string_bug = yes; then - - LIBOBJS="$LIBOBJS lstat.o" - - if test $jm_cv_func_lstat_empty_string_bug = yes; then - if test x = y; then - # This code is deliberately never run via ./configure. - # FIXME: this is a hack to make autoheader put the corresponding - # HAVE_* undef for this symbol in config.h.in. This saves me the - # trouble of having to maintain the #undef in acconfig.h manually. - AC_CHECK_FUNCS(LSTAT_EMPTY_STRING_BUG) - fi - # Defining it this way (rather than via AC_DEFINE) short-circuits the - # autoheader check -- autoheader doesn't know it's already been taken - # care of by the hack above. - ac_kludge=HAVE_LSTAT_EMPTY_STRING_BUG - AC_DEFINE_UNQUOTED($ac_kludge) - fi + AC_FUNC_LSTAT + dnl Note: AC_FUNC_LSTAT does AC_LIBOBJ(lstat). + if test $ac_cv_func_lstat_empty_string_bug = yes; then + gl_PREREQ_LSTAT fi ]) + +# Prerequisites of lib/lstat.c. +AC_DEFUN([gl_PREREQ_LSTAT], +[ + AC_REQUIRE([AC_HEADER_STAT]) + AC_CHECK_HEADERS_ONCE(stdlib.h) + AC_CHECK_DECLS_ONCE(free) +])