build
changeset 4457 6e6d99e06d0c
parent 3255 7678f3d93053
child 4581 52edf5ac3afa
equal deleted inserted replaced
4456:44e57a6d947d 4457:6e6d99e06d0c
     1 #!/bin/bash
     1 #!/bin/bash
     2 #
     2 #
     3 # $Id$
     3 # $Id$
     4 #
     4 #
     5 # build - compile the Isabelle system and object-logics
     5 # build - compile the Isabelle system and object-logics
       
     6 
       
     7 
       
     8 ## global settings
       
     9 
       
    10 ALL_LOGICS="CCL CTT Cube FOL FOLP HOL HOLCF LCF Pure Sequents ZF"
     6 
    11 
     7 
    12 
     8 ## settings
    13 ## settings
     9 
    14 
    10 PRG=$(basename $0)
    15 PRG=$(basename $0)
    70 
    75 
    71 # args
    76 # args
    72 
    77 
    73 LOGICS="$@"
    78 LOGICS="$@"
    74 
    79 
       
    80 [ -n "$ALL" ] && LOGICS="$LOGICS $ALL_LOGICS"
       
    81 [ -z "$LOGICS" ] && LOGICS="$ISABELLE_LOGIC"
       
    82 
    75 
    83 
    76 ## main
    84 ## main
    77 
    85 
    78 # tell the user about current values
    86 # tell the user about current values
    79 
    87 
   102   echo
   110   echo
   103   echo "Press RETURN to start compilation (including parents) of:"
   111   echo "Press RETURN to start compilation (including parents) of:"
   104   echo
   112   echo
   105 fi
   113 fi
   106 
   114 
   107 [ -z "$LOGICS" ] && LOGICS=$ISABELLE_LOGIC
       
   108 
   115 
   109 if [ -n "$ALL" ]; then
   116 MAKE_LOGICS=""
   110   LOGICS=""
   117 
   111   for DIR in $ISABELLE_HOME/src/*
   118 for L in $LOGICS
   112   do
   119 do
   113     if [ -f $DIR/IsaMakefile ]; then
   120   DIR=$ISABELLE_HOME/src/$L
   114       L=$(basename $DIR)
   121   if [ -f $DIR/IsaMakefile ]; then
   115       LOGICS="$LOGICS $L"
   122     MAKE_LOGICS="$MAKE_LOGICS $L"
   116     fi
   123   else
   117   done
   124     echo "No such logic: $L"
   118 else
   125   fi
   119   for L in $LOGICS
   126 done
   120   do
   127 
   121     DIR=$ISABELLE_HOME/src/$L
       
   122     [ ! -f $DIR/IsaMakefile ] && fail "No such logic: $L"
       
   123   done
       
   124 fi
       
   125 
   128 
   126 if [ -z "$BATCH" ]; then
   129 if [ -z "$BATCH" ]; then
   127   echo " " $LOGICS
   130   echo " " $MAKE_LOGICS
   128   echo
   131   echo
   129   read
   132   read
   130 else
   133 else
   131   echo
   134   echo
   132   echo "Isabelle build:" $LOGICS
   135   echo "Isabelle build:" $MAKE_LOGICS
   133   echo
   136   echo
   134   echo "ML_SYSTEM=$ML_SYSTEM"
   137   echo "ML_SYSTEM=$ML_SYSTEM"
   135   echo "ML_HOME=$ML_HOME"
   138   echo "ML_HOME=$ML_HOME"
   136   echo "ML_OPTIONS=$ML_OPTIONS"
   139   echo "ML_OPTIONS=$ML_OPTIONS"
   137   echo
   140   echo
   138 fi
   141 fi
   139 
   142 
   140 
   143 
   141 # build it
   144 # build it
   142 
   145 
   143 echo
   146 SECONDS=0
   144 echo -n "Started at "; date
   147 echo -n "Started at "; date
   145 echo
       
   146 
   148 
   147 export THIS_IS_ISABELLE_BUILD=true
   149 export THIS_IS_ISABELLE_BUILD=true
   148 
   150 
   149 for L in $LOGICS
   151 for L in $MAKE_LOGICS
   150 do
   152 do
   151   ( cd $ISABELLE_HOME/src/$L; $ISATOOL make $TEST )
   153   ( cd $ISABELLE_HOME/src/$L; $ISATOOL make $TEST )
   152 done
   154 done
   153 
   155 
   154 echo
       
   155 echo -n "Finished at "; date
   156 echo -n "Finished at "; date
   156 echo
   157 
       
   158 ELAPSED=$($ISABELLE_HOME/lib/scripts/showtime $SECONDS)
       
   159 echo "$ELAPSED total elapsed time"