Admin/Linux/Isabelle.run
author wenzelm
Fri, 01 Jan 2016 16:51:04 +0100
changeset 62030 2b46a93e829c
parent 61298 49b964a6fe11
child 62036 773cb226738c
permissions -rw-r--r--
Added tag Isabelle2016-RC0 for changeset e18444532fce

#!/usr/bin/env bash
#
# Author: Makarius
#
# Main Isabelle application script.

# 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"


# Java runtime options

ISABELLE_NAME="$(basename "$0" .run)"
if [ -z "$ISABELLE_PLATFORM64" ]; then
  declare -a JAVA_OPTIONS=($(perl -p -e 's,#.*$,,g;' "$ISABELLE_HOME/${ISABELLE_NAME}.options32"))
else
  declare -a JAVA_OPTIONS=($(perl -p -e 's,#.*$,,g;' "$ISABELLE_HOME/${ISABELLE_NAME}.options64"))
fi


# main

#paranoia setting -- avoid problems of Java/Swing versus XIM/IBus etc.
unset XMODIFIERS

if "$ISABELLE_HOME/bin/isabelle" jedit_client -c
then
  "$ISABELLE_HOME/bin/isabelle" jedit_client "$@"
else
  exec "$ISABELLE_HOME/contrib/jdk/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}/jre/bin/java" \
    "-Disabelle.root=$ISABELLE_HOME" "${JAVA_OPTIONS[@]}" \
    -classpath "{CLASSPATH}" \
    "-splash:$ISABELLE_HOME/lib/logo/isabelle.gif" \
    isabelle.Main -server="$("$ISABELLE_HOME/bin/isabelle" jedit_client -n)" "$@"
fi