#!/bin/sh set -x P="${MESON_SOURCE_ROOT:-$(pwd)}" T="$P/tools" B="${MESON_BUILD_ROOT:-$P/build}" test -x "$1" || { echo no "$1" found; exit 1; } cd "$P/src" && \ $* "$T/gen.sl" && \ cp "$P/boot/sl.boot" "$P/boot/sl.boot.bak" && \ $* "$T/mkboot0.sl" builtins.sl instructions.sl system.sl compiler.sl > "$P/boot/sl.boot.0" && \ cd "$P/boot" && \ $* -B "$P/boot/sl.boot.0" "$T/mkboot1.sl" && \ rm -f "$P/boot/sl.boot.0" && \ sed -E 's/^ +//g' sl.boot.cut && \ echo >>sl.boot.cut && mv sl.boot.cut sl.boot && \ ninja -C "$B" || { cp "$P/boot/sl.boot.bak" "$P/boot/sl.boot"; exit 1; }