Scrypt code is moved to crypto/scrypt subdirectory.
<ClCompile Include="..\..\src\walletdb.cpp" />
<ClCompile Include="..\..\src\noui.cpp" />
<ClCompile Include="..\..\src\kernel.cpp" />
- <ClCompile Include="..\..\src\scrypt-intrin\scrypt-sse2.cpp">
+ <ClCompile Include="..\..\src\crypto\scrypt\intrin\scrypt-sse2.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ClCompile Include="..\..\src\miner.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\..\src\scrypt-intrin\scrypt-sse2.cpp">
+ <ClCompile Include="..\..\src\crypto\scrypt\intrin\scrypt-sse2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\txdb-leveldb.cpp">
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>USE_UPNP;USE_QRCODE;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>USE_UPNP;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>USE_UPNP;USE_QRCODE;UNICODE;WIN32;_WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>USE_UPNP;UNICODE;WIN32;_WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Full</Optimization>
- <PreprocessorDefinitions>USE_UPNP;USE_QRCODE;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>USE_UPNP;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Full</Optimization>
- <PreprocessorDefinitions>USE_UPNP;USE_QRCODE;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>USE_UPNP;UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;QT_GUI;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;USE_LEVELDB;USE_IPV6=1;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;USE_SSE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
cd src; $(MAKE) -f makefile.unix clean
override_dh_auto_configure:
- qmake novacoin-qt.pro USE_QRCODE=1 USE_ASM=1 USE_LEVELDB=1
+ qmake novacoin-qt.pro USE_ASM=1 USE_LEVELDB=1
# Ensure wrapper is set executable
binary-post-install/novacoind:
OPTS+=("USE_UPNP=-")
fi
- use qrcode && OPTS+=("USE_QRCODE=1")
use ipv6 || OPTS+=("USE_IPV6=-")
OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")")
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
- $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1b OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1b/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=ppcoin QMAKE_LFLAGS=-frandom-seed=ppcoin USE_BUILD_INFO=1
+ $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1b OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1b/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=ppcoin QMAKE_LFLAGS=-frandom-seed=ppcoin USE_BUILD_INFO=1
make $MAKEOPTS
cp release/ppcoin-qt.exe $OUTDIR/
#
install -s ppcoind $OUTDIR/bin/$GBUILD_BITS
#
cd ..
- qmake INCLUDEPATH="$INSTDIR/include" LIBS="-L$INSTDIR/lib" RELEASE=1 USE_QRCODE=1
+ qmake INCLUDEPATH="$INSTDIR/include" LIBS="-L$INSTDIR/lib" RELEASE=1
make $MAKEOPTS
install ppcoin-qt $OUTDIR/bin/$GBUILD_BITS
USE_UPNP=0 (the default) UPnP support turned off by default at runtime
USE_UPNP=1 UPnP support turned on by default at runtime
-libqrencode may be used for QRCode image generation. It can be downloaded
+libqrencode is used for QRCode image generation. It can be downloaded
from http://fukuchi.org/works/qrencode/index.html.en, or installed via
-your package manager. Set USE_QRCODE to control this:
- USE_QRCODE=0 (the default) No QRCode support - libqrcode not required
- USE_QRCODE=1 QRCode support enabled
+your package manager.
Licenses of statically linked libraries:
Berkeley DB New BSD license with additional requirement that linked
вставьте
USE_UPNP=-
-USE_QRCODE=0
USE_IPV6=0
USE_LEVELDB=1
USE_ASM=1
и наконец, скомпилировать свой клиент
cd novacoin
- qmake USE_UPNP=1 USE_QRCODE=1 USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1)
+ qmake USE_UPNP=1 USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1)
make
cd src
make -f makefile.unix USE_UPNP=1 USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1)
set PATH=%PATH%;C:\Qt\5.4.0\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
mingw32-make -f Makefile.Release
set PATH=%PATH%;C:\Qt\5.4.0\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
mingw32-make -f Makefile.Release
Qt4 + транзакционный индекс BDB
set PATH=%PATH%;C:\Qt\4.8.6\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
mingw32-make -f Makefile.Release
Qt4 + транзакционный индекс LevelDB
set PATH=%PATH%;C:\Qt\4.8.6\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
mingw32-make -f Makefile.Release
set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
mingw32-make -f Makefile.Release
set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
mingw32-make -f Makefile.Release
Qt4 + транзакционный индекс BDB
set PATH=%PATH%;C:\Qt\4.8.6-x64\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
mingw32-make -f Makefile.Release
Qt4 + транзакционный индекс LevelDB
set PATH=%PATH%;C:\Qt\4.8.6-x64\bin
cd C:\MyProjects\novacoin-master
-qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
+qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
mingw32-make -f Makefile.Release
Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release
export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH
cd /home/<ваше имя>/novacoin
-i686-w64-mingw32.static-qmake-qt4 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
+i686-w64-mingw32.static-qmake-qt4 "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку)
Qt4 + транзакционный индекс BDB
export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH
cd /home/<ваше имя>/novacoin
-i686-w64-mingw32.static-qmake-qt4 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
+i686-w64-mingw32.static-qmake-qt4 "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку)
Qt5 + транзакционный индекс LevelDB
export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH
cd /home/<ваше имя>/novacoin
-i686-w64-mingw32.static-qmake-qt5 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
+i686-w64-mingw32.static-qmake-qt5 "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку)
Qt5 + транзакционный индекс BDB
export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH
cd /home/<ваше имя>/novacoin
-i686-w64-mingw32.static-qmake-qt5 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
+i686-w64-mingw32.static-qmake-qt5 "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку)
Generation of QR codes
-----------------------
-libqrencode may be used to generate QRCode images for payment requests.
-It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. Pass the USE_QRCODE
-flag to qmake to control this:
-
-+--------------+--------------------------------------------------------------------------+
-| USE_QRCODE=0 | (the default) No QRCode support - libarcode not required |
-+--------------+--------------------------------------------------------------------------+
-| USE_QRCODE=1 | QRCode support enabled |
-+--------------+--------------------------------------------------------------------------+
-
+libqrencode is used to generate QRCode images for payment requests.
+It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager.
Berkely DB version warning
==========================
win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat
win32:QMAKE_LFLAGS += -static-libgcc -static-libstdc++
-# use: qmake "USE_QRCODE=1"
-# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support
-contains(USE_QRCODE, 1) {
- message(Building with QRCode support)
- DEFINES += USE_QRCODE
- LIBS += -lqrencode
-}
-
# use: qmake "USE_UPNP=1" ( enabled by default; default)
# or: qmake "USE_UPNP=0" (disabled by default)
# or: qmake "USE_UPNP=-" (not supported)
# use: qmake "USE_ASM=1"
contains(USE_ASM, 1) {
message(Using assembler scrypt implementation)
- SOURCES += src/scrypt-asm/scrypt-arm.S src/scrypt-asm/scrypt-x86.S src/scrypt-asm/scrypt-x86_64.S src/scrypt-asm/asm-wrapper.cpp
+ 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
} else {
# use: qmake "USE_SSE2=1"
contains(USE_SSE2, 1) {
message(Using SSE2 intrinsic scrypt implementation)
- SOURCES += src/scrypt-intrin/scrypt-sse2.cpp
+ SOURCES += src/crypto/scrypt/intrin/scrypt-sse2.cpp
DEFINES += USE_SSE2
QMAKE_CXXFLAGS += -msse2
QMAKE_CFLAGS += -msse2
} else {
message(Using generic scrypt implementation)
- SOURCES += src/scrypt-generic.cpp
+ SOURCES += src/crypto/scrypt/generic/scrypt-generic.cpp
}
}
src/qt/multisigaddressentry.h \
src/qt/multisiginputentry.h \
src/qt/multisigdialog.h \
- src/qt/secondauthdialog.h
+ src/qt/secondauthdialog.h \
+ src/qt/qrcodedialog.h
SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/intro.cpp \
src/qt/multisigaddressentry.cpp \
src/qt/multisiginputentry.cpp \
src/qt/multisigdialog.cpp \
- src/qt/secondauthdialog.cpp
+ src/qt/secondauthdialog.cpp \
+ src/qt/qrcodedialog.cpp
RESOURCES += \
src/qt/bitcoin.qrc
src/qt/forms/multisigaddressentry.ui \
src/qt/forms/multisiginputentry.ui \
src/qt/forms/multisigdialog.ui \
- src/qt/forms/secondauthdialog.ui
-
-contains(USE_QRCODE, 1) {
-HEADERS += src/qt/qrcodedialog.h
-SOURCES += src/qt/qrcodedialog.cpp
-FORMS += src/qt/forms/qrcodedialog.ui
-}
+ src/qt/forms/secondauthdialog.ui \
+ src/qt/forms/qrcodedialog.ui
CODECFORTR = UTF-8
# Set libraries and includes at end, to use platform-defined defaults if not overridden
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
-LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
+LIBS += -lqrencode -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
# -lgdi32 has to happen after -lcrypto (see #681)
windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
PKCS5_PBKDF2_HMAC((const char*)input, 80, input, 80, 1, EVP_sha256(), 128, (unsigned char *)X);
- uint16_t i, j, k;
- for (i = 0; i < 1024; i++) {
+ for (uint16_t i = 0; i < 1024; i++) {
memcpy(&V[i * 32], X, 128);
xor_salsa8(&X[0], &X[16]);
xor_salsa8(&X[16], &X[0]);
}
- for (i = 0; i < 1024; i++) {
- j = 32 * (X[16] & 1023);
- for (k = 0; k < 32; k++)
+ for (uint16_t i = 0; i < 1024; i++) {
+ uint16_t j = 32 * (X[16] & 1023);
+ for (uint16_t k = 0; k < 32; k++)
X[k] ^= V[j + k];
xor_salsa8(&X[0], &X[16]);
xor_salsa8(&X[16], &X[0]);
ifeq (${USE_ASM}, 1)
# Assembler implementation
-OBJS += scrypt-asm/obj/scrypt-arm.o scrypt-asm/obj/scrypt-x86.o scrypt-asm/obj/scrypt-x86_64.o scrypt-asm/obj/asm-wrapper.o
+OBJS += crypto/scrypt/asm/obj/scrypt-arm.o crypto/scrypt/asm/obj/scrypt-x86.o crypto/scrypt/asm/obj/scrypt-x86_64.o crypto/scrypt/asm/obj/asm-wrapper.o
-scrypt-asm/obj/scrypt-x86.o: scrypt-asm/scrypt-x86.S
+crypto/scrypt/asm/obj/scrypt-x86.o: crypto/scrypt/asm/scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-x86_64.o: scrypt-asm/scrypt-x86_64.S
+crypto/scrypt/asm/obj/scrypt-x86_64.o: crypto/scrypt/asm/scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-arm.o: scrypt-asm/scrypt-arm.S
+crypto/scrypt/asm/obj/scrypt-arm.o: crypto/scrypt/asm/scrypt-arm.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/asm-wrapper.o: scrypt-asm/asm-wrapper.cpp
+crypto/scrypt/asm/obj/asm-wrapper.o: crypto/scrypt/asm/asm-wrapper.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
ifeq (${USE_SSE2}, 1)
# Intrinsic implementation
DEFS += -DUSE_SSE2
-OBJS += scrypt-intrin/obj/scrypt-sse2.o
+OBJS += crypto/scrypt/intrin/obj/scrypt-sse2.o
-scrypt-intrin/obj/scrypt-sse2.o: scrypt-intrin/scrypt-sse2.cpp
+crypto/scrypt/intrin/obj/scrypt-sse2.o: crypto/scrypt/intrin/scrypt-sse2.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
-ifneq (${USE_ASM}, 1)
# Generic implementation
-OBJS += obj/scrypt-generic.o
+OBJS += crypto/scrypt/generic/obj/scrypt-generic.o
-obj/scrypt-generic.o: scrypt-generic.cpp
+crypto/scrypt/generic/obj/scrypt-generic.o: crypto/scrypt/generic/scrypt-generic.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
endif
endif
-endif
-
# auto-generated dependencies:
-include obj/*.P
-rm -f obj/*.o
-rm -f obj/*.P
-rm -f obj/*.d
- -rm -f scrypt-asm/obj/*.o
- -rm -f scrypt-asm/obj/*.P
- -rm -f scrypt-asm/obj/*.d
- -rm -f scrypt-intrin/obj/*.o
- -rm -f scrypt-intrin/obj/*.P
- -rm -f scrypt-intrin/obj/*.d
+ -rm -f crypto/scrypt/asm/obj/*.o
+ -rm -f crypto/scrypt/asm/obj/*.P
+ -rm -f crypto/scrypt/asm/obj/*.d
+ -rm -f crypto/scrypt/intrin/obj/*.o
+ -rm -f crypto/scrypt/intrin/obj/*.P
+ -rm -f crypto/scrypt/intrin/obj/*.d
+ -rm -f crypto/scrypt/generic/obj/*.o
+ -rm -f crypto/scrypt/generic/obj/*.P
+ -rm -f crypto/scrypt/generic/obj/*.d
-rm -f obj/build.h
FORCE:
ifeq (${USE_ASM}, 1)
# Assembler implementation
-OBJS += scrypt-asm/obj/scrypt-arm.o scrypt-asm/obj/scrypt-x86.o scrypt-asm/obj/scrypt-x86_64.o scrypt-asm/obj/asm-wrapper.o
+OBJS += crypto/scrypt/asm/obj/scrypt-arm.o crypto/scrypt/asm/obj/scrypt-x86.o crypto/scrypt/asm/obj/scrypt-x86_64.o crypto/scrypt/asm/obj/asm-wrapper.o
-scrypt-asm/obj/scrypt-x86.o: scrypt-asm/scrypt-x86.S
+crypto/scrypt/asm/obj/scrypt-x86.o: crypto/scrypt/asm/scrypt-x86.S
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-x86_64.o: scrypt-asm/scrypt-x86_64.S
+crypto/scrypt/asm/obj/scrypt-x86_64.o: crypto/scrypt/asm/scrypt-x86_64.S
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-arm.o: scrypt-asm/scrypt-arm.S
+crypto/scrypt/asm/obj/scrypt-arm.o: crypto/scrypt/asm/scrypt-arm.S
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/asm-wrapper.o: scrypt-asm/asm-wrapper.cpp
+crypto/scrypt/asm/obj/asm-wrapper.o: crypto/scrypt/asm/asm-wrapper.cpp
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
else
ifeq (${USE_SSE2}, 1)
# Intrinsic implementation
DEFS += -DUSE_SSE2
-OBJS += scrypt-intrin/obj/scrypt-sse2.o
+OBJS += crypto/scrypt/intrin/obj/scrypt-sse2.o
-scrypt-intrin/obj/scrypt-sse2.o: scrypt-intrin/scrypt-sse2.cpp $(HEADERS)
+crypto/scrypt/intrin/obj/scrypt-sse2.o: crypto/scrypt/intrin/scrypt-sse2.cpp $(HEADERS)
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
else
ifneq (${USE_ASM}, 1)
# Generic implementation
-OBJS += obj/scrypt-generic.o
+OBJS += crypto/scrypt/generic/obj/scrypt-generic.o
-obj/scrypt-generic.o: scrypt-generic.cpp
+crypto/scrypt/generic/obj/scrypt-generic.o: crypto/scrypt/generic/scrypt-generic.cpp
$(CXX) -c $(CFLAGS) -MMD -o $@ $<
endif
endif
-rm -f obj/*.o
-rm -f obj/*.P
-rm -f obj/*.d
- -rm -f scrypt-asm/obj/*.o
- -rm -f scrypt-asm/obj/*.P
- -rm -f scrypt-asm/obj/*.d
- -rm -f scrypt-intrin/obj/*.o
- -rm -f scrypt-intrin/obj/*.P
- -rm -f scrypt-intrin/obj/*.d
+ -rm -f crypto/scrypt/asm/obj/*.o
+ -rm -f crypto/scrypt/asm/obj/*.P
+ -rm -f crypto/scrypt/asm/obj/*.d
+ -rm -f crypto/scrypt/intrin/obj/*.o
+ -rm -f crypto/scrypt/intrin/obj/*.P
+ -rm -f crypto/scrypt/intrin/obj/*.d
+ -rm -f crypto/scrypt/generic/obj/*.o
+ -rm -f crypto/scrypt/generic/obj/*.P
+ -rm -f crypto/scrypt/generic/obj/*.d
-rm -f obj/build.h
cd leveldb && TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) clean && cd ..
ifeq (${USE_ASM}, 1)
# Assembler implementation
-OBJS += scrypt-asm/obj/scrypt-arm.o scrypt-asm/obj/scrypt-x86.o scrypt-asm/obj/scrypt-x86_64.o scrypt-asm/obj/asm-wrapper.o
+OBJS += crypto/scrypt/asm/obj/scrypt-arm.o crypto/scrypt/asm/obj/scrypt-x86.o crypto/scrypt/asm/obj/scrypt-x86_64.o crypto/scrypt/asm/obj/asm-wrapper.o
-scrypt-asm/obj/scrypt-x86.o: scrypt-asm/scrypt-x86.S
+crypto/scrypt/asm/obj/scrypt-x86.o: crypto/scrypt/asm/scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-x86_64.o: scrypt-asm/scrypt-x86_64.S
+crypto/scrypt/asm/obj/scrypt-x86_64.o: crypto/scrypt/asm/scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-arm.o: scrypt-asm/scrypt-arm.S
+crypto/scrypt/asm/obj/scrypt-arm.o: crypto/scrypt/asm/scrypt-arm.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/asm-wrapper.o: scrypt-asm/asm-wrapper.cpp
+crypto/scrypt/asm/obj/asm-wrapper.o: crypto/scrypt/asm/asm-wrapper.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
ifeq (${USE_SSE2}, 1)
# Intrinsic implementation
DEFS += -DUSE_SSE2
-OBJS += scrypt-intrin/obj/scrypt-sse2.o
+OBJS += crypto/scrypt/intrin/obj/scrypt-sse2.o
-scrypt-intrin/obj/scrypt-sse2.o: scrypt-intrin/scrypt-sse2.cpp
+crypto/scrypt/intrin/obj/scrypt-sse2.o: crypto/scrypt/intrin/scrypt-sse2.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
-ifneq (${USE_ASM}, 1)
# Generic implementation
-OBJS += obj/scrypt-generic.o
+OBJS += crypto/scrypt/generic/obj/scrypt-generic.o
-obj/scrypt-generic.o: scrypt-generic.cpp
+crypto/scrypt/generic/obj/scrypt-generic.o: crypto/scrypt/generic/scrypt-generic.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
endif
endif
-endif
# auto-generated dependencies:
-rm -f obj/*.o
-rm -f obj/*.P
-rm -f obj/*.d
- -rm -f scrypt-asm/obj/*.o
- -rm -f scrypt-asm/obj/*.P
- -rm -f scrypt-asm/obj/*.d
- -rm -f scrypt-intrin/obj/*.o
- -rm -f scrypt-intrin/obj/*.P
- -rm -f scrypt-intrin/obj/*.d
+ -rm -f crypto/scrypt/asm/obj/*.o
+ -rm -f crypto/scrypt/asm/obj/*.P
+ -rm -f crypto/scrypt/asm/obj/*.d
+ -rm -f crypto/scrypt/intrin/obj/*.o
+ -rm -f crypto/scrypt/intrin/obj/*.P
+ -rm -f crypto/scrypt/intrin/obj/*.d
+ -rm -f crypto/scrypt/generic/obj/*.o
+ -rm -f crypto/scrypt/generic/obj/*.P
+ -rm -f crypto/scrypt/generic/obj/*.d
-rm -f obj/build.h
FORCE:
ifeq (${USE_ASM}, 1)
# Assembler implementation
-OBJS += scrypt-asm/obj/scrypt-arm.o scrypt-asm/obj/scrypt-x86.o scrypt-asm/obj/scrypt-x86_64.o scrypt-asm/obj/asm-wrapper.o
+OBJS += crypto/scrypt/asm/obj/scrypt-arm.o crypto/scrypt/asm/obj/scrypt-x86.o crypto/scrypt/asm/obj/scrypt-x86_64.o crypto/scrypt/asm/obj/asm-wrapper.o
-scrypt-asm/obj/scrypt-x86.o: scrypt-asm/scrypt-x86.S
+crypto/scrypt/asm/obj/scrypt-x86.o: crypto/scrypt/asm/scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-x86_64.o: scrypt-asm/scrypt-x86_64.S
+crypto/scrypt/asm/obj/scrypt-x86_64.o: crypto/scrypt/asm/scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/scrypt-arm.o: scrypt-asm/scrypt-arm.S
+crypto/scrypt/asm/obj/scrypt-arm.o: crypto/scrypt/asm/scrypt-arm.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-scrypt-asm/obj/asm-wrapper.o: scrypt-asm/asm-wrapper.cpp
+crypto/scrypt/asm/obj/asm-wrapper.o: crypto/scrypt/asm/asm-wrapper.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
ifeq (${USE_SSE2}, 1)
# Intrinsic implementation
DEFS += -DUSE_SSE2
-OBJS += scrypt-intrin/obj/scrypt-sse2.o
+OBJS += crypto/scrypt/intrin/obj/scrypt-sse2.o
-scrypt-intrin/obj/scrypt-sse2.o: scrypt-intrin/scrypt-sse2.cpp
+crypto/scrypt/intrin/obj/scrypt-sse2.o: crypto/scrypt/intrin/scrypt-sse2.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
else
# Generic implementation
-OBJS += obj/scrypt-generic.o
+OBJS += crypto/scrypt/generic/obj/scrypt-generic.o
-obj/scrypt-generic.o: scrypt-generic.cpp
+crypto/scrypt/generic/obj/scrypt-generic.o: crypto/scrypt/generic/scrypt-generic.cpp
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
endif
endif
-rm -f obj/*.o
-rm -f obj/*.P
-rm -f obj/*.d
- -rm -f scrypt-asm/obj/*.o
- -rm -f scrypt-asm/obj/*.P
- -rm -f scrypt-asm/obj/*.d
- -rm -f scrypt-intrin/obj/*.o
- -rm -f scrypt-intrin/obj/*.P
- -rm -f scrypt-intrin/obj/*.d
+ -rm -f crypto/scrypt/asm/obj/*.o
+ -rm -f crypto/scrypt/asm/obj/*.P
+ -rm -f crypto/scrypt/asm/obj/*.d
+ -rm -f crypto/scrypt/intrin/obj/*.o
+ -rm -f crypto/scrypt/intrin/obj/*.P
+ -rm -f crypto/scrypt/intrin/obj/*.d
+ -rm -f crypto/scrypt/generic/obj/*.o
+ -rm -f crypto/scrypt/generic/obj/*.P
+ -rm -f crypto/scrypt/generic/obj/*.d
-rm -f obj/build.h
FORCE:
#include "editaddressdialog.h"
#include "csvmodelwriter.h"
#include "guiutil.h"
+#include "qrcodedialog.h"
#include <QSortFilterProxyModel>
#include <QClipboard>
#include <QMessageBox>
#include <QMenu>
-#ifdef USE_QRCODE
-#include "qrcodedialog.h"
-#endif
AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
QDialog(parent),
ui->deleteButton->setIcon(QIcon());
#endif
-#ifndef USE_QRCODE
ui->showQRCode->setVisible(false);
-#endif
switch(mode)
{
QAction *copyLabelAction = new QAction(tr("Copy &Label"), this);
QAction *copyAddressAction = new QAction(ui->copyToClipboard->text(), this);
QAction *editAction = new QAction(tr("&Edit"), this);
-#ifdef USE_QRCODE
QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this);
-#endif
QAction *signMessageAction = new QAction(ui->signMessage->text(), this);
QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this);
deleteAction = new QAction(ui->deleteButton->text(), this);
if(tab == SendingTab)
contextMenu->addAction(deleteAction);
contextMenu->addSeparator();
-#ifdef USE_QRCODE
contextMenu->addAction(showQRCodeAction);
-#endif
if(tab == ReceivingTab)
contextMenu->addAction(signMessageAction);
else if(tab == SendingTab)
connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction()));
connect(editAction, SIGNAL(triggered()), this, SLOT(onEditAction()));
connect(deleteAction, SIGNAL(triggered()), this, SLOT(on_deleteButton_clicked()));
-#ifdef USE_QRCODE
connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked()));
-#endif
connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked()));
connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked()));
void AddressBookPage::on_showQRCode_clicked()
{
-#ifdef USE_QRCODE
QTableView *table = ui->tableView;
QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address);
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->show();
}
-#endif
}
void AddressBookPage::contextualMenu(const QPoint &point)