<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On Feb 2, 2024, at 19:04, Joshua Root <jmr@macports.org> wrote:</div><br class="Apple-interchange-newline"><div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">__MAC_OS_X_VERSION_MAX_ALLOWED is from AvailabilityInternal.h, which as its name suggests is only intended to be used internally (by Availability.h).</span></div></blockquote></div><br><div>I’m not sure that’s the intention of the file AvailabilityInternal.h. I certainly suggests a private API, but I wonder if it’s more intended to hide the implementation of Availability.h macros behind a secondary layer of abstraction. Availability.h defines the various OS version integers, then includes AvailabilityInternal.h, and then checks if __<OS_VARIANT>_VERSION_MAX_ALLOWED is defined. I think the __MAC_OS_X_VERSION_MAX_ALLOWED macro is allowed to be used publicly.</div><div><br></div><div>That being said, including AvailabilityMacros.h and using MAC_OS_X_VERSION_MAX_ALLOWED accomplishes the exact same goal, so I don’t know which approach is better. I’ll fix the compile time error, and leave it to the upstream authors to decide whether to use Availability.h or AvailabilityMacros.h.</div><div><br></div><div>Thanks for everyone’s help figuring this out!</div><div><br></div><div>Link</div></body></html>