#!/bin/bash #Small wrapper to deal with compilation of the compiler and the stdlib. RUN_DIR="`pwd`" SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" COMPILER_DIR="$SCRIPT_DIR/compiler" COMPILER=heptc.byte COMPILER_DEBUG=heptc.d.byte LIB_DIR="$SCRIPT_DIR/lib" #the symlink HEPTC="$COMPILER_DIR/$COMPILER" HEPTC_DEBUG="$COMPILER_DIR/$COMPILER_DEBUG" #compile the compiler if [ ! -x "$HEPTC" ] then if [ -x "$HEPTC_DEBUG" ] then #use the debug HEPTC=$HEPTC_DEBUG else cd "$COMPILER_DIR" ocamlbuild -j 0 "$COMPILER" cd - fi fi #compile the stdlib if [ ! -e "$LIB_DIR/pervasives.epci" ] || [ "$HEPTC" -nt "$LIB_DIR/pervasives.epci" ] then cd "$LIB_DIR" echo "Recompile pervasives.epci" "$HEPTC" -nopervasives pervasives.epi cd - fi #call the compiler with the passed arguments. cd "$RUN_DIR" "$HEPTC" -stdlib "$LIB_DIR" "$@"