diff --git a/run b/run index 3b3708f..69b26cb 100755 --- a/run +++ b/run @@ -1,37 +1,76 @@ #!/usr/bin/env bash -set -xeuo pipefail HERE=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) +# commit e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Merge: 817cf6a82e 20d86d9c63 +# Author: Andrew Kelley +# 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 +# Date: 2022-11-05T03:47:19+02:00 +# +# actually remove stage1 +REMOVE_STAGE1=0.10.0-542-g3ba916584d + +# commit 28514476ef8c824c3d189d98f23d0f8d23e496ea +# Author: Andrew Kelley +# 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 +# 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 +# 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 +# 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 +# Date: 2022-12-16T19:44:25+02:00 +# +# update zig1.wasm to builtin.Type field changes +BUILTIN_TYPE=0.10.0-853-g2a5e1426aa + step00() { - # commit e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 - # Merge: 817cf6a82e 20d86d9c63 - # Author: Andrew Kelley - # 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 - # commit 3ba916584db5485c38ebf2390e8d22bc6d81bf8e - # Author: Andrew Kelley - # 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 - # commit 28514476ef8c824c3d189d98f23d0f8d23e496ea - # Author: Andrew Kelley - # 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 mv stage1/config.zig.in src @@ -75,18 +114,7 @@ step00() { } step10() { - cat < - Date: 2022-12-08T17:52:05+00:00 - - Eliminate \$(BoundFn) type from the language - - Closes #9484 -EOF - local BOUNDFN=0.10.0-675-g9d93b2ccf1 + echo "Generating zig1.wasm.zst for $BOUNDFN" git archive --prefix=zig-$BOUNDFN/ $BOUNDFN | tar -C .. -x --exclude="stage1/zig1.wasm*" { @@ -107,9 +135,53 @@ EOF } 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 -step10 -step20 +generic() { + local FROM="$1" + 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