On 5 Feb 2021, at 05:20, Allan Odgaard via TextMate <textmate@lists.macromates.com> wrote:

Thanks for the information and sorry about the inconvenience..

It was actually built for 10.12 and has LSMinimumSystemVersion set to 10.12.

But it is a universal build with support for M1, so perhaps something in that process made it implicitly require 10.15.


Something definitely happened. If you look at the load commands of the binary (LC_BUILD_VERSION), you’ll set that it says:

minos 10.15
  sdk 11.1

It’s not unusual that I can’t build for older versions of macOS, after updating Xcode/SDK, but most of the time, it manifests itself as crashes or linker errors (when running the build on older versions of macOS).

You can have multiple versions of Xcode installed side by side, if you still want to support older versions. But that would lead multiple binaries. Even though Xcode only allows me to select as far back as 10.9. Clang allows me to compile as far back as 10.4. Is there anything in the SDK that prevent you to target older versions? IIRC, you’re using Ninja and not Xcode to build?

I will look into this later, and see if I can’t manage to get a build done that runs on 10.14 and earlier.

I just created a Hello World GUI application in Xcode 12.4. I set the minimum target to 10.10 and targeting both Intel and Apple Silicon. The load commands (LC_VERSION_MIN_MACOSX) correctly show:

version 10.10
    sdk 11.1

If I extract the ARM64 binary from the universal binary and look at the load commands (LC_BUILD_VERSION). It correctly shows:

minos 11.0
  sdk 11.1

-- 
/Jacob Carlborg