lib/Tools/usedir
author wenzelm
Fri, 04 Apr 1997 19:11:19 +0200
changeset 2917 c7411fce37e4
parent 2849 01a536a6e4fb
child 3007 e5efa177ee0c
permissions -rwxr-xr-x
added -g, -h options; replaced ISABELLE_HTML by ISABELLE_USEDIR_OPTIONS;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     1
#!/bin/bash -norc
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     2
#
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     3
# $Id$
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     4
#
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     5
# DESCRIPTION: build object-logic or run examples
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     6
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     7
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     8
## diagnostics
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
     9
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    10
PRG=$(basename $0)
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    11
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    12
function usage()
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    13
{
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    14
  echo
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    15
  echo "Usage: $PRG LOGIC NAME"
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    16
  echo
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    17
  echo "  Options are:"
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    18
  echo "    -b           build mode (output heap image, use dir \".\")"
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    19
  echo "    -c           force copying of heap file (for Poly/ML)"
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    20
  echo "    -g BOOL      generate theory graph data (default false)"
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    21
  echo "    -h BOOL      generate theory HTML data (default false)"
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    22
  echo "    -s NAME      override session NAME"
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    23
  echo
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    24
  echo "  Build object-logic or run examples. Also creates browsing"
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    25
  echo "  information (HTML etc.) according to settings."
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    26
  echo
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    27
  exit 1
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    28
}
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    29
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    30
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    31
## process command line
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    32
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    33
# options
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    34
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    35
BUILD=""
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    36
COPYDB=""
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    37
GRAPH=false
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    38
HTML=false
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    39
SESSION=""
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    40
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    41
function getoptions()
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    42
{
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    43
  OPTIND=1
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    44
  while getopts "bcg:h:s:" OPT
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    45
  do
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    46
    case "$OPT" in
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    47
      b)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    48
        BUILD=true
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    49
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    50
      c)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    51
        COPYDB="-c"
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    52
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    53
      g)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    54
        GRAPH="$OPTARG"
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    55
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    56
      h)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    57
        HTML="$OPTARG"
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    58
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    59
      s)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    60
        SESSION="$OPTARG"
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    61
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    62
      \?)
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    63
        usage
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    64
        ;;
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    65
    esac
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    66
  done
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    67
}
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    68
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    69
getoptions $ISABELLE_USEDIR_OPTIONS
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    70
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    71
getoptions "$@"
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    72
shift $(($OPTIND - 1))
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    73
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    74
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    75
# args
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    76
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    77
[ $# -ne 2 ] && usage
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    78
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    79
LOGIC="$1"; shift
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    80
NAME="$1"; shift
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    81
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    82
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    83
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    84
## main
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    85
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    86
[ -z "$SESSION" ] && SESSION=$(basename $NAME)
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    87
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    88
if [ -n "$BUILD" ]; then
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    89
  exec $ISABELLE \
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    90
    -e "make_html := $HTML;" \
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    91
    -e "set_session\"$SESSION\";" \
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    92
    -e "exit_use_dir\".\";" \
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    93
    -q $COPYDB $LOGIC $NAME
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    94
else
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    95
  exec $ISABELLE \
2917
c7411fce37e4 added -g, -h options;
wenzelm
parents: 2849
diff changeset
    96
    -e "make_html := $HTML;" \
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    97
    -e "set_session\"$SESSION\";" \
2812
dfcd1b00f294 added quit();
wenzelm
parents: 2808
diff changeset
    98
    -e "exit_use_dir\"$NAME\"; quit();" \
2808
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
    99
    -r -q $LOGIC
e8a224e41b9f usedir -- build object-logic or run examples;
wenzelm
parents:
diff changeset
   100
fi