|
|
@ -29,19 +29,19 @@ contains(RELEASE, 1) { |
|
|
|
|
|
|
|
|
|
|
|
!win32:!macx { |
|
|
|
!win32:!macx { |
|
|
|
# Linux: static link |
|
|
|
# Linux: static link |
|
|
|
LIBS += -Wl,-Bstatic |
|
|
|
LIBS += -Wl,-Bstatic -Wl,-z,relro -Wl,-z,now |
|
|
|
|
|
|
|
# for extra security (see: https://wiki.debian.org/Hardening) |
|
|
|
|
|
|
|
QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
!win32 { |
|
|
|
!win32 { |
|
|
|
# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection |
|
|
|
# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection |
|
|
|
QMAKE_CXXFLAGS *= -fstack-protector-all |
|
|
|
QMAKE_CXXFLAGS *= -fstack-protector-all |
|
|
|
QMAKE_LFLAGS *= -fstack-protector-all |
|
|
|
QMAKE_LFLAGS *= -fstack-protector-all |
|
|
|
# We need to exclude this for Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! |
|
|
|
# Exclude on Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! |
|
|
|
# This can be enabled for Windows, when we switch to MinGW >= 4.4.x. |
|
|
|
# This can be enabled for Windows, when we switch to MinGW >= 4.4.x. |
|
|
|
} |
|
|
|
} |
|
|
|
# for extra security (see: https://wiki.debian.org/Hardening) |
|
|
|
|
|
|
|
QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now |
|
|
|
|
|
|
|
# for extra security on Windows: enable ASLR and DEP via GCC linker flags |
|
|
|
# for extra security on Windows: enable ASLR and DEP via GCC linker flags |
|
|
|
win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat |
|
|
|
win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat |
|
|
|
# on Windows: enable GCC large address aware linker flag |
|
|
|
# on Windows: enable GCC large address aware linker flag |
|
|
@ -99,14 +99,14 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { |
|
|
|
INCLUDEPATH += src/leveldb/include src/leveldb/helpers |
|
|
|
INCLUDEPATH += src/leveldb/include src/leveldb/helpers |
|
|
|
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a |
|
|
|
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a |
|
|
|
!win32 { |
|
|
|
!win32 { |
|
|
|
genleveldb.commands = cd $$PWD/src/leveldb && $(MAKE) libleveldb.a libmemenv.a |
|
|
|
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
# make an educated guess about what the ranlib command is called |
|
|
|
# make an educated guess about what the ranlib command is called |
|
|
|
isEmpty(QMAKE_RANLIB) { |
|
|
|
isEmpty(QMAKE_RANLIB) { |
|
|
|
QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) |
|
|
|
QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) |
|
|
|
} |
|
|
|
} |
|
|
|
LIBS += -lshlwapi |
|
|
|
LIBS += -lshlwapi |
|
|
|
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a |
|
|
|
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a |
|
|
|
} |
|
|
|
} |
|
|
|
genleveldb.target = $$PWD/src/leveldb/libleveldb.a |
|
|
|
genleveldb.target = $$PWD/src/leveldb/libleveldb.a |
|
|
|
genleveldb.depends = FORCE |
|
|
|
genleveldb.depends = FORCE |
|
|
|