2009-11-04 05:58:46 +01:00
|
|
|
Bitcoin v0.2.0 BETA
|
|
|
|
|
|
|
|
Copyright (c) 2009 Satoshi Nakamoto
|
|
|
|
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
|
|
|
|
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
|
|
|
|
cryptographic software written by Eric Young (eay@cryptsoft.com).
|
|
|
|
|
|
|
|
|
2009-11-13 02:23:08 +01:00
|
|
|
WINDOWS BUILD NOTES
|
2009-11-04 05:58:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
Compilers Supported
|
|
|
|
-------------------
|
|
|
|
MinGW GCC
|
|
|
|
Microsoft Visual C++ 6.0 SP6
|
|
|
|
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
Libraries you need to obtain separately to build:
|
|
|
|
|
|
|
|
default path download
|
|
|
|
wxWidgets \wxwidgets http://www.wxwidgets.org/downloads/
|
|
|
|
or prebuilt: http://wxpack.sourceforge.net
|
|
|
|
OpenSSL \openssl http://www.openssl.org/source/
|
|
|
|
Berkeley DB \db http://www.oracle.com/technology/software/products/berkeley-db/index.html
|
|
|
|
Boost \boost http://www.boost.org/users/download/
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Versions used in this release:
|
|
|
|
MinGW GCC 3.4.5
|
|
|
|
wxWidgets 2.8.9
|
|
|
|
OpenSSL 0.9.8k
|
|
|
|
Berkeley DB 4.7.25.NC
|
|
|
|
Boost 1.34.1
|
|
|
|
|
|
|
|
|
|
|
|
Notes
|
|
|
|
-----
|
|
|
|
The UI layout is edited with wxFormBuilder. Open the project file
|
|
|
|
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.exe" to strip the debug
|
|
|
|
symbols, which reduces the executable size by about 90%.
|
|
|
|
|
|
|
|
|
|
|
|
OpenSSL
|
|
|
|
-------
|
|
|
|
Bitcoin does not use any encryption. If you want to do a no-everything
|
|
|
|
build of OpenSSL to exclude encryption routines, a few patches are required.
|
|
|
|
(instructions for OpenSSL v0.9.8k)
|
|
|
|
|
|
|
|
Edit engines\e_gmp.c and engines\e_capi.c and add this #ifndef around
|
|
|
|
the openssl/rsa.h include:
|
|
|
|
#ifndef OPENSSL_NO_RSA
|
|
|
|
#include <openssl/rsa.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
Edit ms\mingw32.bat and replace the Configure line's parameters with this
|
|
|
|
no-everything list. You have to put this in the batch file because batch
|
|
|
|
files can't take more than nine command line parameters.
|
|
|
|
perl Configure mingw threads no-rc2 no-rc4 no-rc5 no-idea no-des no-bf no-cast no-aes no-camellia no-seed no-rsa no-dh
|
|
|
|
|
|
|
|
Also REM out the following line in ms\mingw32.bat after the mingw32-make
|
|
|
|
line. The build fails after it's already finished building libeay32, which
|
|
|
|
is all we care about, but the failure aborts the script before it runs
|
|
|
|
dllwrap to generate libeay32.dll.
|
|
|
|
REM if errorlevel 1 goto end
|
|
|
|
|
|
|
|
Build
|
|
|
|
cd \openssl
|
|
|
|
ms\mingw32.bat
|
|
|
|
|
|
|
|
If you want to use it with MSVC, generate the .lib file
|
|
|
|
lib /machine:i386 /def:ms\libeay32.def /out:out\libeay32.lib
|
|
|
|
|
|
|
|
|
|
|
|
Berkeley DB
|
|
|
|
-----------
|
|
|
|
Using MinGW and MSYS:
|
|
|
|
cd \db\build_unix
|
|
|
|
sh ../dist/configure --enable-mingw --enable-cxx
|
|
|
|
make
|