From 9df6acdc2b62522727743d1a4ffbb7cdf9c0c85f Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 19 Mar 2019 10:43:37 +0300 Subject: [PATCH] Disable in-wallet miner for win/macos Travis/Gitian builds (#2778) * Add new configure option to disable in-wallet miner * Use new option to disable in-wallet miner for win/macos Travis/Gitian builds --- ci/matrix.sh | 6 +++--- configure.ac | 12 ++++++++++++ contrib/gitian-descriptors/gitian-osx.yml | 2 +- contrib/gitian-descriptors/gitian-win.yml | 2 +- src/rpc/client.cpp | 2 ++ src/rpc/mining.cpp | 5 ++++- src/test/rpc_tests.cpp | 2 ++ 7 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ci/matrix.sh b/ci/matrix.sh index 38b2dc3c5f..80285c3eb8 100755 --- a/ci/matrix.sh +++ b/ci/matrix.sh @@ -41,7 +41,7 @@ elif [ "$BUILD_TARGET" = "win32" ]; then export DPKG_ADD_ARCH="i386" export DEP_OPTS="NO_QT=1" export PACKAGES="python3 nsis g++-mingw-w64-i686 wine-stable wine32 bc" - export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" + export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner" export DIRECT_WINE_EXEC_TESTS=true export RUN_TESTS=true elif [ "$BUILD_TARGET" = "win64" ]; then @@ -49,7 +49,7 @@ elif [ "$BUILD_TARGET" = "win64" ]; then export DPKG_ADD_ARCH="i386" export DEP_OPTS="NO_QT=1" export PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-stable wine64 bc" - export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" + export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner" export DIRECT_WINE_EXEC_TESTS=true export RUN_TESTS=true elif [ "$BUILD_TARGET" = "linux32" ]; then @@ -82,7 +82,7 @@ elif [ "$BUILD_TARGET" = "linux64_release" ]; then elif [ "$BUILD_TARGET" = "mac" ]; then export HOST=x86_64-apple-darwin11 export PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools" - export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" + export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner" export OSX_SDK=10.11 export GOAL="deploy" fi diff --git a/configure.ac b/configure.ac index f0d25d9401..cb8834bea8 100644 --- a/configure.ac +++ b/configure.ac @@ -199,6 +199,17 @@ AC_ARG_ENABLE([stacktraces], [enable_stacktraces=$enableval], [enable_stacktraces=no]) +# Enable in-wallet miner +AC_ARG_ENABLE([miner], + [AS_HELP_STRING([--enable-miner], + [enable in-wallet miner (default is yes)])], + [enable_miner=$enableval], + [enable_miner=yes]) +AM_CONDITIONAL([ENABLE_MINER], [test x$enable_miner = xyes]) +if test "x$enable_miner" = xyes; then + AC_DEFINE(ENABLE_MINER, 1, [Define this symbol if in-wallet miner should be enabled]) +fi + # Turn warnings into errors AC_ARG_ENABLE([werror], [AS_HELP_STRING([--enable-werror], @@ -1243,6 +1254,7 @@ echo " with bench = $use_bench" echo " with upnp = $use_upnp" echo " debug enabled = $enable_debug" echo " stacktraces enabled = $enable_stacktraces" +echo " miner enabled = $enable_miner" echo " werror = $enable_werror" echo echo " target os = $TARGET_OS" diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index dda5077b33..2995b31939 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -37,7 +37,7 @@ files: script: | WRAP_DIR=$HOME/wrapped HOSTS="x86_64-apple-darwin11" - CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests GENISOIMAGE=$WRAP_DIR/genisoimage" + CONFIGFLAGS="--enable-reduce-exports --disable-miner --disable-bench --disable-gui-tests GENISOIMAGE=$WRAP_DIR/genisoimage" FAKETIME_HOST_PROGS="" FAKETIME_PROGS="ar ranlib date dmg genisoimage" diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index d85867e07a..ee1a171498 100755 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -31,7 +31,7 @@ files: [] script: | WRAP_DIR=$HOME/wrapped HOSTS="i686-w64-mingw32 x86_64-w64-mingw32" - CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests" + CONFIGFLAGS="--enable-reduce-exports --disable-miner --disable-bench --disable-gui-tests" FAKETIME_HOST_PROGS="ar ranlib nm windres strip objcopy" FAKETIME_PROGS="date makensis zip" HOST_CFLAGS="-O2 -g" diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp index fdd6ac876b..a0572f867d 100644 --- a/src/rpc/client.cpp +++ b/src/rpc/client.cpp @@ -30,10 +30,12 @@ public: static const CRPCConvertParam vRPCConvertParams[] = { { "setmocktime", 0, "timestamp" }, +#if ENABLE_MINER { "generate", 0, "nblocks" }, { "generate", 1, "maxtries" }, { "generatetoaddress", 0, "nblocks" }, { "generatetoaddress", 2, "maxtries" }, +#endif // ENABLE_MINER { "getnetworkhashps", 0, "nblocks" }, { "getnetworkhashps", 1, "height" }, { "sendtoaddress", 1, "amount" }, diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 2f070f9275..3b65ca11ad 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -104,6 +104,7 @@ UniValue getnetworkhashps(const JSONRPCRequest& request) return GetNetworkHashPS(request.params.size() > 0 ? request.params[0].get_int() : 120, request.params.size() > 1 ? request.params[1].get_int() : -1); } +#if ENABLE_MINER UniValue generateBlocks(boost::shared_ptr coinbaseScript, int nGenerate, uint64_t nMaxTries, bool keepScript) { static const int nInnerLoopCount = 0x10000; @@ -222,6 +223,7 @@ UniValue generatetoaddress(const JSONRPCRequest& request) return generateBlocks(coinbaseScript, nGenerate, nMaxTries, false); } +#endif // ENABLE_MINER UniValue getmininginfo(const JSONRPCRequest& request) { @@ -903,9 +905,10 @@ static const CRPCCommand commands[] = { "mining", "getblocktemplate", &getblocktemplate, true, {"template_request"} }, { "mining", "submitblock", &submitblock, true, {"hexdata","parameters"} }, +#if ENABLE_MINER { "generating", "generate", &generate, true, {"nblocks","maxtries"} }, { "generating", "generatetoaddress", &generatetoaddress, true, {"nblocks","address","maxtries"} }, - +#endif // ENABLE_MINER { "util", "estimatefee", &estimatefee, true, {"nblocks"} }, { "util", "estimatesmartfee", &estimatesmartfee, true, {"nblocks"} }, }; diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp index 8c00487925..1ff02258ec 100644 --- a/src/test/rpc_tests.cpp +++ b/src/test/rpc_tests.cpp @@ -320,6 +320,7 @@ BOOST_AUTO_TEST_CASE(rpc_ban) BOOST_CHECK_EQUAL(adr.get_str(), "2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/128"); } +#if ENABLE_MINER BOOST_AUTO_TEST_CASE(rpc_convert_values_generatetoaddress) { UniValue result; @@ -342,5 +343,6 @@ BOOST_AUTO_TEST_CASE(rpc_convert_values_generatetoaddress) BOOST_CHECK_EQUAL(result[1].get_str(), "yTG8jLL3MvteKXgbEcHyaN7JvTPCejQpSh"); BOOST_CHECK_EQUAL(result[2].get_int(), 9); } +#endif // ENABLE_MINER BOOST_AUTO_TEST_SUITE_END()