@ondeinference / onde / commits / 72198b9

Honor Apple deployment targets in SDK builds

Seto Elkahfi committed May 15, 2026 at 07:43 UTC 72198b9b970726db99fca44e797e3fd53bd79b0b
2 files changed +21 -10
.github/scripts/build-swift-xcframework.sh
+15 -9
@@ -13,21 +13,27 @@ CHECKSUM_PATH="$DIST_DIR/OndeFramework.checksum.txt"
13 VERSION_PATH="$DIST_DIR/version.txt"
14 BINDGEN="$ROOT_DIR/uniffi-bindgen/target/release/uniffi-bindgen"
15
16 +IOS_DEPLOYMENT_TARGET="${IOS_DEPLOYMENT_TARGET:-16.0}"
17 +MACOS_DEPLOYMENT_TARGET="${MACOS_DEPLOYMENT_TARGET:-14.0}"
18 +TVOS_DEPLOYMENT_TARGET="${TVOS_DEPLOYMENT_TARGET:-16.0}"
19 +VISIONOS_DEPLOYMENT_TARGET="${VISIONOS_DEPLOYMENT_TARGET:-1.0}"
20 +WATCHOS_DEPLOYMENT_TARGET="${WATCHOS_DEPLOYMENT_TARGET:-9.0}"
21 +
22 rm -rf "$FRAMEWORK_DIR" "$ZIP_PATH" "$CHECKSUM_PATH" "$VERSION_PATH"
23 mkdir -p "$DIST_DIR" "$PACKAGE_DIR/Sources/Onde" "$HEADERS_DIR"
24
25 cargo +1.92.0 build --manifest-path uniffi-bindgen/Cargo.toml --release
26
27 # Build staticlibs only. Avoid the cdylib link step; the XCFramework consumes .a slices.
22 -cargo +1.92.0 rustc --target aarch64-apple-ios --release --lib --crate-type staticlib
23 -cargo +1.92.0 rustc --target aarch64-apple-ios-sim --release --lib --crate-type staticlib
24 -cargo +1.92.0 rustc --target aarch64-apple-darwin --release --lib --crate-type staticlib
25 -cargo +nightly rustc -Z build-std --target aarch64-apple-tvos --release --lib --crate-type staticlib
26 -cargo +nightly rustc -Z build-std --target aarch64-apple-tvos-sim --release --lib --crate-type staticlib
27 -cargo +nightly rustc -Z build-std --target aarch64-apple-visionos --release --lib --crate-type staticlib
28 -cargo +nightly rustc -Z build-std --target aarch64-apple-visionos-sim --release --lib --crate-type staticlib
29 -cargo +nightly rustc -Z build-std --target aarch64-apple-watchos --release --lib --crate-type staticlib
30 -cargo +nightly rustc -Z build-std --target aarch64-apple-watchos-sim --release --lib --crate-type staticlib
28 +IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-ios --release --lib --crate-type staticlib
29 +IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-ios-sim --release --lib --crate-type staticlib
30 +MACOSX_DEPLOYMENT_TARGET="$MACOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-darwin --release --lib --crate-type staticlib
31 +TVOS_DEPLOYMENT_TARGET="$TVOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-tvos --release --lib --crate-type staticlib
32 +TVOS_DEPLOYMENT_TARGET="$TVOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-tvos-sim --release --lib --crate-type staticlib
33 +XROS_DEPLOYMENT_TARGET="$VISIONOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-visionos --release --lib --crate-type staticlib
34 +XROS_DEPLOYMENT_TARGET="$VISIONOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-visionos-sim --release --lib --crate-type staticlib
35 +WATCHOS_DEPLOYMENT_TARGET="$WATCHOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-watchos --release --lib --crate-type staticlib
36 +WATCHOS_DEPLOYMENT_TARGET="$WATCHOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-watchos-sim --release --lib --crate-type staticlib
37
38 "$BINDGEN" generate "$ROOT_DIR/target/aarch64-apple-ios/release/libonde.a" --language swift --out-dir "$PACKAGE_DIR/Sources/Onde"
39
sdk/kotlin/scripts/build-jvm.sh
+6 -1
@@ -77,6 +77,7 @@ platform_ext() {
77 PLATFORM="$(detect_platform)"
78 TARGET_TRIPLE="${ONDE_TARGET_TRIPLE:-$(platform_to_triple "$PLATFORM")}"
79 LIB_EXT="$(platform_ext "$PLATFORM")"
80 +MACOS_DEPLOYMENT_TARGET="${MACOS_DEPLOYMENT_TARGET:-14.0}"
81
82 echo "=== Building Onde for JVM (profile: $PROFILE) ==="
83 echo "Platform: $PLATFORM"
@@ -93,7 +94,11 @@ if [[ "$PROFILE" == "release" ]]; then
94 fi
95
96 echo "→ cargo ${CARGO_ARGS[*]}"
96 -cargo "${CARGO_ARGS[@]}"
97 +if [[ "$PLATFORM" == macos-* ]]; then
98 + MACOSX_DEPLOYMENT_TARGET="$MACOS_DEPLOYMENT_TARGET" cargo "${CARGO_ARGS[@]}"
99 +else
100 + cargo "${CARGO_ARGS[@]}"
101 +fi
102
103 # ── Copy to resources ──────────────────────────────────────────────────────────
104