#!/bin/sh

# Script to execute the code generator heap. Also calls make codegen in
# $SU4SML_HOME if the required heap file does not exist.

if [ -z $SU4SML_HOME ] ; then
    echo '$SU4SML_HOME not set.' >&2
    exit 1
fi

CPU=`uname -m`
case $CPU in
    i686|i586|i486|i386)
        CPU=x86
        break;
    ;;
    Power*)
        CPU=ppc
        break;
    ;;
esac

OS=`uname -s`
case $OS in
    Linux)
        OS=linux
        break;
    ;;
    Darwin)
        OS=darwin
        break;
    ;;
esac;

HARCH="$CPU-$OS"

HEAPNAME="$SU4SML_HOME/src/codegen.$HARCH"
if [ ! -f $HEAPNAME ] ; then
    if [ -d $SU4SML_HOME ] ; then
        make -C $SU4SML_HOME codegen || exit 1
    fi
fi
exec "sml" @SMLload="$HEAPNAME" "$@"
