summaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2010-10-04 02:48:11 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-10-06 18:19:58 (GMT)
commit4de066b6f12a17b2b4d3206ee66efb251e1cdd29 (patch)
treecbb72ec03a23161597e3e150d624a40bf3f373db /dir.c
parentf3f3d9366edc4c150c59df929198a77ecdf69cfd (diff)
downloadgit-4de066b6f12a17b2b4d3206ee66efb251e1cdd29.zip
git-4de066b6f12a17b2b4d3206ee66efb251e1cdd29.tar.gz
git-4de066b6f12a17b2b4d3206ee66efb251e1cdd29.tar.bz2
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.c')
0 files changed, 0 insertions, 0 deletions