Merge branch '0.5.x' into 0.6.0.x
[novacoin.git] / doc / build-unix.txt
index e608c25..f93ddcd 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (c) 2009-2010 Satoshi Nakamoto
+Copyright (c) 2009-2012 Bitcoin Developers
 Distributed under the MIT/X11 software license, see the accompanying
 file license.txt or http://www.opensource.org/licenses/mit-license.php.
 This product includes software developed by the OpenSSL Project for use in
@@ -14,76 +14,82 @@ To Build
 --------
 
 cd src/
+make -f makefile.unix            # Headless bitcoin
 
-make -f makefile.unix            # Bitcoin with wxWidgets GUI
-  or
-make -f makefile.unix bitcoind   # Headless bitcoin
-
+See readme-qt.rst for instructions on building Bitcoin QT,
+the graphical bitcoin.
 
 Dependencies
 ------------
+
+ Library     Purpose           Description
+ -------     -------           -----------
+ libssl      SSL Support       Secure communications
+ libdb4.8    Berkeley DB       Blockchain & wallet storage
+ libboost    Boost             C++ Library
+ miniupnpc   UPnP Support      Optional firewall-jumping support
+ libqrencode QRCode generation Optional QRCode generation
+
+miniupnpc may be used for UPnP port mapping.  It can be downloaded from
+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:
+ 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
+
+libqrencode may be used for QRCode image generation. It can be downloaded
+from http://fukuchi.org/works/qrencode/index.html.en, or installed via
+your package manager. Set USE_QRCODE to control this:
+ USE_QRCODE=0   (the default) No QRCode support - libqrcode not required
+ USE_QRCODE=1   QRCode support enabled
+
+Licenses of statically linked libraries:
+ Berkeley DB   New BSD license with additional requirement that linked
+               software must be free open source
+ Boost         MIT-like license
+ miniupnpc     New (3-clause) BSD license
+
+Versions used in this release:
+ GCC           4.3.3
+ OpenSSL       0.9.8g
+ Berkeley DB   4.8.30.NC
+ Boost         1.37
+ miniupnpc     1.6
+
+Dependency Build Instructions: Ubuntu & Debian
+----------------------------------------------
 sudo apt-get install build-essential
-sudo apt-get install libgtk2.0-dev
 sudo apt-get install libssl-dev
 sudo apt-get install libdb4.8-dev
 sudo apt-get install libdb4.8++-dev
-Boost 1.40+: sudo apt-get install libboost-all-dev
-or Boost 1.37: sudo apt-get install libboost1.37-dev
+ Boost 1.40+: sudo apt-get install libboost-all-dev
+ or Boost 1.37: sudo apt-get install libboost1.37-dev
+sudo apt-get install libqrencode-dev
 
 If using Boost 1.37, append -mt to the boost libraries in the makefile.
 
-Requires wxWidgets 2.9.1 or newer.
 
-You need to download wxWidgets from http://www.wxwidgets.org/downloads/
-and build it yourself.  See the build instructions and configure parameters
-below.
+Dependency Build Instructions: Gentoo
+-------------------------------------
 
-Requires miniupnpc for UPnP port mapping.  It can be downloaded from
-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:
-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.
+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
 
-Licenses of statically linked libraries:
-wxWidgets      LGPL 2.1 with very liberal exceptions
-Berkeley DB    New BSD license with additional requirement that linked software must be free open source
-Boost          MIT-like license
-miniupnpc      New (3-clause) BSD license
+emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8
 
-Versions used in this release:
-GCC          4.3.3
-OpenSSL      0.9.8g
-wxWidgets    2.9.2
-Berkeley DB  4.8.30.NC
-Boost        1.37
-miniupnpc    1.6
+Take the following steps to build (no UPnP support):
+ cd ${BITCOIN_DIR}/src
+ make -f makefile.unix USE_UPNP= BDB_INCLUDE_PATH='/usr/include/db4.8'
+ strip bitcoind
 
 
 Notes
 -----
-The UI layout is edited with wxFormBuilder.  The project file is
-uiproject.fbp.  It generates uibase.cpp and uibase.h, which define base
-classes that do the rote work of constructing all the UI elements.
-
-The release is built with GCC and then "strip bitcoin" to strip the debug
+The release is built with GCC and then "strip bitcoind" to strip the debug
 symbols, which reduces the executable size by about 90%.
 
 
-wxWidgets
----------
-cd /usr/local
-tar -xzvf wxWidgets-2.9.2.tar.gz
-cd wxWidgets-2.9.2
-mkdir buildgtk
-cd buildgtk
-../configure --with-gtk --enable-debug --disable-shared --enable-monolithic --without-libpng --disable-svg
-make
-sudo su
-make install
-ldconfig
-
-
 miniupnpc
 ---------
 tar -xzvf miniupnpc-1.6.tar.gz