From c2b110f047133d4545e7ede348f70f74dd198413 Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Mon, 6 May 2024 16:01:54 +0300 Subject: [PATCH] Add requirements to build binaries locally on README.md --- lib/bindings/bindings-flutter/README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/bindings/bindings-flutter/README.md b/lib/bindings/bindings-flutter/README.md index bc9498d..b80ad73 100644 --- a/lib/bindings/bindings-flutter/README.md +++ b/lib/bindings/bindings-flutter/README.md @@ -3,7 +3,28 @@ Binding generation & build scripts for Dart/Flutter packages of Breez Liquid SDK. ## Prerequisites +### Required +This guide assumes you have the following tools installed on any development machines: +- [Flutter](https://docs.flutter.dev/get-started/install) +- [rustup](https://rustup.rs) - [just](https://github.com/casey/just?tab=readme-ov-file#installation) command runner. + - [Melos](https://melos.invertase.dev) which will be installed as part of `just bootstrap`. + +### Optional +If you would like to build your binaries (for Flutter devices) locally in addition to CI +(say, to test on a real device or emulator), you will additionally need the following: +- To compile to macOS/iOS targets + - macOS +- To cross-compile to Android targets + - [Android NDK](https://developer.android.com/ndk/downloads) + - Most NDK versions should work nowadays due to fixes in `cargo-ndk` + - Previously, NDK version 21 (`r21e`) was the only one that could be used easily + - You might see reference to this elsewhere, but that is largely out of date + - NDK version 25 (`r25b`) was working at the time of writing this documentation +- To cross-compile to Windows/Linux targets + - [Zig](https://ziglang.org/learn/getting-started/#installing-zig) + - llvm (with `clang-cl`!) + - Need to run `brew install llvm` on macOS since Apple's llvm doesn't have it ## Getting Started Run `just bootstrap` to initialize your workspace.