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 |