equal
deleted
inserted
replaced
1 #!/bin/bash |
1 #!/bin/bash |
2 # |
2 # |
3 # $Id$ |
3 # $Id$ |
|
4 # Author: Markus Wenzel, TU Muenchen |
|
5 # License: GPL (GNU GENERAL PUBLIC LICENSE) |
4 # |
6 # |
5 # DESCRIPTION: build object-logic or run examples |
7 # DESCRIPTION: build object-logic or run examples |
6 |
8 |
7 |
9 |
8 ## diagnostics |
10 ## diagnostics |
9 |
11 |
10 PRG=$(basename $0) |
12 PRG=$(basename "$0") |
11 |
13 |
12 function usage() |
14 function usage() |
13 { |
15 { |
14 echo |
16 echo |
15 echo "Usage: $PRG [OPTIONS] LOGIC NAME" |
17 echo "Usage: $PRG [OPTIONS] LOGIC NAME" |
90 shift $(($OPTIND - 1)) |
92 shift $(($OPTIND - 1)) |
91 |
93 |
92 |
94 |
93 # args |
95 # args |
94 |
96 |
95 [ $# -ne 2 ] && usage |
97 [ "$#" -ne 2 ] && usage |
96 |
98 |
97 LOGIC="$1"; shift |
99 LOGIC="$1"; shift |
98 NAME="$1"; shift |
100 NAME="$1"; shift |
99 |
101 |
100 [ -z "$SESSION" ] && SESSION=$(basename $NAME) |
102 [ -z "$SESSION" ] && SESSION=$(basename "$NAME") |
101 |
103 |
102 |
104 |
103 |
105 |
104 ## main |
106 ## main |
105 |
107 |
106 # prepare browser info dir |
108 # prepare browser info dir |
107 |
109 |
108 if [ "$INFO" = "true" -a ! -f $ISABELLE_BROWSER_INFO/index.html ]; then |
110 if [ "$INFO" = "true" -a ! -f "$ISABELLE_BROWSER_INFO/index.html" ]; then |
109 mkdir -p $ISABELLE_BROWSER_INFO |
111 mkdir -p "$ISABELLE_BROWSER_INFO" |
110 cp $ISABELLE_HOME/lib/logo/isabelle.gif $ISABELLE_BROWSER_INFO/isabelle.gif |
112 cp "$ISABELLE_HOME/lib/logo/isabelle.gif" "$ISABELLE_BROWSER_INFO/isabelle.gif" |
111 cp $ISABELLE_HOME/lib/html/index.html $ISABELLE_BROWSER_INFO/index.html |
113 cp "$ISABELLE_HOME/lib/html/index.html" "$ISABELLE_BROWSER_INFO/index.html" |
112 fi |
114 fi |
113 |
115 |
114 |
116 |
115 # prepare log dir |
117 # prepare log dir |
116 |
118 |
124 |
126 |
125 [ -z "$BUILD" ] && cd "$NAME" |
127 [ -z "$BUILD" ] && cd "$NAME" |
126 |
128 |
127 if [ "$DOCUMENT" != false -a -d document ]; then |
129 if [ "$DOCUMENT" != false -a -d document ]; then |
128 DOC="$DOCUMENT" |
130 DOC="$DOCUMENT" |
129 [ -n "$DUMP" -a -d "$DUMP" ] && $ISATOOL latex -o sty "$DUMP/root.tex" >/dev/null |
131 [ -n "$DUMP" -a -d "$DUMP" ] && "$ISATOOL" latex -o sty "$DUMP/root.tex" >/dev/null |
130 else |
132 else |
131 DOC="" |
133 DOC="" |
132 fi |
134 fi |
133 |
135 |
134 |
136 |
140 LOG="$LOGDIR/$ITEM" |
142 LOG="$LOGDIR/$ITEM" |
141 |
143 |
142 OPT_C="" |
144 OPT_C="" |
143 [ "$COMPRESS" = true ] && OPT_C="-c" |
145 [ "$COMPRESS" = true ] && OPT_C="-c" |
144 |
146 |
145 $ISABELLE \ |
147 "$ISABELLE" \ |
146 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\";" \ |
148 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\";" \ |
147 $OPT_C -q -w $LOGIC $NAME > $LOG 2>&1 |
149 $OPT_C -q -w $LOGIC $NAME > "$LOG" 2>&1 |
148 RC=$? |
150 RC="$?" |
149 else |
151 else |
150 ITEM=$(basename $LOGIC)-"$SESSION" |
152 ITEM=$(basename "$LOGIC")-"$SESSION" |
151 echo "Running $ITEM ..." |
153 echo "Running $ITEM ..." |
152 LOG="$LOGDIR/$ITEM" |
154 LOG="$LOGDIR/$ITEM" |
153 |
155 |
154 $ISABELLE \ |
156 "$ISABELLE" \ |
155 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\"; quit();" \ |
157 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\"; quit();" \ |
156 -r -q $LOGIC > $LOG 2>&1 |
158 -r -q "$LOGIC" > "$LOG" 2>&1 |
157 RC=$? |
159 RC="$?" |
158 cd .. |
160 cd .. |
159 fi |
161 fi |
160 |
162 |
161 ELAPSED=$($ISABELLE_HOME/lib/scripts/showtime $SECONDS) |
163 ELAPSED=$("$ISABELLE_HOME/lib/scripts/showtime" "$SECONDS") |
162 |
164 |
163 |
165 |
164 # exit status |
166 # exit status |
165 |
167 |
166 if [ $RC -eq 0 ]; then |
168 if [ "$RC" -eq 0 ]; then |
167 echo "Finished $ITEM ($ELAPSED elapsed time)" |
169 echo "Finished $ITEM ($ELAPSED elapsed time)" |
168 gzip --force "$LOG" |
170 gzip --force "$LOG" |
169 else |
171 else |
170 echo "$ITEM FAILED" |
172 echo "$ITEM FAILED" |
171 echo "(see also $LOG)" |
173 echo "(see also $LOG)" |
172 echo; tail $LOG; echo |
174 echo; tail "$LOG"; echo |
173 fi |
175 fi |
174 |
176 |
175 exit $RC |
177 exit "$RC" |