utf8.c: Enable workaround for iconv under macOS 14/15

The previous commit introduced a workaround in utf8.c to deal
with broken iconv implementations.

It is enabled when
  A MacOS version is used that has a buggy iconv library and
  there is no external library provided (and linked against)
  from neither MacPorts nor Homebrew.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Torsten Bögershausen 2026-01-08 18:40:12 +01:00 committed by Junio C Hamano
parent 9e76ed9bdc
commit be5864e08d
2 changed files with 8 additions and 0 deletions

View File

@ -1692,6 +1692,7 @@ ifeq ($(uname_S),Darwin)
ifeq ($(shell test -d /opt/local/lib && echo y),y)
BASIC_CFLAGS += -I/opt/local/include
BASIC_LDFLAGS += -L/opt/local/lib
HAS_GOOD_LIBICONV = Yes
endif
endif
ifndef NO_APPLE_COMMON_CRYPTO
@ -1714,6 +1715,7 @@ endif
ifdef USE_HOMEBREW_LIBICONV
ifeq ($(shell test -d $(HOMEBREW_PREFIX)/opt/libiconv && echo y),y)
ICONVDIR ?= $(HOMEBREW_PREFIX)/opt/libiconv
HAS_GOOD_LIBICONV = Yes
endif
endif
endif
@ -1859,6 +1861,11 @@ ifndef NO_ICONV
endif
EXTLIBS += $(ICONV_LINK) -liconv
endif
ifdef NEEDS_GOOD_LIBICONV
ifndef HAS_GOOD_LIBICONV
BASIC_CFLAGS += -DICONV_RESTART_RESET
endif
endif
endif
ifdef ICONV_OMITS_BOM
BASIC_CFLAGS += -DICONV_OMITS_BOM

View File

@ -157,6 +157,7 @@ ifeq ($(uname_S),Darwin)
endif
ifeq ($(shell test "$(DARWIN_MAJOR_VERSION)" -ge 24 && echo 1),1)
USE_HOMEBREW_LIBICONV = UnfortunatelyYes
NEEDS_GOOD_LIBICONV = UnfortunatelyYes
endif
# The builtin FSMonitor on MacOS builds upon Simple-IPC. Both require