diff --git a/contrib/devtools/build_depends.sh b/contrib/devtools/build_depends.sh new file mode 100755 --- /dev/null +++ b/contrib/devtools/build_depends.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +export LC_ALL=C + +set -euxo pipefail + +: "${TOPLEVEL:=$(git rev-parse --show-toplevel)}" +: "${DEPENDS_DIR:=${TOPLEVEL}/depends}" +: "${SDK_PATH:=${DEPENDS_DIR}/SDKs}" + +pushd "${DEPENDS_DIR}" + +# Get the OSX SDK +mkdir -p "${SDK_PATH}" +pushd "${SDK_PATH}" + +rm -rf "${SDK_PATH}/MacOSX*" + +OSX_SDK="MacOSX10.14.sdk.tar.gz" +OSX_SDK_SHA256="2322086a96349db832abbcadea493b79db843553a2e604163238d99fa058a286" + +wget https://storage.googleapis.com/27cd7b2a42a430926cc621acdc3bda72a8ed2b0efc080e3/"${OSX_SDK}" +echo "${OSX_SDK_SHA256} ${OSX_SDK}" | sha256sum -c +tar -xzf "${OSX_SDK}" +rm "${OSX_SDK}" + +popd + +RAPIDCHECK=1 make build-all + +popd diff --git a/contrib/teamcity/build-configurations.sh b/contrib/teamcity/build-configurations.sh --- a/contrib/teamcity/build-configurations.sh +++ b/contrib/teamcity/build-configurations.sh @@ -283,6 +283,24 @@ make -j "${THREADS}" all check ;; + build-win64) + update-alternatives --set x86_64-w64-mingw32-g++ $(command -v x86_64-w64-mingw32-g++-posix) + update-alternatives --set x86_64-w64-mingw32-gcc $(command -v x86_64-w64-mingw32-gcc-posix) + + "${DEVTOOLS_DIR}"/build_depends.sh + CMAKE_FLAGS=( + "-DCMAKE_TOOLCHAIN_FILE=${TOPLEVEL}/cmake/platforms/Win64.cmake" + "-DBUILD_BITCOIN_SEEDER=OFF" + ) + CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh + + # Build all the excluded targets + ninja test_bitcoin test_bitcoin-qt test_bitcoin-seeder + + # Run the tests. Not all will run with wine, so exclude them + ./src/test/test_bitcoin.exe --run_test=\!radix_tests,rcu_tests + ;; + check-seeds) "${DEVTOOLS_DIR}"/build_cmake.sh # Run on different ports to avoid a race where the rpc port used in the diff --git a/contrib/teamcity/setup-debian-buster.sh b/contrib/teamcity/setup-debian-buster.sh --- a/contrib/teamcity/setup-debian-buster.sh +++ b/contrib/teamcity/setup-debian-buster.sh @@ -56,6 +56,8 @@ qttools5-dev-tools software-properties-common wget + wine + wine-binfmt ) function join_by() {