5 # DESCRIPTION: build and manage Isabelle sessions
10 PRG="$(basename "$0")"
15 echo "Usage: isabelle $PRG [OPTIONS] [SESSIONS ...]"
18 echo " -a all sessions"
19 echo " -b build target images"
20 echo " -d DIR additional session directory with ROOT file"
21 echo " -l list sessions only"
22 echo " -o OPTION override session configuration OPTION (via NAME=VAL or NAME)"
24 echo " Build and manage Isabelle sessions, depending on implicit"
25 echo " ISABELLE_BUILD_OPTIONS=\"$ISABELLE_BUILD_OPTIONS\""
27 echo " ML_PLATFORM=\"$ML_PLATFORM\""
28 echo " ML_HOME=\"$ML_HOME\""
29 echo " ML_SYSTEM=\"$ML_SYSTEM\""
30 echo " ML_OPTIONS=\"$ML_OPTIONS\""
42 ## process command line
48 declare -a MORE_DIRS=()
49 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
51 while getopts "abd:lo:" OPT
61 MORE_DIRS["${#MORE_DIRS[@]}"]="$OPTARG"
67 BUILD_OPTIONS["${#BUILD_OPTIONS[@]}"]="$OPTARG"
75 shift $(($OPTIND - 1))
80 [ -e "$ISABELLE_HOME/Admin/build" ] && { "$ISABELLE_HOME/Admin/build" jars || exit $?; }
82 exec "$ISABELLE_TOOL" java isabelle.Build \
83 "$ALL_SESSIONS" "$BUILD_IMAGES" "$LIST_ONLY" \
84 "${MORE_DIRS[@]}" $'\n' "${BUILD_OPTIONS[@]}" $'\n' "$@"