From be5864e08d92bd70a621037399177325207c7bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20B=C3=B6gershausen?= Date: Thu, 8 Jan 2026 18:40:12 +0100 Subject: [PATCH] utf8.c: Enable workaround for iconv under macOS 14/15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Junio C Hamano --- Makefile | 7 +++++++ config.mak.uname | 1 + 2 files changed, 8 insertions(+) diff --git a/Makefile b/Makefile index b7eba509c6..5a3823bb67 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/config.mak.uname b/config.mak.uname index 38b35af366..3c35ae33a3 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -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