summaryrefslogtreecommitdiff
path: root/gl/modules/make-glob
blob: bf5a1d92d1080b943010de3701da51becbdbad32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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

BUILT_SOURCES += fnmatch.h

fnmatch.h: fnmatch.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  cat $(srcdir)/fnmatch.in.h; \
	} > $@-t && \
	mv -f $@-t $@

MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t

libgnu_a_SOURCES += glob.c

BUILT_SOURCES += glob.h

glob.h: glob.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  cat $(srcdir)/glob.in.h; \
	} > $@-t && \
	mv -f $@-t $@

MOSTLYCLEANFILES += glob.h glob.h-t
endif

EXTRA_DIST += fnmatch.in.h glob.in.h


Include:
<glob.h>

License:
LGPLv2+

Maintainer:
all, glibc