diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2011-10-10 08:20:28 -0700 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2011-10-10 08:20:28 -0700 |
commit | ab877a2dde2ad96d3719acf6ed39ef4eae9b1ef4 (patch) | |
tree | de696fbf22f998d5e79b3b938ff1509a06bdc0c2 | |
parent | b50ac8f73e3e3aa47be567f3fcd5b7c8933c49db (diff) | |
parent | b4d0588d06e7c2746b624128b3cc4596459ddf87 (diff) |
Merge pull request #576 from luke-jr/bitcoind_build_improvements
bitcoind build improvements
-rw-r--r-- | contrib/gitian-descriptors/gitian.yml | 4 | ||||
-rw-r--r-- | doc/build-unix.txt | 12 | ||||
-rw-r--r-- | src/makefile.unix | 37 |
3 files changed, 37 insertions, 16 deletions
diff --git a/contrib/gitian-descriptors/gitian.yml b/contrib/gitian-descriptors/gitian.yml index efa9cb8c10..7e0d174810 100644 --- a/contrib/gitian-descriptors/gitian.yml +++ b/contrib/gitian-descriptors/gitian.yml @@ -53,7 +53,7 @@ script: | cp $OUTDIR/src/COPYING $OUTDIR cd src sed 's/$(DEBUGFLAGS)//' -i makefile.unix - PATH=$INSTDIR/bin:$PATH make -f makefile.unix CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoin USE_UPNP=1 - PATH=$INSTDIR/bin:$PATH make -f makefile.unix CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoind USE_UPNP=0 + PATH=$INSTDIR/bin:$PATH make -f makefile.unix STATIC=1 CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoin USE_UPNP=1 + PATH=$INSTDIR/bin:$PATH make -f makefile.unix STATIC=1 CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoind USE_UPNP=0 mkdir -p $OUTDIR/bin/$GBUILD_BITS install -s bitcoin bitcoind $OUTDIR/bin/$GBUILD_BITS diff --git a/doc/build-unix.txt b/doc/build-unix.txt index e47dbf710c..f4178caae5 100644 --- a/doc/build-unix.txt +++ b/doc/build-unix.txt @@ -65,14 +65,16 @@ If using Boost 1.37, append -mt to the boost libraries in the makefile. Dependency Build Instructions: Gentoo ------------------------------------- -emerge -av boost openssl sys-libs/db + +Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin + overlay and use your package manager: + layman -a bitcoin && emerge bitcoind + +emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 Take the following steps to build (no UPnP support): cd ${BITCOIN_DIR}/src - sed -i 's/<db_cxx.h>/<db4.8\/db_cxx.h>/' *.h # path fix - sed -i 's/-Bstatic/-Bdynamic/' makefile.unix # dynamic linking - sed -i 's/^USE_UPNP:=0$/USE_UPNP:=/' makefile.unix # disable UPnP - make -f makefile.unix + make -f makefile.unix USE_UPNP= BDB_INCLUDE_PATH='/usr/include/db4.8' strip bitcoind diff --git a/src/makefile.unix b/src/makefile.unix index 1ef7caaad7..0e903ef18e 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -6,26 +6,45 @@ CXX=g++ USE_UPNP:=0 -DEFS=-DNOPCH -DUSE_SSL +DEFS=-DNOPCH + +DEFS += $(addprefix -I,$(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH)) +LIBS += $(addprefix -l,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH)) + +LMODE = dynamic +LMODE2 = dynamic +ifdef STATIC + LMODE = static + ifeq (${STATIC}, all) + LMODE2 = static + endif +endif # for boost 1.37, add -mt to the boost libraries LIBS= \ - -Wl,-Bstatic \ - -l boost_system \ - -l boost_filesystem \ - -l boost_program_options \ - -l boost_thread \ - -l db_cxx \ + -Wl,-B$(LMODE) \ + -l boost_system$(BOOST_LIB_SUFFIX) \ + -l boost_filesystem$(BOOST_LIB_SUFFIX) \ + -l boost_program_options$(BOOST_LIB_SUFFIX) \ + -l boost_thread$(BOOST_LIB_SUFFIX) \ + -l db_cxx$(BDB_LIB_SUFFIX) \ -l ssl \ -l crypto -ifdef USE_UPNP +ifndef USE_UPNP + override USE_UPNP = - +endif +ifneq (${USE_UPNP}, -) LIBS += -l miniupnpc DEFS += -DUSE_UPNP=$(USE_UPNP) endif +ifneq (${USE_SSL}, 0) + DEFS += -DUSE_SSL +endif + LIBS+= \ - -Wl,-Bdynamic \ + -Wl,-B$(LMODE2) \ -l gthread-2.0 \ -l z \ -l dl \ |