This commit is contained in:
Motiejus Jakštys 2024-11-03 23:21:48 +02:00
parent 2d55f22ac1
commit 1efdfdeb70

154
run
View File

@ -1,37 +1,76 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -xeuo pipefail
HERE=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) HERE=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
# 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
MERGE_WASI_BOOTSTRAP=0.10.0-610-ge7d28344fa
# 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
# 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
# commit 9d93b2ccf11f584320a2c5209dd2d94705167695
# Author: Veikka Tuominen <git@vexu.eu>
# Date: 2022-12-08T19:52:05+02:00
#
# Eliminate `BoundFn` type from the language
#
# Closes #9484
BOUNDFN=0.10.0-675-g9d93b2ccf1
# commit d10fd78d4615f329141f5c19f893039d56aff425
# Author: Andrew Kelley <andrew@ziglang.org>
# Date: 2022-12-10T21:54:24+02:00
#
# update zig1.wasm
#
# This includes the latest changes from master branch with fixes to the C
# backend that affect aarch64-windows which are necessary to build from
# source on this target.
#
# stage1/zig1.wasm | Bin 2315523 -> 2315899 bytes
# 1 file changed, 0 insertions(+), 0 deletions(-)
C_AARCH64=0.10.0-722-gd10fd78d46
# commit 51ed5416ab2969a366c8c6bdc487f357bad267c3
# Author: Veikka Tuominen <git@vexu.eu>
# Date: 2022-12-12T15:40:18+02:00
#
# update zig1.wasm to `@call` changes
CALL_CHANGES=0.10.0-749-g51ed5416ab
# commit 2a5e1426aa9469fadb78e837d0100d689213b034
# Author: Veikka Tuominen <git@vexu.eu>
# Date: 2022-12-16T19:44:25+02:00
#
# update zig1.wasm to builtin.Type field changes
BUILTIN_TYPE=0.10.0-853-g2a5e1426aa
step00() { step00() {
# 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
local MERGE_WASI_BOOTSTRAP=0.10.0-610-ge7d28344fa
git checkout $MERGE_WASI_BOOTSTRAP git checkout $MERGE_WASI_BOOTSTRAP
# commit 3ba916584db5485c38ebf2390e8d22bc6d81bf8e
# Author: Andrew Kelley <andrew@ziglang.org>
# Date: 2022-11-05T03:47:19+02:00
#
# actually remove stage1
local REMOVE_STAGE1=0.10.0-542-g3ba916584d
git revert --no-edit $REMOVE_STAGE1 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.
local REMOVE_FSTAGE1=0.10.0-539-g28514476ef
git revert --no-edit -X theirs $REMOVE_FSTAGE1 git revert --no-edit -X theirs $REMOVE_FSTAGE1
git mv stage1/config.zig.in src git mv stage1/config.zig.in src
@ -75,18 +114,7 @@ step00() {
} }
step10() { step10() {
cat <<EOF echo "Generating zig1.wasm.zst for $BOUNDFN"
This commit:
commit 9d93b2ccf11f584320a2c5209dd2d94705167695
Author: Veikka Tuominen <git@vexu.eu>
Date: 2022-12-08T17:52:05+00:00
Eliminate \$(BoundFn) type from the language
Closes #9484
EOF
local BOUNDFN=0.10.0-675-g9d93b2ccf1
git archive --prefix=zig-$BOUNDFN/ $BOUNDFN | tar -C .. -x --exclude="stage1/zig1.wasm*" git archive --prefix=zig-$BOUNDFN/ $BOUNDFN | tar -C .. -x --exclude="stage1/zig1.wasm*"
{ {
@ -107,9 +135,53 @@ EOF
} }
step20() { step20() {
true echo "Generating zig1.wasm.zst for $C_AARCH64"
git archive --prefix=zig-$C_AARCH64/ $C_AARCH64 | tar -C .. -x --exclude="stage1/zig1.wasm*"
{
pushd "../zig-$C_AARCH64"
zstd -cd ../zig-$BOUNDFN/stage1/zig1.wasm.zst >stage1/zig1.wasm
mkdir build
{
pushd build
CC=clang-15 CXX=clang++-15 cmake ..
make -j"$(nproc)" install
popd
}
build/stage3/bin/zig build update-zig1
popd
}
echo "zig1.wasm.zst was built for C-aarch64 backend"
} }
step00 generic() {
step10 local FROM="$1"
step20 local TO="$2"
echo "Updating zig1.wasm from $FROM -> $TO in ../zig-$TO"
git archive --prefix="zig-$TO/" "$TO" | tar -C .. -x --exclude="stage1/zig1.wasm"
{
pushd "../zig-$TO"
cp "../zig-$FROM/stage1/zig1.wasm" stage1/
mkdir build
{
pushd build
CC=clang-15 CXX=clang++-15 cmake ..
make -j"$(nproc)" install
popd
}
build/stage3/bin/zig build update-zig1
popd
}
echo "zig1.wasm updated for $TO"
}
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
set -xeuo pipefail
step00
step10
step20
generic "$C_AARCH64" "$CALL_CHANGES"
generic "$CALL_CHANGES" "$BUILTIN_TYPE"
fi