Initial scaffold for kestrove-core
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Builds jniLibs + Kotlin bindings into ../kestrove-android/core-ffi. Needs: cargo install cargo-ndk; ANDROID_NDK_HOME set.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
OUT=../kestrove-android/core-ffi/src/main
|
||||
cargo ndk -t arm64-v8a -t armeabi-v7a -t x86_64 -o "$OUT/jniLibs" build -p kv-ffi --release
|
||||
cargo build -p kv-ffi
|
||||
cargo run -p kv-ffi --bin uniffi-bindgen -- generate --library target/debug/libkv_ffi.dylib --language kotlin --out-dir "$OUT/java"
|
||||
echo "✅ Android libs + bindings written to $OUT"
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Builds KestroveCoreFFI.xcframework + Swift bindings into ../kestrove-apple/Packages/KestroveCore.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
OUT=../kestrove-apple/Packages/KestroveCore
|
||||
LIB=libkv_ffi.a
|
||||
|
||||
for t in aarch64-apple-ios aarch64-apple-ios-sim aarch64-apple-darwin x86_64-apple-darwin; do
|
||||
cargo build -p kv-ffi --release --target "$t"
|
||||
done
|
||||
|
||||
cargo build -p kv-ffi # host dylib for library-mode bindgen
|
||||
mkdir -p out/swift
|
||||
cargo run -p kv-ffi --bin uniffi-bindgen -- generate --library target/debug/libkv_ffi.dylib --language swift --out-dir out/swift
|
||||
|
||||
mkdir -p out/headers
|
||||
cp out/swift/kv_ffiFFI.h out/headers/
|
||||
cp out/swift/kv_ffiFFI.modulemap out/headers/module.modulemap
|
||||
|
||||
mkdir -p out/macos
|
||||
lipo -create target/aarch64-apple-darwin/release/$LIB target/x86_64-apple-darwin/release/$LIB -output out/macos/$LIB
|
||||
|
||||
rm -rf "$OUT/KestroveCoreFFI.xcframework"
|
||||
xcodebuild -create-xcframework \
|
||||
-library target/aarch64-apple-ios/release/$LIB -headers out/headers \
|
||||
-library target/aarch64-apple-ios-sim/release/$LIB -headers out/headers \
|
||||
-library out/macos/$LIB -headers out/headers \
|
||||
-output "$OUT/KestroveCoreFFI.xcframework"
|
||||
|
||||
mkdir -p "$OUT/Sources/KestroveCore"
|
||||
cp out/swift/kv_ffi.swift "$OUT/Sources/KestroveCore/Generated.swift"
|
||||
echo "✅ XCFramework + bindings written to $OUT"
|
||||
Reference in New Issue
Block a user