Remove swift related files and -s option in build.sh
Build script and files to create a bdkFFI binary xcframework and BitcoinDevKit swift package have been moved to the bdk-swift repo.
This commit is contained in:
parent
a9a01950ee
commit
9188dec2f2
8
.gitignore
vendored
8
.gitignore
vendored
@ -2,12 +2,6 @@ target
|
|||||||
build
|
build
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
/bindings/bdk-kotlin/local.properties
|
/bindings/bdk-kotlin/local.properties
|
||||||
/bindings/bdk-swift/*
|
|
||||||
!bindings/bdk-swift/bdkFFI-umbrella.h
|
|
||||||
!bindings/bdk-swift/Info.plist
|
|
||||||
!bindings/bdk-swift/module.modulemap
|
|
||||||
/bindings/bdk-swift.swiftdoc
|
|
||||||
/bindings/bdk-swift.swiftsourceinfo
|
|
||||||
.gradle
|
.gradle
|
||||||
wallet_db
|
wallet_db
|
||||||
bdk_ffi_test
|
bdk_ffi_test
|
||||||
@ -20,5 +14,3 @@ testdb
|
|||||||
xcuserdata
|
xcuserdata
|
||||||
.lsp
|
.lsp
|
||||||
.clj-kondo
|
.clj-kondo
|
||||||
*.xcframework
|
|
||||||
*.xcframework.zip
|
|
||||||
|
62
build.sh
62
build.sh
@ -14,7 +14,6 @@ help()
|
|||||||
echo "-a Android."
|
echo "-a Android."
|
||||||
echo "-h Print this Help."
|
echo "-h Print this Help."
|
||||||
echo "-k Kotlin."
|
echo "-k Kotlin."
|
||||||
echo "-s Swift."
|
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,66 +49,6 @@ build_kotlin() {
|
|||||||
uniffi-bindgen generate src/bdk.udl --no-format --out-dir bindings/bdk-kotlin/jvm/src/main/kotlin --language kotlin
|
uniffi-bindgen generate src/bdk.udl --no-format --out-dir bindings/bdk-kotlin/jvm/src/main/kotlin --language kotlin
|
||||||
}
|
}
|
||||||
|
|
||||||
## bdk swift
|
|
||||||
build_swift() {
|
|
||||||
BUILD_PROFILE=release
|
|
||||||
TARGET_DIR=target
|
|
||||||
|
|
||||||
uniffi-bindgen generate src/bdk.udl --no-format --out-dir bindings/bdk-swift/ --language swift
|
|
||||||
swiftc -module-name bdk -emit-library -o libbdkffi.dylib -emit-module -emit-module-path ./bindings/bdk-swift/ -parse-as-library -L ./target/release/ -lbdkffi -Xcc -fmodule-map-file=./bindings/bdk-swift/bdkFFI.modulemap ./bindings/bdk-swift/bdk.swift
|
|
||||||
|
|
||||||
STATIC_LIB_NAME=libbdkffi.a
|
|
||||||
|
|
||||||
# Build ios and ios x86_64 ios simulator binaries
|
|
||||||
LIBS_ARCHS=("x86_64" "arm64")
|
|
||||||
IOS_TRIPLES=("x86_64-apple-ios" "aarch64-apple-ios")
|
|
||||||
for i in "${!LIBS_ARCHS[@]}"; do
|
|
||||||
cargo build --release --target "${IOS_TRIPLES[${i}]}"
|
|
||||||
done
|
|
||||||
|
|
||||||
## Manually construct xcframework
|
|
||||||
LIB_NAME=libbdkffi.a
|
|
||||||
SWIFT_DIR="bindings/bdk-swift"
|
|
||||||
XCFRAMEWORK_NAME="bdkFFI"
|
|
||||||
XCFRAMEWORK_ROOT="$SWIFT_DIR/$XCFRAMEWORK_NAME.xcframework"
|
|
||||||
|
|
||||||
# Cleanup prior build
|
|
||||||
rm -rf "$XCFRAMEWORK_ROOT"
|
|
||||||
|
|
||||||
# Common files
|
|
||||||
XCFRAMEWORK_COMMON="$XCFRAMEWORK_ROOT/common/$XCFRAMEWORK_NAME.framework"
|
|
||||||
mkdir -p "$XCFRAMEWORK_COMMON/Modules"
|
|
||||||
cp "$SWIFT_DIR/module.modulemap" "$XCFRAMEWORK_COMMON/Modules/"
|
|
||||||
mkdir -p "$XCFRAMEWORK_COMMON/Headers"
|
|
||||||
cp "$SWIFT_DIR/bdkFFI-umbrella.h" "$XCFRAMEWORK_COMMON/Headers"
|
|
||||||
cp "$SWIFT_DIR/bdkFFI.h" "$XCFRAMEWORK_COMMON/Headers"
|
|
||||||
#mkdir -p "$XCFRAMEWORK_COMMON/$XCFRAMEWORK_NAME"
|
|
||||||
#cp "$SWIFT_DIR/bdk.swift" "$XCFRAMEWORK_COMMON/$XCFRAMEWORK_NAME"
|
|
||||||
|
|
||||||
# iOS hardware
|
|
||||||
mkdir -p "$XCFRAMEWORK_ROOT/ios-arm64"
|
|
||||||
cp -R "$XCFRAMEWORK_COMMON" "$XCFRAMEWORK_ROOT/ios-arm64/$XCFRAMEWORK_NAME.framework"
|
|
||||||
cp "$TARGET_DIR/aarch64-apple-ios/$BUILD_PROFILE/$LIB_NAME" "$XCFRAMEWORK_ROOT/ios-arm64/$XCFRAMEWORK_NAME.framework/$XCFRAMEWORK_NAME"
|
|
||||||
|
|
||||||
# iOS simulator, currently x86_64 only (need to make fat binary to add M1)
|
|
||||||
mkdir -p "$XCFRAMEWORK_ROOT/ios-arm64_x86_64-simulator"
|
|
||||||
cp -R "$XCFRAMEWORK_COMMON" "$XCFRAMEWORK_ROOT/ios-arm64_x86_64-simulator/$XCFRAMEWORK_NAME.framework"
|
|
||||||
cp "$TARGET_DIR/x86_64-apple-ios/$BUILD_PROFILE/$LIB_NAME" "$XCFRAMEWORK_ROOT/ios-arm64_x86_64-simulator/$XCFRAMEWORK_NAME.framework/$XCFRAMEWORK_NAME"
|
|
||||||
|
|
||||||
# Set up the metadata for the XCFramework as a whole.
|
|
||||||
cp "$SWIFT_DIR/Info.plist" "$XCFRAMEWORK_ROOT/Info.plist"
|
|
||||||
# TODO add license info
|
|
||||||
|
|
||||||
# Remove common
|
|
||||||
rm -rf "$XCFRAMEWORK_ROOT/common"
|
|
||||||
|
|
||||||
# Zip it all up into a bundle for distribution.
|
|
||||||
(cd $SWIFT_DIR; zip -9 -r "$XCFRAMEWORK_NAME.xcframework.zip" "$XCFRAMEWORK_NAME.xcframework")
|
|
||||||
|
|
||||||
# Cleanup build
|
|
||||||
# rm -rf "$XCFRAMEWORK_ROOT"
|
|
||||||
}
|
|
||||||
|
|
||||||
## rust android
|
## rust android
|
||||||
build_android() {
|
build_android() {
|
||||||
build_kotlin
|
build_kotlin
|
||||||
@ -160,7 +99,6 @@ else
|
|||||||
case "$1" in
|
case "$1" in
|
||||||
-a) build_android ;;
|
-a) build_android ;;
|
||||||
-k) build_kotlin ;;
|
-k) build_kotlin ;;
|
||||||
-s) build_swift ;;
|
|
||||||
-h) help ;;
|
-h) help ;;
|
||||||
*) echo "Option $1 not recognized" ;;
|
*) echo "Option $1 not recognized" ;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
x
Reference in New Issue
Block a user