Add macOS arm64 developer support#356
Draft
huangminghuang wants to merge 4 commits into
Draft
Conversation
52bbc49 to
5e1f12b
Compare
e08668b to
3d6fe29
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds macOS Apple Silicon support for Wire Sysio, including the Release CI path, Apple arm64 dependency registry updates, macOS-safe CMake/runtime gates, and native-debug host integration.
What changed
macos-15Apple Silicon workflow that configures a Release build, buildsall, and runs the parallelizable CTest set.arm64-osx-releasevcpkg overlay triplet matching the Linux release-triplet pattern, including release-only vcpkg dependencies and ccache launchers.std::chrono::utc_clock, and unsupportedstd::formatusage.native-moduleon Apple Debug builds and generating Apple-exported_symbols_listfiles for native intrinsic exports.README.md,AGENTS.md,CLAUDE.md, andcontracts/native-debug.md.Why
The repo could not reliably configure, build, or test on Apple Silicon because Linux linker flags, allocator assumptions, x86-only runtime assumptions, GNU/libstdc++ expectations, and pre-merged vcpkg registry gaps leaked into the macOS path.
This PR narrows the supported macOS path to an Apple Silicon Release CI build using checked-in contract artifacts and interpreted
sys-vm, while also preparing Debug-only native contract debugging now that CDT can emit Mach-O_native.somodules.Testing
arm64-osxandarm64-osx-releasetriplet settings.alltarget successfully before switching CI to Release mode.http_plugin_unit_tests,nodeop_sanity_test,block_log_util_test,kiod_auto_launch_test, andcli_test.nodeop_run_testlocally on macOS arm64 successfully.native-moduleenabled.native_export_list,native_intrinsic_exports,unit_test,contracts_unit_test, andsysio.token_native.sysio.token_native.sois a Mach-O arm64 bundle exporting_apply._require_authand_prints.native_overlay_tests -- --native-module: 3/3 passed.contracts_unit_test --run_test=sysio_token_tests -- --native-module: 10/10 passed, 138 assertions.Related PRs
_native.somodules. This sysio PR consumes that capability for local Debug native-module loading and host intrinsic export support.Notes
sys-vmonly. It does not build contracts through CDT and does not runnative-moduletests.native-module, exports host intrinsics with the macOS linker format, and documents the LLDB/native-module workflow.sys-vm-jit,sys-vm-oc, CDT contract rebuilds in CI, and native-debug CI coverage remain out of scope for this PR.