Be sure that headers are checked before used in code compiled
[gnulib.git] / m4 / stat.m4
index c232df9..b558bb9 100644 (file)
@@ -1,4 +1,4 @@
-#serial 2
+#serial 6
 
 dnl From Jim Meyering.
 dnl Determine whether stat has the bug that it succeeds when given the
 
 dnl From Jim Meyering.
 dnl Determine whether stat has the bug that it succeeds when given the
@@ -11,6 +11,7 @@ dnl
 
 AC_DEFUN(jm_FUNC_STAT,
 [
 
 AC_DEFUN(jm_FUNC_STAT,
 [
+ AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
  AC_CACHE_CHECK([whether stat accepts an empty string],
   jm_cv_func_stat_empty_string_bug,
   [AC_TRY_RUN([
  AC_CACHE_CHECK([whether stat accepts an empty string],
   jm_cv_func_stat_empty_string_bug,
   [AC_TRY_RUN([
@@ -30,22 +31,10 @@ AC_DEFUN(jm_FUNC_STAT,
         jm_cv_func_stat_empty_string_bug=yes)
   ])
   if test $jm_cv_func_stat_empty_string_bug = yes; then
         jm_cv_func_stat_empty_string_bug=yes)
   ])
   if test $jm_cv_func_stat_empty_string_bug = yes; then
-
-    LIBOBJS="$LIBOBJS stat.o"
-
-    if test $jm_cv_func_stat_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(STAT_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_STAT_EMPTY_STRING_BUG
-      AC_DEFINE_UNQUOTED($ac_kludge)
-    fi
+    AC_LIBOBJ(stat)
+    AC_DEFINE_UNQUOTED(HAVE_STAT_EMPTY_STRING_BUG, 1,
+[Define if stat has the bug that it succeeds when given the zero-length
+   file name argument.  The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
+   do this. ])
   fi
 ])
   fi
 ])