QRCode support is always enabled now;
authorCryptoManiac <balthazar@yandex.ru>
Thu, 1 Oct 2015 19:23:43 +0000 (12:23 -0700)
committerCryptoManiac <balthazar@yandex.ru>
Thu, 1 Oct 2015 19:23:43 +0000 (12:23 -0700)
Scrypt code is moved to crypto/scrypt subdirectory.

28 files changed:
MSVC/libcommon/libcommon.vcxproj
MSVC/libcommon/libcommon.vcxproj.filters
MSVC/mynovacoinqt/mynovacoinqt.vcxproj
contrib/debian/rules
contrib/gentoo/novacoin-0.5.0.ebuild
contrib/gitian-descriptors/gitian-win32.yml
contrib/gitian-descriptors/gitian.yml
doc/build-unix.txt
doc/building novacoin-qt for android under Windows.txt
doc/building novacoind and novacoinqt under Linux.txt
doc/building novacoind and novacoinqt under Windows with MinGW.txt
doc/crosscompiling_building Windows binary under Unix.txt
doc/readme-qt.rst
novacoin-qt.pro
src/crypto/scrypt/asm/asm-wrapper.cpp [moved from src/scrypt-asm/asm-wrapper.cpp with 100% similarity]
src/crypto/scrypt/asm/obj/.gitignore [copied from src/scrypt-asm/obj/.gitignore with 100% similarity]
src/crypto/scrypt/asm/scrypt-arm.S [moved from src/scrypt-asm/scrypt-arm.S with 100% similarity]
src/crypto/scrypt/asm/scrypt-x86.S [moved from src/scrypt-asm/scrypt-x86.S with 100% similarity]
src/crypto/scrypt/asm/scrypt-x86_64.S [moved from src/scrypt-asm/scrypt-x86_64.S with 100% similarity]
src/crypto/scrypt/generic/obj/.gitignore [moved from src/scrypt-intrin/obj/.gitignore with 100% similarity]
src/crypto/scrypt/generic/scrypt-generic.cpp [moved from src/scrypt-generic.cpp with 96% similarity]
src/crypto/scrypt/intrin/obj/.gitignore [moved from src/scrypt-asm/obj/.gitignore with 100% similarity]
src/crypto/scrypt/intrin/scrypt-sse2.cpp [moved from src/scrypt-intrin/scrypt-sse2.cpp with 100% similarity]
src/makefile.bsd
src/makefile.linux-mingw
src/makefile.osx
src/makefile.unix
src/qt/addressbookpage.cpp

index 1ef2499..89e4c13 100644 (file)
@@ -50,7 +50,7 @@
     <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>
index 9ae44e5..99ecde8 100644 (file)
@@ -98,7 +98,7 @@
     <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">
index 12d5a9a..3220bdf 100644 (file)
       <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>
@@ -157,7 +157,7 @@ C:\MyProjects\Deps\qt-everywhere-opensource-src-5.3.2\qtbase\bin\moc.exe C:\MyPr
       <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>
@@ -211,7 +211,7 @@ C:\MyProjects\Deps\qt-everywhere-opensource-src-5.3.2-64\qtbase\bin\moc.exe C:\M
       <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>
@@ -269,7 +269,7 @@ C:\MyProjects\Deps\qt-everywhere-opensource-src-5.3.2\qtbase\bin\moc.exe C:\MyPr
       <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>
index d737331..3ab9fe9 100755 (executable)
@@ -16,7 +16,7 @@ override_dh_auto_clean:
        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:
index fe315b9..0330b37 100644 (file)
@@ -76,7 +76,6 @@ src_configure() {
                OPTS+=("USE_UPNP=-")
        fi
 
-       use qrcode && OPTS+=("USE_QRCODE=1")
        use ipv6 || OPTS+=("USE_IPV6=-")
 
        OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")")
index 2bf3a7d..8e9e635 100644 (file)
@@ -51,7 +51,7 @@ script: |
   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/
   #
index 340de5e..6693eef 100644 (file)
@@ -51,6 +51,6 @@ script: |
   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
index 5e8d7c6..a7bfb80 100644 (file)
@@ -41,11 +41,9 @@ turned off by default.  Set USE_UPNP to a different value to control this:
  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
index d4415b9..5af4af4 100644 (file)
@@ -160,7 +160,6 @@ TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a
 вставьте 
 
 USE_UPNP=-
-USE_QRCODE=0
 USE_IPV6=0
 USE_LEVELDB=1
 USE_ASM=1
index 71f4192..fedec67 100644 (file)
@@ -27,7 +27,7 @@ openSUSE(проверено на версии 13.2):
 и наконец, скомпилировать свой клиент
 
  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) 
index 0a6cce0..df61439 100644 (file)
@@ -284,7 +284,7 @@ Qt5 + транзакционный индекс BDB
 
 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
 
 
@@ -292,21 +292,21 @@ Qt5 + транзакционный индекс LevelDB
 
 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
 
 
@@ -481,7 +481,7 @@ Qt5 + транзакционный индекс BDB
 
 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
 
 
@@ -489,21 +489,21 @@ Qt5 + транзакционный индекс LevelDB
 
 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
index 70605ec..7a48736 100644 (file)
@@ -344,28 +344,28 @@ Qt4 + транзакционный индекс LevelDB
 
 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 количество ядер вашего процессора, которые вы хотите выделить под сборку)
 
 
index e7abfa9..73be0c8 100644 (file)
@@ -155,16 +155,8 @@ FreeDesktop notification interface through DBUS using the following qmake option
 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
 ==========================
index b545889..36fdcff 100644 (file)
@@ -55,14 +55,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_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)
@@ -136,18 +128,18 @@ contains(USE_LEVELDB, 1) {
 # 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
     }
 }
 
@@ -270,7 +262,8 @@ HEADERS += src/qt/bitcoingui.h \
     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 \
@@ -346,7 +339,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.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
@@ -368,13 +362,8 @@ FORMS += \
     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
 
@@ -463,7 +452,7 @@ macx:QMAKE_CXXFLAGS_THREAD += -pthread
 # 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
similarity index 96%
rename from src/scrypt-generic.cpp
rename to src/crypto/scrypt/generic/scrypt-generic.cpp
index aa07892..c4dc5b5 100644 (file)
@@ -119,15 +119,14 @@ uint256 scrypt_blockhash(const uint8_t* input)
 
     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]);
index 16f17f2..29c497e 100644 (file)
@@ -150,38 +150,35 @@ endif
 
 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
@@ -206,12 +203,15 @@ clean:
        -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:
index 8022e40..c34e197 100644 (file)
@@ -125,33 +125,33 @@ endif
 
 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
@@ -176,12 +176,15 @@ clean:
        -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 ..
 
index de69207..5aa9e9c 100644 (file)
@@ -131,37 +131,35 @@ endif
 
 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:
@@ -187,12 +185,15 @@ clean:
        -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:
index f27ea5f..708695d 100644 (file)
@@ -157,32 +157,32 @@ endif
 
 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
@@ -212,12 +212,15 @@ clean:
        -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:
index 2b32c9f..e5b55c7 100644 (file)
@@ -7,15 +7,13 @@
 #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),
@@ -33,9 +31,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
     ui->deleteButton->setIcon(QIcon());
 #endif
 
-#ifndef USE_QRCODE
     ui->showQRCode->setVisible(false);
-#endif
 
     switch(mode)
     {
@@ -65,9 +61,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
     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);
@@ -80,9 +74,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
     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)
@@ -93,9 +85,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
     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()));
 
@@ -345,7 +335,6 @@ void AddressBookPage::exportClicked()
 
 void AddressBookPage::on_showQRCode_clicked()
 {
-#ifdef USE_QRCODE
     QTableView *table = ui->tableView;
     QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address);
 
@@ -359,7 +348,6 @@ void AddressBookPage::on_showQRCode_clicked()
         dialog->setAttribute(Qt::WA_DeleteOnClose);
         dialog->show();
     }
-#endif
 }
 
 void AddressBookPage::contextualMenu(const QPoint &point)