-Copyright (c) 2009-2010 Satoshi Nakamoto
+Copyright (c) 2009-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
Compilers Supported
-------------------
-MinGW GCC (recommended)
+MinGW GCC
http://tdm-gcc.tdragon.net/ has an easy installer. Go back a few versions
for a little older gcc like gcc 4.4.?.
-MSVC 8.0 (2005) SP1 has been tested. Note: MSVC 7.0 and up have a habit of
-linking to runtime DLLs that are not installed on XP by default.
+MSVC 10.0 (2010) was used to build this release.
Dependencies
------------
Libraries you need to download separately and build:
- default path download
-wxWidgets-2.9 \wxwidgets http://www.wxwidgets.org/downloads/
-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/
+ default path download
+wxWidgets \wxwidgets http://www.wxwidgets.org/downloads/
+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
Boost MIT-like license
Versions used in this release:
-MinGW GCC 3.4.5
-wxWidgets 2.9.0
-OpenSSL 0.9.8k
+wxWidgets 2.9.1
+OpenSSL 1.0.0c
Berkeley DB 4.7.25.NC
-Boost 1.42.1
+Boost 1.45.0
Notes
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%.
-
+This release was built with a Visual C++ 10.0 toolchain (nmake); previous
+releases were built using mingw.
wxWidgets
---------
cd \wxwidgets\build\msw
-make -f makefile.gcc
- or
-nmake -f makefile.vc
+nmake -f makefile.vc SHARED=0 MONOLITHIC=1 BUILD=release UNICODE=1 CFB=Unicode
OpenSSL
-------
-If you want to exclude unused optional algorithms, 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're using MSVC, generate the .lib file
- lib /machine:i386 /def:ms\libeay32.def /out:out\libeay32.lib
-
+cd c:\openssl\src\openssl-1.0.0c
+perl Configure VC-WIN32 --prefix=c:/openssl
+ms\do_ms.bat
+nmake -f ms\nt.mak
+nmake -f ms\nt.mak install
Berkeley DB
-----------
-Using MinGW and MSYS:
-cd \db\build_unix
-sh ../dist/configure --enable-mingw --enable-cxx
-make
-
+Built in Visual C++ Express (project files had to be converted
+using Visual C++ Pro and then copied to build environment)
+Compiled Release db_static project in Visual Studio Express.
Boost
-----
download bjam.exe from
http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
cd \boost
-bjam toolset=gcc --build-type=complete stage
- or
bjam toolset=msvc --build-type=complete stage
+
/I"/boost" \
/I"/db/build_windows" \
/I"/openssl/include" \
- /I"/wxwidgets/lib/vc_lib/mswud" \
+ /I"/wxwidgets/lib/vc_lib/mswu" \
/I"/wxwidgets/include"
LIBPATHS= \
/LIBPATH:"/boost/stage/lib" \
- /LIBPATH:"/db/build_windows/debug" \
- /LIBPATH:"/openssl/out" \
- /LIBPATH:"/wxwidgets/lib/vc_lib"
+ /LIBPATH:"/db/build_windows/Release" \
+ /LIBPATH:"/openssl/lib" \
+ /LIBPATH:"/wxwidgets/lib/vc_lib" \
+ /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib \
+ /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib \
+ /NODEFAULTLIB:msvcrtd.lib
-WXLIBS=wxmsw29ud_html.lib wxmsw29ud_core.lib wxmsw29ud_adv.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib
+WXLIBS=wxmsw29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib
LIBS= \
- libboost_system-vc80-mt-gd.lib \
- libboost_filesystem-vc80-mt-gd.lib \
- libboost_program_options-vc80-mt-gd.lib \
- libboost_thread-vc80-mt-gd.lib \
- libdb47sd.lib \
+ libboost_system-vc100-mt.lib \
+ libboost_filesystem-vc100-mt.lib \
+ libboost_program_options-vc100-mt.lib \
+ libboost_thread-vc100-mt.lib \
+ libdb47s.lib \
libeay32.lib \
kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib
DEFS=/DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH
-DEBUGFLAGS=/Zi /D__WXDEBUG__
-CFLAGS=/c /nologo /MDd /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
+DEBUGFLAGS=/Os
+CFLAGS=/MD /c /nologo /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
rc $(INCLUDEPATHS) $(DEFS) /Fo$@ %s
bitcoin.exe: $(OBJS) obj\ui.obj obj\uibase.obj obj\ui.res
- link /nologo /DEBUG /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
+ link /nologo /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
.cpp{obj\nogui}.obj:
obj\nogui\init.obj: $(HEADERS)
bitcoind.exe: $(OBJS:obj\=obj\nogui\) obj\ui.res
- link /nologo /DEBUG /OUT:$@ $(LIBPATHS) $** $(LIBS)
+ link /nologo /OUT:$@ $(LIBPATHS) $** $(LIBS)
clean:
-# Auto-generated by EclipseNSIS Script Wizard\r
-# 3.10.2009 19:00:28\r
-\r
Name Bitcoin\r
\r
RequestExecutionLevel highest\r
\r
# General Symbol Definitions\r
!define REGKEY "SOFTWARE\$(^Name)"\r
-!define VERSION 0.3.19\r
+!define VERSION 0.3.20\r
!define COMPANY "Bitcoin project"\r
!define URL http://www.bitcoin.org/\r
\r
!insertmacro MUI_LANGUAGE English\r
\r
# Installer attributes\r
-OutFile bitcoin-0.3.19-win32-setup.exe\r
+OutFile bitcoin-0.3.20-win32-setup.exe\r
InstallDir $PROGRAMFILES\Bitcoin\r
CRCCheck on\r
XPStyle on\r
ShowInstDetails show\r
-VIProductVersion 0.3.19.0\r
+VIProductVersion 0.3.20.0\r
VIAddVersionKey ProductName Bitcoin\r
VIAddVersionKey ProductVersion "${VERSION}"\r
VIAddVersionKey CompanyName "${COMPANY}"\r
SetOutPath $INSTDIR\r
SetOverwrite on\r
File bitcoin.exe\r
- File libeay32.dll\r
- File mingwm10.dll\r
+ File msvcp100.dll\r
+ File msvcr100.dll\r
File license.txt\r
File readme.txt\r
SetOutPath $INSTDIR\daemon\r
# Uninstaller sections\r
Section /o -un.Main UNSEC0000\r
Delete /REBOOTOK $INSTDIR\bitcoin.exe\r
- Delete /REBOOTOK $INSTDIR\libeay32.dll\r
- Delete /REBOOTOK $INSTDIR\mingwm10.dll\r
+ Delete /REBOOTOK $INSTDIR\msvcp100.dll\r
+ Delete /REBOOTOK $INSTDIR\msvcr100.dll\r
Delete /REBOOTOK $INSTDIR\license.txt\r
Delete /REBOOTOK $INSTDIR\readme.txt\r
RMDir /r /REBOOTOK $INSTDIR\daemon\r