diff options
author | Derek R. Price <derek@ximbiot.com> | 2005-07-14 14:45:40 +0000 |
---|---|---|
committer | Derek R. Price <derek@ximbiot.com> | 2005-07-14 14:45:40 +0000 |
commit | 719432cc36e142b881730d3eb27da3d87cfa490a (patch) | |
tree | 2e8bc20d97cf3470d2be1a42f723dfc9eb52e109 /m4/glob.m4 | |
parent | 3074e4cfad2286cf5c5e4aafa7fb6aecc576e6eb (diff) | |
download | gnulib-719432cc36e142b881730d3eb27da3d87cfa490a.tar.gz |
* m4/glob.m4 (gl_GLOB): Cache glob interface check result. Add check for
glob symlink bug.
Diffstat (limited to 'm4/glob.m4')
-rw-r--r-- | m4/glob.m4 | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/m4/glob.m4 b/m4/glob.m4 index 8ea213dd70..71d0c0160f 100644 --- a/m4/glob.m4 +++ b/m4/glob.m4 @@ -25,12 +25,48 @@ AC_DEFUN([gl_GLOB], AC_CHECK_HEADERS([glob.h], [], [GLOB_H=glob.h]) if test -z "$GLOB_H"; then - AC_COMPILE_IFELSE( + AC_CACHE_CHECK([for GNU glob interface version 1], + [gl_cv_gnu_glob_interface_version_1], +[ AC_COMPILE_IFELSE( [[#include <gnu-versions.h> char a[_GNU_GLOB_INTERFACE_VERSION == 1 ? 1 : -1];]], - [], [GLOB_H=glob.h]) + [gl_cv_gnu_glob_interface_version_1=yes], + [gl_cv_gnu_glob_interface_version_1=no])]) + + if test "$gl_cv_gnu_glob_interface_version_1" = "no"; then + GLOB_H=glob.h + fi fi + if test -z "$GLOB_H"; then + AC_CACHE_CHECK([whether glob lists broken symlinks], + [gl_cv_glob_lists_symlinks], +[ if ln -s conf-doesntexist conf$$-globtest 2>/dev/null; then + gl_cv_glob_lists_symlinks=maybe + else + # If we can't make a symlink, then we cannot test this issue. Be + # pessimistic about this. + gl_cv_glob_lists_symlinks=no + fi + + if test $gl_cv_glob_lists_symlinks = maybe; then + AC_RUN_IFELSE( +AC_LANG_PROGRAM( +[[#include <stddef.h> +#include <glob.h>]], +[[glob_t found; +if (glob ("conf*-globtest", 0, NULL, &found) == GLOB_NOMATCH) return 1;]]), + [gl_cv_glob_lists_symlinks=yes], + [gl_cv_glob_lists_symlinks=no], [gl_cv_glob_lists_symlinks=no]) + fi]) + + if test $gl_cv_glob_lists_symlinks = no; then + GLOB_H=glob.h + fi + fi + + rm -f conf$$-globtest + if test -n "$GLOB_H"; then gl_GLOB_SUBSTITUTE fi |