CONFIG += thread
CONFIG += static
+freebsd-g++: QMAKE_TARGET.arch = $$QMAKE_HOST.arch
+linux-g++: QMAKE_TARGET.arch = $$QMAKE_HOST.arch
+linux-g++-32: QMAKE_TARGET.arch = i686
+linux-g++-64: QMAKE_TARGET.arch = x86_64
+
# for boost 1.37, add -mt to the boost libraries
# use: qmake BOOST_LIB_SUFFIX=-mt
# for boost thread win32 with _win32 sufix
# use: BOOST_THREAD_LIB_SUFFIX=_win32-...
-# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8
+# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-6.1
# Dependency library locations can be customized with:
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
#BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix
#OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include
#OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j
-#MINIUPNPC_INCLUDE_PATH=C:/deps/
-#MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
#QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
#QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs
win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat
win32:QMAKE_LFLAGS += -static-libgcc -static-libstdc++
-# use: qmake "USE_UPNP=1" ( enabled by default; default)
-# or: qmake "USE_UPNP=0" (disabled by default)
-# or: qmake "USE_UPNP=-" (not supported)
-# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support
-contains(USE_UPNP, -) {
- message(Building without UPNP support)
-} else {
- message(Building with UPNP support)
- count(USE_UPNP, 0) {
- USE_UPNP=1
- }
- DEFINES += USE_UPNP=$$USE_UPNP STATICLIB MINIUPNP_STATICLIB
- INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH
- LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
- win32:LIBS += -liphlpapi
-}
-
# use: qmake "USE_DBUS=1"
contains(USE_DBUS, 1) {
message(Building with DBUS (Freedesktop notifications) support)
SOURCES += src/txdb-bdb.cpp
}
+
# use: qmake "USE_ASM=1"
contains(USE_ASM, 1) {
- message(Using assembler scrypt implementation)
+ message(Using assembler scrypt & sha256 implementations)
+ DEFINES += USE_ASM
+
+ contains(QMAKE_TARGET.arch, i386) |
+ contains(QMAKE_TARGET.arch, i386) |
+ contains(QMAKE_TARGET.arch, i686) {
+ message("x86 platform, setting -msse2 & -mssse3 flags")
+
+ QMAKE_CXXFLAGS += -msse2 -mssse3
+ QMAKE_CFLAGS += -msse2 -mssse3
+ }
+
+ contains(QMAKE_TARGET.arch, x86_64) |
+ contains(QMAKE_TARGET.arch, amd64) {
+ message("x86_64 platform, setting -mssse3 flag")
+
+ QMAKE_CXXFLAGS += -mssse3
+ QMAKE_CFLAGS += -mssse3
+ }
+
+
SOURCES += src/crypto/scrypt/asm/scrypt-arm.S src/crypto/scrypt/asm/scrypt-x86.S src/crypto/scrypt/asm/scrypt-x86_64.S src/crypto/scrypt/asm/asm-wrapper.cpp
+ SOURCES += src/crypto/sha2/asm/sha2-arm.S src/crypto/sha2/asm/sha2-x86.S src/crypto/sha2/asm/sha2-x86_64.S
} else {
# use: qmake "USE_SSE2=1"
contains(USE_SSE2, 1) {
- message(Using SSE2 intrinsic scrypt implementation)
+ message(Using SSE2 intrinsic scrypt implementation & generic sha256 implementation)
SOURCES += src/crypto/scrypt/intrin/scrypt-sse2.cpp
DEFINES += USE_SSE2
- QMAKE_CXXFLAGS += -msse2
+ QMAKE_CXXFLAGS += -msse2
QMAKE_CFLAGS += -msse2
} else {
- message(Using generic scrypt implementation)
+ message(Using generic scrypt & sha256 implementations)
SOURCES += src/crypto/scrypt/generic/scrypt-generic.cpp
}
}
-contains(USE_YASM, 1) {
- !win32 {
- DEFINES += USE_YASM
-
- LIBS += $$PWD/src/crypto/sha2/asm/obj/sha256_avx1.a
- gensha2.commands = cd $$PWD/src/crypto/sha2/asm && yasm -f x64 -f elf64 -X gnu -g dwarf2 -D LINUX -o obj/sha256_avx1.o sha256_avx1.asm && ar -rs obj/sha256_avx1.a obj/sha256_avx1.o
- gensha2.target = $$PWD/src/crypto/sha2/asm/obj/sha256_avx1.a
- gensha2.depends = FORCE
- PRE_TARGETDEPS += $$PWD/src/crypto/sha2/asm/obj/sha256_avx1.a
- QMAKE_EXTRA_TARGETS += gensha2
- }
-}
-
# regenerate src/build.h
!windows|contains(USE_BUILD_INFO, 1) {
genbuild.depends = FORCE
QMAKE_CFLAGS += -O3
}
-*-g++-32 {
- message("32 platform, adding -msse2 flag")
-
- QMAKE_CXXFLAGS += -msse2
- QMAKE_CFLAGS += -msse2
-}
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector
src/hash.h \
src/uint256.h \
src/kernel.h \
+ src/kernel_worker.h \
src/scrypt.h \
src/serialize.h \
src/main.h \
src/qt/rpcconsole.cpp \
src/noui.cpp \
src/kernel.cpp \
+ src/kernel_worker.cpp \
src/qt/multisigaddressentry.cpp \
src/qt/multisiginputentry.cpp \
src/qt/multisigdialog.cpp \
# platform specific defaults, if not overridden on command line
isEmpty(BOOST_LIB_SUFFIX) {
- macx:BOOST_LIB_SUFFIX = -mt
windows:BOOST_LIB_SUFFIX = -mgw44-mt-1_53
}
}
isEmpty(BDB_LIB_PATH) {
- macx:BDB_LIB_PATH = /opt/local/lib/db48
+ macx:BDB_LIB_PATH = /usr/local/BerkeleyDB.6.1/lib
+}
+
+isEmpty(OPENSSL_LIB_PATH) {
+ macx:OPENSSL_LIB_PATH = /usr/local/ssl/lib
}
isEmpty(BDB_LIB_SUFFIX) {
- macx:BDB_LIB_SUFFIX = -4.8
+ macx:BDB_LIB_SUFFIX = -6.1
}
isEmpty(BDB_INCLUDE_PATH) {
- macx:BDB_INCLUDE_PATH = /opt/local/include/db48
+ macx:BDB_INCLUDE_PATH = /usr/local/BerkeleyDB.6.1/include
+}
+
+isEmpty(OPENSSL_INCLUDE_PATH) {
+ macx:OPENSSL_INCLUDE_PATH = /usr/local/ssl/include
}
isEmpty(BOOST_LIB_PATH) {
- macx:BOOST_LIB_PATH = /opt/local/lib
+ macx:BOOST_LIB_PATH = /usr/local/lib
}
isEmpty(BOOST_INCLUDE_PATH) {
- macx:BOOST_INCLUDE_PATH = /opt/local/include
+ macx:BOOST_INCLUDE_PATH = /usr/local/include
}
windows:DEFINES += WIN32