#!/bin/bash ## Wrapper around infertop. To build infertop, run `make toplevel`. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # where to find toplevel.bc, can be overridden TOPLEVEL_DIR=${TOPLEVEL_DIR:-"$SCRIPT_DIR"/../infer/src/_build/default} INCLUDE_FLAGS=$(find "$TOPLEVEL_DIR" -type d -name '*.objs' -exec printf -- '-I {}\n' \;) # The -init option is effective 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 set -x # infertop expects to be run from where dune is located cd "$SCRIPT_DIR"/../infer "$TOPLEVEL_DIR"/infertop.bc \ -init "$SCRIPT_DIR"/toplevel_init \ $INCLUDE_FLAGS \ -I "$SCRIPT_DIR" \ "$@"