aboutsummaryrefslogtreecommitdiff
path: root/doc/build-unix.md
diff options
context:
space:
mode:
authorCory Fields <theuni-nospam-@xbmc.org>2013-05-27 19:55:01 -0400
committerCory Fields <theuni-nospam-@xbmc.org>2013-09-05 21:31:03 -0400
commit35b8af92265ed74de63c3818e5290c27b3f35df2 (patch)
tree7cd074e2ba31ca9346d69922e312ebd3e7298711 /doc/build-unix.md
parent2fee100f036626866e5dca3f27b7562da25e43f3 (diff)
autotools: switch to autotools buildsystem
Diffstat (limited to 'doc/build-unix.md')
-rw-r--r--doc/build-unix.md37
1 files changed, 21 insertions, 16 deletions
diff --git a/doc/build-unix.md b/doc/build-unix.md
index 4653bba495..b2573e49de 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -5,10 +5,12 @@ Some notes on how to build Bitcoin in Unix.
To Build
---------------------
- cd src/
- make -f makefile.unix # Headless bitcoin
+ ./autogen.sh
+ ./configure
+ make
-See [readme-qt.md](readme-qt.md) for instructions on building Bitcoin-Qt, the graphical user interface.
+This will build bitcoin-qt as well if the dependencies are met.
+See [readme-qt.md](readme-qt.md) for more information.
Dependencies
---------------------
@@ -22,15 +24,15 @@ Dependencies
[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here](
http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
-turned off by default. Set USE_UPNP to a different value to control this:
+turned off by default. See the configure options for upnp behavior desired:
- USE_UPNP= No UPnP support miniupnp not required
- USE_UPNP=0 (the default) UPnP support turned off by default at runtime
- USE_UPNP=1 UPnP support turned on by default at runtime
+ --with-miniupnpc No UPnP support miniupnp not required
+ --disable-upnp-default (the default) UPnP support turned off by default at runtime
+ --enable-upnp-default UPnP support turned on by default at runtime
IPv6 support may be disabled by setting:
- USE_IPV6=0 Disable IPv6 support
+ --disable-ipv6 Disable IPv6 support
Licenses of statically linked libraries:
Berkeley DB New BSD license with additional requirement that linked
@@ -70,7 +72,7 @@ for other Ubuntu & Debian:
Optional:
- sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag)
+ sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)
Dependency Build Instructions: Gentoo
@@ -83,8 +85,9 @@ Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin ov
Take the following steps to build (no UPnP support):
- cd ${BITCOIN_DIR}/src
- make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8'
+ cd ${BITCOIN_DIR}
+ ./autogen.sh
+ ./configure --without-miniupnpc CXXFLAGS="-i/usr/include/db4.8"
strip bitcoind
@@ -123,7 +126,13 @@ If you need to build Boost yourself:
Security
--------
To help make your bitcoin installation more secure by making certain attacks impossible to
-exploit even if a vulnerability is found, you can take the following measures:
+exploit even if a vulnerability is found, binaries are hardened by default.
+This can be disabled with:
+
+./configure --enable-hardening
+
+
+Hardening enables the following features:
* Position Independent Executable
Build position independent code to take advantage of Address Space Layout Randomization
@@ -135,10 +144,6 @@ exploit even if a vulnerability is found, you can take the following measures:
On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error
such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
- To build with PIE, use:
-
- make -f makefile.unix ... -e PIE=1
-
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
scanelf -e ./bitcoin