+universal for x864+arm64 on Macintel

Ryan Schmidt ryandesign at macports.org
Mon Jun 13 22:54:06 UTC 2022

On Jun 13, 2022, at 15:40, Chris Jones wrote:

> On 13 Jun 2022, at 1:06 pm, René J.V. Bertin wrote:
>> Ryan Schmidt wrote on 20220613::04:34:46 re: "Re: +universal for x864+arm64 on Macintel"
>>> As far as I know, the SDK would also need to support arm64, which SDKs prior to macOS 11 don't. Therefore MacPorts doesn't support compiling for macOS for arm64 prior to macOS 11.
>> What Apple call the SDK is essentially the combination of standard headerfiles (incl. the system-specific ones) plus the standard libraries (including the ones for system functions). Is there any reason to suspect that one cannot use the 10.11+ SDKs on earlier OS X versions?
> Macports only supports buidling against  the sdk you would ‘naturally’ get installing the Xcode/CLT version supported on a given OS. Whilst it might be possible in a hacking way to install a newer SDK on alder OS, this is not something macports can realistically support.

I added the MacOSX.sdk port specifically so that we could begin to explore the notion of using SDKs on OS versions whose Xcode/CLT versions do not provide those SDK versions. There are a number of situations where this might be helpful.

For example, the QuickTime framework headers were removed from the SDK at some point, though the QuickTime framework itself remained on the system for several versions after that so as not to break software that had been built with earlier SDKs. By using an earlier SDK, software that needs the QuickTime framework can be built on some later systems.

Another use case is that much software requires the latest SDK to build, even though it can be deployed to much earlier systems; now we have a possible avenue to allow building such software on those older systems. libsdl2 is an example of a port that can be built on 10.6 but doing so requires the 10.7 SDK (which was not provided in any Xcode version on 10.6) so the port guides the user through a manual process of installing the 10.7 SDK outside of MacPorts. My SDK port provides a hopefully more streamlined method of doing that within MacPorts.

There is no support in MacPorts base (or via a portgroup) yet for using such an SDK; it would have to be programmed into the port manually. I had submitted a PR to add such support to base, but it proved to be incomplete and I did not pursue completing it yet.

More information about the macports-dev mailing list