diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 91cb75dee..a422067cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ stages: ####START#### PROJECT LEVEL VARIABLES ####START#### ######################################################################################################################## variables: - VERSION: 0.6.5-dev-13 + VERSION: 0.6.5-dev-14 VERUS_CLI_ARM64_LINUX: Verus-CLI-Linux-v${VERSION}-arm64.tar.gz VERUS_CLI_LINUX_AMD64: Verus-CLI-Linux-v${VERSION}-amd64.tar.gz VERUS_CLI_WINDOWS: Verus-CLI-Windows-v${VERSION}.zip @@ -28,7 +28,7 @@ variables: ####START#### LINUX ####START#### ######################################################################################################################## build:linux: - image: asherd/verus-builders:verus-centos + image: asherd/verus-builders:verus-ubuntu variables: DOCKER_DRIVER: overlay2 CONFIGURE_FLAGS: --with-gcc-arch=x86-64 @@ -38,8 +38,6 @@ build:linux: paths: - depends script: - - scl enable devtoolset-8 sh - - source /opt/rh/devtoolset-8/enable - zcutil/build.sh -j$(nproc) - if [ "${STRIP_BINARIES}" = "true" ]; then strip --strip-unneeded src/verus && strip --strip-unneeded src/verusd; fi - mkdir verus-cli diff --git a/Brewfile b/Brewfile index 7a048b080..d4eb519ed 100644 --- a/Brewfile +++ b/Brewfile @@ -9,7 +9,7 @@ brew "automake" brew "binutils" brew "cmake" brew "coreutils" -brew "gcc@6" +brew "gcc@8" brew "leveldb" brew "nanomsg" brew "protobuf" diff --git a/README.md b/README.md index 068875f44..4a828ecd5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## VerusCoin version 0.6.5-dev-13 +## VerusCoin version 0.6.5-dev-14 Arguably the world's most advanced technology, zero knowledge privacy-centric blockchain, Verus Coin brings Sapling performance and zero knowledge features to an intelligent system with interchain smart contracts and a completely original, combined proof of stake/proof of work consensus algorithm that solves the nothing at stake problem. With this and its approach towards CPU mining and ASICs, Verus Coin strives to be one of the most naturally decentralizing and attack resistant blockchains in existence. diff --git a/configure.ac b/configure.ac index f7c1e86ae..4443793a9 100644 --- a/configure.ac +++ b/configure.ac @@ -791,14 +791,12 @@ else fi # Set optimization flags for libsnark -AX_GCC_ARCHFLAG([no], [LIBSNARK_OPTFLAGS="-O2 $ax_cv_gcc_archflag"], [LIBSNARK_OPTFLAGS="-O2"]) +AX_GCC_ARCHFLAG([yes], [LIBSNARK_OPTFLAGS="-O2 $ax_cv_gcc_archflag"], [LIBSNARK_OPTFLAGS="-O2"]) # Additional Zcash flags AX_CHECK_COMPILE_FLAG([-fwrapv],[CXXFLAGS="$CXXFLAGS -fwrapv"]) AX_CHECK_COMPILE_FLAG([-fno-strict-aliasing],[CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"]) -if test x$TARGET_OS != xdarwin; then AX_CHECK_COMPILE_FLAG([-Wno-builtin-declaration-mismatch],[CXXFLAGS="$CXXFLAGS -Wno-builtin-declaration-mismatch"],,[[$CXXFLAG_WERROR]]) -fi LIBZCASH_LIBS="-lgmp -lgmpxx $BOOST_SYSTEM_LIB -lcrypto -lsodium $RUST_LIBS" AC_MSG_CHECKING([whether to build bitcoind]) diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk index a56ddaa03..b2a3af782 100644 --- a/depends/hosts/darwin.mk +++ b/depends/hosts/darwin.mk @@ -1,6 +1,6 @@ OSX_MIN_VERSION=10.8 LD64_VERSION=274.2 -darwin_CC=gcc-6 -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(shell xcrun --show-sdk-path) -mlinker-version=$(LD64_VERSION) +darwin_CC=gcc-8 -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(shell xcrun --show-sdk-path) -mlinker-version=$(LD64_VERSION) darwin_CXX=g++-8 -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(shell xcrun --show-sdk-path) -mlinker-version=$(LD64_VERSION) darwin_CFLAGS=-pipe diff --git a/doc/man/verus-cli/linux/README.txt b/doc/man/verus-cli/linux/README.txt index 084c670de..662dc5703 100644 --- a/doc/man/verus-cli/linux/README.txt +++ b/doc/man/verus-cli/linux/README.txt @@ -1,4 +1,4 @@ -VerusCoin Command Line Tools v0.6.5-dev-13 +VerusCoin Command Line Tools v0.6.5-dev-14 Contents: verusd - VerusCoin daemon diff --git a/doc/man/verus-cli/mac/README.txt b/doc/man/verus-cli/mac/README.txt index 0c3396e68..4d82a77ca 100644 --- a/doc/man/verus-cli/mac/README.txt +++ b/doc/man/verus-cli/mac/README.txt @@ -1,4 +1,4 @@ -VerusCoin Command Line Tools v0.6.5-dev-13 +VerusCoin Command Line Tools v0.6.5-dev-14 Contents: verusd - VerusCoin daemon. verus - VerusCoin command line utility. diff --git a/doc/man/verus-cli/windows/README.txt b/doc/man/verus-cli/windows/README.txt index 9dbf6127d..c86b84b70 100644 --- a/doc/man/verus-cli/windows/README.txt +++ b/doc/man/verus-cli/windows/README.txt @@ -1,4 +1,4 @@ -VerusCoin Command Line Tools v0.6.5-dev-13 +VerusCoin Command Line Tools v0.6.5-dev-14 Contents: verusd.exe - VerusCoin daemon verus.exe - VerusCoin command line utility diff --git a/src/Makefile.am b/src/Makefile.am index d1e7cb12d..97456d698 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -47,15 +47,6 @@ BITCOIN_INCLUDES += -I$(srcdir)/snark BITCOIN_INCLUDES += -I$(srcdir)/snark/libsnark BITCOIN_INCLUDES += -I$(srcdir)/univalue/include -if TARGET_WINDOWS -LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl -endif -if TARGET_DARWIN -LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl -else -LIBBITCOIN_SERVER=libbitcoin_server.a -lcurl -endif - LIBBITCOIN_WALLET=libbitcoin_wallet.a LIBBITCOIN_COMMON=libbitcoin_common.a LIBBITCOIN_CLI=libbitcoin_cli.a @@ -83,7 +74,7 @@ LIBBITCOIN_WALLET=libbitcoin_wallet.a endif $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O2 -march=$(PLATFORM_VARIANT) -g " + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O3 -march=$(PLATFORM_VARIANT) -g " LIBSNARK_CXXFLAGS = $(AM_CXXFLAGS) $(PIC_FLAGS) -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 -fstack-protector-all LIBSNARK_CONFIG_FLAGS = CURVE=ALT_BN128 NO_PROCPS=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT NO_COPY_DEPINST=1 NO_COMPILE_LIBGTEST=1 @@ -101,10 +92,10 @@ libsnark-tests: $(wildcard snark/src/*) $(AM_V_at) CC="$(CC)" CXX="$(CXX)" AR="$(AR)" CXXFLAGS="$(LIBSNARK_CXXFLAGS)" $(MAKE) $(AM_MAKEFLAGS) -C snark/ check DEPINST="$(LIBSNARK_DEPINST)" $(LIBSNARK_CONFIG_FLAGS) OPTFLAGS="$(LIBSNARK_OPTFLAGS)" $(LIBUNIVALUE): $(wildcard univalue/lib/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O2 -march=$(PLATFORM_VARIANT) -g " + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O3 -march=$(PLATFORM_VARIANT) -g " $(LIBCRYPTOCONDITIONS): $(wildcard cryptoconditions/src/*) $(wildcard cryptoconditions/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O2 -march=$(PLATFORM_VARIANT) -g " + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O3 -march=$(PLATFORM_VARIANT) -g " # Make is not made aware of per-object dependencies to avoid limiting building parallelization # But to build the less dependent modules first, we manually select their order here: @@ -386,6 +377,7 @@ libbitcoin_server_a_SOURCES = \ validationinterface.cpp \ $(BITCOIN_CORE_H) \ $(LIBZCASH_H) +libbitcoin_server_a_LDADD = -lcurl if ENABLE_ZMQ libbitcoin_zmq_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(ZMQ_CFLAGS) @@ -649,6 +641,10 @@ verus_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) verus_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) verus_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +if TARGET_DARWIN +verus_LDFLAGS += -static-libgcc +endif + # wallet-utility binary # if ENABLE_WALLET wallet_utility_SOURCES = wallet-utility.cpp diff --git a/src/version.h b/src/version.h index 7b2e600dd..89537f21d 100644 --- a/src/version.h +++ b/src/version.h @@ -35,6 +35,6 @@ static const int MEMPOOL_GD_VERSION = 60002; static const int NO_BLOOM_VERSION = 170004; #define KOMODO_VERSION "0.2.1" -#define VERUS_VERSION "0.6.5-dev-13" +#define VERUS_VERSION "0.6.5-dev-14" #endif // BITCOIN_VERSION_H diff --git a/zcutil/build-mac.sh b/zcutil/build-mac.sh index 13d277dba..832b32714 100755 --- a/zcutil/build-mac.sh +++ b/zcutil/build-mac.sh @@ -44,7 +44,7 @@ make "$@" -C ./depends/ V=1 NO_QT=1 NO_PROTON=1 ./autogen.sh CPPFLAGS="-I$PREFIX/include -arch x86_64" LDFLAGS="-L$PREFIX/lib -arch x86_64 -Wl,-no_pie -g" \ -CXXFLAGS='-arch x86_64 -I/usr/local/Cellar/gcc\@8/8.3.0_1/include/c++/8.3.0_1/ -I$PREFIX/include -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup -g' \ +CXXFLAGS='-arch x86_64 -I/usr/local/Cellar/gcc\@8/8.4.0_1/include/c++/8.4.0/ -I$PREFIX/include -I$PREFIX/lib -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup -g' \ ./configure --prefix="${PREFIX}" --with-gui=no "$HARDENING_ARG" "$LCOV_ARG" make "$@" V=1 NO_GTEST=1 STATIC=1