Update build.sh to support building mac aarch64 (m1) targets, update bdk-ffi

This commit is contained in:
Steve Myers
2022-01-28 23:34:33 -06:00
parent 9bb629d0a8
commit 68dea8b258
3 changed files with 20 additions and 9 deletions

View File

@@ -16,9 +16,9 @@ repositories {
dependencies {
// for jvm
implementation 'org.bitcoindevkit:bdk-jvm:0.2.0'
implementation 'org.bitcoindevkit:bdk-jvm:0.3.0'
// OR for android
implementation 'org.bitcoindevkit:bdk-android:0.2.0'
implementation 'org.bitcoindevkit:bdk-android:0.3.0'
}
@@ -52,7 +52,7 @@ val newAddress = wallet.getNewAddress()
* [tatooine](https://github.com/thunderbiscuit/tatooine)
## How to build
### How to build
1. Clone this repository and init and update it's [`bdk-ffi`] submodule.
```shell
@@ -60,6 +60,10 @@ val newAddress = wallet.getNewAddress()
git submodule update --init
```
1. Follow the "General" bdk-ffi ["Getting Started (Developer)"] instructions.
1. If building on MacOS install required intel and m1 jvm targets
```sh
rustup target add x86_64-apple-darwin aarch64-apple-darwin
```
1. Install required targets
```sh
rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi i686-linux-android
@@ -75,6 +79,10 @@ val newAddress = wallet.getNewAddress()
```sh
./build.sh
```
1. Start android emulator and run tests
```sh
./gradlew connectedAndroidTest
```
## How to publish

Submodule bdk-ffi updated: e4d53b5e4b...4cc183bef5

View File

@@ -4,20 +4,23 @@ set -eo pipefail
echo "Build and test bdk-ffi library for local platform (darwin or linux)"
pushd bdk-ffi
cargo fmt
cargo build --release
cargo test
OS=$(uname)
echo -n "Copy "
case $OS in
"Darwin")
echo -n "darwin "
# x86_64 (intel)
cargo build --release --target x86_64-apple-darwin
mkdir -p ../jvm/src/main/resources/darwin-x86-64
cp target/release/libbdkffi.dylib ../jvm/src/main/resources/darwin-x86-64
cp target/x86_64-apple-darwin/release/libbdkffi.dylib ../jvm/src/main/resources/darwin-x86-64
# aarch64 (m1)
cargo build --release --target aarch64-apple-darwin
mkdir -p ../jvm/src/main/resources/darwin-arm64
cp target/aarch64-apple-darwin/release/libbdkffi.dylib ../jvm/src/main/resources/darwin-arm64
;;
"Linux")
echo -n "linux "
cargo build --release
mkdir -p ../jvm/src/main/resources/linux-x86-64
cp target/release/libbdkffi.so ../jvm/src/main/resources/linux-x86-64
;;