mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
All of our runners now define this. When running a CI script locally, this will not be set, so we default to 0, aka "all available system memory".
65 lines
1.7 KiB
Bash
Executable file
65 lines
1.7 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Requires cmake ninja-build
|
|
|
|
set -x
|
|
set -e
|
|
|
|
TARGET="x86_64-linux-musl"
|
|
MCPU="baseline"
|
|
CACHE_BASENAME="zig+llvm+lld+clang-$TARGET-0.16.0-dev.104+689461e31"
|
|
PREFIX="$HOME/deps/$CACHE_BASENAME"
|
|
ZIG="$PREFIX/bin/zig"
|
|
|
|
export PATH="$HOME/deps/wasmtime-v38.0.3-x86_64-linux:$HOME/deps/qemu-linux-x86_64-10.1.1.1/bin:$HOME/local/bin:$PATH"
|
|
|
|
# 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-debug-llvm
|
|
cd build-debug-llvm
|
|
|
|
export CC="$ZIG cc -target $TARGET -mcpu=$MCPU"
|
|
export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU"
|
|
|
|
cmake .. \
|
|
-DCMAKE_INSTALL_PREFIX="stage3-debug" \
|
|
-DCMAKE_PREFIX_PATH="$PREFIX" \
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
-DZIG_TARGET_TRIPLE="$TARGET" \
|
|
-DZIG_TARGET_MCPU="$MCPU" \
|
|
-DZIG_STATIC=ON \
|
|
-DZIG_NO_LIB=ON \
|
|
-DZIG_EXTRA_BUILD_ARGS="-Duse-llvm=true" \
|
|
-GNinja
|
|
|
|
# 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
|
|
|
|
# simultaneously test building self-hosted without LLVM and with 32-bit arm
|
|
stage3-debug/bin/zig build \
|
|
-Dtarget=arm-linux-musleabihf \
|
|
-Dno-lib
|
|
|
|
stage3-debug/bin/zig build test docs \
|
|
--maxrss ${ZSF_MAX_RSS:-0} \
|
|
-Dlldb=$HOME/deps/lldb-zig/Debug-e0a42bb34/bin/lldb \
|
|
-fqemu \
|
|
-fwasmtime \
|
|
-Dstatic-llvm \
|
|
-Dskip-freebsd \
|
|
-Dskip-netbsd \
|
|
-Dskip-windows \
|
|
-Dskip-darwin \
|
|
-Dtarget=native-native-musl \
|
|
--search-prefix "$PREFIX" \
|
|
--zig-lib-dir "$PWD/../lib" \
|
|
-Denable-superhtml \
|
|
--test-timeout 12m
|