summaryrefslogtreecommitdiff
path: root/gl
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2019-09-08 15:17:06 -0400
committerPaul Smith <psmith@gnu.org>2019-09-08 15:17:06 -0400
commit60e54608bdfa29c57ac4d934f413a8cf100c38d2 (patch)
tree4ba96332d2c0a02b0fdb151c15e538888f12e6c8 /gl
parent60905a8afb012aa38ac6d56cee24754cc678947c (diff)
downloadmake-git-60e54608bdfa29c57ac4d934f413a8cf100c38d2.tar.gz
* gl/modules/make-glob: Move local glob configure.ac to here
* configure.ac: from here.
Diffstat (limited to 'gl')
-rw-r--r--gl/modules/make-glob27
1 files changed, 27 insertions, 0 deletions
diff --git a/gl/modules/make-glob b/gl/modules/make-glob
index 81bf50f7..bf5a1d92 100644
--- a/gl/modules/make-glob
+++ b/gl/modules/make-glob
@@ -2,6 +2,33 @@ Description:
GNU make version of fnmatch()/glob() functions. This is a holdover from
a very old version of the globbing library.
+
+configure.ac:
+# Check the system to see if it provides GNU glob. If not, use our
+# local version.
+AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob],
+[ AC_EGREP_CPP([gnu glob],[
+#include <features.h>
+#include <glob.h>
+#include <fnmatch.h>
+
+#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+# include <gnu-versions.h>
+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
+ gnu glob
+# endif
+#endif],
+ [make_cv_sys_gnu_glob=yes],
+ [make_cv_sys_gnu_glob=no])])
+
+# Tell automake about this, so it can build the right .c files.
+AM_CONDITIONAL([USE_SYSTEM_GLOB], [test "$make_cv_sys_gnu_glob" = yes])
+
+# Tell build.sh which to use
+USE_SYSTEM_GLOB="$make_cv_sys_gnu_glob"
+AC_SUBST([USE_SYSTEM_GLOB])
+
+
Makefile.am:
if !USE_SYSTEM_GLOB
libgnu_a_SOURCES += fnmatch.c