equal
deleted
inserted
replaced
15 echo "Usage: isabelle $PRG [OPTIONS] [SESSIONS ...]" |
15 echo "Usage: isabelle $PRG [OPTIONS] [SESSIONS ...]" |
16 echo |
16 echo |
17 echo " Options are:" |
17 echo " Options are:" |
18 echo " -a select all doc sessions" |
18 echo " -a select all doc sessions" |
19 echo " -j INT maximum number of parallel jobs (default 1)" |
19 echo " -j INT maximum number of parallel jobs (default 1)" |
|
20 echo " -s system build mode" |
20 echo |
21 echo |
21 echo " Build Isabelle documentation from (doc) sessions." |
22 echo " Build Isabelle documentation from (doc) sessions." |
22 echo |
23 echo |
23 exit 1 |
24 exit 1 |
24 } |
25 } |
35 } |
36 } |
36 |
37 |
37 |
38 |
38 ## process command line |
39 ## process command line |
39 |
40 |
|
41 declare -a BUILD_ARGS=() |
|
42 |
|
43 |
40 # options |
44 # options |
41 |
45 |
42 ALL_DOCS="false" |
46 ALL_DOCS="false" |
43 JOBS="" |
|
44 |
47 |
45 while getopts "aj:" OPT |
48 while getopts "aj:s" OPT |
46 do |
49 do |
47 case "$OPT" in |
50 case "$OPT" in |
48 a) |
51 a) |
49 ALL_DOCS="true" |
52 ALL_DOCS="true" |
50 ;; |
53 ;; |
51 j) |
54 j) |
52 check_number "$OPTARG" |
55 check_number "$OPTARG" |
53 JOBS="-j $OPTARG" |
56 BUILD_ARGS["${#BUILD_ARGS[@]}"]="-j" |
|
57 BUILD_ARGS["${#BUILD_ARGS[@]}"]="$OPTARG" |
|
58 ;; |
|
59 s) |
|
60 BUILD_ARGS["${#BUILD_ARGS[@]}"]="-s" |
54 ;; |
61 ;; |
55 \?) |
62 \?) |
56 usage |
63 usage |
57 ;; |
64 ;; |
58 esac |
65 esac |
62 |
69 |
63 |
70 |
64 # arguments |
71 # arguments |
65 |
72 |
66 if [ "$ALL_DOCS" = true ]; then |
73 if [ "$ALL_DOCS" = true ]; then |
67 declare -a BUILD_ARGS=(-g doc) |
74 BUILD_ARGS["${#BUILD_ARGS[@]}"]="-g" |
|
75 BUILD_ARGS["${#BUILD_ARGS[@]}"]="doc" |
68 else |
76 else |
69 declare -a BUILD_ARGS=() |
|
70 [ "$#" -eq 0 ] && usage |
77 [ "$#" -eq 0 ] && usage |
71 fi |
78 fi |
72 |
79 |
73 BUILD_ARGS["${#BUILD_ARGS[@]}"]="--" |
80 BUILD_ARGS["${#BUILD_ARGS[@]}"]="--" |
74 |
81 |
81 ## main |
88 ## main |
82 |
89 |
83 OUTPUT="$ISABELLE_TMP_PREFIX$$" |
90 OUTPUT="$ISABELLE_TMP_PREFIX$$" |
84 mkdir -p "$OUTPUT" || fail "Bad directory: \"$OUTPUT\"" |
91 mkdir -p "$OUTPUT" || fail "Bad directory: \"$OUTPUT\"" |
85 |
92 |
86 "$ISABELLE_TOOL" build -R -b $JOBS "${BUILD_ARGS[@]}" |
93 "$ISABELLE_TOOL" build -R -b "${BUILD_ARGS[@]}" |
87 RC=$? |
94 RC=$? |
88 |
95 |
89 if [ "$RC" = 0 ]; then |
96 if [ "$RC" = 0 ]; then |
90 "$ISABELLE_TOOL" build -o browser_info=false -o "document=pdf" \ |
97 "$ISABELLE_TOOL" build -o browser_info=false -o "document=pdf" \ |
91 -o "document_output=$OUTPUT" -c $JOBS "${BUILD_ARGS[@]}" |
98 -o "document_output=$OUTPUT" -c "${BUILD_ARGS[@]}" |
92 RC=$? |
99 RC=$? |
93 fi |
100 fi |
94 |
101 |
95 if [ "$RC" = 0 ]; then |
102 if [ "$RC" = 0 ]; then |
96 cp -f "$OUTPUT"/*.pdf "$ISABELLE_HOME/doc" |
103 cp -f "$OUTPUT"/*.pdf "$ISABELLE_HOME/doc" |