build documentation

This commit is contained in:
woodser
2019-07-19 11:22:45 -04:00
parent 25f219a2c2
commit 5c36ebab5d
+29 -6
View File
@@ -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.<br>
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.<br>
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.<br>
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