#!/bin/bash

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

BUILD_DIR=$SCRIPT_DIR/../infer/_build/infer
# to build new toplevel, run `make toplevel`
# -init option is used only in interactive mode
# in batch mode, scripts need to import toplevel_init themselves
# It can be done by adding #use "toplevel_init";; to the beginning
# of a script.
# NOTE: $SCRIPT_DIR is added search path for batch scripts
#       so they can be located anywhere and still find toplevel_init
#       file. In interactive mode $SCRIPT_DIR isn't needed

# by default utop is used, pass `INFER_REPL_BINARY` to change the toplevel
# binary (to `ocaml` for example)
if [ -z "$INFER_REPL_BINARY" ]; then
  INFER_REPL_BINARY="utop"
fi
$INFER_REPL_BINARY -init $SCRIPT_DIR/toplevel_init -I $BUILD_DIR -I $SCRIPT_DIR $@