mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 04:52:59 +01:00
7be48286f4
* Merge #18750: build: optionally skip external warnings ba8950ee0134a7958e3e9b041cd54d222feb09a1 build: optionally skip external warnings (Vasil Dimov) Pull request description: Add an option to `./configure` to suppress compilation warnings from external headers. The option is off by default (no change in behavior, show warnings from external headers). This option is useful if e.g. Boost or Qt is installed outside of `/usr/include` (warnings from headers in `/usr/include` are already suppressed by default) and those warnings stand in the way of compiling Bitcoin Core with `-Werror[=...]` or they just clutter the build output too much and make our own warnings hard to spot. `-isystem /usr/include` bricks GCC's `#include_next`, so we use `-idirafter` instead. This way we don't have to treat `/usr/include` specially. ACKs for top commit: practicalswift: ACK ba8950ee0134a7958e3e9b041cd54d222feb09a1: diff looks correct! hebasto: ACK ba8950ee0134a7958e3e9b041cd54d222feb09a1, tested on Linux Mint 20 (x86_64). luke-jr: utACK ba8950ee0134a7958e3e9b041cd54d222feb09a1 Tree-SHA512: 9b54fae8590be6c79f2688a5aca09e0a9067f481dabecdd49bb278c08a62ac2b0cc704c894fbd53240e77ac84da0c7a237845df0a696cfbdb0359e1c8e2e10c9 * add --enable-suppress-external-warnings to matrix.sh Co-authored-by: Wladimir J. van der Laan <laanwj@protonmail.com>
87 lines
3.8 KiB
Bash
Executable File
87 lines
3.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# This script is meant to be sourced into the actual build script. It contains the build matrix and will set all
|
|
# necessary environment variables for the request build target
|
|
|
|
export LC_ALL=C.UTF-8
|
|
|
|
export BUILD_TARGET=${BUILD_TARGET:-linux64}
|
|
export PULL_REQUEST=${PULL_REQUEST:-false}
|
|
export JOB_NUMBER=${JOB_NUMBER:-1}
|
|
|
|
export BUILDER_IMAGE_NAME="dash-builder-$BUILD_TARGET-$JOB_NUMBER"
|
|
|
|
export HOST_SRC_DIR=${HOST_SRC_DIR:-$(pwd)}
|
|
export HOST_CACHE_DIR=${HOST_CACHE_DIR:-$(pwd)/ci-cache-$BUILD_TARGET}
|
|
|
|
export SRC_DIR=${SRC_DIR:-$HOST_SRC_DIR}
|
|
export BUILD_DIR=$SRC_DIR
|
|
export OUT_DIR=$BUILD_DIR/out
|
|
|
|
export CACHE_DIR=${CACHE_DIR:-$HOST_CACHE_DIR}
|
|
export CCACHE_DIR=$CACHE_DIR/ccache
|
|
|
|
export DOCKER_RUN_VOLUME_ARGS="-v $HOST_SRC_DIR:$SRC_DIR -v $HOST_CACHE_DIR:$CACHE_DIR"
|
|
export DOCKER_RUN_ENV_ARGS="-e SRC_DIR=$SRC_DIR -e CACHE_DIR=$CACHE_DIR -e PULL_REQUEST=$PULL_REQUEST -e COMMIT_RANGE=$COMMIT_RANGE -e JOB_NUMBER=$JOB_NUMBER -e BUILD_TARGET=$BUILD_TARGET"
|
|
export DOCKER_RUN_ARGS="$DOCKER_RUN_VOLUME_ARGS $DOCKER_RUN_ENV_ARGS"
|
|
export DOCKER_RUN_IN_BUILDER="docker run -t --rm -w $SRC_DIR $DOCKER_RUN_ARGS $BUILDER_IMAGE_NAME"
|
|
|
|
# Default values for targets
|
|
export GOAL="install"
|
|
export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
|
|
MAKEJOBS="-j$(nproc)"
|
|
export MAKEJOBS
|
|
|
|
export RUN_UNITTESTS=true
|
|
export RUN_INTEGRATIONTESTS=true
|
|
|
|
if [ "$BUILD_TARGET" = "arm-linux" ]; then
|
|
export HOST=arm-linux-gnueabihf
|
|
export CHECK_DOC=1
|
|
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
|
|
# This could be removed once the ABI change warning does not show up by default
|
|
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports --enable-suppress-external-warnings --enable-werror CXXFLAGS=-Wno-psabi"
|
|
export RUN_UNITTESTS=false
|
|
export RUN_INTEGRATIONTESTS=false
|
|
elif [ "$BUILD_TARGET" = "win64" ]; then
|
|
export HOST=x86_64-w64-mingw32
|
|
export DPKG_ADD_ARCH="i386"
|
|
export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner"
|
|
export DIRECT_WINE_EXEC_TESTS=true
|
|
elif [ "$BUILD_TARGET" = "linux32" ]; then
|
|
export HOST=i686-pc-linux-gnu
|
|
export BITCOIN_CONFIG="--enable-zmq --disable-bip70 --enable-glibc-back-compat --enable-reduce-exports --enable-crash-hooks LDFLAGS=-static-libstdc++"
|
|
export USE_SHELL="/bin/dash"
|
|
export PYZMQ=true
|
|
elif [ "$BUILD_TARGET" = "linux64" ]; then
|
|
export HOST=x86_64-unknown-linux-gnu
|
|
export DEP_OPTS="NO_UPNP=1 DEBUG=1"
|
|
export BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports --enable-crash-hooks"
|
|
export CPPFLAGS="-DDEBUG_LOCKORDER -DENABLE_DASH_DEBUG -DARENA_DEBUG"
|
|
export PYZMQ=true
|
|
elif [ "$BUILD_TARGET" = "linux64_cxx17" ]; then
|
|
export HOST=x86_64-unknown-linux-gnu
|
|
export DEP_OPTS="NO_UPNP=1 DEBUG=1"
|
|
export BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports --enable-crash-hooks --enable-c++17 --enable-suppress-external-warnings --enable-werror --with-sanitizers=undefined"
|
|
export CPPFLAGS="-DDEBUG_LOCKORDER -DENABLE_DASH_DEBUG -DARENA_DEBUG"
|
|
export PYZMQ=true
|
|
export RUN_INTEGRATIONTESTS=false
|
|
elif [ "$BUILD_TARGET" = "linux64_nowallet" ]; then
|
|
export HOST=x86_64-unknown-linux-gnu
|
|
export DEP_OPTS="NO_WALLET=1"
|
|
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
|
|
elif [ "$BUILD_TARGET" = "linux64_release" ]; then
|
|
export HOST=x86_64-unknown-linux-gnu
|
|
export DEP_OPTS="NO_UPNP=1"
|
|
export BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports"
|
|
export PYZMQ=true
|
|
elif [ "$BUILD_TARGET" = "mac" ]; then
|
|
export HOST=x86_64-apple-darwin19
|
|
export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner --enable-werror"
|
|
export XCODE_VERSION=11.3.1
|
|
export XCODE_BUILD_ID=11C505
|
|
export GOAL="all deploy"
|
|
export RUN_UNITTESTS=false
|
|
export RUN_INTEGRATIONTESTS=false
|
|
fi
|