<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/9ec5a80946508826545c6ed5b1cd828127b65676">https://github.com/macports/macports-legacy-support/commit/9ec5a80946508826545c6ed5b1cd828127b65676</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9ec5a80946508826545c6ed5b1cd828127b65676
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Thu Jan 9 19:25:45 2025 -0800
<span style='display:block; white-space:pre;color:#404040;'> TargetConditionals: Add more defaults.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This replaces the old cherry-picked list with a more complete version
</span><span style='display:block; white-space:pre;color:#404040;'> taken from the macOS 15 SDK. In the process, it fixes a conflict with
</span><span style='display:block; white-space:pre;color:#404040;'> a hack in the AvailabilityMacros.h wrapper.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/70824
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Passes updated test on all platforms, with all applicable SDKs.
</span>---
include/AvailabilityMacros.h | 12 +++-
include/TargetConditionals.h | 136 +++++++++++++++++++++++++++++++++++++------
2 files changed, 126 insertions(+), 22 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/AvailabilityMacros.h b/include/AvailabilityMacros.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 0bcad93..3a5b131 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/AvailabilityMacros.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/AvailabilityMacros.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,6 +25,11 @@
</span> * is the "#define __IPHONE_COMPAT_VERSION __IPHONE_NA", which is most
* likely correct if it matters at all.
*
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Now that we're providing a definition for TARGET_OS_OSX in our wrapper
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * for TargetConditionals.h, we need to be sure that we don't undo that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * action here if it was included by this header. So we include a condition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * for that.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span> * We don't bother with a guard macro here, since repeating the extra wrapper
* code is a NOP, anyway.
*/
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +42,9 @@
</span>
#include_next <AvailabilityMacros.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* Now restore the original TARGET_OS_OSX. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifdef __MPLS_TARGET_OS_OSX_UNDEF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Now restore the original TARGET_OS_OSX, unless we overrode it. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(__MPLS_TARGET_OS_OSX_UNDEF) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && !defined(__MPLS_TARGETCONDITIONALS__)
</span> #undef TARGET_OS_OSX
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#undef __MPLS_TARGET_OS_OSX_UNDEF
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#undef __MPLS_TARGET_OS_OSX_UNDEF
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/TargetConditionals.h b/include/TargetConditionals.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 55517aa..afd5b9d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/TargetConditionals.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/TargetConditionals.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span> /*
<span style='display:block; white-space:pre;background:#ffe0e0;'>- * Copyright (c) 2021
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2025
</span> *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,39 +14,137 @@
</span> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include_next <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef __MPLS_TARGETCONDITIONALS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_TARGETCONDITIONALS__
</span>
/*
<span style='display:block; white-space:pre;background:#ffe0e0;'>- * TARGET_OS_SIMULATOR replaced TARGET_IPHONE_SIMULATOR and is not defined in older os versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Provide defaults for target macros not defined in earlier SDKs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Defaulting to zero is OK in almost all cases, since anything which needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * to be nonzero will have been defined nonzero. The one exception is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * TARGET_OS_OSX, which is sometimes undefined, or even sometimes defined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * as 0, so we unconditionally define it as 1 here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This list is copied almost verbatim (except for the TARGET_OS_OSX definition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * as noted) from the SDK 15 TargetConditionals.h
</span> */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include_next <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef TARGET_OS_OSX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_OSX 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_MAC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_MAC 0
</span> #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* We never support these OSes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef TARGET_OS_SIMULATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_SIMULATOR 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#undef TARGET_OS_OSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_OSX 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_IPHONE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_IPHONE 0
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #ifndef TARGET_OS_IOS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_IOS 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_IOS 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_WATCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_WATCH 0
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #ifndef TARGET_OS_TV
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_TV 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_TV 0
</span> #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef TARGET_OS_WATCH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_WATCH 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_SIMULATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_SIMULATOR 0
</span> #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef TARGET_OS_DRIVERKIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_DRIVERKIT 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_EMBEDDED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_EMBEDDED 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_RTKIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_RTKIT 0
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #ifndef TARGET_OS_MACCATALYST
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_OS_MACCATALYST 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_MACCATALYST 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_VISION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_VISION 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_UIKITFORMAC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_UIKITFORMAC 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_DRIVERKIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_DRIVERKIT 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_WIN32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_WIN32 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_WINDOWS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_WINDOWS 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_LINUX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_LINUX 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_PPC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_PPC 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_PPC64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_PPC64 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_68K
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_68K 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_X86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_X86 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_X86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_X86_64 0
</span> #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* If not defined, OS will never support ARM */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #ifndef TARGET_CPU_ARM
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_CPU_ARM 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_ARM 0
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #ifndef TARGET_CPU_ARM64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# define TARGET_CPU_ARM64 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_ARM64 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_MIPS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_MIPS 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_SPARC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_SPARC 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_CPU_ALPHA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_CPU_ALPHA 0
</span> #endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_ABI_USES_IOS_VALUES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_ABI_USES_IOS_VALUES (!TARGET_CPU_X86_64 || (TARGET_OS_IPHONE && !TARGET_OS_MACCATALYST))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_IPHONE_SIMULATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_IPHONE_SIMULATOR TARGET_OS_SIMULATOR /* deprecated */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef TARGET_OS_NANO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_OS_NANO TARGET_OS_WATCH /* deprecated */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* __MPLS_TARGETCONDITIONALS__ */
</span></pre><pre style='margin:0'>
</pre>