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:
Steve Myers 2021-11-24 12:11:53 -08:00
parent a9a01950ee
commit 9188dec2f2
2 changed files with 0 additions and 70 deletions

8
.gitignore vendored
View File

@ -2,12 +2,6 @@ target
build
Cargo.lock
/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
wallet_db
bdk_ffi_test
@ -20,5 +14,3 @@ testdb
xcuserdata
.lsp
.clj-kondo
*.xcframework
*.xcframework.zip

View File

@ -14,7 +14,6 @@ help()
echo "-a Android."
echo "-h Print this Help."
echo "-k Kotlin."
echo "-s Swift."
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
}
## 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
build_android() {
build_kotlin
@ -160,7 +99,6 @@ else
case "$1" in
-a) build_android ;;
-k) build_kotlin ;;
-s) build_swift ;;
-h) help ;;
*) echo "Option $1 not recognized" ;;
esac