qbe.sh (738B)
- #!/bin/sh
- set -ex
- die() {
- echo "die: $@"
- exit 1
- }
- command -v xzdec || die "Run /extras/muxzcat.sh"
- # somehow oksh doesn't do `… < /distfiles/qbe-*.tar.xz | …` in scripts
- qbe_path=$(echo /distfiles/qbe-*.tar.xz)
- xzdec < "${qbe_path}" | tar xof -
- cd qbe-*/
- # https://c9x.me/git/qbe.git/commit/?id=c8220b638b17cb9eb583cca15d1b02c36a28ed2f
- for i in */emit.c; do
- ed "$i" <<EOF
- g/asm/s/asm/fmt/
- w
- q
- EOF
- done
- # pdpmake-2.0.3 fails to grasp config.h target so reproducing it here manually
- case `uname -m` in
- *aarch64*|*arm64*)
- echo "#define Deftgt T_arm64"
- ;;
- *riscv64*)
- echo "#define Deftgt T_rv64"
- ;;
- *)
- echo "#define Deftgt T_amd64_sysv"
- ;;
- esac > ./config.h
- pdpmake CC=$CC
- pdpmake PREFIX=/usr install
- cd ..
- rm -fr qbe-*/