#!/bin/bash

prefix=$1
utils=$prefix"plt/collects/typed-racket/utils/utils.rkt"

if [ $2 == "mode1" ] ; then
echo "no contracts" | tee -a RESULTS.TXT
sed -i  's/(define-for-syntax enable-options?.*/(define-for-syntax enable-options? #f)/' $utils;
sed -i  's/(define-for-syntax enable-contracts?.*/(define-for-syntax enable-contracts? #f)/' $utils;
fi

if [ $2 == "mode2" ] ; then
echo "full contracts" | tee -a RESULTS.TXT
sed -i  's/(define-for-syntax enable-options?.*/(define-for-syntax enable-options? #f)/' $utils
sed -i  's/(define-for-syntax enable-contracts?.*/(define-for-syntax enable-contracts? #t)/' $utils;
fi

if [ $2 == "mode3" ] ; then
echo "any/c" | tee -a RESULTS.TXT
sed -i 's/(define-for-syntax enable-options?.*/(define-for-syntax enable-options? #t)/' $utils
sed -i  's/(define-for-syntax enable-contracts?.*/(define-for-syntax enable-contracts? #f)/' $utils
sed -i  -E -e '/^;mode3/{' -e n -e 's/^;//' -e '}' -e '/^;mode/{' -e n -e 's/^;*(.)/;\1/' -e '}' $utils;
fi

if [ $2 == "mode4" ] ; then
echo "options+waive" | tee -a RESULTS.TXT
sed -i  's/(define-for-syntax enable-options?.*/(define-for-syntax enable-options? #t)/' $utils
sed -i  's/(define-for-syntax enable-contracts?.*/(define-for-syntax enable-contracts? #f)/' $utils
sed -i  -E -e '/^;mode4/{' -e n -e 's/^;//' -e '}' -e '/^;mode/{' -e n -e 's/^;*(.)/;\1/' -e '}' $utils;
fi

if [ $2 == "mode5" ] ; then
echo "discard with option/c" | tee -a RESULTS.TXT
sed -i  's/(define-for-syntax enable-options?.*/(define-for-syntax enable-options? #t)/' $utils
sed -i  's/(define-for-syntax enable-contracts?.*/(define-for-syntax enable-contracts? #f)/' $utils
sed -i  -E -e '/^;mode5/{' -e n -e 's/^;//' -e '}' -e '/^;mode/{' -e n -e 's/^;*(.)/;\1/' -e '}' $utils;
fi

echo ---cut here--- | tee -a RESULTS.TXT
cat $utils | tee -a RESULTS.TXT
echo ---cut here--- | tee -a RESULTS.TXT
$prefix"plt/bin/raco" setup -Dxi | tee -a RESULTS.TXT
./tr_benchmarks $prefix
