changeset 30493:d3f37c54d46a

lstat: don't compile lstat.c on systems lacking lstat * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems which don't have lstat; this is handled by lib/sys_stat.in.h already. Reported by Daniel P. Berrange via Jim Meyering.
author Bruno Haible <bruno@clisp.org>
date Thu, 13 Nov 2008 07:59:46 +0100
parents 6272f8fbd10c
children dd56f948dfe1
files ChangeLog m4/lstat.m4
diffstat 2 files changed, 18 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Nov 12 15:27:38 2008 +0100
+++ b/ChangeLog	Thu Nov 13 07:59:46 2008 +0100
@@ -1,3 +1,10 @@
+2008-11-12  Bruno Haible  <bruno@clisp.org>
+
+	lstat: don't compile lstat.c on systems lacking lstat
+	* m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
+	which don't have lstat; this is handled by lib/sys_stat.in.h already.
+	Reported by Daniel P. Berrange via Jim Meyering.
+
 2008-11-12  Jim Meyering  <meyering@redhat.com>
 
 	* lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
--- a/m4/lstat.m4	Wed Nov 12 15:27:38 2008 +0100
+++ b/m4/lstat.m4	Thu Nov 13 07:59:46 2008 +0100
@@ -12,12 +12,16 @@
 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])
-  :
 ])