bin/isabelle
author wenzelm
Wed, 07 Nov 2018 14:06:43 +0100
changeset 69254 9f8d26b8c731
parent 66906 03a96b8c7c06
child 73705 ac07f6be27ea
permissions -rwxr-xr-x
merged

#!/usr/bin/env bash
#
# Author: Markus Wenzel, TU Muenchen
#
# Isabelle tool wrapper.

if [ -L "$0" ]; then
  TARGET="$(LC_ALL=C ls -l "$0" | sed 's/.* -> //')"
  exec "$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd "$(dirname "$TARGET")"; pwd)/$(basename "$TARGET")" "$@"
fi


## settings

PRG="$(basename "$0")"

ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"
source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2


## external tool (shell script)

if [ "$#" -ge 1 -a "$1" != "-?" ]
then
  TOOL_NAME="$1"

  splitarray ":" "$ISABELLE_TOOLS"; TOOLS=("${SPLITARRAY[@]}")
  for DIR in "${TOOLS[@]}"
  do
    TOOL="$DIR/$TOOL_NAME"
    case "$TOOL" in
      *~ | *.orig) ;;
      *)
        if [ -f "$TOOL" -a -x "$TOOL" ]; then
          shift
          exec "$TOOL" "$@"
        fi
        ;;
    esac
  done
fi


## internal tool or usage (Scala)

isabelle_admin_build jars || exit $?

eval "declare -a JAVA_ARGS=($ISABELLE_TOOL_JAVA_OPTIONS)"
exec isabelle java "${JAVA_ARGS[@]}" isabelle.Isabelle_Tool "$@"