lib/Tools/build
changeset 48447 ef600ce4559c
parent 48425 0d95980e9aae
child 48459 375e45df6fdf
equal deleted inserted replaced
48446:8f611bc3650b 48447:ef600ce4559c
    19   echo "    -b           build target images"
    19   echo "    -b           build target images"
    20   echo "    -d DIR       additional session directory with ROOT file"
    20   echo "    -d DIR       additional session directory with ROOT file"
    21   echo "    -j INT       maximum number of jobs (default 1)"
    21   echo "    -j INT       maximum number of jobs (default 1)"
    22   echo "    -l           list sessions only"
    22   echo "    -l           list sessions only"
    23   echo "    -o OPTION    override session configuration OPTION (via NAME=VAL or NAME)"
    23   echo "    -o OPTION    override session configuration OPTION (via NAME=VAL or NAME)"
       
    24   echo "    -s           system build mode: produce output in ISABELLE_HOME"
    24   echo "    -v           verbose"
    25   echo "    -v           verbose"
    25   echo
    26   echo
    26   echo "  Build and manage Isabelle sessions, depending on implicit"
    27   echo "  Build and manage Isabelle sessions, depending on implicit"
    27   echo "  ISABELLE_BUILD_OPTIONS=\"$ISABELLE_BUILD_OPTIONS\""
    28   echo "  ISABELLE_BUILD_OPTIONS=\"$ISABELLE_BUILD_OPTIONS\""
    28   echo
    29   echo
    50 
    51 
    51 ALL_SESSIONS=false
    52 ALL_SESSIONS=false
    52 BUILD_IMAGES=false
    53 BUILD_IMAGES=false
    53 MAX_JOBS=1
    54 MAX_JOBS=1
    54 LIST_ONLY=false
    55 LIST_ONLY=false
       
    56 SYSTEM_MODE=false
    55 VERBOSE=false
    57 VERBOSE=false
    56 
    58 
    57 declare -a MORE_DIRS=()
    59 declare -a MORE_DIRS=()
    58 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    60 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    59 
    61 
    60 while getopts "abd:j:lo:v" OPT
    62 while getopts "abd:j:lo:sv" OPT
    61 do
    63 do
    62   case "$OPT" in
    64   case "$OPT" in
    63     a)
    65     a)
    64       ALL_SESSIONS="true"
    66       ALL_SESSIONS="true"
    65       ;;
    67       ;;
    77       LIST_ONLY="true"
    79       LIST_ONLY="true"
    78       ;;
    80       ;;
    79     o)
    81     o)
    80       BUILD_OPTIONS["${#BUILD_OPTIONS[@]}"]="$OPTARG"
    82       BUILD_OPTIONS["${#BUILD_OPTIONS[@]}"]="$OPTARG"
    81       ;;
    83       ;;
       
    84     s)
       
    85       SYSTEM_MODE="true"
       
    86       ;;
    82     v)
    87     v)
    83       VERBOSE="true"
    88       VERBOSE="true"
    84       ;;
    89       ;;
    85     \?)
    90     \?)
    86       usage
    91       usage
    94 ## main
    99 ## main
    95 
   100 
    96 [ -e "$ISABELLE_HOME/Admin/build" ] && { "$ISABELLE_HOME/Admin/build" jars || exit $?; }
   101 [ -e "$ISABELLE_HOME/Admin/build" ] && { "$ISABELLE_HOME/Admin/build" jars || exit $?; }
    97 
   102 
    98 exec "$ISABELLE_TOOL" java isabelle.Build \
   103 exec "$ISABELLE_TOOL" java isabelle.Build \
    99   "$ALL_SESSIONS" "$BUILD_IMAGES" "$MAX_JOBS" "$LIST_ONLY" "$VERBOSE" \
   104   "$ALL_SESSIONS" "$BUILD_IMAGES" "$MAX_JOBS" "$LIST_ONLY" "$SYSTEM_MODE" "$VERBOSE" \
   100   "${MORE_DIRS[@]}" $'\n' "${BUILD_OPTIONS[@]}" $'\n' "$@"
   105   "${MORE_DIRS[@]}" $'\n' "${BUILD_OPTIONS[@]}" $'\n' "$@"