<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/3b29576cd0eda9d9c45ca241cb806c616ff19df1">https://github.com/macports/macports-legacy-support/commit/3b29576cd0eda9d9c45ca241cb806c616ff19df1</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 3b29576cd0eda9d9c45ca241cb806c616ff19df1
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Fri Jun 7 15:06:23 2024 -0700
<span style='display:block; white-space:pre;color:#404040;'> Fix 10.6- builds with 10.14+ SDKs.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Beginning with the 10.14 SDK, AvailabilityInternal.h uses the
</span><span style='display:block; white-space:pre;color:#404040;'> __has_include() feature without checking whether it's available. So
</span><span style='display:block; white-space:pre;color:#404040;'> we add the usual default definition when it's not.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Re: https://trac.macports.org/ticket/69867
</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;'> Tested on 10.4-10.5 ppc, 10.5-10.6 ppc (i386 Rosetta), 10.4-10.6 i386,
</span><span style='display:block; white-space:pre;color:#404040;'> 10.5-12.x x86_64, and 11.x-14.x arm64. Tested against all 10.4-14.x
</span><span style='display:block; white-space:pre;color:#404040;'> SDKs, using the headerinfo manual test (from a subsequent commit).
</span><span style='display:block; white-space:pre;color:#404040;'> All target/SDK combinations where the SDK supports the CPU
</span><span style='display:block; white-space:pre;color:#404040;'> architecture work correctly, including all SDKs on Intel
</span><span style='display:block; white-space:pre;color:#404040;'> architectures. Only 10.4-10.6 SDKs support ppc, and only 11.x+ SDKs
</span><span style='display:block; white-space:pre;color:#404040;'> support arm64.
</span>---
include/AvailabilityInternal.h | 10 ++++++++++
include/_macports_extras/sdkversion.h | 10 ++++++++++
manual_tests/headerinfo.c | 5 +++++
3 files changed, 25 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/AvailabilityInternal.h b/include/AvailabilityInternal.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 0ffec0a..0f29008 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/AvailabilityInternal.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/AvailabilityInternal.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,11 +21,21 @@
</span> *
* We don't bother with a guard macro, since the included headers will
* handle that.
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * We also provide a dummy definition of __has_include() when the compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doesn't provide it and we're using a 10.14+ SDK, which uses it here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * without checking. It would probably be OK to do this for all SDKs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * but for safety we limit it to the relevant cases. Note that this has
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * to be done *before* the include_next.
</span> */
/* Do our SDK-related setup */
#include <_macports_extras/sdkversion.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#if !__MPLS_PRE_10_14_SDK && !defined(__has_include)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __has_include(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #if __MPLS_PRE_10_5_SDK
#include <_macports_extras/tiger_only/AvailabilityInternal.h>
#else
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/_macports_extras/sdkversion.h b/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 6fc40f1..342caf3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/_macports_extras/sdkversion.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,6 +99,12 @@
</span> #define __MPLS_PRE_10_10_SDK 0
#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#if MAC_OS_X_VERSION_MAX_ALLOWED < 101400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_14_SDK 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_14_SDK 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* Then correct our munging, if necessary */
#ifdef __MPLS_NEED_MIN_REQUIRED_FIXUP
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,6 +136,10 @@
</span> #define __MPLS_PRE_10_10_SDK 0
#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef __MPLS_PRE_10_14_SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_PRE_10_14_SDK 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #endif /* !__APPLE__ */
#endif /* _MACPORTS_SDKVERSION_H_ */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/manual_tests/headerinfo.c b/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 1f5ae6d..1617444 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/manual_tests/headerinfo.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,6 +64,11 @@ print_defs(void)
</span> #else
PRINT_UNDEF(__MPLS_PRE_10_10_SDK);
#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __MPLS_PRE_10_14_SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRINT_VAR(__MPLS_PRE_10_14_SDK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRINT_UNDEF(__MPLS_PRE_10_14_SDK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span> }
/* Do this afterward, since it might influence the definitions. */
</pre><pre style='margin:0'>
</pre>