diff options
author | Cory Fields <theuni-nospam-@xbmc.org> | 2013-05-27 19:55:01 -0400 |
---|---|---|
committer | Cory Fields <theuni-nospam-@xbmc.org> | 2013-09-05 21:31:03 -0400 |
commit | 35b8af92265ed74de63c3818e5290c27b3f35df2 (patch) | |
tree | 7cd074e2ba31ca9346d69922e312ebd3e7298711 /doc/build-unix.md | |
parent | 2fee100f036626866e5dca3f27b7562da25e43f3 (diff) |
autotools: switch to autotools buildsystem
Diffstat (limited to 'doc/build-unix.md')
-rw-r--r-- | doc/build-unix.md | 37 |
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 |