#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)
# use: qmake "USE_ASM=1"
contains(USE_ASM, 1) {
- message(Using assembler scrypt implementation)
+ message(Using assembler scrypt & sha256 implementations)
+ DEFINES += USE_ASM
+ QMAKE_CFLAGS += -msse2
+ QMAKE_CXXFLAGS += -msse2
+
+ contains(USE_SSSE3, 1) {
+ DEFINES += USE_SSSE3
+ QMAKE_CFLAGS += -mssse3
+ QMAKE_CXXFLAGS += -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