4 # Author: Markus Wenzel, TU Muenchen
5 # License: GPL (GNU GENERAL PUBLIC LICENSE)
7 # DESCRIPTION: build object-logic or run examples
17 echo "Usage: $PRG [OPTIONS] LOGIC NAME"
20 echo " -D PATH dump generated document sources into PATH"
21 echo " -P PATH set path for remote theory browsing information"
22 echo " -b build mode (output heap image, using current dir)"
23 echo " -c BOOL tell ML system to compress output image (default true)"
24 echo " -d FORMAT build document as FORMAT (default false)"
25 echo " -i BOOL generate theory browsing information,"
26 echo " i.e. HTML / graph data (default false)"
27 echo " -r reset session path"
28 echo " -s NAME override session NAME"
30 echo " Build object-logic or run examples. Also creates browsing"
31 echo " information (HTML etc.) according to settings."
33 echo " ISABELLE_USEDIR_OPTIONS=$ISABELLE_USEDIR_OPTIONS"
39 ## process command line
55 while getopts "D:P:bc:d:i:rs:" OPT
89 getoptions $ISABELLE_USEDIR_OPTIONS
92 shift $(($OPTIND - 1))
97 [ "$#" -ne 2 ] && usage
102 [ -z "$SESSION" ] && SESSION=$(basename "$NAME")
108 # prepare browser info dir
110 if [ "$INFO" = "true" -a ! -f "$ISABELLE_BROWSER_INFO/index.html" ]; then
111 mkdir -p "$ISABELLE_BROWSER_INFO"
112 cp "$ISABELLE_HOME/lib/logo/isabelle.gif" "$ISABELLE_BROWSER_INFO/isabelle.gif"
113 cp "$ISABELLE_HOME/lib/html/index.html" "$ISABELLE_BROWSER_INFO/index.html"
119 LOGDIR="$ISABELLE_OUTPUT/log"
125 PARENT=$(basename "$LOGIC")
127 [ -z "$BUILD" ] && cd "$NAME"
129 if [ "$DOCUMENT" != false -a -d document ]; then
131 [ -n "$DUMP" -a -d "$DUMP" ] && "$ISATOOL" latex -o sty "$DUMP/root.tex" >/dev/null
139 if [ -n "$BUILD" ]; then
141 echo "Building $ITEM ..."
145 [ "$COMPRESS" = true ] && OPT_C="-c"
148 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\";" \
149 $OPT_C -q -w $LOGIC $NAME > "$LOG" 2>&1
152 ITEM=$(basename "$LOGIC")-"$SESSION"
153 echo "Running $ITEM ..."
157 -e "Session.use_dir $RESET $INFO \"$DOC\" \"$PARENT\" \"$SESSION\" \"$DUMP\" \"$RPATH\"; quit();" \
158 -r -q "$LOGIC" > "$LOG" 2>&1
163 ELAPSED=$("$ISABELLE_HOME/lib/scripts/showtime" "$SECONDS")
168 if [ "$RC" -eq 0 ]; then
169 echo "Finished $ITEM ($ELAPSED elapsed time)"
173 echo "(see also $LOG)"
174 echo; tail "$LOG"; echo