Files
kraken/captain.sh

72 lines
2.0 KiB
Bash
Raw Normal View History

#!/bin/bash
kraken="kraken"
2016-04-19 06:04:22 -04:00
bootstrap_commits=(cf46fb13afe66ba475db9725e9269c9c1cd3bbc3)
if [[ $1 == "clean" ]]
then
rm ${kraken}
rm ${kraken}_bac
rm ${kraken}_deprecated
2016-04-19 06:04:22 -04:00
rm -rf bootstrap_kalypso
else
if [[ $1 == "backup" ]]
then
rm ${kraken}
fi
if [[ $1 == "rebuild" ]]
then
rm ${kraken}
rm ${kraken}_bac
rm ${kraken}_deprecated
2016-04-19 06:04:22 -04:00
rm ${kraken}_bootstrap
fi
if [ -s "$kraken" ]
then
#echo "$kraken exists, calling"
./${kraken} ${kraken}.krak ${kraken}
else
echo "gotta make $kraken, testing for compilers to do so"
if ! [ -s "${kraken}_bac" ]
then
if ! [ -s "${kraken}_deprecated" ]
then
2016-04-19 06:04:22 -04:00
echo "no ${kraken}_deprecated, bootstrapping using Cephelpod and a chain of old Kalypsos"
git clone . bootstrap_kalypso
pushd bootstrap_kalypso
2016-04-19 12:49:08 -04:00
git checkout ${bootstrap_commits[0]}
cp -r stdlib deprecated_compiler
cp krakenGrammer.kgm deprecated_compiler
cp kraken.krak deprecated_compiler
pushd deprecated_compiler
mkdir build
pushd build
cmake ..
make
popd
mkdir build_kraken
mv kraken.krak build_kraken
pushd build_kraken
../build/kraken kraken.krak
popd
popd
2016-04-19 06:04:22 -04:00
cp deprecated_compiler/build_kraken/kraken/kraken ../${kraken}_bootstrap
popd
# Now make
./${kraken}_bootstrap kraken.krak ${kraken}_deprecated
else
echo "${kraken}_deprecated exists, calling"
fi
./${kraken}_deprecated kraken.krak ${kraken}_bac
else
echo "${kraken}_bac exists, calling"
fi
./${kraken}_bac kraken.krak ${kraken}
fi
fi
#./${kraken} $@