build
author wenzelm
Wed, 02 Apr 1997 19:12:26 +0200
changeset 2879 477bfcb022d8
parent 2789 69cf3aea45ee
child 2902 bacef535265c
permissions -rwxr-xr-x
misc improvements;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     1
#!/bin/bash -norc
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     2
#
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     3
# $Id$
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     4
#
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     5
# build - compile parts of the Isabelle system
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     6
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
     7
2789
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
     8
## settings
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
     9
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    10
PRG=$(basename $0)
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    11
2789
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    12
ISABELLE_HOME=$(dirname $0)
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    13
. $ISABELLE_HOME/lib/scripts/getsettings || \
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    14
  { echo "$PRG probably not called from its original place!"; exit 2 }
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    15
2789
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    16
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    17
## diagnostics
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    18
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    19
function usage()
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    20
{
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    21
  echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    22
  echo "Usage: $PRG [OPTIONS] [LOGICS ...]"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    23
  echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    24
  echo "  Options are:"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    25
  echo "    -a           all logics"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    26
  echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    27
  echo "  Compile the named LOGICS (default $DEFAULT_LOGIC), or all object logics"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    28
  echo "  in the distribution."
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    29
  echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    30
  exit 1
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    31
}
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    32
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    33
function fail()
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    34
{
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    35
  echo "$1" >&2
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    36
  exit 2
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    37
}
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    38
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    39
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    40
## process command line
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    41
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    42
# options
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    43
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    44
ALL=""
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    45
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    46
while getopts "a" OPT
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    47
do
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    48
  case "$OPT" in
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    49
    a)
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    50
      ALL=true
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    51
      ;;
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    52
    \?)
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    53
      usage
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    54
      ;;
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    55
  esac
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    56
done
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    57
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    58
shift $(($OPTIND - 1))
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    59
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    60
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    61
# args
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    62
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    63
LOGICS="$@"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    64
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    65
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    66
## main
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    67
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    68
# tell the user about current values
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    69
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    70
echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    71
echo "                *****************************"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    72
echo "                * Welcome to Isabelle build *"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    73
echo "                *****************************"
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    74
echo
2789
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    75
echo "Please check $ISABELLE_HOME/etc/settings"
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    76
[ -f $ISABELLE_HOME_USER/etc/settings ] && echo "AND $ISABELLE_HOME_USER/etc/settings"
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    77
echo "to make sure that Isabelle's ML system settings are appropriate."
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    78
echo
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    79
echo "Your current values are:"
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    80
echo
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    81
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    82
echo "  ML_SYSTEM=$ML_SYSTEM"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    83
echo "  ML_HOME=$ML_HOME"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    84
echo "  ML_OPTIONS=$ML_OPTIONS"
2789
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    85
69cf3aea45ee major tuning;
wenzelm
parents: 2781
diff changeset
    86
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    87
# check logics
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    88
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
    89
echo
2761
fee689b7d813 tuned comment;
wenzelm
parents: 2755
diff changeset
    90
echo
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    91
echo "Press RETURN to start compilation (including parents) of:"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    92
echo
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    93
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    94
[ -z "$LOGICS" ] && LOGICS=$DEFAULT_LOGIC
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    95
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    96
if [ -n "$ALL" ]; then
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    97
  LOGICS=""
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    98
  for DIR in $ISABELLE_HOME/src/*
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
    99
  do
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   100
    if [ -f $DIR/IsaMakefile ]; then
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   101
      L=$(basename $DIR)
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   102
      LOGICS="$LOGICS $L"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   103
    fi
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   104
  done
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   105
else
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   106
  for L in $LOGICS
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   107
  do
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   108
    DIR=$ISABELLE_HOME/src/$L
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   109
    [ ! -f $DIR/IsaMakefile ] && fail "No such logic: $L"
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   110
  done
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   111
fi
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   112
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   113
echo " " $LOGICS
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   114
echo
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   115
read
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   116
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   117
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   118
# build it
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   119
2781
0d6fcae3ae45 added THIS_IS_ISABELLE_BUILD;
wenzelm
parents: 2775
diff changeset
   120
export THIS_IS_ISABELLE_BUILD=true
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   121
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   122
for L in $LOGICS
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   123
do
2879
477bfcb022d8 misc improvements;
wenzelm
parents: 2789
diff changeset
   124
  ( cd $ISABELLE_HOME/src/$L; $ISATOOL make )
2755
9a7128d9722e build - compile parts of the Isabelle system;
wenzelm
parents:
diff changeset
   125
done