From: Harald Nordgren Date: Fri, 19 Jun 2026 20:32:07 +0000 (+0000) Subject: config.mak.uname: avoid macOS dup-library warning X-Git-Tag: v2.55.0-rc2~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6791de689be2f5b88b39def9ad5b73e38c32f7c;p=thirdparty%2Fgit.git config.mak.uname: avoid macOS dup-library warning Building on macOS with Xcode 15 or newer emits: ld: warning: ignoring duplicate libraries: 'libgit.a', 'target/release/libgitcore.a' Some link recipes list the same archive twice, which is harmless. Quiet the warning instead. Pass -Wl,-no_warn_duplicate_libraries on Xcode 15 and newer, whose linkers added both the warning and the suppression flag (ld64-907 and dyld-1009). Earlier linkers reject the flag, so gate on the linker version. Broaden the existing -fno-common version probe to also match the "ld64-NNN" and "dyld-NNN" forms Xcode 15 reports. Signed-off-by: Harald Nordgren Signed-off-by: Junio C Hamano --- diff --git a/config.mak.uname b/config.mak.uname index 32b58e7a95..6cbeb362fc 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -160,8 +160,15 @@ ifeq ($(uname_S),Darwin) NEEDS_GOOD_LIBICONV = UnfortunatelyYes endif - # Silence Xcode 16.3+ linker warning about __DATA,__common alignment. - LD_MAJOR_VERSION = $(shell ld -v 2>&1 | sed -n 's/.*PROJECT:ld-\([0-9]*\).*/\1/p') + # ld reports "PROJECT:{ld,ld64,dyld}-NNN", match any of the three. + LD_MAJOR_VERSION = $(shell ld -v 2>&1 | sed -n 's/.*PROJECT:[^ ]*-\([0-9][0-9]*\).*/\1/p') + + # Silence the Xcode 15+ warning about archives listed more than once. + ifeq ($(shell test -n "$(LD_MAJOR_VERSION)" && test "$(LD_MAJOR_VERSION)" -ge 907 && echo 1),1) + BASIC_LDFLAGS += -Wl,-no_warn_duplicate_libraries + endif + + # Silence the Xcode 16.3+ warning about __DATA,__common alignment. ifeq ($(shell test -n "$(LD_MAJOR_VERSION)" && test "$(LD_MAJOR_VERSION)" -ge 1167 && echo 1),1) BASIC_CFLAGS += -fno-common endif