lib/Tools/build
changeset 59891 9ce697050455
parent 59565 96e860a17b9a
child 59892 2a616319c171
equal deleted inserted replaced
59890:01aff5aa081d 59891:9ce697050455
    32   echo "    -b           build heap images"
    32   echo "    -b           build heap images"
    33   echo "    -c           clean build"
    33   echo "    -c           clean build"
    34   echo "    -d DIR       include session directory"
    34   echo "    -d DIR       include session directory"
    35   echo "    -g NAME      select session group NAME"
    35   echo "    -g NAME      select session group NAME"
    36   echo "    -j INT       maximum number of parallel jobs (default 1)"
    36   echo "    -j INT       maximum number of parallel jobs (default 1)"
       
    37   echo "    -k KEYWORD   check theory sources for conflicts with proposed keywords"
    37   echo "    -l           list session source files"
    38   echo "    -l           list session source files"
    38   echo "    -n           no build -- test dependencies only"
    39   echo "    -n           no build -- test dependencies only"
    39   echo "    -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)"
    40   echo "    -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)"
    40   echo "    -s           system build mode: produce output in ISABELLE_HOME"
    41   echo "    -s           system build mode: produce output in ISABELLE_HOME"
    41   echo "    -v           verbose"
    42   echo "    -v           verbose"
    66 BUILD_HEAP=false
    67 BUILD_HEAP=false
    67 CLEAN_BUILD=false
    68 CLEAN_BUILD=false
    68 declare -a INCLUDE_DIRS=()
    69 declare -a INCLUDE_DIRS=()
    69 declare -a SESSION_GROUPS=()
    70 declare -a SESSION_GROUPS=()
    70 MAX_JOBS=1
    71 MAX_JOBS=1
       
    72 declare -a CHECK_KEYWORDS=()
    71 LIST_FILES=false
    73 LIST_FILES=false
    72 NO_BUILD=false
    74 NO_BUILD=false
    73 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    75 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    74 SYSTEM_MODE=false
    76 SYSTEM_MODE=false
    75 VERBOSE=false
    77 VERBOSE=false
    76 
    78 
    77 while getopts "D:Rabcd:g:j:lno:sv" OPT
    79 while getopts "D:Rabcd:g:j:k:lno:sv" OPT
    78 do
    80 do
    79   case "$OPT" in
    81   case "$OPT" in
    80     D)
    82     D)
    81       SELECT_DIRS["${#SELECT_DIRS[@]}"]="$OPTARG"
    83       SELECT_DIRS["${#SELECT_DIRS[@]}"]="$OPTARG"
    82       ;;
    84       ;;
    99       SESSION_GROUPS["${#SESSION_GROUPS[@]}"]="$OPTARG"
   101       SESSION_GROUPS["${#SESSION_GROUPS[@]}"]="$OPTARG"
   100       ;;
   102       ;;
   101     j)
   103     j)
   102       check_number "$OPTARG"
   104       check_number "$OPTARG"
   103       MAX_JOBS="$OPTARG"
   105       MAX_JOBS="$OPTARG"
       
   106       ;;
       
   107     k)
       
   108       CHECK_KEYWORDS["${#CHECK_KEYWORDS[@]}"]="$OPTARG"
   104       ;;
   109       ;;
   105     l)
   110     l)
   106       LIST_FILES="true"
   111       LIST_FILES="true"
   107       ;;
   112       ;;
   108     n)
   113     n)
   143 
   148 
   144 "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Build \
   149 "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Build \
   145   "$REQUIREMENTS" "$ALL_SESSIONS" "$BUILD_HEAP" "$CLEAN_BUILD" "$MAX_JOBS" \
   150   "$REQUIREMENTS" "$ALL_SESSIONS" "$BUILD_HEAP" "$CLEAN_BUILD" "$MAX_JOBS" \
   146   "$LIST_FILES" "$NO_BUILD" "$SYSTEM_MODE" "$VERBOSE" \
   151   "$LIST_FILES" "$NO_BUILD" "$SYSTEM_MODE" "$VERBOSE" \
   147   "${INCLUDE_DIRS[@]}" $'\n' "${SELECT_DIRS[@]}" $'\n' \
   152   "${INCLUDE_DIRS[@]}" $'\n' "${SELECT_DIRS[@]}" $'\n' \
   148   "${SESSION_GROUPS[@]}" $'\n' "${BUILD_OPTIONS[@]}" $'\n' "$@"
   153   "${SESSION_GROUPS[@]}" $'\n' "${CHECK_KEYWORDS[@]}" $'\n' \
       
   154   "${BUILD_OPTIONS[@]}" $'\n' "$@"
   149 RC="$?"
   155 RC="$?"
   150 
   156 
   151 if [ "$NO_BUILD" = false -a "$VERBOSE" = true ]; then
   157 if [ "$NO_BUILD" = false -a "$VERBOSE" = true ]; then
   152   echo -n "Finished at "; date
   158   echo -n "Finished at "; date
   153 fi
   159 fi