Merge branch 'beta' into mergemaster

# Conflicts:
#	src/main.cpp
This commit is contained in:
jl777
2018-04-16 10:16:01 +03:00
parent 9226f69ef1
commit e73b2055c6
910 changed files with 112009 additions and 11364 deletions

View File

@@ -2,6 +2,22 @@
set -eu -o pipefail
function cmd_pref() {
if type -p "$2" > /dev/null; then
eval "$1=$2"
else
eval "$1=$3"
fi
}
# If a g-prefixed version of the command exists, use it preferentially.
function gprefix() {
cmd_pref "$1" "g$2" "$2"
}
gprefix READLINK readlink
cd "$(dirname "$("$READLINK" -f "$0")")/.."
# Allow user overrides to $MAKE. Typical usage for users who need it:
# MAKE=gmake ./zcutil/build.sh -j$(nproc)
if [[ -z "${MAKE-}" ]]; then
@@ -11,10 +27,10 @@ fi
# Allow overrides to $BUILD and $HOST for porters. Most users will not need it.
# BUILD=i686-pc-linux-gnu ./zcutil/build.sh
if [[ -z "${BUILD-}" ]]; then
BUILD=x86_64-unknown-linux-gnu
BUILD="$(./depends/config.guess)"
fi
if [[ -z "${HOST-}" ]]; then
HOST=x86_64-unknown-linux-gnu
HOST="$BUILD"
fi
# Allow override to $CC and $CXX for porters. Most users will not need it.
@@ -25,6 +41,11 @@ if [[ -z "${CXX-}" ]]; then
CXX=g++
fi
# Allow users to set arbitary compile flags. Most users will not need this.
if [[ -z "${CONFIGURE_FLAGS-}" ]]; then
CONFIGURE_FLAGS=""
fi
if [ "x$*" = 'x--help' ]
then
cat <<EOF
@@ -33,7 +54,7 @@ Usage:
$0 --help
Show this help message and exit.
$0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-rust ] [ MAKEARGS... ]
$0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-rust ] [ --enable-proton ] [ --disable-libs ] [ MAKEARGS... ]
Build Zcash and most of its transitive dependencies from
source. MAKEARGS are applied to both dependencies and Zcash itself.
@@ -45,13 +66,19 @@ $0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-rust ]
code. It must be passed after the test arguments, if present.
If --disable-rust is passed, Zcash is configured to not build any Rust language
assets. It must be passed after mining/test arguments, if present.
assets. It must be passed after test/mining arguments, if present.
If --enable-proton is passed, Zcash is configured to build the Apache Qpid Proton
library required for AMQP support. This library is not built by default.
It must be passed after the test/mining/Rust arguments, if present.
If --disable-libs is passed, Zcash is configured to not build any libraries like
'libzcashconsensus'.
EOF
exit 0
fi
set -x
cd "$(dirname "$(readlink -f "$0")")/.."
# If --enable-lcov is the first argument, enable lcov coverage support:
LCOV_ARG=''
@@ -84,9 +111,31 @@ then
shift
fi
# If --enable-proton is the next argument, enable building Proton code:
PROTON_ARG='--enable-proton=no'
if [ "x${1:-}" = 'x--enable-proton' ]
then
PROTON_ARG=''
shift
fi
# If --disable-libs is the next argument, build without libs:
LIBS_ARG=''
if [ "x${1:-}" = 'x--disable-libs' ]
then
LIBS_ARG='--without-libs'
shift
fi
PREFIX="$(pwd)/depends/$BUILD/"
HOST="$HOST" BUILD="$BUILD" NO_RUST="$RUST_ARG" "$MAKE" "$@" -C ./depends/ V=1
eval "$MAKE" --version
eval "$CC" --version
eval "$CXX" --version
as --version
ld -v
HOST="$HOST" BUILD="$BUILD" NO_RUST="$RUST_ARG" NO_PROTON="$PROTON_ARG" "$MAKE" "$@" -C ./depends/ V=1
./autogen.sh
CC="$CC" CXX="$CXX" ./configure --prefix="${PREFIX}" --host="$HOST" --build="$BUILD" "$RUST_ARG" "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" CXXFLAGS='-fwrapv -fno-strict-aliasing -g'
CC="$CC" CXX="$CXX" ./configure --prefix="${PREFIX}" --host="$HOST" --build="$BUILD" "$RUST_ARG" "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" "$PROTON_ARG" "$LIBS_ARG" $CONFIGURE_FLAGS --enable-werror CXXFLAGS='-g'
"$MAKE" "$@" V=1