turned object-logics into components;
authorwenzelm
Tue, 04 Aug 2009 16:11:11 +0200
changeset 32325 300b7d5d23d7
parent 32324 a99e58e043ee
child 32326 9d70ecf11b7a
turned object-logics into components; isabelle makeall: operate on all components with IsaMakefile, not just hardwired "logics";
doc-src/System/Thy/Misc.thy
doc-src/System/Thy/document/Misc.tex
etc/components
lib/Tools/makeall
--- a/doc-src/System/Thy/Misc.thy	Tue Aug 04 16:09:46 2009 +0200
+++ b/doc-src/System/Thy/Misc.thy	Tue Aug 04 16:11:11 2009 +0200
@@ -225,13 +225,13 @@
 
 section {* Make all logics *}
 
-text {*
-  The @{tool_def makeall} utility applies Isabelle make to all logic
-  directories of the distribution:
+text {* The @{tool_def makeall} utility applies Isabelle make to any
+  Isabelle component (cf.\ \secref{sec:components}) that contains an
+  @{verbatim IsaMakefile}:
 \begin{ttbox}
 Usage: makeall [ARGS ...]
 
-  Apply isabelle make to all logics (passing ARGS).
+  Apply isabelle make to all components with IsaMakefile (passing ARGS).
 \end{ttbox}
 
   The arguments @{verbatim ARGS} are just passed verbatim to each
--- a/doc-src/System/Thy/document/Misc.tex	Tue Aug 04 16:09:46 2009 +0200
+++ b/doc-src/System/Thy/document/Misc.tex	Tue Aug 04 16:11:11 2009 +0200
@@ -259,12 +259,13 @@
 \isamarkuptrue%
 %
 \begin{isamarkuptext}%
-The \indexdef{}{tool}{makeall}\hypertarget{tool.makeall}{\hyperlink{tool.makeall}{\mbox{\isa{\isatt{makeall}}}}} utility applies Isabelle make to all logic
-  directories of the distribution:
+The \indexdef{}{tool}{makeall}\hypertarget{tool.makeall}{\hyperlink{tool.makeall}{\mbox{\isa{\isatt{makeall}}}}} utility applies Isabelle make to any
+  Isabelle component (cf.\ \secref{sec:components}) that contains an
+  \verb|IsaMakefile|:
 \begin{ttbox}
 Usage: makeall [ARGS ...]
 
-  Apply isabelle make to all logics (passing ARGS).
+  Apply isabelle make to all components with IsaMakefile (passing ARGS).
 \end{ttbox}
 
   The arguments \verb|ARGS| are just passed verbatim to each
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/components	Tue Aug 04 16:11:11 2009 +0200
@@ -0,0 +1,11 @@
+src/Pure
+src/FOL
+src/HOL
+src/ZF
+src/CCL
+src/CTT
+src/Cube
+src/FOLP
+src/HOLCF
+src/LCF
+src/Sequents
--- a/lib/Tools/makeall	Tue Aug 04 16:09:46 2009 +0200
+++ b/lib/Tools/makeall	Tue Aug 04 16:11:11 2009 +0200
@@ -4,11 +4,6 @@
 #
 # DESCRIPTION: apply make utility to all logics
 
-## global settings
-
-ALL_LOGICS="Pure FOL HOL ZF CCL CTT Cube FOLP HOLCF LCF Sequents"
-
-
 ## diagnostics
 
 PRG="$(basename "$0")"
@@ -18,7 +13,7 @@
   echo
   echo "Usage: isabelle $PRG [ARGS ...]"
   echo
-  echo "  Apply isabelle make to all logics (passing ARGS)."
+  echo "  Apply isabelle make to all components with IsaMakefile (passing ARGS)."
   echo
   exit 1
 }
@@ -29,6 +24,7 @@
   exit 2
 }
 
+
 ## main
 
 [ "$1" = "-?" ] && usage
@@ -38,9 +34,14 @@
 echo "Started at $(date) ($ML_IDENTIFIER on $(hostname))"
 . "$ISABELLE_HOME/lib/scripts/timestart.bash"
 
-for L in $ALL_LOGICS
+ORIG_IFS="$IFS"; IFS=":"; declare -a COMPONENTS=($ISABELLE_COMPONENTS); IFS="$ORIG_IFS"
+
+for DIR in "${COMPONENTS[@]}"
 do
-  ( cd "$ISABELLE_HOME/src/$L"; "$ISABELLE_TOOL" make "$@" ) || FAIL="$FAIL$L "
+  if [ -f "$DIR/IsaMakefile" ]; then
+    NAME="$(basename "$DIR")"
+    ( cd "$DIR"; "$ISABELLE_TOOL" make "$@" ) || FAIL="$FAIL$NAME "
+  fi
 done
 
 echo -n "Finished at "; date