aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-msw.txt74
-rw-r--r--makefile.mingw26
2 files changed, 60 insertions, 40 deletions
diff --git a/build-msw.txt b/build-msw.txt
index 38cc77a980..deba805d52 100644
--- a/build-msw.txt
+++ b/build-msw.txt
@@ -11,11 +11,14 @@ WINDOWS BUILD NOTES
Compilers Supported
-------------------
-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.?.
+MinGW GCC http://tdm-gcc.tdragon.net/
+ TDM-GCC with gcc 4.5.1 was used to build this release.
+MSYS 1.0.11 was also used (sh needed to compile some dependencies)
-MSVC 10.0 (2010) was used to build this release.
+
+Candidate releases were built with MSVC 10.0 (2010), but
+compiling with Visual C++ caused rendering artifacts when
+bitcoin was run.
Dependencies
@@ -23,10 +26,10 @@ Dependencies
Libraries you need to download separately and build:
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/
+wxWidgets \wxwidgets-2.9.1-mgw http://www.wxwidgets.org/downloads/
+OpenSSL \openssl-1.0.0c-mgw http://www.openssl.org/source/
+Berkeley DB \db-4.7.25.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html
+Boost \boost-1.43.0-mgw http://www.boost.org/users/download/
Their licenses:
wxWidgets LGPL 2.1 with very liberal exceptions
@@ -38,7 +41,7 @@ Versions used in this release:
wxWidgets 2.9.1
OpenSSL 1.0.0c
Berkeley DB 4.7.25.NC
-Boost 1.45.0
+Boost 1.43.0
Notes
@@ -47,33 +50,50 @@ 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.
-This release was built with a Visual C++ 10.0 toolchain (nmake); previous
-releases were built using mingw.
-
wxWidgets
---------
-cd \wxwidgets\build\msw
-nmake -f makefile.vc SHARED=0 MONOLITHIC=1 BUILD=release UNICODE=1 CFB=Unicode
-
+DOS shell:
+cd \wxWidgets-2.9.1-mgw\build\msw
+mingw32-make -f makefile.gcc
OpenSSL
-------
-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
+MSYS shell:
+un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377)
+change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe'
+
+cd /c/openssl-1.0.0c-mgw
+./config
+make
+
+perl util/mkdef.pl 32 libeay enable-static-engine > libeay32.def
+dllwrap --dllname libeay32.dll --output-lib libeay32.a --def libeay32.def libcrypto.a -lws2_32 -lgdi32
+
+after that openssl libeay is in main source dir (openssl-1.0.0c-mgw)
Berkeley DB
-----------
-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.
+MSYS shell:
+cd /c/db-4.7.25.NC-mgw/build_unix
+sh ../dist/configure --enable-mingw --enable-cxx
+make
+
Boost
-----
-download bjam.exe from
-http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
-cd \boost
-bjam toolset=msvc --build-type=complete stage
+DOS prompt:
+downloaded boost jam 3.1.18
+cd \boost-1.43.0-mgw
+bjam toolset=gcc --build-type=complete stage
+Note:
+building with boost 1.45.0 failed because of boost ticket 4614, 4258
+builds fine with boost 1.43.0
+
+Bitcoin
+-------
+DOS prompt:
+cd \bitcoin
+mingw32-make bitcoin.exe bitcoind.exe -f makefile.mingw
+strip bitcoin.exe
+strip bitcoind.exe
diff --git a/makefile.mingw b/makefile.mingw
index 9140c23ec5..6b849f93f6 100644
--- a/makefile.mingw
+++ b/makefile.mingw
@@ -4,26 +4,26 @@
INCLUDEPATHS= \
- -I"/boost" \
- -I"/db/build_unix" \
- -I"/openssl/include" \
- -I"/wxwidgets/lib/gcc_lib/mswud" \
- -I"/wxwidgets/include"
+ -I"C:\boost-1.43.0-mgw" \
+ -I"C:\db-4.7.25.NC-mgw\build_unix" \
+ -I"C:\openssl-1.0.0c-mgw\include" \
+ -I"C:\wxWidgets-2.9.1-mgw\lib\gcc_lib\mswud" \
+ -I"C:\wxWidgets-2.9.1-mgw\include"
LIBPATHS= \
- -L"/boost/stage/lib" \
- -L"/db/build_unix" \
- -L"/openssl/out" \
- -L"/wxwidgets/lib/gcc_lib"
+ -L"C:\boost-1.43.0-mgw\stage\lib" \
+ -L"C:\db-4.7.25.NC-mgw\build_unix" \
+ -L"C:\openssl-1.0.0c-mgw" \
+ -L"C:\wxWidgets-2.9.1-mgw\lib\gcc_lib"
WXLIBS= \
-l wxmsw29ud_html -l wxmsw29ud_core -l wxmsw29ud_adv -l wxbase29ud -l wxtiffd -l wxjpegd -l wxpngd -l wxzlibd
LIBS= \
- -l libboost_system-mgw34-mt-d \
- -l libboost_filesystem-mgw34-mt-d \
- -l libboost_program_options-mgw34-mt-d \
- -l libboost_thread-mgw34-mt-d \
+ -l boost_system-mgw45-mt-s-1_43 \
+ -l boost_filesystem-mgw45-mt-s-1_43 \
+ -l boost_program_options-mgw45-mt-s-1_43 \
+ -l boost_thread-mgw45-mt-s-1_43 \
-l db_cxx \
-l eay32 \
-l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi