Merge branch 'beta' into mergemaster
# Conflicts: # src/main.cpp
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user