mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-06-03 09:12:05 +08:00
48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
From 93954654b87552c4fe0273cab99d0f42f213f7f8 Mon Sep 17 00:00:00 2001
|
|
From: Georgi Valkov <gvalkov@gmail.com>
|
|
Date: Mon, 14 Apr 2025 15:45:59 +0300
|
|
Subject: [PATCH] zlib: fix build error with Xcode 16.3
|
|
|
|
Xcode 16.3 defines TARGET_OS_MAC, it was not defined in prior versions.
|
|
zutil.h conditionally defines fdopen as NULL when this macro is defined,
|
|
resulting in the following build error:
|
|
|
|
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '('
|
|
318 | FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
|
|
| ^
|
|
./zutil.h:147:33: note: expanded from macro 'fdopen'
|
|
147 | # define fdopen(fd,mode) NULL /* No fdopen() */
|
|
|
|
In Xcode 16.2 and earlier, TARGET_OS_MAC was not defined so this entire
|
|
block was ignored, gcc and gdb used to compile and work fine.
|
|
|
|
This may have been used for compatibility with older versions of macOS,
|
|
but is no longer needed. By pure luck, the build worked fine for a long
|
|
time, because it did not properly detect macOS.
|
|
Fixed by removing the check for TARGET_OS_MAC.
|
|
|
|
Note that since Xcode 16.3, an entire set of TARGET_OS macros
|
|
are now defined, most of which are set to 0:
|
|
TARGET_OS_LINUX 0
|
|
TARGET_OS_MAC 1
|
|
TARGET_OS_OSX 1
|
|
|
|
[1] https://github.com/openwrt/openwrt/pull/18467
|
|
|
|
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
|
|
---
|
|
zlib/zutil.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/zlib/zutil.h
|
|
+++ b/zlib/zutil.h
|
|
@@ -130,7 +130,7 @@ extern z_const char * const z_errmsg[10]
|
|
# endif
|
|
#endif
|
|
|
|
-#if defined(MACOS) || defined(TARGET_OS_MAC)
|
|
+#if defined(MACOS)
|
|
# define OS_CODE 7
|
|
# ifndef Z_SOLO
|
|
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
|