Skip to content

Commit a1e819c

Browse files
committed
Merge pull request dashpay#36 from a432511/master-0.9.0.1
Fixed builds for windows.
2 parents 1b4ae79 + aa913ad commit a1e819c

File tree

2 files changed

+37
-8
lines changed

2 files changed

+37
-8
lines changed

src/makefile.mingw

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,25 @@ USE_UPNP:=1
2222
USE_IPV6:=1
2323

2424
DEPSDIR?=/usr/local
25-
BOOST_SUFFIX?=-mgw48-mt-d-1_57
25+
BOOST_SUFFIX?=-mgw49-mt-s-1_52
2626

2727
INCLUDEPATHS= \
2828
-I"$(CURDIR)" \
29-
-I"$(DEPSDIR)/include"
29+
-I"/c/deps/boost_1_52_0" \
30+
-I"/c/deps" \
31+
-I"/c/deps/secp256k1" \
32+
-I"/c/deps/db-4.8.30.NC/build_unix" \
33+
-I"/c/deps/openssl-1.0.1j/include" \
34+
-I"/c/deps/gmp-6.0.0" \
3035

3136
LIBPATHS= \
3237
-L"$(CURDIR)/leveldb" \
33-
-L"$(DEPSDIR)/lib"
38+
-L"/c/deps/boost_1_52_0/stage/lib" \
39+
-L"/c/deps/miniupnpc" \
40+
-L"/c/deps/secp256k1/.libs" \
41+
-L"/c/deps/db-4.8.30.NC/build_unix" \
42+
-L"/c/deps/openssl-1.0.1j" \
43+
-L"/c/deps/gmp-6.0.0/.libs" \
3444

3545
LIBS= \
3646
-lleveldb \
@@ -51,7 +61,7 @@ DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
5161
DEBUGFLAGS=-g
5262
CFLAGS= -mthreads -O2 -std=c++0x -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
5363
# enable: ASLR, DEP and large address aware
54-
LDFLAGS=
64+
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static
5565

5666
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
5767

vertcoin-qt.pro

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
88
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE
99
CONFIG += no_include_pwd
1010
CONFIG += thread
11+
CONFIG += static
1112

1213
# for boost 1.37, add -mt to the boost libraries
1314
# use: qmake BOOST_LIB_SUFFIX=-mt
@@ -16,8 +17,24 @@ CONFIG += thread
1617
# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8
1718

1819
# Dependency library locations can be customized with:
20+
# SECP_INCLUDE_PATH, SECP_LIB_PATH, GMP_INCLUDE_PATH, GMP_LIB_PATH,
1921
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
2022
# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
23+
SECP_INCLUDE_PATH=c:/deps/secp256k1
24+
SECP_LIB_PATH=c:/deps/secp256k1/.libs
25+
GMP_INCLUDE_PATH=c:/deps/gmp-6.0.0
26+
GMP_LIB_PATH=c:/deps/gmp-6.0.0/.libs
27+
BOOST_LIB_SUFFIX=-mgw49-mt-s-1_52
28+
BOOST_INCLUDE_PATH=C:/deps/boost_1_52_0
29+
BOOST_LIB_PATH=C:/deps/boost_1_52_0/stage/lib
30+
BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix
31+
BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix
32+
OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include
33+
OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j
34+
MINIUPNPC_INCLUDE_PATH=C:/deps/
35+
MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
36+
QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
37+
QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs
2138

2239
OBJECTS_DIR = build
2340
MOC_DIR = build
@@ -43,13 +60,14 @@ contains(RELEASE, 1) {
4360
# Exclude on Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable!
4461
# This can be enabled for Windows, when we switch to MinGW >= 4.4.x.
4562
}
63+
4664
# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific
4765
QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -std=c++0x
4866
#QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
4967
# for extra security on Windows: enable ASLR and DEP via GCC linker flags
5068
win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat
5169
# on Windows: enable GCC large address aware linker flag
52-
win32:QMAKE_LFLAGS *= -Wl,--large-address-aware
70+
win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static
5371
# i686-w64-mingw32
5472
win32:QMAKE_LFLAGS *= -static-libgcc -static-libstdc++
5573

@@ -113,7 +131,7 @@ LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
113131
QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib)
114132
}
115133
LIBS += -lshlwapi
116-
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a
134+
#genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a
117135
}
118136
genleveldb.target = $$PWD/src/leveldb/libleveldb.a
119137
genleveldb.depends = FORCE
@@ -449,9 +467,10 @@ macx:QMAKE_CXXFLAGS_THREAD += -pthread
449467
macx:QMAKE_INFO_PLIST = share/qt/Info.plist
450468

451469
# Set libraries and includes at end, to use platform-defined defaults if not overridden
452-
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
470+
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH $$SECP_INCLUDE_PATH $$GMP_INCLUDE_PATH
453471
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
454-
LIBS += $$join(SECP_PATH,,-L,) -l secp256k1
472+
LIBS += $$join(GMP_LIB_PATH,,-L,)
473+
LIBS += $$join(SECP_LIB_PATH,,-L,) -l secp256k1
455474
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -lgmp
456475
# -lgdi32 has to happen after -lcrypto (see #681)
457476
win32:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32

0 commit comments

Comments
 (0)