build: pin macOS deployment floor at link time (minos) (#13341) 5df57079b5 * build: pin macOS deployment floor at link time (minos) -mmacosx-version-min was in buildoptions (compile) only, so the linker stamped LC_BUILD_VERSION.minos from the host SDK — a dylib built on macOS 26 shipped minos 26.0 and today's sonoma build ships 14.0 despite intending 11.0. Adding the flag to linkoptions makes the floor host-independent (proven: both sonoma and Xcode-26 builds stamp minos 11.0). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Potential fix for pull request finding Co-authored-by: Anirrudh <anirrudh@rive.app> Co-authored-by: Anirrudh <anirrv08@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
diff --git a/.rive_head b/.rive_head index 6ee153f..8d01dc5 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -5cdcaab570e5176d12b8efa1b58326e7d57308cf +5df57079b56a7e7a844ff1628e19f2ed3238b164
diff --git a/build/rive_build_config.lua b/build/rive_build_config.lua index a2254f3..12d3852 100644 --- a/build/rive_build_config.lua +++ b/build/rive_build_config.lua
@@ -781,6 +781,16 @@ buildoptions({ '-mmacosx-version-min=11.0', }) + -- Pass the deployment target at LINK time too. Without this, the linker + -- stamps LC_BUILD_VERSION.minos from the build host's SDK, so a dylib + -- built against a newer SDK can advertise a higher min OS version and + -- fail to load on older macOS versions. + -- + -- Note: buildoptions affects compilation only (e.g., availability macros) + -- and does not influence the link step that stamps the final dylib. + linkoptions({ + '-mmacosx-version-min=11.0', + }) end filter({ 'system:macosx', 'options:arch=host', 'action:xcode4' })