mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
f3e380659a
* GCC-7 and glibc-2.27 compat code * Statically link libstdc++ for GCC based builds Makes sure binaries which are built on a newer build host still work on older distros. * Use python3 when installing MacOS native tools * Move actual build logic out of Travis and upgrade to gcc-7 Travis will now simply call a few scripts which do the actual work. These scripts will first create a "builder image" which contains the necessary environment for the actual build. Then scripts are called inside this builder image to do the build. This should make us more independant from Travis and also allows us to do local CI testing. The build matrix is also moved out of .travis.yml and instead moved into ci/matrix.sh. This script is sourced with only "BUILD_TARGET" being set so that it internally can figure out which other environment variables need to be set. This commit also upgrades the used GCC version to 7. This is due to the use of ubuntu:bionic as base image for the builder image. * Add Jenkinsfiles for regular CI and nightly gitian builds * Automatically download OSX SDK in gitian-build.sh * Remove bogus "export MAKEJOBS=-j5" * Forward cache/src dirs into builder container Fixes caching issues on Travis. * fix * Fail build immediately when building depends took too long
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script is executed inside the builder image
|
|
|
|
set -e
|
|
|
|
source ./ci/matrix.sh
|
|
|
|
unset CC; unset CXX
|
|
unset DISPLAY
|
|
|
|
export CCACHE_COMPRESS=${CCACHE_COMPRESS:-1}
|
|
export CCACHE_SIZE=${CCACHE_SIZE:-400M}
|
|
|
|
#if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi TODO reenable after all Bitcoin PRs have been merged and docs fully fixed
|
|
|
|
depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
|
|
|
|
if [ -n "$USE_SHELL" ]; then
|
|
export CONFIG_SHELL="$USE_SHELL"
|
|
fi
|
|
|
|
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$BUILD_DIR/depends/$HOST --bindir=$OUT_DIR/bin --libdir=$OUT_DIR/lib"
|
|
|
|
test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
|
|
|
|
rm -rf build-ci
|
|
mkdir build-ci
|
|
cd build-ci
|
|
|
|
../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
|
make distdir VERSION=$BUILD_TARGET
|
|
|
|
cd dashcore-$BUILD_TARGET
|
|
./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
|
|
|
make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
|