5 # build - compile the Isabelle system and object-logics
10 ALL_LOGICS="CCL CTT Cube FOL FOLP HOL HOLCF LCF Pure Sequents ZF"
17 export THIS_IS_ISABELLE_BUILD=true
18 ISABELLE_HOME=$(dirname $0)
19 . $ISABELLE_HOME/lib/scripts/getsettings || \
20 { echo "$PRG probably not called from its original place!"; exit 2; }
28 echo "Usage: $PRG [OPTIONS] [LOGICS ...]"
33 echo " -i make images"
34 echo " -m TARGET make this target"
37 echo " Compile the named LOGICS (default $ISABELLE_LOGIC), or all object logics"
38 echo " in the distribution."
50 ## process command line
58 while getopts "abim:t" OPT
68 TARGETS="$TARGETS images"
71 TARGETS="$TARGETS $OPTARG"
74 TARGETS="$TARGETS test"
82 shift $(($OPTIND - 1))
89 [ -n "$ALL" ] && LOGICS="$LOGICS $ALL_LOGICS"
90 [ -z "$LOGICS" ] && LOGICS="$ISABELLE_LOGIC"
95 # tell the user about current values
97 if [ -z "$BATCH" ]; then
99 echo " *****************************"
100 echo " * Welcome to Isabelle build *"
101 echo " *****************************"
103 echo "Please check $ISABELLE_HOME/etc/settings"
104 [ -f $ISABELLE_HOME_USER/etc/settings ] && echo "AND $ISABELLE_HOME_USER/etc/settings"
105 echo "to make sure that Isabelle's ML system settings and compilation options"
106 echo "are appropriate."
108 echo "The current values are:"
110 echo " ML_SYSTEM=$ML_SYSTEM"
111 echo " ML_HOME=$ML_HOME"
112 echo " ML_OPTIONS=$ML_OPTIONS"
113 echo " ML_PLATFORM=$ML_PLATFORM"
115 echo " ISABELLE_USEDIR_OPTIONS=$ISABELLE_USEDIR_OPTIONS"
121 if [ -z "$BATCH" ]; then
124 echo "Press RETURN to start compilation (including parents) of:"
133 DIR=$ISABELLE_HOME/src/$L
134 if [ -f $DIR/IsaMakefile ]; then
135 MAKE_LOGICS="$MAKE_LOGICS $L"
137 echo "No such logic: $L"
142 if [ -z "$BATCH" ]; then
143 echo " " $MAKE_LOGICS
148 echo "Isabelle build:" $MAKE_LOGICS
150 echo "ML_SYSTEM=$ML_SYSTEM"
151 echo "ML_HOME=$ML_HOME"
152 echo "ML_OPTIONS=$ML_OPTIONS"
153 echo "ML_PLATFORM=$ML_PLATFORM"
155 echo "ISABELLE_USEDIR_OPTIONS=$ISABELLE_USEDIR_OPTIONS"
165 echo "Started at $DATE ($HOST)"
167 for L in $MAKE_LOGICS
169 ( cd $ISABELLE_HOME/src/$L; $ISATOOL make $TARGETS )
172 echo -n "Finished at "; date
174 ELAPSED=$($ISABELLE_HOME/lib/scripts/showtime $SECONDS)
175 echo "$ELAPSED total elapsed time"