From 3e055bddc8d55134ca454c82e222d45a6896a0e9 Mon Sep 17 00:00:00 2001 From: ammann <161159040+agammann@users.noreply.github.com> Date: Tue, 15 Sep 2026 22:00:04 -0700 Subject: [PATCH 1/2] docs: correct build commands and Docker paths --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5366077d4..e5ccd14e5 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,12 @@ For Mac OSX: Install Xcode and brew if not installed, then ``` -brew update && brew install cmake automake autoconf libtool gnu-sed python3 pkg-config swig gnu-getopt (optional) gnu-tar +brew update && brew install cmake automake autoconf libtool gnu-sed python3 pkg-config swig gnu-getopt xcode-select --install ``` +Optionally, install GNU tar with `brew install gnu-tar`. + **IMPORTANT:** Since the build scripts require GNU-style `getopt` rather than the macOS BSD-style version, ensure that `gnu-getopt` is installed and added to your PATH right before running the build script: ```bash @@ -48,7 +50,7 @@ Using the tool in ``tools`` you can build in one go all the required dependencie $ ./tools/builddeps.sh --prefix ``` ```` are: -- ``--clang`` , ``--gcc`` , ``--ndk `` , ``-mingw-w64`` , ``--iphone`` , ``iphonesimulator`` : (cross-)build with different compilers, on different platforms. Android build supports following ````s +- ``--clang`` , ``--gcc`` , ``--ndk `` , ``--mingw-w64`` , ``--iphone static`` , ``--iphonesim static`` : (cross-)build with different compilers, on different platforms. The Apple options include the required `static` argument, as used in CI. Android build supports following ````s - ``armeabi-v7a`` - ``arm64-v8a`` - ``x86`` @@ -67,7 +69,7 @@ A script located in tools is enough to cover most common build use cases $ tools/build.sh ``` ```` are: -- ``--clang`` , ``--gcc`` , ``--ndk `` , ``-mingw-w64`` , ``--iphone`` , ``iphonesimulator`` : (cross-)build with different compilers, on different platforms +- ``--clang`` , ``--gcc`` , ``--ndk `` , ``--mingw-w64`` , ``--iphone static`` , ``--iphonesim static`` : (cross-)build with different compilers, on different platforms. The Apple options include the required `static` argument, as used in CI. - ``--enable-tests``: builds test that can be easily launched using ``ctest`` (if your cmake is <= 3.20 you need to ``cd`` into the build directory, otherwise just use ``--test-dir``) - ``--python-version ``: builds python-wheels. ```` can be something as simple as ``3``, you let cmake pick the 3.X version present in your system for you. Or it can be ``venv`` to indicate cmake that you are using a virtual environment and cmake should pick whatever python interpreter you set up in it. - ``--parallel ``: set the number of parallel process that the build-system can spawn, default to CPU count. @@ -88,16 +90,16 @@ Build output is placed in `build-`, e.g. `build-clang`, `build-gcc` sub- This doesn't require any of the previous steps but requires docker installed; it will build the project ``` -docker build -t greenaddress_sdk -f ./tools/Dockerfile . +docker build -t greenaddress_sdk -f ./docker/debian/Dockerfile . docker run -v $PWD:/root/gdk -it greenaddress_sdk ``` This will open a bash shell into the container, where you can then launch builds for any platform. -The docker container provided by GreenAddress comes with dependencies already built under the ``/prebuid`` folder +The docker container provided by GreenAddress comes with dependencies already built under the ``/prebuild`` folder ```bash -root@bab682a071e6:~/gdk# ./tools/build.sh --gcc --external-deps-dir /prebuid/gcc -root@bab682a071e6:~/gdk# ./tools/build.sh --clang --external-deps-dir /prebuid/clang +root@bab682a071e6:~/gdk# ./tools/build.sh --gcc --external-deps-dir /prebuild/gcc +root@bab682a071e6:~/gdk# ./tools/build.sh --clang --external-deps-dir /prebuild/clang ``` #### Debug builds From d3a062f7fe1c4b0530d2c0a385b103cdb8d84efe Mon Sep 17 00:00:00 2001 From: Mihailo Milenkovic Date: Thu, 17 Sep 2026 14:03:30 +0200 Subject: [PATCH 2/2] docs: clean legacy GreenAddress naming --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e5ccd14e5..4d21ee547 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,21 @@ GDK is a cross-platform, cross-language library for Blockstream Green wallets. Read the API documentation at https://gdk.readthedocs.io/en/latest/ -## building from source -### installing required software +## Building from source +### Installing required software #### Android ndk If you want to target Android you will need to download the NDK and set the ANDROID_NDK env variable to the directory you uncompress it to, for example `export ANDROID_NDK=$HOME/Downloads/ndk` or you can add it to your bash profile `~/.bash_profile` -#### rust +#### Rust 1. Install rustup: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` 2. Install default rust toolchain: `rustup install 1.85.0` 3. Install additional rust targets for cross-building: `rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android x86_64-pc-windows-gnu aarch64-apple-ios x86_64-apple-ios` -### platform-specific dependencies +### Platform-specific dependencies For Debian Bullseye: ``` sudo ./docker/debian/install_deps.sh @@ -43,8 +43,8 @@ $ PATH="$(brew --prefix gnu-getopt)/bin:$PATH" ./tools/build.sh ... You may also need to change your PATH environment variable to add `$HOME/Library/Python/3.X/bin` -## cmake build: -#### building dependencies +## Cmake build: +#### Building dependencies Using the tool in ``tools`` you can build in one go all the required dependencies for gdk ```bash $ ./tools/builddeps.sh --prefix @@ -63,7 +63,7 @@ $ ./tools/builddeps.sh --clang --prefix $HOME/prebuilt/clang ``` downloads, builds and installs all dependencies using clang compiler under ``$HOME/prebuild/clang`` folder -### building gdk +### Building GDK A script located in tools is enough to cover most common build use cases ```bash $ tools/build.sh @@ -83,19 +83,19 @@ tools/build.sh --clang --external-deps-dir $HOME/prefix/clang Build output is placed in `build-`, e.g. `build-clang`, `build-gcc` sub-directories. -\* Cmake introduces the concept of ``COMPONENT``s .GDK install is now split into two components: ``gdk-runtime`` includes only the dynamic library (with symbol files) and the python-wheel (if built and available); ``gdk-dev`` includes static library libgreenaddress-full.a, header files and all the header files for languages bindings like java and swift. CI as well as ``tools/build.sh --install `` will always install everything. +\* Cmake introduces the concept of ``COMPONENT``s .GDK install is now split into two components: ``gdk-runtime`` includes only the dynamic library (with symbol files) and the python-wheel (if built and available); ``gdk-dev`` includes static library libgreen_gdk_full.a, header files and all the header files for languages bindings like java and swift. CI as well as ``tools/build.sh --install `` will always install everything. ### Docker based deps & build (apple platforms excluded) This doesn't require any of the previous steps but requires docker installed; it will build the project ``` -docker build -t greenaddress_sdk -f ./docker/debian/Dockerfile . -docker run -v $PWD:/root/gdk -it greenaddress_sdk +docker build -t gdk-debian -f ./docker/debian/Dockerfile . +docker run -v $PWD:/root/gdk -it gdk-debian ``` This will open a bash shell into the container, where you can then launch builds for any platform. -The docker container provided by GreenAddress comes with dependencies already built under the ``/prebuild`` folder +The docker container provided by GDK comes with dependencies already built under the ``/prebuild`` folder ```bash root@bab682a071e6:~/gdk# ./tools/build.sh --gcc --external-deps-dir /prebuild/gcc