summaryrefslogtreecommitdiff
path: root/m4/chdir-long.m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2004-12-10 00:02:08 +0000
committerJim Meyering <jim@meyering.net>2004-12-10 00:02:08 +0000
commit1d2622852b69e92bffa957e3ae331579fedb725b (patch)
treebc176a60d3ad9bf4ebf112ff87926c15a09792d6 /m4/chdir-long.m4
parent5ff0e8886635b0506cd5e1d010c68b84807bf643 (diff)
downloadcoreutils-1d2622852b69e92bffa957e3ae331579fedb725b.tar.xz
(gl_FUNC_CHDIR_LONG): Arrange to compile chdir-long.c only on systems
that define PATH_MAX.
Diffstat (limited to 'm4/chdir-long.m4')
-rw-r--r--m4/chdir-long.m420
1 files changed, 17 insertions, 3 deletions
diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4
index 73c60e935..10490b8ec 100644
--- a/m4/chdir-long.m4
+++ b/m4/chdir-long.m4
@@ -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],