#!/usr/bin/env bash
#
# Author: Makarius
#
# Main Isabelle application wrapper.
# dereference executable
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
# minimal Isabelle environment
ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; pwd)"
source "$ISABELLE_HOME/lib/scripts/isabelle-platform"
# main
exec "$ISABELLE_HOME/contrib/jdk/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}/bin/java" \
  "-Disabelle.home=$ISABELLE_HOME" \
  {JAVA_ARGS} \
  -classpath "{CLASSPATH}" \
  isabelle.Main "$@"