#! /usr/local/bin/bash

BOOTPREFIX=$HOME/.local/ghc-8.10
BOOTGHC=$BOOTPREFIX/bin/ghc
PREFIX=$HOME/.local/ghc-9.2
BDIR=$HOME/dev/build-ghc/9.2

set -e

TOP=$PWD
PATH=$HOME/.local/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin
export PATH

if true; then
git clean -f .
for d in $(find . -name .git -type f)
do ( cd $(dirname $d)
     git clean -xdf .
     git checkout . )
done
git submodule sync
git submodule update
./boot

GHC=$BOOTGHC \
CC_STAGE0=/usr/local/bin/gcc9 \
CC=/usr/local/bin/gcc9 \
CLANG=/usr/local/bin/clang90 \
LLC=/usr/local/bin/llc90 \
OPT=/usr/local/bin/opt90 \
AR=/usr/local/bin/ar fp_prog_ar=$AR ./configure \
    --prefix=$PREFIX \
    --enable-large-address-space \
    --with-gmp-includes=/usr/local/include \
    --with-gmp-libraries=/usr/local/lib \
    --with-hs-cpp=/usr/bin/cc
fi

GHC=$BOOTGHC \
hadrian/build -j9 --flavour=perf -o"${BDIR}" --docs=none binary-dist-dir

# cd "${BDIR}"/bindist/*/.
# AR=/usr/local/bin/ar fp_prog_ar=$AR ./configure --prefix=$PREFIX
