diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2010-10-04 02:48:11 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-10-06 11:19:58 -0700 |
commit | 4de066b6f12a17b2b4d3206ee66efb251e1cdd29 (patch) | |
tree | cbb72ec03a23161597e3e150d624a40bf3f373db /dir.h | |
parent | f3f3d9366edc4c150c59df929198a77ecdf69cfd (diff) | |
download | git-4de066b6f12a17b2b4d3206ee66efb251e1cdd29.tar.gz |
Makefile & configure: add a NO_FNMATCH_CASEFOLD flag
On some platforms (like Solaris) there is a fnmatch, but it doesn't
support the GNU FNM_CASEFOLD extension that's used by the
jj/icase-directory series' fnmatch_icase wrapper.
Change the Makefile so that it's now possible to set
NO_FNMATCH_CASEFOLD=YesPlease on those systems, and add a configure
probe for it.
Unlike the NO_REGEX check we don't add AC_INCLUDES_DEFAULT to our
headers. This is because on a GNU system the definition of
FNM_CASEFOLD in fnmatch.h is guarded by:
#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
One of the headers AC_INCLUDES_DEFAULT includes ends up defining one
of those, so if we'd use it we'd always get
NO_FNMATCH_CASEFOLD=YesPlease on GNU systems, even though they have
FNM_CASEFOLD.
When checking the flags we use:
ifdef NO_FNMATCH
...
else
ifdef NO_FNMATCH_CASEFOLD
...
endif
endif
The "else" so that we don't link against compat/fnmatch/fnmatch.o
twice if both NO_FNMATCH and NO_FNMATCH_CASEFOLD are defined.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.h')
0 files changed, 0 insertions, 0 deletions