Update build instructions for the new, no-wxwidgets world
authorGavin Andresen <gavinandresen@gmail.com>
Mon, 26 Sep 2011 15:40:43 +0000 (11:40 -0400)
committerGavin Andresen <gavinandresen@gmail.com>
Mon, 26 Sep 2011 15:40:43 +0000 (11:40 -0400)
INSTALL [new file with mode: 0644]
doc/build-msw.txt
doc/build-osx.txt
doc/build-unix.txt

diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..6989d89
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,9 @@
+Building Bitcoin
+
+See doc/readme-qt.rst for instructions on building Bitcoin QT,
+the intended-for-end-users, nice-graphical-interface, reference
+implementation of Bitcoin.
+
+See doc/build-*.txt for instructions on building bitcoind,
+the intended-for-services, no-graphical-interface, reference
+implementation of Bitcoin.
index d08e3a2..f3150e0 100644 (file)
@@ -7,6 +7,9 @@ cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
 software written by Thomas Bernard.
 
 
+See readme-qt.rst for instructions on building Bitcoin QT, the
+graphical user interface.
+
 WINDOWS BUILD NOTES
 ===================
 
@@ -27,39 +30,24 @@ Dependencies
 Libraries you need to download separately and build:
 
                 default path               download
-wxWidgets       \wxwidgets-2.9.2-mgw       http://www.wxwidgets.org/downloads/
 OpenSSL         \openssl-1.0.0d-mgw        http://www.openssl.org/source/
 Berkeley DB     \db-4.8.30.NC-mgw          http://www.oracle.com/technology/software/products/berkeley-db/index.html
 Boost           \boost-1.47.0-mgw          http://www.boost.org/users/download/
 miniupnpc       \miniupnpc-1.6-mgw         http://miniupnp.tuxfamily.org/files/
 
 Their licenses:
-wxWidgets      LGPL 2.1 with very liberal exceptions
 OpenSSL        Old BSD license with the problematic advertising requirement
 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:
-wxWidgets    2.9.2
 OpenSSL      1.0.0d
 Berkeley DB  4.8.30.NC
 Boost        1.47.0
 miniupnpc    1.6
 
 
-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.
-
-wxWidgets
----------
-DOS shell:
-cd \wxWidgets-2.9.2-mgw\build\msw
-mingw32-make -f makefile.gcc
-
 OpenSSL
 -------
 MSYS shell:
@@ -98,6 +86,5 @@ Bitcoin
 -------
 DOS prompt:
 cd \bitcoin\src
-mingw32-make bitcoin.exe bitcoind.exe -f makefile.mingw
-strip bitcoin.exe
+mingw32-make bitcoind.exe -f makefile.mingw
 strip bitcoind.exe
index 52d876d..ac67080 100644 (file)
@@ -8,11 +8,14 @@ software written by Eric Young (eay@cryptsoft.com) and UPnP software written by
 Thomas Bernard.
 
 
-Mac OS X build instructions
+Mac OS X bitcoind build instructions
 Laszlo Hanyecz <solar@heliacal.net>
 Douglas Huff <dhuff@jrbobdobbs.org>
 
 
+See readme-qt.rst for instructions on building Bitcoin QT, the
+graphical user interface.
+
 Tested on 10.5 and 10.6 intel.  PPC is not supported because it's big-endian.
 
 All of the commands should be executed in Terminal.app.. it's in
@@ -32,7 +35,6 @@ structure I use looks like this:
 ~/bitcoin/bitcoin       # Upstream source tree
 ~/bitcoin/src           # source code (symlink to ~/bitcoin/bitcoin/src)
 ~/bitcoin/deps          # dependencies.. like libraries and headers needed to compile
-~/bitcoin/Bitcoin.app   # the application bundle where you can run the app
 
 Just execute: mkdir ~/bitcoin
 This will create the top dir for you..
@@ -180,99 +182,7 @@ cd db-4.8.30/build_unix
 ../dist/configure --prefix=/Users/macosuser/bitcoin/deps --enable-cxx && make && make install
 
 
-wxWidgets
----------
-
-(The wxWidgets-devel MacPorts package will work but will throw annoying assertion dialogs.)
-
-This is the big one..
-
-Check it out from svn
-
-cd ~/bitcoin/deps
-svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk
-
-This will make a wxWidgets-trunk directory in deps.
-
-Use this script snippet, change your prefix to whatever your dir is:
-
-PREFIX=~/bitcoin/deps
-SRCDIR="$PREFIX/wxWidgets-trunk"
-BUILDDIR="$SRCDIR/macbuild"
-
-cd "$PREFIX" &&
-#svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk &&
-cd "$SRCDIR" &&
-
-[ -f include/wx/hashmap.h.orig ] || cp include/wx/hashmap.h include/wx/hashmap.h.orig &&
-sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashmap.h.orig > include/wx/hashmap.h &&
-
-[ -f include/wx/hashset.h.orig ] || cp include/wx/hashset.h include/wx/hashset.h.orig &&
-sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashset.h.orig > include/wx/hashset.h &&
-
-
-
-rm -vrf "$BUILDDIR" &&
-mkdir "$BUILDDIR" &&
-cd "$BUILDDIR" &&
-
-../configure --prefix="$PREFIX" \
---with-osx_cocoa \
---disable-shared \
---disable-debug_flag \
---with-macosx-version-min=10.5 \
---enable-stl \
---enable-utf8 \
---enable-universal_binary \
---with-libjpeg=builtin \
---with-libpng=builtin \
---with-regex=builtin \
---with-libtiff=builtin \
---with-zlib=builtin \
---with-expat=builtin \
---with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk &&
-
-
-find . -name Makefile | 
-while read i; do 
-  echo $i; 
-  sed 's/-arch i386/-arch i386 -arch x86_64/g' < "$i" > "$i".new && 
-  mv "$i" "$i".old && 
-  mv "$i".new "$i"; 
-done
-
-
-
-make && 
-make install
-
-
-
-Now you should be able to build bitcoin
+Now you should be able to build bitcoind:
 
 cd ~/bitcoin/src
-make -f makefile.osx bitcoin
-
-Before you can run it, you need to create an application bundle for Mac OS.
-
-A bundle is provided in contrib/Bitcoin.app.
-
-Copy the bitcoin binary in to it like this:
-  cp -pR ~/bitcoin/bitcoin/contrib/Bitcoin.app ~/bitcoin/
-  cp ~/bitcoin/src/bitcoin ~/bitcoin/Bitcoin.app/Contents/MacOS/
-
-To run it you can just click the Bitcoin.app in Finder, or just do:
-open ~/bitcoin/Bitcoin.app
-
-If you want to run it with arguments you can just run it without backgrounding
-by specifying the full name in terminal:
-
-~/bitcoin/Bitcoin.app/Contents/MacOS/bitcoin -addnode=192.75.207.66
-
-You can also run it with arguments in the background with output going to the
-normal places for apps (Console) like this:
-
-open ~/bitcoin/Bitcoin.app --args -connect=192.75.207.66
-
-It is advisable to relocate Bitcoin.app to /Applications or $HOME/Applications.
-
+make -f makefile.osx bitcoind
index e608c25..b7aa711 100644 (file)
@@ -1,4 +1,5 @@
 Copyright (c) 2009-2010 Satoshi Nakamoto
+Copyright (c) 2011 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,16 +15,14 @@ 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
 ------------
 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
@@ -32,12 +31,6 @@ or Boost 1.37: sudo apt-get install libboost1.37-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.
-
 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:
@@ -46,7 +39,6 @@ USE_UPNP=0  (the default) UPnP support turned off by default at runtime;
 USE_UPNP=1  UPnP support turned on by default at runtime.
 
 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
@@ -54,7 +46,6 @@ miniupnpc      New (3-clause) BSD license
 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
@@ -62,28 +53,10 @@ miniupnpc    1.6
 
 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
 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