<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>