avoid startup within GUI thread -- it is only required later for dialog;
tuned signature;
#!/usr/bin/env bash
#
# Author: Makarius
#
# DESCRIPTION: build Isabelle session images via GUI dialog
## diagnostics
PRG="$(basename "$0")"
function usage()
{
echo
echo "Usage: isabelle $PRG [OPTIONS] LOGIC"
echo
echo " Options are:"
echo " -C check for existing image"
echo " -L OPTION default logic via system option"
echo " -d DIR include session directory"
echo " -s system build mode: produce output in ISABELLE_HOME"
echo
echo " Build Isabelle session image LOGIC via GUI dialog."
echo
exit 1
}
function fail()
{
echo "$1" >&2
exit 2
}
## process command line
CHECK_EXISTING=false
LOGIC_OPTION=""
declare -a INCLUDE_DIRS=()
SYSTEM_MODE=false
while getopts "CL:d:s" OPT
do
case "$OPT" in
C)
CHECK_EXISTING="true"
;;
L)
LOGIC_OPTION="$OPTARG"
;;
d)
INCLUDE_DIRS["${#INCLUDE_DIRS[@]}"]="$OPTARG"
;;
s)
SYSTEM_MODE="true"
;;
\?)
usage
;;
esac
done
shift $(($OPTIND - 1))
# args
[ "$#" -ne 1 ] && usage
LOGIC="$1"; shift
## main
[ -e "$ISABELLE_HOME/Admin/build" ] && { "$ISABELLE_HOME/Admin/build" jars || exit $?; }
"$ISABELLE_TOOL" java isabelle.Build_Dialog \
"$CHECK_EXISTING" "$LOGIC_OPTION" "$SYSTEM_MODE" "$LOGIC" "${INCLUDE_DIRS[@]}"