aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2014-10-07 00:21:40 +0200
committerRiccardo Spagni <ric@spagni.net>2014-10-07 00:21:53 +0200
commit6f65ab1904543f103c0187e2362604cc22f5d337 (patch)
treeff1a23128c9b2e326f97a9aad10251c25cbe3ff0 /README.md
parentMerge pull request #173 (diff)
parentadded hardcoded checkpoint at block 249380 (diff)
downloadmonero-6f65ab1904543f103c0187e2362604cc22f5d337.tar.xz
Merge pull request #175
b419075 added hardcoded checkpoint at block 249380 (Riccardo Spagni) 7c1d3b5 fixed miniupnpc dynamic target (Riccardo Spagni) 26728d9 mingw library tweaks (Riccardo Spagni) 2cf94c1 fix for mingw not playing nicely with libunbound configure, fix for correctly finding static libs on various operating systems (Riccardo Spagni) b05e27f need to link with -ldl on Linux when building statically (Riccardo Spagni) e55982a set the winsock variable differently on Windows (Riccardo Spagni) 0586a27 fixed configure_command for libunbound under mingw (Riccardo Spagni) f8fd036 turns out mingw does actually produce .a libs and not .dll.a (Riccardo Spagni) 6be3d1d added bison/yacc static build dependency (Riccardo Spagni) 1afba73 quieten CMake when it can't find packages (Riccardo Spagni) 735a017 removed required flags from miniupnp and unbound (Riccardo Spagni) 6b7ac4b enforce static libraries when building statically (Riccardo Spagni) 1d5991e include openssl in linbunbound static linking, added errors for openssl and expat (Riccardo Spagni) 6ef8ae8 reference the correct unbound static lib (Riccardo Spagni) 23cc93c added libtool's install command (Riccardo Spagni) 409e9ba use the correct CMake variable for static builds (Riccardo Spagni) 3a0b00a build libunbound correctly (Riccardo Spagni) 75a616f fix missing parentheses (Riccardo Spagni) 59172ee build libunbound from external if no local libunbound or for static builds (Riccardo Spagni) 1dee71a added static build dependency instructions to README (Riccardo Spagni) ff3a766 added static build dependency instructions to README (Riccardo Spagni) 5829b35 include openssl in linbunbound static linking, added errors for openssl and expat (Riccardo Spagni) c70fa86 reference the correct unbound static lib (Riccardo Spagni) 954a244 added libtool's install command (Riccardo Spagni) fd52015 use the correct CMake variable for static builds (Riccardo Spagni) cc0f6a6 build libunbound correctly (Riccardo Spagni) 8c00098 fix missing parentheses (Riccardo Spagni) cee8747 build libunbound from external if no local libunbound or for static builds (Riccardo Spagni) add1a60 added static build dependency instructions to README (Riccardo Spagni)
Diffstat (limited to '')
-rw-r--r--README.md13
1 files changed, 12 insertions, 1 deletions
diff --git a/README.md b/README.md
index ee6ef0545..b40e06b8e 100644
--- a/README.md
+++ b/README.md
@@ -51,11 +51,12 @@ Parts of the project are originally copyright (c) 2012-2013 The Cryptonote devel
### On Unix and Linux:
Dependencies: GCC 4.7.3 or later, CMake 2.8.6 or later, libunbound 1.4.16 or later (note: Unbound is not a dependency, libunbound is), and Boost 1.53 or later (except 1.54, [more details here](http://goo.gl/RrCFmA)).
+Static Build Additional Dependencies: ldns 1.6.17 or later, expat 1.1 or later, bison or yacc
**Basic Process:**
* To build, change to the root of the source code directory, and run `make`.
-* The resulting executables can be found in build/release/src.
+* The resulting executables can be found in `build/release/src` or `build/debug/src`, depending on what you're building.
**Advanced options:**
@@ -78,6 +79,7 @@ Alternatively, it can be built in an easier and more automated fashion using Hom
### On Windows:
Dependencies: mingw-w64, msys2, CMake 2.8.6 or later, libunbound 1.4.16 or later (note: Unbound is not a dependency, libunbound is), and Boost 1.53 or 1.55 (except 1.54, [more details here](http://goo.gl/RrCFmA)).
+Static Build Additional Dependencies: ldns 1.6.17 or later, expat 1.1 or later
**Preparing the Build Environment**
@@ -91,6 +93,7 @@ pacman -Su
```
* For those of you already familiar with pacman, you can run the normal `pacman -Syu` to update, but you may get errors and need to restart MSYS2 if pacman's dependencies are updated.
* Install dependencies: `pacman -S mingw-w64-x86_64-gcc make mingw-w64-x86_64-cmake mingw-w64-x86_64-unbound mingw-w64-x86_64-boost`
+* If you are planning to build statically you will also need to install: `pacman -S mingw-w64-x86_64-ldns mingw-w64-x86_64-expat` (note that these are likely already installed by the unbound dependency installation above)
**Building**
@@ -108,9 +111,17 @@ cmake -G "MSYS Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=..
cmake -G "MSYS Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=../cmake/32-bit-toolchain.cmake -D MSYS2_FOLDER=c:/msys32 ..
```
* You can now run `make` to have it build
+* The resulting executables can be found in `build/release/src` or `build/debug/src`, depending on what you're building.
If you installed MSYS2 in a folder other than c:/msys64, make the appropriate substitution above.
+**Advanced options:**
+
+* Parallel build: run `make -j<number of threads>` instead of `make`.
+* Statically linked release build: run `make release-static`.
+* Debug build: run `make build-debug`.
+* Test suite: run `make test-release` to run tests in addition to building. Running `make test-debug` will do the same to the debug version.
+
### On FreeBSD:
The project can be built from scratch by following instructions for Unix and Linux above.