2024-11-01 09:33:22 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -xeuo pipefail
|
|
|
|
|
|
|
|
# commit e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
|
|
|
|
# Merge: 817cf6a82e 20d86d9c63
|
|
|
|
# Author: Andrew Kelley <andrew@ziglang.org>
|
|
|
|
# Date: 2022-12-07T01:52:39+02:00
|
|
|
|
#
|
|
|
|
# Merge pull request #13560 from ziglang/wasi-bootstrap
|
|
|
|
#
|
|
|
|
# Nuke the C++ implementation of Zig from orbit using WASI
|
2024-11-03 19:09:11 +02:00
|
|
|
MERGE_WASI_BOOTSTRAP=0.10.0-610-ge7d28344fa
|
|
|
|
git checkout $MERGE_WASI_BOOTSTRAP
|
2024-11-01 09:33:22 +02:00
|
|
|
|
2024-11-03 19:09:11 +02:00
|
|
|
# commit 3ba916584db5485c38ebf2390e8d22bc6d81bf8e
|
|
|
|
# Author: Andrew Kelley <andrew@ziglang.org>
|
|
|
|
# Date: 2022-11-05T03:47:19+02:00
|
|
|
|
#
|
|
|
|
# actually remove stage1
|
|
|
|
REMOVE_STAGE1=0.10.0-542-g3ba916584d
|
|
|
|
git revert --no-edit $REMOVE_STAGE1
|
|
|
|
|
|
|
|
# commit 28514476ef8c824c3d189d98f23d0f8d23e496ea
|
|
|
|
# Author: Andrew Kelley <andrew@ziglang.org>
|
|
|
|
# Date: 2022-11-01T05:29:55+02:00
|
|
|
|
#
|
|
|
|
# remove `-fstage1` option
|
|
|
|
#
|
|
|
|
# After this commit, the self-hosted compiler does not offer the option to
|
|
|
|
# use stage1 as a backend anymore.
|
|
|
|
REMOVE_FSTAGE1=0.10.0-539-g28514476ef
|
|
|
|
git revert --no-edit -X theirs $REMOVE_FSTAGE1
|
|
|
|
|
|
|
|
git mv stage1/config.zig.in src
|
|
|
|
|
|
|
|
# removing the wasi-based stage1 just to be sure
|
|
|
|
git rm stage1/zig1.wasm.zst
|
2024-11-01 09:33:22 +02:00
|
|
|
|
2024-11-03 19:09:11 +02:00
|
|
|
sed -i '/have_stage1/ s/true/false/' src/config.zig.in
|
2024-11-01 09:33:22 +02:00
|
|
|
|
2024-11-03 19:09:11 +02:00
|
|
|
git checkout $REMOVE_FSTAGE1~1 build.zig CMakeLists.txt
|
2024-11-01 09:33:22 +02:00
|
|
|
|
2024-11-03 19:09:11 +02:00
|
|
|
echo "Building the C++ (stage1) implementation"
|
|
|
|
mkdir build; pushd build
|
|
|
|
CC=clang-15 CXX=clang++-15 cmake ..
|
|
|
|
make -j"$(nproc)" install
|
|
|
|
popd
|
2024-11-01 09:33:22 +02:00
|
|
|
|
2024-11-03 19:09:11 +02:00
|
|
|
echo "C++ implementation in build/stage3/bin/zig. Will build zig1.wasm.zst."
|
2024-11-01 09:33:22 +02:00
|
|
|
|
|
|
|
git reset --hard
|
2024-11-03 19:09:11 +02:00
|
|
|
git checkout $MERGE_WASI_BOOTSTRAP
|
|
|
|
rm stage1/zig1.wasm.zst
|
|
|
|
|
|
|
|
build/stage3/bin/zig build update-zig1
|
|
|
|
|
|
|
|
echo "stage1/zig1.wasm.zst built. Bootstrapping zig with it."
|
|
|
|
|
|
|
|
rm -fr build
|
|
|
|
mkdir build; pushd build
|
|
|
|
CC=clang-15 CXX=clang++-15 cmake ..
|
|
|
|
make -j"$(nproc)" install
|
|
|
|
popd
|
|
|
|
|
|
|
|
echo "Done"
|
|
|
|
true && exit
|
|
|
|
|
|
|
|
# commit 89d1ccc477c1dbc8bb8d13ad2598ef0190c25898
|
|
|
|
# Author: Veikka Tuominen <git@vexu.eu>
|
|
|
|
# Date: Fri Dec 9 18:40:01 2022 +0200
|
|
|
|
#
|
|
|
|
# replace zig1.wasm to the removal of BoundFn
|
|
|
|
REPLACE_ZIG1_WASM=0.10.0-677-g89d1ccc477
|
|
|
|
git archive --prefix=zig-$REPLACE_ZIG1_WASM/ $REPLACE_ZIG1_WASM | tar -C .. -x --exclude="stage1/zig1.wasm*"
|
|
|
|
|
|
|
|
pushd ../zig-$REPLACE_ZIG1_WASM
|
|
|
|
../zig/build/stage3/bin/zig update-zig1
|
|
|
|
mkdir build; pushd build
|
|
|
|
CC=clang-15 CXX=clang++-15 cmake ..
|
|
|
|
make -j"$(nproc)" install
|
|
|
|
popd
|
|
|
|
|
|
|
|
popd
|