from autoconf
[gnulib.git] / m4 / lstat.m4
index 9ca2402..8ef73b3 100644 (file)
@@ -1,16 +1,17 @@
-#serial 2
+#serial 7
 
 dnl From Jim Meyering.
-dnl Determine whether lstat has the `bug' that it succeeds when given the
+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 and the Hurd
-dnl (as of 1998-11-01) does this.  This behavior is allowed by POSIX.
+dnl (as of 1998-11-01) do this.
 dnl
 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_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
  AC_CACHE_CHECK([whether lstat accepts an empty string],
   jm_cv_func_lstat_empty_string_bug,
   [AC_TRY_RUN([
@@ -30,22 +31,10 @@ AC_DEFUN(jm_FUNC_LSTAT,
         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_LIBOBJ(lstat)
+    AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
+[Define if lstat has the bug that it succeeds when given the zero-length
+   file name argument.  The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
+   do this. ])
   fi
 ])