From 5c36ebab5d4d13c380e3f1039b4c8f46fcc54c56 Mon Sep 17 00:00:00 2001 From: woodser Date: Fri, 19 Jul 2019 11:22:45 -0400 Subject: [PATCH] build documentation --- README.md | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9553f9d..ccfdab4 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,35 @@ The source code in this project may be built as a dynamic or "shared" library fo ### Build Steps -1. Download the boost source code to ./external/boost-sdk -2. Download the OpenSSL source code to ./external/openssl-sdk -3. Build dependent libraries (boost, hidapi, libsodium, monero-core, and OpenSSL) and place .a files in corresponding folders in ./external-libs per CMakeLists.txt. - - Monero Core: Modify CMakeLists.txt: `option(BUILD_GUI_DEPS "Build GUI dependencies." ON)`. Build twice to create libwallet_merged.a. - - Todo: document/automate further -4. Build libmonero-cpp.dylib to ./build: `./bin/build-libmonero-cpp.sh` +These build steps aspire to be automated further. + +1. Setup Boost + 1. Download and extract the boost 1.69.0 source code zip from https://www.boost.org/users/download/ to ./external/boost-sdk/. + 2. `cd ./external/boost-sdk/` + 3. `./bootstraph.sh` + 4. `./b2` + 5. Copy .a files from ./external/boost-sdk/bin.v2/libs/*/link-static/* to ./external-libs/boost according to CMakeLists.txt. +2. Setup OpenSSL + 1. Download and extract the latest boost source code zip from https://github.com/openssl/openssl to ./external/openssl-sdk/. + 2. Build for your system.
+ Mac: installed through boost at /usr/local/opt/openssl/lib + 3. Copy libcrypto.a and libssl.a ./external-libs/openssl. +3. Setup Monero Core + 1. Initialize submodules: `git submodule update --init --recursive` + 2. cd ./submodules/monero-core + 3. Modify CMakeLists.txt: `option(BUILD_GUI_DEPS "Build GUI dependencies." ON)`. + 4. Build twice to create libwallet_merged.a in addition to other .a libraries: `make release-static -j8`. + 5. Copy .a files from ./submodules/monero-core/build/release/* to ./external-libs/monero-core according to CMakeLists.txt. +4. Setup hidapi + 1. Download the latest hidapi source code from https://github.com/signal11/hidapi. + 2. Build hidapi for your system.
+ Mac requires autoreconf: `brew install automake` + 3. Copy libhidapi.a to ./external-libs/hidapi. +5. Setup libsodium + 1. Build libsodium for your system. + 2. Copy libsodium.a to ./external-libs/libsodium.
+ Mac: installed through homebrew at /usr/local/Cellar/libsodium/1.0.17/lib/libsodium.a +6. Build libmonero-cpp.dylib to ./build: `./bin/build-libmonero-cpp.sh`. ## See Also