Makefile & configure: add a NO_FNMATCH flag
Windows and MinGW both lack fnmatch() in their C library and needed compat/fnmatch, but they had duplicate code for adding the compat function, and there was no Makefile flag or configure check for fnmatch. Change the Makefile it so that it's now possible to compile the compat function with a NO_FNMATCH=YesPlease flag, and add a configure probe for it. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3235b7053c
commit
f3f3d9366e
18
Makefile
18
Makefile
@ -68,6 +68,8 @@ all::
|
||||
#
|
||||
# Define NO_MKSTEMPS if you don't have mkstemps in the C library.
|
||||
#
|
||||
# Define NO_FNMATCH if you don't have fnmatch in the C library.
|
||||
#
|
||||
# Define NO_LIBGEN_H if you don't have libgen.h.
|
||||
#
|
||||
# Define NEEDS_LIBGEN if your libgen needs -lgen when linking
|
||||
@ -1035,6 +1037,7 @@ ifeq ($(uname_S),Windows)
|
||||
NO_UNSETENV = YesPlease
|
||||
NO_STRCASESTR = YesPlease
|
||||
NO_STRLCPY = YesPlease
|
||||
NO_FNMATCH = YesPlease
|
||||
NO_MEMMEM = YesPlease
|
||||
# NEEDS_LIBICONV = YesPlease
|
||||
NO_ICONV = YesPlease
|
||||
@ -1064,8 +1067,8 @@ ifeq ($(uname_S),Windows)
|
||||
AR = compat/vcbuild/scripts/lib.pl
|
||||
CFLAGS =
|
||||
BASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
|
||||
COMPAT_OBJS = compat/msvc.o compat/fnmatch/fnmatch.o compat/winansi.o compat/win32/pthread.o
|
||||
COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
|
||||
COMPAT_OBJS = compat/msvc.o compat/winansi.o compat/win32/pthread.o
|
||||
COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
|
||||
BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
|
||||
EXTLIBS = advapi32.lib shell32.lib wininet.lib ws2_32.lib
|
||||
PTHREAD_LIBS =
|
||||
@ -1089,6 +1092,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
|
||||
NO_UNSETENV = YesPlease
|
||||
NO_STRCASESTR = YesPlease
|
||||
NO_STRLCPY = YesPlease
|
||||
NO_FNMATCH = YesPlease
|
||||
NO_MEMMEM = YesPlease
|
||||
NEEDS_LIBICONV = YesPlease
|
||||
OLD_ICONV = YesPlease
|
||||
@ -1109,10 +1113,9 @@ ifneq (,$(findstring MINGW,$(uname_S)))
|
||||
NO_REGEX = YesPlease
|
||||
NO_PYTHON = YesPlease
|
||||
BLK_SHA1 = YesPlease
|
||||
COMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/fnmatch -Icompat/win32
|
||||
COMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/win32
|
||||
COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\"
|
||||
COMPAT_OBJS += compat/mingw.o compat/fnmatch/fnmatch.o compat/winansi.o \
|
||||
compat/win32/pthread.o
|
||||
COMPAT_OBJS += compat/mingw.o compat/winansi.o compat/win32/pthread.o
|
||||
EXTLIBS += -lws2_32
|
||||
PTHREAD_LIBS =
|
||||
X = .exe
|
||||
@ -1319,6 +1322,11 @@ endif
|
||||
ifdef NO_STRTOULL
|
||||
COMPAT_CFLAGS += -DNO_STRTOULL
|
||||
endif
|
||||
ifdef NO_FNMATCH
|
||||
COMPAT_CFLAGS += -Icompat/fnmatch
|
||||
COMPAT_CFLAGS += -DNO_FNMATCH
|
||||
COMPAT_OBJS += compat/fnmatch/fnmatch.o
|
||||
endif
|
||||
ifdef NO_SETENV
|
||||
COMPAT_CFLAGS += -DNO_SETENV
|
||||
COMPAT_OBJS += compat/setenv.o
|
||||
|
@ -46,6 +46,7 @@ NO_IPV6=@NO_IPV6@
|
||||
NO_C99_FORMAT=@NO_C99_FORMAT@
|
||||
NO_HSTRERROR=@NO_HSTRERROR@
|
||||
NO_STRCASESTR=@NO_STRCASESTR@
|
||||
NO_FNMATCH=@NO_FNMATCH@
|
||||
NO_MEMMEM=@NO_MEMMEM@
|
||||
NO_STRLCPY=@NO_STRLCPY@
|
||||
NO_UINTMAX_T=@NO_UINTMAX_T@
|
||||
|
@ -783,6 +783,12 @@ GIT_CHECK_FUNC(strcasestr,
|
||||
[NO_STRCASESTR=YesPlease])
|
||||
AC_SUBST(NO_STRCASESTR)
|
||||
#
|
||||
# Define NO_FNMATCH if you don't have fnmatch
|
||||
GIT_CHECK_FUNC(fnmatch,
|
||||
[NO_FNMATCH=],
|
||||
[NO_FNMATCH=YesPlease])
|
||||
AC_SUBST(NO_FNMATCH)
|
||||
#
|
||||
# Define NO_MEMMEM if you don't have memmem.
|
||||
GIT_CHECK_FUNC(memmem,
|
||||
[NO_MEMMEM=],
|
||||
|
Loading…
Reference in New Issue
Block a user