Fix: member variable fCompressedPubKey is not initialized in the constructor.
[novacoin.git] / novacoin-qt.pro
index 812c7e1..f608d85 100644 (file)
@@ -9,6 +9,11 @@ CONFIG += no_include_pwd
 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
@@ -26,8 +31,6 @@ CONFIG += static
 #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
 
@@ -55,23 +58,6 @@ QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1
 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)
@@ -125,37 +111,46 @@ contains(USE_LEVELDB, 1) {
     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
@@ -174,12 +169,6 @@ contains(USE_O3, 1) {
     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
 
@@ -215,6 +204,7 @@ HEADERS += src/qt/bitcoingui.h \
     src/hash.h \
     src/uint256.h \
     src/kernel.h \
+    src/kernel_worker.h \
     src/scrypt.h \
     src/serialize.h \
     src/main.h \
@@ -349,6 +339,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
     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 \