On 5 Feb 2021, at 9:38, Jacob Carlborg via TextMate wrote:

Are you using the `-mmacosx-version-min` flag or the `MACOSX_DEPLOYMENT_TARGET` environment variable? The environment variable is read both by the compiler and linker.

I am using the command line option, which is why it was accidentally omitted from linker flags (as I overhauled the build system recently).

Avoiding environment variables is better for dependency tracking: In theory, every single build step depends on its environment, so ninja does not automatically inherit the full environment, as any change to any variable would then effectively cause a full rebuild.

Aha, even when building using the same SDK as on 10.14?

I assume I could have copied the SDK from Xcode on 10.14 to 10.15 and then used it via -isysroot, I did not test that.

I see, that’s unfortunate. I’m not as familiar with the Apple specific libraries as with the Posix libraries.

POSIX is very good at documenting edge cases, when a function will fail, what kind of errors will be reported, and is a stable API that doesn’t see much change.

Can’t really say the same about Apple’s libraries/frameworks ;)