#!/bin/sh
#
# $Id: isatool,v 1.22 2005/05/17 07:58:47 wenzelm Exp $
# Author: Markus Wenzel, TU Muenchen
#
# Isabelle tool starter.
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)"
. "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2
## diagnostics
usage()
{
echo
echo "Usage: $PRG TOOL [ARGS ...]"
echo
echo " Start Isabelle utility program TOOL with ARGS. Pass \"-?\" to TOOL"
echo " for more specific help."
echo
echo " Available tools are:"
(
ORIG_IFS="$IFS"
IFS=":"
for DIR in $ISABELLE_TOOLS
do
cd "$DIR"
for T in *
do
if [ -f "$T" -a -x "$T" ]; then
DESCRLINE=$(fgrep DESCRIPTION: "$T" | sed -e 's/^.*DESCRIPTION: *//')
echo " $T - $DESCRLINE"
fi
done
done
IFS="$ORIG_IFS"
)
exit 1
}
fail()
{
echo "$1" >&2
exit 2
}
## args
[ "$#" -lt 1 -o "$1" = "-?" ] && usage
TOOLNAME="$1"
shift
## main
ORIG_IFS="$IFS"
IFS=":"
for DIR in $ISABELLE_TOOLS
do
TOOL="$DIR/$TOOLNAME"
[ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@"
done
IFS="$ORIG_IFS"
fail "Unknown Isabelle tool: $TOOLNAME"
syntax highlighted by Code2HTML, v. 0.9.1