diff --git a/contrib/gitian-descriptors/gitian.yml b/contrib/gitian-descriptors/gitian.yml index efa9cb8c1..7e0d17481 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 e47dbf710..f4178caae 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///' *.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 1ef7caaad..0e903ef18 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 \