mirror of
https://github.com/git/git.git
synced 2026-01-10 10:13:33 +00:00
macOS: use iconv from Homebrew if needed and present
The library function iconv(3) supplied with macOS versions 15.7.2 (Sequoia) and 26.1 (Tahoe) is unreliable when doing conversions from ISO-2022-JP to UTF-8 in multiple steps; t3900 reports this breakage: not ok 17 - ISO-2022-JP should be shown in UTF-8 now not ok 25 - ISO-2022-JP should be shown in UTF-8 now not ok 38 - commit --fixup into ISO-2022-JP from UTF-8 As a workaround, use libiconv from Homebrew, if available. Search it in its default locations: /opt/homebrew for Apple Silicon and /usr/local for macOS Intel, with the former taking precedence. Respect ICONVDIR if already set by the user, though. Helped-by: Koji Nakamaru <koji.nakamaru@gree.net> Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
363837afe7
commit
cee341e9dd
@@ -124,6 +124,7 @@ ifeq ($(uname_S),Darwin)
|
||||
# - MacOS 10.0.* and MacOS 10.1.0 = Darwin 1.*
|
||||
# - MacOS 10.x.* = Darwin (x+4).* for (1 <= x)
|
||||
# i.e. "begins with [15678] and a dot" means "10.4.* or older".
|
||||
DARWIN_MAJOR_VERSION = $(shell expr "$(uname_R)" : '\([0-9]*\)\.')
|
||||
ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
|
||||
OLD_ICONV = UnfortunatelyYes
|
||||
NO_APPLE_COMMON_CRYPTO = YesPlease
|
||||
@@ -154,6 +155,9 @@ ifeq ($(uname_S),Darwin)
|
||||
else
|
||||
HOMEBREW_PREFIX = /usr/local
|
||||
endif
|
||||
ifeq ($(shell test "$(DARWIN_MAJOR_VERSION)" -ge 24 && echo 1),1)
|
||||
USE_HOMEBREW_LIBICONV = UnfortunatelyYes
|
||||
endif
|
||||
|
||||
# The builtin FSMonitor on MacOS builds upon Simple-IPC. Both require
|
||||
# Unix domain sockets and PThreads.
|
||||
|
||||
Reference in New Issue
Block a user