lstat: don't compile lstat.c on systems lacking lstat
[pspp] / m4 / lstat.m4
index 9ac109f67353d53c62c0f6784766f9a5f946b1b1..c2d8f452e035ba6fb74dc3a29fb10133fbdbed59 100644 (file)
@@ -12,12 +12,16 @@ dnl From Jim Meyering.
 AC_DEFUN([gl_FUNC_LSTAT],
 [
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
-  AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
-  dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ(lstat).
-  if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
-    REPLACE_LSTAT=1
+  dnl If lstat does not exist, the replacement <sys/stat.h> does
+  dnl "#define lstat stat", and lstat.c does not need to be compiled.
+  AC_CHECK_FUNCS_ONCE([lstat])
+  if test $ac_cv_func_lstat = yes; then
+    AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
+    dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ(lstat).
+    if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+      REPLACE_LSTAT=1
+    fi
+    # Prerequisites of lib/lstat.c.
+    AC_REQUIRE([AC_C_INLINE])
   fi
-  # Prerequisites of lib/lstat.c.
-  AC_REQUIRE([AC_C_INLINE])
-  :
 ])