67 environment is built as follows: |
67 environment is built as follows: |
68 |
68 |
69 \begin{enumerate} |
69 \begin{enumerate} |
70 \item The special variable \settdx{ISABELLE_HOME} is determined |
70 \item The special variable \settdx{ISABELLE_HOME} is determined |
71 automatically from the location of the binary that has been run. |
71 automatically from the location of the binary that has been run. |
72 |
72 |
73 You should not try to set \texttt{ISABELLE_HOME} manually. Also note |
73 You should not try to set \texttt{ISABELLE_HOME} manually. Also note |
74 that the Isabelle executables have to be run from their original |
74 that the Isabelle executables have to be run from their original |
75 location in the distribution directory --- copying or linking them |
75 location in the distribution directory --- copying or linking them |
76 somewhere else just won't work! |
76 somewhere else just won't work! |
77 |
77 |
78 \item The file \texttt{\$ISABELLE_HOME/etc/settings} ist run as a |
78 \item The file \texttt{\$ISABELLE_HOME/etc/settings} ist run as a |
79 shell script with the auto-export option for variables enabled. |
79 shell script with the auto-export option for variables enabled. |
80 |
80 |
81 This file typically contains a rather long list of shell variable |
81 This file typically contains a rather long list of shell variable |
82 assigments, thus providing the site-wide default settings. The |
82 assigments, thus providing the site-wide default settings. The |
83 Isabelle distribution already contains a global settings file with |
83 Isabelle distribution already contains a global settings file with |
84 sensible defaults for most variables. When installing the system, |
84 sensible defaults for most variables. When installing the system, |
85 only a few of these have to be adapted (most likely |
85 only a few of these have to be adapted (most likely |
86 \texttt{ML_SYSTEM} etc.). |
86 \texttt{ML_SYSTEM} etc.). |
87 |
87 |
88 \item The file \texttt{\$ISABELLE_HOME_USER/etc/settings} (if it |
88 \item The file \texttt{\$ISABELLE_HOME_USER/etc/settings} (if it |
89 exists) is run the same way as the site default settings. The |
89 exists) is run the same way as the site default settings. The |
90 variable \texttt{ISABELLE_HOME_USER} has already been set before --- |
90 variable \texttt{ISABELLE_HOME_USER} has already been set before --- |
91 usually to \texttt{\~\relax/isabelle}. |
91 usually to \texttt{\~\relax/isabelle}. |
92 |
92 |
93 Thus individual users may override the site-wide defaults. See also |
93 Thus individual users may override the site-wide defaults. See also |
94 file \texttt{etc/user-settings.sample} in the distribution. |
94 file \texttt{etc/user-settings.sample} in the distribution. |
95 Typically, a user settings file would contain only a few lines, just |
95 Typically, a user settings file would contain only a few lines, just |
96 the assigments that are really needed. One should definitely |
96 the assigments that are really needed. One should definitely |
97 \emph{not} start with a full copy the central |
97 \emph{not} start with a full copy the central |
135 \begin{description} |
135 \begin{description} |
136 \item[\settdx{ISABELLE_HOME}*] is the location of the top-level |
136 \item[\settdx{ISABELLE_HOME}*] is the location of the top-level |
137 Isabelle distribution directory. This is automatically determined |
137 Isabelle distribution directory. This is automatically determined |
138 from the Isabelle executable that has been invoked. Do not try to |
138 from the Isabelle executable that has been invoked. Do not try to |
139 set \texttt{ISABELLE_HOME} yourself from the shell. |
139 set \texttt{ISABELLE_HOME} yourself from the shell. |
140 |
140 |
141 \item[\settdx{ISABELLE_HOME_USER}] is the user-specific counterpart of |
141 \item[\settdx{ISABELLE_HOME_USER}] is the user-specific counterpart of |
142 \texttt{ISABELLE_HOME}. The default value is |
142 \texttt{ISABELLE_HOME}. The default value is |
143 \texttt{\~\relax/isabelle}, under rare circumstances this may be |
143 \texttt{\~\relax/isabelle}, under rare circumstances this may be |
144 changed in the global setting file. Typically, the |
144 changed in the global setting file. Typically, the |
145 \texttt{ISABELLE_HOME_USER} directory mimics \texttt{ISABELLE_HOME} |
145 \texttt{ISABELLE_HOME_USER} directory mimics \texttt{ISABELLE_HOME} |
146 to some extend. In particular, site-wide defaults may be overridden |
146 to some extend. In particular, site-wide defaults may be overridden |
147 by a private \texttt{etc/settings}. |
147 by a private \texttt{etc/settings}. |
148 |
148 |
149 \item[\settdx{ISABELLE}*, \settdx{ISATOOL}*] are automatically set to |
149 \item[\settdx{ISABELLE}*, \settdx{ISATOOL}*] are automatically set to |
150 the full paths of the \texttt{isabelle} and \texttt{isatool} |
150 the full paths of the \texttt{isabelle} and \texttt{isatool} |
151 executables, respectively. Thus other tools and scripts need not |
151 executables, respectively. Thus other tools and scripts need not |
152 assume that the Isabelle \texttt{bin} directory is on the current |
152 assume that the Isabelle \texttt{bin} directory is on the current |
153 search path of the shell. |
153 search path of the shell. |
154 |
|
155 \item[\settdx{ML_SYSTEM}, \settdx{ML_HOME}, \settdx{ML_OPTIONS}] |
|
156 specify the underlying {\ML} system to be used for Isabelle. The |
|
157 choice of \texttt{ML_SYSTEM} identifiers is quite fixed, see the |
|
158 global \texttt{etc/settings} file for some examples. The actual |
|
159 compiler binary will be run from directory \texttt{ML_HOME}, with |
|
160 \texttt{ML_OPTIONS} as first arguments on the command line. |
|
161 |
154 |
|
155 \item[\settdx{ML_SYSTEM}, \settdx{ML_HOME}, \settdx{ML_OPTIONS}, |
|
156 \settdx{ML_PLATFORM}] specify the underlying {\ML} system to be used for |
|
157 Isabelle. The choice of \texttt{ML_SYSTEM} identifiers is quite fixed, see |
|
158 the global \texttt{etc/settings} file for some examples. The actual compiler |
|
159 binary will be run from directory \texttt{ML_HOME}, with \texttt{ML_OPTIONS} |
|
160 as first arguments on the command line. The optional \texttt{ML_PLATFORM} |
|
161 specifies the binary format of ML heap images, which is useful for |
|
162 cross-platform installations. |
|
163 |
162 \item[\settdx{ISABELLE_PATH}*] is a list of directories (separated by |
164 \item[\settdx{ISABELLE_PATH}*] is a list of directories (separated by |
163 colons) where Isabelle logic images may reside. Note that the |
165 colons) where Isabelle logic images may reside. Note that the |
164 \texttt{ML_SYSTEM} identifier is appended to each component |
166 \texttt{ML_SYSTEM} identifier is appended to each component |
165 automatically. |
167 automatically. |
166 |
168 |
167 \item[\settdx{ISABELLE_OUTPUT}*] is a directory where output heap |
169 \item[\settdx{ISABELLE_OUTPUT}*] is a directory where output heap |
168 files should be stored by default. The \texttt{ML_SYSTEM} identifier |
170 files should be stored by default. The \texttt{ML_SYSTEM} identifier |
169 is appended here, too. |
171 is appended here, too. |
170 |
172 |
171 \item[\settdx{ISABELLE_BROWSER_INFO}] is the directory where theory |
173 \item[\settdx{ISABELLE_BROWSER_INFO}] is the directory where theory |
172 browser information (HTML and graph data) is stored (see also |
174 browser information (HTML and graph data) is stored (see also |
173 \S\ref{sec:info}). The default value is |
175 \S\ref{sec:info}). The default value is |
174 \texttt{\$ISABELLE_HOME_USER/browser_info}. |
176 \texttt{\$ISABELLE_HOME_USER/browser_info}. |
175 |
177 |
176 \item[\settdx{ISABELLE_LOGIC}] specifies the default logic to load if |
178 \item[\settdx{ISABELLE_LOGIC}] specifies the default logic to load if |
177 none is given explicitely by the user --- e.g.\ when running |
179 none is given explicitely by the user --- e.g.\ when running |
178 \texttt{isabelle} directly, or some user interface. |
180 \texttt{isabelle} directly, or some user interface. |
179 |
181 |
180 \item[\settdx{ISABELLE_USEDIR_OPTIONS}] is implicitly prefixed to the |
182 \item[\settdx{ISABELLE_USEDIR_OPTIONS}] is implicitly prefixed to the |
181 command line of any \texttt{isatool usedir} invocation (see also |
183 command line of any \texttt{isatool usedir} invocation (see also |
182 \S\ref{sec:tool-usedir}). This typically contains compilation |
184 \S\ref{sec:tool-usedir}). This typically contains compilation |
183 options for object-logics --- \texttt{usedir} is the basic utility |
185 options for object-logics --- \texttt{usedir} is the basic utility |
184 that builds them (cf.\ the \texttt{IsaMakefile}s in the |
186 that builds them (cf.\ the \texttt{IsaMakefile}s in the |
188 directories that are scanned by \texttt{isatool} for utility |
190 directories that are scanned by \texttt{isatool} for utility |
189 programs (see also \S\ref{sec:isatool}). |
191 programs (see also \S\ref{sec:isatool}). |
190 |
192 |
191 \item[\settdx{ISABELLE_DOCS}] is a colon separated list of directories |
193 \item[\settdx{ISABELLE_DOCS}] is a colon separated list of directories |
192 with documentation files. |
194 with documentation files. |
193 |
195 |
194 \item[\settdx{DVI_VIEWER}] specifies the command to be used for |
196 \item[\settdx{DVI_VIEWER}] specifies the command to be used for |
195 displaying \texttt{dvi} files. |
197 displaying \texttt{dvi} files. |
196 |
198 |
197 \item[\settdx{ISABELLE_INSTALL_FONTS}] determines the way that the |
199 \item[\settdx{ISABELLE_INSTALL_FONTS}] determines the way that the |
198 Isabelle symbol fonts are installed into your currently running X11 |
200 Isabelle symbol fonts are installed into your currently running X11 |
199 display server. X11 fonts are a non-trivial issue, see |
201 display server. X11 fonts are a non-trivial issue, see |
200 \S\ref{sec:tool-installfonts} for more information. |
202 \S\ref{sec:tool-installfonts} for more information. |
201 |
203 |
202 \item[\settdx{ISABELLE_TMP_PREFIX}] is the prefix from which any |
204 \item[\settdx{ISABELLE_TMP_PREFIX}] is the prefix from which any |
203 \texttt{isabelle} session derives an individual directory for |
205 \texttt{isabelle} session derives an individual directory for |
204 temporary files. The default is somewhere in \texttt{/tmp}. |
206 temporary files. The default is somewhere in \texttt{/tmp}. |
205 |
207 |
206 \item[\settdx{ISABELLE_INTERFACE}] is an identifier that specifies the |
208 \item[\settdx{ISABELLE_INTERFACE}] is an identifier that specifies the |
207 actual user interface that the capital \texttt{Isabelle} should |
209 actual user interface that the capital \texttt{Isabelle} should |
208 invoke. Currently available are \texttt{none}, \texttt{xterm} and |
210 invoke. Currently available are \texttt{none}, \texttt{xterm} and |
209 \texttt{emacs}. See \S\ref{sec:interface} for more details. |
211 \texttt{emacs}. See \S\ref{sec:interface} for more details. |
210 |
212 |
360 to actually start is determined by the \settdx{ISABELLE_INTERFACE} |
362 to actually start is determined by the \settdx{ISABELLE_INTERFACE} |
361 setting variable. Currently, the following are recognized: |
363 setting variable. Currently, the following are recognized: |
362 \begin{ttdescription} |
364 \begin{ttdescription} |
363 \item[none] is just a pass-through to \texttt{isabelle}. Thus |
365 \item[none] is just a pass-through to \texttt{isabelle}. Thus |
364 \texttt{Isabelle} basically becomes an alias for \texttt{isabelle}. |
366 \texttt{Isabelle} basically becomes an alias for \texttt{isabelle}. |
365 |
367 |
366 \item[xterm] refers to a simple xterm based interface which is part of |
368 \item[xterm] refers to a simple xterm based interface which is part of |
367 the Isabelle distribution. |
369 the Isabelle distribution. |
368 |
370 |
369 \item[emacs] refers to David Aspinall's \emph{Isamode} for emacs. |
371 \item[emacs] refers to David Aspinall's \emph{Isamode} for emacs. |
370 Isabelle just provides a wrapper for this, the actual Isamode |
372 Isabelle just provides a wrapper for this, the actual Isamode |
371 distribution is available elsewhere. |
373 distribution is available elsewhere. |
372 \end{ttdescription} |
374 \end{ttdescription} |
373 |
375 |