Plain ./gradlew build on a Linux host: gate Apple cargo builds and commonizeCInterop off-mac #129
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decided with thecrealm (D79): plain
./gradlew buildmust work on a non-mac host without CI's-x :katrix-apple:build -Pkotlin.mpp.enableCInteropCommonization=false. Mechanism of the failure: Gradle executes a disabled task's dependencies, so KMP's off-mac disabling of the Apple cinterop/compile tasks still let Gobley's cargoBuildIos*/Macos* producers run — and fail (no Apple SDK; host cc is not clang). Fix: (1) katrix.kmp-library-ffi disables cargo build/check task variants whose Rust target is not in GobleyHost.current.platform.supportedTargets, and host-gates RustUpTargetAdd; (2) root build disables commonizeCInterop off-mac (CI #330's demand). Both are no-ops on a mac by construction. Verified green on linux/x86_64 (plain build, zero flags). Remaining before close: one verification build on the dev Mac (Apple targets + XCFramework must be unaffected), then CI can drop its -x flags in a follow-up.Dev-Mac verification done (2026-08-26, this machine): with D79's host-gating in the tree, ':katrix-apple:build', ':katrix-crypto-vodozemac:build' (all cargo variants incl. Apple targets) and ':katrix-apple:assembleKatrixXCFramework' are green — Katrix.xcframework assembles at katrix-apple/build/XCFrameworks/release/Katrix.xcframework. The gating is a no-op on the mac as designed. Remaining follow-up (CI dropping its -x flags) deserves its own issue if not already tracked.
Both legs verified: linux/x86_64 plain build (the D79 change-set) and the dev-Mac Apple/XCFramework build (comment above). CI -x-flag drop is the follow-up.