lib/Tools/build_dialog
changeset 53519 3c977c570e20
parent 53499 abec1d118bc9
child 53520 29af7bb89757
equal deleted inserted replaced
53499:abec1d118bc9 53519:3c977c570e20
     1 #!/usr/bin/env bash
       
     2 #
       
     3 # Author: Makarius
       
     4 #
       
     5 # DESCRIPTION: build Isabelle session images via GUI dialog
       
     6 
       
     7 
       
     8 ## diagnostics
       
     9 
       
    10 PRG="$(basename "$0")"
       
    11 
       
    12 function usage()
       
    13 {
       
    14   echo
       
    15   echo "Usage: isabelle $PRG [OPTIONS]"
       
    16   echo
       
    17   echo "  Options are:"
       
    18   echo "    -L OPTION    default logic via system option"
       
    19   echo "    -d DIR       include session directory"
       
    20   echo "    -l NAME      logic session name"
       
    21   echo "    -s           system build mode: produce output in ISABELLE_HOME"
       
    22   echo
       
    23   echo "  Build Isabelle logic session image via GUI dialog (default: $ISABELLE_LOGIC)."
       
    24   echo
       
    25   exit 1
       
    26 }
       
    27 
       
    28 function fail()
       
    29 {
       
    30   echo "$1" >&2
       
    31   exit 2
       
    32 }
       
    33 
       
    34 
       
    35 ## process command line
       
    36 
       
    37 LOGIC_OPTION=""
       
    38 declare -a INCLUDE_DIRS=()
       
    39 LOGIC=""
       
    40 SYSTEM_MODE=false
       
    41 
       
    42 while getopts "L:d:l:s" OPT
       
    43 do
       
    44   case "$OPT" in
       
    45     L)
       
    46       LOGIC_OPTION="$OPTARG"
       
    47       ;;
       
    48     d)
       
    49       INCLUDE_DIRS["${#INCLUDE_DIRS[@]}"]="$OPTARG"
       
    50       ;;
       
    51     l)
       
    52       LOGIC="$OPTARG"
       
    53       ;;
       
    54     s)
       
    55       SYSTEM_MODE="true"
       
    56       ;;
       
    57     \?)
       
    58       usage
       
    59       ;;
       
    60   esac
       
    61 done
       
    62 
       
    63 shift $(($OPTIND - 1))
       
    64 
       
    65 
       
    66 # args
       
    67 
       
    68 [ "$#" -ne 0 ] && usage
       
    69 
       
    70 
       
    71 ## main
       
    72 
       
    73 isabelle_admin_build jars || exit $?
       
    74 
       
    75 "$ISABELLE_TOOL" java isabelle.Build_Dialog \
       
    76   "$LOGIC_OPTION" "$LOGIC" "$SYSTEM_MODE" "${INCLUDE_DIRS[@]}"
       
    77