lib/Tools/usedir
changeset 7226 1a4ed2eb48f3
parent 6940 ee6640456cbb
child 7259 e75aa311788c
equal deleted inserted replaced
7225:0a7c43c56092 7226:1a4ed2eb48f3
    18   echo "    -B           build mode with THIS_IS_ISABELLE_BUILD indication"
    18   echo "    -B           build mode with THIS_IS_ISABELLE_BUILD indication"
    19   echo "    -P PATH      set path for remote theory browsing information"
    19   echo "    -P PATH      set path for remote theory browsing information"
    20   echo "    -b           build mode (output heap image, using current dir)"
    20   echo "    -b           build mode (output heap image, using current dir)"
    21   echo "    -i BOOL      generate theory browsing information,"
    21   echo "    -i BOOL      generate theory browsing information,"
    22   echo "                 i.e. HTML / graph data (default false)"
    22   echo "                 i.e. HTML / graph data (default false)"
       
    23   echo "    -m BOOL      multi line output (default false)"
    23   echo "    -r           reset session path"
    24   echo "    -r           reset session path"
    24   echo "    -s NAME      override session NAME"
    25   echo "    -s NAME      override session NAME"
    25   echo
    26   echo
    26   echo "  Build object-logic or run examples. Also creates browsing"
    27   echo "  Build object-logic or run examples. Also creates browsing"
    27   echo "  information (HTML etc.) according to settings."
    28   echo "  information (HTML etc.) according to settings."
    34 
    35 
    35 # options
    36 # options
    36 
    37 
    37 BUILD=""
    38 BUILD=""
    38 INFO=false
    39 INFO=false
       
    40 MULTI=false
    39 RESET=false
    41 RESET=false
    40 SESSION=""
    42 SESSION=""
    41 RPATH=""
    43 RPATH=""
    42 
    44 
    43 function getoptions()
    45 function getoptions()
    44 {
    46 {
    45   OPTIND=1
    47   OPTIND=1
    46   while getopts "BP:bi:rs:" OPT
    48   while getopts "BP:bi:m:rs:" OPT
    47   do
    49   do
    48     case "$OPT" in
    50     case "$OPT" in
    49       B)
    51       B)
    50         BUILD=true
    52         BUILD=true
    51         export THIS_IS_ISABELLE_BUILD=true
    53         export THIS_IS_ISABELLE_BUILD=true
    53       b)
    55       b)
    54         BUILD=true
    56         BUILD=true
    55         ;;
    57         ;;
    56       i)
    58       i)
    57         INFO="$OPTARG"
    59         INFO="$OPTARG"
       
    60         ;;
       
    61       m)
       
    62         MULTI="$OPTARG"
    58         ;;
    63         ;;
    59       r)
    64       r)
    60         RESET=true
    65         RESET=true
    61         ;;
    66         ;;
    62       s)
    67       s)
   119 
   124 
   120 SECONDS=0
   125 SECONDS=0
   121 
   126 
   122 PARENT=$(basename "$LOGIC")
   127 PARENT=$(basename "$LOGIC")
   123 
   128 
       
   129 ECHO_LINE="echo -n"
       
   130 [ "$MULTI" = "true" ] && ECHO_LINE="echo"
       
   131 
   124 if [ -n "$BUILD" ]; then
   132 if [ -n "$BUILD" ]; then
   125   ITEM="$SESSION"
   133   ITEM="$SESSION"
   126   echo -n "Building $ITEM ... "
   134   $ECHO_LINE "Building $ITEM ..."
   127   LOG="$LOGDIR/$ITEM"
   135   LOG="$LOGDIR/$ITEM"
   128 
   136 
   129   $ISABELLE \
   137   $ISABELLE \
   130     -e "Session.use_dir $RESET $INFO \"$PARENT\" \"$SESSION\" \"$RPATH\";" \
   138     -e "Session.use_dir $RESET $INFO \"$PARENT\" \"$SESSION\" \"$RPATH\";" \
   131     -q -w $LOGIC $NAME > $LOG 2>&1
   139     -q -w $LOGIC $NAME > $LOG 2>&1
   132   RC=$?
   140   RC=$?
   133 else
   141 else
   134   ITEM=$(basename $LOGIC)-"$SESSION"
   142   ITEM=$(basename $LOGIC)-"$SESSION"
   135   echo -n "Running $ITEM ... "
   143   $ECHO_LINE "Running $ITEM ..."
   136   LOG="$LOGDIR/$ITEM"
   144   LOG="$LOGDIR/$ITEM"
   137 
   145 
   138   cd "$NAME"
   146   cd "$NAME"
   139   $ISABELLE \
   147   $ISABELLE \
   140     -e "Session.use_dir $RESET $INFO \"$PARENT\" \"$SESSION\" \"$RPATH\"; quit();" \
   148     -e "Session.use_dir $RESET $INFO \"$PARENT\" \"$SESSION\" \"$RPATH\"; quit();" \
   146 ELAPSED=$($ISABELLE_HOME/lib/scripts/showtime $SECONDS)
   154 ELAPSED=$($ISABELLE_HOME/lib/scripts/showtime $SECONDS)
   147 
   155 
   148 
   156 
   149 # exit status
   157 # exit status
   150 
   158 
       
   159 TELL_ITEM=""
       
   160 [ "$MULTI" = "true" ] && TELL_ITEM="$ITEM"
       
   161 
   151 if [ $RC -eq 0 ]; then
   162 if [ $RC -eq 0 ]; then
   152   echo "OK  ($ELAPSED elapsed time)"
   163   echo "$TELL_ITEM OK  ($ELAPSED elapsed time)"
   153   gzip --force "$LOG"
   164   gzip --force "$LOG"
   154 else
   165 else
   155   echo "FAILED"
   166   echo "$TELL_ITEM FAILED"
   156   echo "(see also $LOG)"
   167   echo "(see also $LOG)"
   157   echo; tail $LOG; echo
   168   echo; tail $LOG; echo
   158 fi
   169 fi
   159 
   170 
   160 exit $RC
   171 exit $RC