mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
57114044db
Since we don't know what causes the various flaky test-incremental
failures we've seen, and this branch changes a bunch of incremental
stuff, let's try turning these back on... maybe they'll magically work
now!
This reverts commit 953ca759c2.
73 lines
2.1 KiB
Bash
Executable File
73 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Requires cmake ninja-build
|
|
|
|
set -x
|
|
set -e
|
|
|
|
TARGET="powerpc64le-linux-musl"
|
|
MCPU="baseline"
|
|
CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.16.0-dev.1594+9fa433d71"
|
|
PREFIX="$HOME/deps/$CACHE_BASENAME"
|
|
ZIG="$PREFIX/bin/zig"
|
|
|
|
# Override the cache directories because they won't actually help other CI runs
|
|
# which will be testing alternate versions of zig, and ultimately would just
|
|
# fill up space on the hard drive for no reason.
|
|
export ZIG_GLOBAL_CACHE_DIR="$PWD/zig-global-cache"
|
|
export ZIG_LOCAL_CACHE_DIR="$PWD/zig-local-cache"
|
|
|
|
mkdir build-release
|
|
cd build-release
|
|
|
|
export CC="$ZIG cc -target $TARGET -mcpu=$MCPU"
|
|
export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU"
|
|
|
|
cmake .. \
|
|
-DCMAKE_INSTALL_PREFIX="stage3-release" \
|
|
-DCMAKE_PREFIX_PATH="$PREFIX" \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DZIG_TARGET_TRIPLE="$TARGET" \
|
|
-DZIG_TARGET_MCPU="$MCPU" \
|
|
-DZIG_STATIC=ON \
|
|
-DZIG_NO_LIB=ON \
|
|
-GNinja \
|
|
-DCMAKE_C_LINKER_DEPFILE_SUPPORTED=FALSE \
|
|
-DCMAKE_CXX_LINKER_DEPFILE_SUPPORTED=FALSE
|
|
# https://github.com/ziglang/zig/issues/22213
|
|
|
|
# Now cmake will use zig as the C/C++ compiler. We reset the environment variables
|
|
# so that installation and testing do not get affected by them.
|
|
unset CC
|
|
unset CXX
|
|
|
|
ninja install
|
|
|
|
# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
|
|
stage3-release/bin/zig build test docs \
|
|
--maxrss ${ZSF_MAX_RSS:-0} \
|
|
-Dstatic-llvm \
|
|
-Dskip-non-native \
|
|
-Dtarget=native-native-musl \
|
|
-Dcpu=native+longcall \
|
|
--search-prefix "$PREFIX" \
|
|
--zig-lib-dir "$PWD/../lib" \
|
|
--test-timeout 4m
|
|
|
|
# Ensure that stage3 and stage4 are byte-for-byte identical.
|
|
stage3-release/bin/zig build \
|
|
--prefix stage4-release \
|
|
-Denable-llvm \
|
|
-Dno-lib \
|
|
-Doptimize=ReleaseFast \
|
|
-Dstrip \
|
|
-Dtarget=$TARGET \
|
|
-Dcpu=$MCPU \
|
|
-Duse-zig-libcxx \
|
|
-Dversion-string="$(stage3-release/bin/zig version)"
|
|
|
|
# diff returns an error code if the files differ.
|
|
echo "If the following command fails, it means nondeterminism has been"
|
|
echo "introduced, making stage3 and stage4 no longer byte-for-byte identical."
|
|
diff stage3-release/bin/zig stage4-release/bin/zig
|