]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(gl_FUNC_CHDIR_LONG): Arrange to compile chdir-long.c only on systems
authorJim Meyering <jim@meyering.net>
Fri, 10 Dec 2004 00:02:08 +0000 (00:02 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 10 Dec 2004 00:02:08 +0000 (00:02 +0000)
that define PATH_MAX.

m4/chdir-long.m4

index 73c60e935d0bced6a7228e4f3c66f00ef37b8954..10490b8eccd09e7a5e51c07c9ea1d4e0e7d96cd3 100644 (file)
@@ -1,16 +1,30 @@
-#serial 2
+#serial 3
 
 # Written by Jim Meyering.
 # Use Gnulib's robust chdir function.
 # It can handle arbitrarily long directory names, which means
 # that when it is given the name of an existing directory, it
 # never fails with ENAMETOOLONG.
+# Arrange to compile chdir-long.c only on systems that define PATH_MAX.
 
 AC_DEFUN([gl_FUNC_CHDIR_LONG],
 [
   AC_LIBSOURCES([chdir-long.c, chdir-long.h])
-  AC_LIBOBJ([chdir-long])
-  gl_PREREQ_CHDIR_LONG
+  AC_CACHE_CHECK([whether this system has a definition of PATH_MAX],
+    gl_have_path_max_definition,
+    [AC_EGREP_CPP([have_path_max_definition],
+                  [#include <unistd.h>
+#include <limits.h>
+#ifdef PATH_MAX
+have_path_max_definition
+#endif],
+    gl_have_path_max_definition=yes,
+    gl_have_path_max_definition=no)])
+
+  if test $gl_have_path_max_definition; then
+    AC_LIBOBJ([chdir-long])
+    gl_PREREQ_CHDIR_LONG
+  fi
 ])
 
 AC_DEFUN([gl_PREREQ_CHDIR_LONG],