added a subset of Crypto++ 5.6.0 with 48% faster ASM SHA-256, combined speedup 2...
[novacoin.git] / build-unix.txt
1 Copyright (c) 2009-2010 Satoshi Nakamoto
2 Distributed under the MIT/X11 software license, see the accompanying
3 file license.txt or http://www.opensource.org/licenses/mit-license.php.
4 This product includes software developed by the OpenSSL Project for use in
5 the OpenSSL Toolkit (http://www.openssl.org/).  This product includes
6 cryptographic software written by Eric Young (eay@cryptsoft.com).
7
8
9 UNIX BUILD NOTES
10 ================
11
12 Dependencies
13 ------------
14 sudo apt-get install build-essential
15 sudo apt-get install libgtk2.0-dev
16 sudo apt-get install libssl-dev
17 sudo apt-get install libdb4.7-dev
18 sudo apt-get install libdb4.7++-dev
19 sudo apt-get install libboost-all-dev
20
21 We're now using wxWidgets 2.9, which uses UTF-8.
22
23 There isn't currently a debian package of wxWidgets we can use.  The 2.8
24 packages for Karmic are UTF-16 unicode and won't work for us, and we've had
25 trouble building 2.8 on 64-bit.
26
27 You need to download wxWidgets from http://www.wxwidgets.org/downloads/
28 and build it yourself.  See the build instructions and configure parameters
29 below.
30
31 Licenses of statically linked libraries:
32 wxWidgets      LGPL 2.1 with very liberal exceptions
33 Berkeley DB    New BSD license with additional requirement that linked software must be free open source
34 Boost          MIT-like license
35
36 Versions used in this release:
37 GCC          4.4.3
38 OpenSSL      0.9.8k
39 wxWidgets    2.9.0
40 Berkeley DB  4.7.25.NC
41 Boost        1.40.0
42
43
44 Notes
45 -----
46 The UI layout is edited with wxFormBuilder.  The project file is
47 uiproject.fbp.  It generates uibase.cpp and uibase.h, which define base
48 classes that do the rote work of constructing all the UI elements.
49
50 The release is built with GCC and then "strip bitcoin" to strip the debug
51 symbols, which reduces the executable size by about 90%.
52
53
54 wxWidgets
55 ---------
56 cd /usr/local
57 tar -xzvf wxWidgets-2.9.0.tar.gz
58 cd /usr/local/wxWidgets-2.9.0
59 mkdir buildgtk
60 cd buildgtk
61 ../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
62 make
63 sudo su
64 make install
65 ldconfig
66 su <username>
67 cd ..
68 mkdir buildbase
69 cd buildbase
70 ../configure --disable-gui --enable-debug --disable-shared --enable-monolithic
71 make
72 sudo su
73 make install
74 ldconfig
75
76
77 Boost
78 -----
79 If you want to build Boost yourself,
80 cd /usr/local/boost_1_40_0
81 su
82 ./bootstrap.sh
83 ./bjam install