Idris2/bootstrap-stage1-chez.sh

34 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
set -e # exit on any error
if [ -z "$SCHEME" ] || [ -z "$IDRIS2_VERSION" ]; then
echo "Required SCHEME or IDRIS2_VERSION env is not set."
if [ -z "$SCHEME" ]; then
echo "Invoke with SCHEME=[name of chez scheme executable]"
fi
exit 1
fi
echo "Bootstrapping SCHEME=$SCHEME IDRIS2_VERSION=$IDRIS2_VERSION"
# Compile the bootstrap scheme
# TODO: Move boot-build to Makefile in bootstrap/Makefile
cd bootstrap-build
echo "Building idris2-boot from idris2-boot.ss"
${SCHEME} --script ../bootstrap/compile.ss
# Put the result in the usual place where the target goes
mkdir -p ../build/exec
mkdir -p ../build/exec/idris2_app
# we "install" bootstrap/idris2-boot.sh as build/exec/idris2
# but with the SCHEME var that we already know at this time
# baked into it.
echo '#!/bin/sh' >../build/exec/idris2
echo "SCHEME=\"${SCHEME}\"" >>../build/exec/idris2
cat ../bootstrap/idris2-boot.sh >>../build/exec/idris2
chmod +x ../build/exec/idris2
install idris2_app/* ../build/exec/idris2_app
echo 'bootstrap stage 1 complete'