doc-src/System/misc.tex
changeset 4555 1d7f8faaaea3
parent 4540 24fcf5ecae88
child 5366 8521cd8b0a40
equal deleted inserted replaced
4554:2c4b3b31a354 4555:1d7f8faaaea3
    80 
    80 
    81 With the \texttt{-a} option, one may inspect the full process
    81 With the \texttt{-a} option, one may inspect the full process
    82 environment that Isabelle related programs are run in. This usually
    82 environment that Isabelle related programs are run in. This usually
    83 contains much more variables than are actually Isabelle settings.
    83 contains much more variables than are actually Isabelle settings.
    84 Normally, output is a list of lines of the form
    84 Normally, output is a list of lines of the form
    85 \mbox{$varname$\texttt{=}$value$}. The \texttt{-b} option causes only
    85 \mbox{$name$\texttt{=}$value$}. The \texttt{-b} option causes only the
    86 the values to be printed.
    86 values to be printed.
    87 
    87 
    88 
    88 
    89 \subsection*{Examples}
    89 \subsection*{Examples}
    90 
    90 
    91 Get the {\ML} system identifier and the location where the compiler
    91 Get the {\ML} system identifier and the location where the compiler
   100 locate logic images:
   100 locate logic images:
   101 \begin{ttbox}
   101 \begin{ttbox}
   102 isatool getenv -b ISABELLE_PATH
   102 isatool getenv -b ISABELLE_PATH
   103 {\out /home/me/isabelle/heaps/smlnj-110:/usr/local/isabelle/heaps/smlnj-110}
   103 {\out /home/me/isabelle/heaps/smlnj-110:/usr/local/isabelle/heaps/smlnj-110}
   104 \end{ttbox}
   104 \end{ttbox}
   105 We used the \texttt{-b} option to suppress the \texttt{ISABELLE_PATH=}
   105 Here we have used the \texttt{-b} option to suppress the
   106 prefix.  The value above is what became of the following assignment in
   106 \texttt{ISABELLE_PATH=} prefix.  The value above is what became of the
   107 the default settings file:
   107 following assignment in the default settings file:
   108 \begin{ttbox}
   108 \begin{ttbox}
   109 ISABELLE_PATH=\$ISABELLE_HOME_USER/heaps:\$ISABELLE_HOME/heaps
   109 ISABELLE_PATH=\$ISABELLE_HOME_USER/heaps:\$ISABELLE_HOME/heaps
   110 \end{ttbox}
   110 \end{ttbox}
   111 Note how the \texttt{ML_SYSTEM} value got appended automatically to
   111 Note how the \texttt{ML_SYSTEM} value got appended automatically to
   112 each path component. This is a special feature of
   112 each path component. This is a special feature of
   130 \texttt{IsaMakefile}s defer the real work to the \texttt{usedir}
   130 \texttt{IsaMakefile}s defer the real work to the \texttt{usedir}
   131 utility, see \S\ref{sec:tool-usedir}.
   131 utility, see \S\ref{sec:tool-usedir}.
   132 
   132 
   133 \medskip The basic \texttt{IsaMakefile} convention is that the default
   133 \medskip The basic \texttt{IsaMakefile} convention is that the default
   134 target builds the actual logic, including its parents if appropriate.
   134 target builds the actual logic, including its parents if appropriate.
   135 The \texttt{images} target is intended to build all logic images,
   135 The \texttt{images} target is intended to build all local logic
   136 while the \texttt{test} target shall build all related examples.  The
   136 images, while the \texttt{test} target shall build all related
   137 \texttt{all} target shall build the images and run the examples.
   137 examples.  The \texttt{all} target shall do \texttt{images} and
       
   138 \texttt{test}.
   138 
   139 
   139 
   140 
   140 \subsection*{Examples}
   141 \subsection*{Examples}
   141 
   142 
   142 Refer to the \texttt{IsaMakefile}s of the Isabelle distribution's
   143 Refer to the \texttt{IsaMakefile}s of the Isabelle distribution's
   143 object-logics as a model for your own developements.
   144 object-logics as a model for your own developements.  For example, see
       
   145 \texttt{src/FOL/IsaMakefile}.
   144 
   146 
   145 
   147 
   146 \section{Make all logics -- \texttt{isatool makeall}}
   148 \section{Make all logics -- \texttt{isatool makeall}}
   147 
   149 
   148 The \tooldx{makeall} utility applies Isabelle make to all logic
   150 The \tooldx{makeall} utility applies Isabelle make to all logic
   149 directories of the Isabelle distribution:
   151 directories of the distribution:
   150 \begin{ttbox}
   152 \begin{ttbox}
   151 Usage: makeall [ARGS ...]
   153 Usage: makeall [ARGS ...]
   152 
   154 
   153   Apply isatool make to all logics (passing ARGS).
   155   Apply isatool make to all logics (passing ARGS).
   154 \end{ttbox}
   156 \end{ttbox}
   155 The arguments \texttt{ARGS} are just passed verbatim to any
   157 The arguments \texttt{ARGS} are just passed verbatim to each
   156 \texttt{make} invocation.
   158 \texttt{make} invocation.
   157 
   159 
   158 
   160 
   159 \section{Running complete logics --- \texttt{isatool usedir}} \label{sec:tool-usedir}
   161 \section{Running complete logics --- \texttt{isatool usedir}} \label{sec:tool-usedir}
   160 
   162 
   171 
   173 
   172   Build object-logic or run examples. Also creates browsing
   174   Build object-logic or run examples. Also creates browsing
   173   information (HTML etc.) according to settings.
   175   information (HTML etc.) according to settings.
   174 \end{ttbox}
   176 \end{ttbox}
   175 
   177 
   176 The value of the \settdx{ISABELLE_USEDIR_OPTIONS} setting is
   178 Note that the value of the \settdx{ISABELLE_USEDIR_OPTIONS} setting is
   177 implicitly prefixed to \emph{any} \texttt{usedir} call. Since the
   179 implicitly prefixed to \emph{any} \texttt{usedir} call. Since the
   178 \ttindex{IsaMakefile}s of all object-logics distributed with Isabelle
   180 \ttindex{IsaMakefile}s of all object-logics distributed with Isabelle
   179 just invoke \texttt{usedir} for the real work, one may control
   181 just invoke \texttt{usedir} for the real work, one may control
   180 compilation options globally via above variable. In particular,
   182 compilation options globally via above variable. In particular,
   181 generation of \rmindex{HTML} browsing information is enabled or
   183 generation of \rmindex{HTML} browsing information is enabled or
   193 the command line. This will be a batch session, running
   195 the command line. This will be a batch session, running
   194 \texttt{ROOT.ML} from the current directory and then quitting.  It is
   196 \texttt{ROOT.ML} from the current directory and then quitting.  It is
   195 assumed that \texttt{ROOT.ML} contains all {\ML} commands required to
   197 assumed that \texttt{ROOT.ML} contains all {\ML} commands required to
   196 build the logic.
   198 build the logic.
   197 
   199 
   198 In example mode, on the other hand, \texttt{usedir} runs a read-only
   200 In example mode on the other hand, \texttt{usedir} runs a read-only
   199 session of \texttt{LOGIC} (typically just built before) and
   201 session of \texttt{LOGIC} (typically just built before) and
   200 automatically runs \texttt{ROOT.ML} from within directory
   202 automatically runs \texttt{ROOT.ML} from within directory
   201 \texttt{NAME}.  I.e.\ it assumes that some file \texttt{ROOT.ML} in
   203 \texttt{NAME}.  It assumes that file \texttt{ROOT.ML} in directory
   202 directory \texttt{NAME} contains appropriate {\ML} commands to run the
   204 \texttt{NAME} contains appropriate {\ML} commands to run the desired
   203 desired examples.
   205 examples.
   204 
   206 
   205 \medskip The \texttt{-i} option controls theory browsing data
   207 \medskip The \texttt{-i} option controls theory browsing data
   206 generation. It may be explicitely turned on or off --- the last
   208 generation. It may be explicitely turned on or off --- the last
   207 occurrence of some \texttt{-i} on the command line wins.
   209 occurrence of \texttt{-i} on the command line wins.
   208 
   210 
   209 \medskip Any \texttt{usedir} session is named by some \emph{session
   211 \medskip Any \texttt{usedir} session is named by some \emph{session
   210   identifier}. These accumulate, documenting the way sessions depend
   212   identifier}. These accumulate, documenting the way sessions depend
   211 on others. For example, consider \texttt{Pure/FOL/ZF/ex}, which refers
   213 on others. For example, consider \texttt{Pure/FOL/ex}, which refers to
   212 to the examples of {\ZF} set theory, built upon {\FOL}, built upon
   214 the examples of {\FOL} which is built upon {\Pure}.
   213 {\Pure}.
       
   214 
   215 
   215 The current session's identifier is by default just the base name of
   216 The current session's identifier is by default just the base name of
   216 the \texttt{LOGIC} argument (in build mode), or of the \texttt{NAME}
   217 the \texttt{LOGIC} argument (in build mode), or of the \texttt{NAME}
   217 argument (in example mode). This may be overridden explicitely via the
   218 argument (in example mode). This may be overridden explicitely via the
   218 \texttt{-s} option.
   219 \texttt{-s} option.
   219 
   220 
   220 
   221 
   221 \subsection*{Examples}
   222 \subsection*{Examples}
   222 
   223 
   223 Refer to the \texttt{IsaMakefile}s of the Isabelle distribution's
   224 Refer to the \texttt{IsaMakefile}s of the Isabelle distribution's
   224 object-logics as a model for your own developements.
   225 object-logics as a model for your own developements.  For example, see
       
   226 \texttt{src/FOL/IsaMakefile}.
       
   227