equal
deleted
inserted
replaced
21 text \<open> |
21 text \<open> |
22 Isabelle executables may depend on the \<^emph>\<open>Isabelle settings\<close> within the |
22 Isabelle executables may depend on the \<^emph>\<open>Isabelle settings\<close> within the |
23 process environment. This is a statically scoped collection of environment |
23 process environment. This is a statically scoped collection of environment |
24 variables, such as @{setting ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting |
24 variables, such as @{setting ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting |
25 ML_HOME}. These variables are \<^emph>\<open>not\<close> intended to be set directly from the |
25 ML_HOME}. These variables are \<^emph>\<open>not\<close> intended to be set directly from the |
26 shell, but are provided by Isabelle \<^emph>\<open>components\<close> their \<^emph>\<open>settings files\<close> as |
26 shell, but are provided by Isabelle \<^emph>\<open>components\<close> within their \<^emph>\<open>settings |
27 explained below. |
27 files\<close>, as explained below. |
28 \<close> |
28 \<close> |
29 |
29 |
30 |
30 |
31 subsection \<open>Bootstrapping the environment \label{sec:boot}\<close> |
31 subsection \<open>Bootstrapping the environment \label{sec:boot}\<close> |
32 |
32 |
284 |
284 |
285 \<^enum> An external tool found on the directories listed in the @{setting |
285 \<^enum> An external tool found on the directories listed in the @{setting |
286 ISABELLE_TOOLS} settings variable (colon-separated list in standard POSIX |
286 ISABELLE_TOOLS} settings variable (colon-separated list in standard POSIX |
287 notation). |
287 notation). |
288 |
288 |
289 \<^enum> If a file ``\<open>tool\<close>\<^verbatim>\<open>.scala\<close>'' is found, the source needs to define |
289 \<^enum> If a file ``\<open>tool\<close>\<^verbatim>\<open>.scala\<close>'' is found, the content needs to define |
290 some object that extends the class \<^verbatim>\<open>Isabelle_Tool.Body\<close>. The Scala |
290 some object that extends the class \<^verbatim>\<open>Isabelle_Tool.Body\<close>. The Scala |
291 compiler is invoked on the spot (which may take some time), and the body |
291 compiler is invoked on the spot (which may take some time), and the body |
292 function is run with the command-line arguments as \<^verbatim>\<open>List[String]\<close>. |
292 function is run with the command-line arguments as \<^verbatim>\<open>List[String]\<close>. |
293 |
293 |
294 \<^enum> If an executable file ``\<open>tool\<close>'' is found, it is invoked as |
294 \<^enum> If an executable file ``\<open>tool\<close>'' is found, it is invoked as |
345 |
345 |
346 \<^medskip> |
346 \<^medskip> |
347 Options \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> allow to evaluate ML code, before the ML process is |
347 Options \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> allow to evaluate ML code, before the ML process is |
348 started. The source is either given literally or taken from a file. Multiple |
348 started. The source is either given literally or taken from a file. Multiple |
349 \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> options are evaluated in the given order. Errors lead to |
349 \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> options are evaluated in the given order. Errors lead to |
350 premature exit of the ML process with return code 1. |
350 a premature exit of the ML process with return code 1. |
351 |
351 |
352 \<^medskip> |
352 \<^medskip> |
353 Option \<^verbatim>\<open>-T\<close> loads a specified theory file. This is a wrapper for \<^verbatim>\<open>-e\<close> with |
353 Option \<^verbatim>\<open>-T\<close> loads a specified theory file. This is a wrapper for \<^verbatim>\<open>-e\<close> with |
354 a suitable \<^ML>\<open>use_thy\<close> invocation. |
354 a suitable \<^ML>\<open>use_thy\<close> invocation. |
355 |
355 |