changeset 1004:c209ddda9418

.
author Jim Meyering <jim@meyering.net>
date Sun, 31 Aug 1997 21:00:05 +0000
parents 86babd1ba90d
children 2bcffb747838
files m4/lstat.m4
diffstat 1 files changed, 38 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/m4/lstat.m4
@@ -0,0 +1,38 @@
+#serial 1
+
+dnl From Jim Meyering.
+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 does this.
+dnl
+dnl If it doesn't, arrange to use the replacement function.
+dnl
+dnl If you use this macro in a package, you should
+dnl add the following two lines to acconfig.h:
+dnl  /* Define to rpl_lstat if the replacement function should be used.  */
+dnl  #undef lstat
+dnl
+
+AC_DEFUN(jm_FUNC_LSTAT,
+[
+ AC_CACHE_CHECK([for working lstat], jm_cv_func_working_lstat,
+  [AC_TRY_RUN([
+#   include <sys/types.h>
+#   include <sys/stat.h>
+
+    int
+    main ()
+    {
+      struct stat sbuf;
+      exit (lstat ("", &sbuf) == 0 ? 1 : 0);
+    }
+	  ],
+	 jm_cv_func_working_lstat=yes,
+	 jm_cv_func_working_lstat=no,
+	 dnl When crosscompiling, assume lstat is broken.
+	 jm_cv_func_working_lstat=no)
+  ])
+  if test $jm_cv_func_working_lstat = no; then
+    LIBOBJS="$LIBOBJS lstat.o"
+    AC_DEFINE_UNQUOTED(lstat, rpl_lstat)
+  fi
+])