Update zig to compile stage3

This commit is contained in:
Wildan M 2025-12-22 09:18:33 +07:00
parent b5ab5fb170
commit 59ce6699bc
No known key found for this signature in database
GPG Key ID: 01AC53185C679C79

View File

@ -1,22 +1,58 @@
#TODO compiling, not tested further
[source]
git = "https://github.com/willnode/zig"
branch = "zig-0.15-redox"
branch = "zig-0.15.2-redox"
[build]
template = "custom"
dependencies = [
"llvm21",
"zstd"
]
dev-dependencies = [
"llvm21.dev",
"llvm21.runtime",
"llvm21.clang",
"llvm21.clang-dev",
"llvm21.lld-dev",
"llvm21.lld",
"host:libarchive",
"host:zig",
]
script = """
DYNAMIC_INIT
rsync -av --delete "${COOKBOOK_SOURCE}"/* ./
rsync -a "${COOKBOOK_SOURCE}"/* ./
export PATH="${COOKBOOK_BUILD}:${PATH}"
export ZIG_HOST_TARGET_CFLAGS="$CFLAGS"
export ZIG_HOST_TARGET_LDFLAGS="$LDFLAGS"
export ZIG_HOST_TARGET_CC="${TARGET}-gcc"
export ZIG_HOST_TARGET_TRIPLE="${TARGET%%-*}-redox"
unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP
cc bootstrap.c -o ./bootstrap
./bootstrap
mkdir -p "${COOKBOOK_STAGE}"/usr/lib/zig "${COOKBOOK_STAGE}"/usr/bin
ln -s "../lib/zig/bin/zig" "${COOKBOOK_STAGE}"/usr/bin/zig
mkdir -p "${COOKBOOK_STAGE}"/usr/bin
cp ./zig2 "${COOKBOOK_STAGE}"/usr/bin/zig
if [ "$TARGET" != "$COOKBOOK_HOST_TARGET" ]; then
ARCH="${GNU_TARGET%%-*}"
OS=$(echo "${TARGET}" | cut -d - -f3-4)
zig build \
--prefix "${COOKBOOK_STAGE}/usr/lib/zig" \
--search-prefix "${COOKBOOK_SYSROOT}/usr" \
-Dflat \
-Dstatic-llvm \
-Doptimize=ReleaseFast \
-Dstrip \
-Dforce-link-libc \
-Dtarget="$ARCH-$OS" \
-Dcpu="baseline" \
-Dversion-string="0.15.2" \
-Duse-zig-libcxx \
-Dno-langref
else
COOKBOOK_SOURCE="${COOKBOOK_BUILD}"
COOKBOOK_STAGE="${COOKBOOK_STAGE}/usr/lib/zig"
cookbook_cmake -DCMAKE_INSTALL_PREFIX=/
fi
"""