forked from namecoin/namecoin-legacy
/
build-windows.txt
113 lines (102 loc) · 4.65 KB
/
build-windows.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
HOWTO COMPILE 611 ON WINDOWS
based on the guide: https://bitcointalk.org/index.php?topic=149479.0
(1) download and install base MinGW from:
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
choose MinGW installation manager -> All packages -> MSYS
mark the following for installation:
+ msys-base-bin
+ msys-autoconf-bin
+ msys-automake-bin
+ msys-libtool-bin
Make sure no mingw packages are checked for installation or present from a previous install.
Only the above msys packages should be installed.
Also make sure that msys-gcc and msys-w32api packages are NOT installed.
(2) download and install MinGW-build project toolchain from:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z/download
Ensure that mingw-builds bin folder is set in your PATH environment variable, like:
PATH=C:\mingw32\bin;%PATH%
(3) download and unpack the following packages to C:\deps:
(3.1) Berkeley DB 4.8:
http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
-> extract to C:\deps\db-4.8.30.NC
(3.2) OpenSSL 1.0.2s:
https://www.openssl.org/source/openssl-1.0.2s.tar.gz
-> extract to C:\deps\openssl-1.0.2s
(3.3a) libPNG 1.6.37:
https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download
-> extract to C:\deps\libpng-1.6.37
(3.3b) libPNG patch, because https://sourceforge.net/p/libpng/bugs/273/:
https://sourceforge.net/p/libpng/bugs/_discuss/thread/376bc3c4/82fd/attachment/dfn.awk.patch
-> patch directory C:\deps\libpng-1.6.37 with dfn.awk.patch
(3.4) libqrencode 4.0.2:
https://fukuchi.org/works/qrencode/qrencode-4.0.2.tar.gz
-> extract to C:\deps\qrencode-4.0.2
(3.5) MiniUPNP 2.1:
http://miniupnp.free.fr/files/download.php?file=miniupnpc-2.1.tar.gz
or latest 2.1 ...
-> extract to C:\deps\miniupnpc-2.1\miniupnpc
(3.6) Boost 1.60:
https://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.7z/download
-> extract to C:\deps\boost_1_60_0
(3.7) Qt 5.4.12 Base:
http://download.qt.io/archive/qt/5.12/5.12.4/submodules/qtbase-everywhere-src-5.12.4.tar.xz
-> extract qtbase-everywhere-src-5.12.4.tar.xz to C:\deps\Qt-5.12.4
(3.8) Qt 5.4.12 Tools:
http://download.qt.io/archive/qt/5.12/5.12.4/submodules/qttools-everywhere-src-5.12.4.tar.xz
-> extract qttools-everywhere-src-5.12.4.tar.xz to C:\deps\qttools-everywhere-src-5.12.4
(4) open C:\MinGW\msys\1.0\msys.bat SHELL:
(4.1) compile Berkeley DB 4.8:
cd C:\deps\db-4.8.30.NC\build_unix
../dist/configure --enable-mingw --enable-cxx --disable-replication
make
(4.2) compile OpenSSL 1.0.2:
cd C:\deps\openssl-1.0.2s
./configure mingw
make
(4.3) compile libPNG:
cd C:\deps\libpng-1.6.37
configure --enable-static --disable-shared
make
cp .libs/libpng16.a .libs/libpng.a
# hint: dos2unix file(s) in case of compile errors
(4.4) compile libqrencode:
cd C:\deps\qrencode-4.0.2
png_CFLAGS="-I/c/deps/libpng-1.6.37" \
png_LIBS="/c/deps/libpng-1.6.37/.libs/libpng16.a -lz" \
./configure --enable-static --enable-shared=no
make
(5) open standard windows cmd SHELL
(5.1) compile MiniUPnPc:
cd C:\deps\miniupnpc-2.1\miniupnpc
# edit Makefile.mingw, change: CC = gcc
mingw32-make -f Makefile.mingw init upnpc-static
(5.2) Boost 1.60.0:
cd C:\deps\boost_1_60_0
bootstrap.bat mingw
b2 --build-type=complete --with-chrono --with-filesystem \
--with-program_options --with-system --with-thread \
toolset=gcc variant=release link=static \
threading=multi runtime-link=static stage
(5.3) Qt 5.12.4 Base:
cd C:\deps\Qt-5.12.4
configure.bat -prefix C:\Qt\Qt5.12.4-static -mp -release -opensource \
-confirm-license -static -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype \
-opengl desktop -sql-sqlite -sql-odbc -opensource -confirm-license -make libs \
-nomake tools -nomake examples -nomake tests \
-I "C:\deps\openssl-1.0.2s\include" -L "C:\deps\openssl-1.0.2s" -ssl -openssl
mingw32-make
mingw32-make install
set PATH=C:\Qt\Qt5.12.4-static\bin;%PATH
(5.4) Qt 5.12.4 Tools:
cd C:\deps\qttools-everywhere-src-5.12.4
qmake qttools.pro
mingw32-make
mingw32-make install
(6) compile SixElevenCoin (611) with statically linked libraries:
# hint: take care to have the static compiled version of Qt 5.12.4 set into the PATH
# variable first with: set PATH=C:\Qt\Qt5.12.4-static\bin;%PATH
cd C:\dev\sixeleven
qmake "RELEASE=1" "USE_UPNP=1" "USE_QRCODE=1" 611-qt.pro
mingw32-make
# hint: with success compiled 611-qt.exe released should be located
# in the directory: C:\dev\sixeleven\release