added share_common_data -- reduces heap space, but takes long;
#!/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## settingsPRG="$(basename "$0")"ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2## diagnosticsfunction usage(){ echo echo "Usage: $PRG NAME [ARGS ...]" echo echo " Start Isabelle tool NAME with ARGS; pass \"-?\" for tool specific help." echo echo " Available tools are:" ( ORIG_IFS="$IFS" IFS=":" for DIR in $ISABELLE_TOOLS do if [ -d "$DIR" ]; then 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 fi done IFS="$ORIG_IFS" ) exit 1}function fail(){ echo "$1" >&2 exit 2}## args[ "$#" -lt 1 -o "$1" = "-?" ] && usageTOOLNAME="$1"shift## mainORIG_IFS="$IFS"IFS=":"for DIR in $ISABELLE_TOOLSdo TOOL="$DIR/$TOOLNAME" [ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@"doneIFS="$ORIG_IFS"fail "Unknown Isabelle tool: $TOOLNAME"