bin/isabelle
author wenzelm
Thu, 07 Nov 2013 19:35:57 +0100
changeset 55263 47a8513671b8
parent 49873 86816c61b5ca
child 59324 ec559c6ab5ba
permissions -rwxr-xr-x
Added tag Isabelle2013-1-RC4 for changeset 594628261376
wenzelm@10555
     1
#!/usr/bin/env bash
wenzelm@2292
     2
#
wenzelm@9786
     3
# Author: Markus Wenzel, TU Muenchen
wenzelm@2308
     4
#
wenzelm@28504
     5
# Isabelle tool wrapper.
wenzelm@2292
     6
wenzelm@15843
     7
if [ -L "$0" ]; then
wenzelm@15843
     8
  TARGET="$(LC_ALL=C ls -l "$0" | sed 's/.* -> //')"
wenzelm@15967
     9
  exec "$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd "$(dirname "$TARGET")"; pwd)/$(basename "$TARGET")" "$@"
wenzelm@15843
    10
fi
wenzelm@15843
    11
wenzelm@2292
    12
wenzelm@28504
    13
## settings
wenzelm@2292
    14
wenzelm@28504
    15
PRG="$(basename "$0")"
wenzelm@28504
    16
wenzelm@28504
    17
ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"
wenzelm@28504
    18
source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2
wenzelm@28504
    19
wenzelm@28504
    20
wenzelm@28504
    21
## diagnostics
wenzelm@28504
    22
wenzelm@28504
    23
function usage()
wenzelm@28504
    24
{
wenzelm@28504
    25
  echo
wenzelm@28506
    26
  echo "Usage: $PRG NAME [ARGS ...]"
wenzelm@28504
    27
  echo
wenzelm@28506
    28
  echo "  Start Isabelle tool NAME with ARGS; pass \"-?\" for tool specific help."
wenzelm@28504
    29
  echo
wenzelm@49873
    30
  echo "Available tools:"
wenzelm@42948
    31
  perl -w "$ISABELLE_HOME/lib/scripts/tools.pl"
wenzelm@28504
    32
  exit 1
wenzelm@28504
    33
}
wenzelm@28504
    34
wenzelm@28504
    35
function fail()
wenzelm@28504
    36
{
wenzelm@28504
    37
  echo "$1" >&2
wenzelm@28504
    38
  exit 2
wenzelm@28504
    39
}
wenzelm@28504
    40
wenzelm@28504
    41
wenzelm@28504
    42
## args
wenzelm@28504
    43
wenzelm@28504
    44
[ "$#" -lt 1 -o "$1" = "-?" ] && usage
wenzelm@28504
    45
wenzelm@28504
    46
TOOLNAME="$1"
wenzelm@28504
    47
shift
wenzelm@28504
    48
wenzelm@28504
    49
wenzelm@28504
    50
## main
wenzelm@28504
    51
wenzelm@42948
    52
splitarray ":" "$ISABELLE_TOOLS"; TOOLS=("${SPLITARRAY[@]}")
wenzelm@42948
    53
wenzelm@32322
    54
for DIR in "${TOOLS[@]}"
wenzelm@28504
    55
do
wenzelm@28504
    56
  TOOL="$DIR/$TOOLNAME"
wenzelm@42948
    57
  case "$TOOL" in
wenzelm@42995
    58
    *~ | *.orig) ;;
wenzelm@42948
    59
    *) [ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@" ;;
wenzelm@42948
    60
  esac
wenzelm@28504
    61
done
wenzelm@28504
    62
wenzelm@28504
    63
fail "Unknown Isabelle tool: $TOOLNAME"