doc-src/System/basics.tex
changeset 6412 9309bc455432
parent 5814 a3881c1f1d3c
child 6414 d1bbea22217b
equal deleted inserted replaced
6411:07e95e4cfefe 6412:9309bc455432
    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
   111 \medskip A few variables are somewhat special:
   111 \medskip A few variables are somewhat special:
   112 \begin{itemize}
   112 \begin{itemize}
   113 \item \settdx{ISABELLE} and \settdx{ISATOOL} are set automatically to
   113 \item \settdx{ISABELLE} and \settdx{ISATOOL} are set automatically to
   114   the absolute path names of the \texttt{isabelle} and
   114   the absolute path names of the \texttt{isabelle} and
   115   \texttt{isatool} executables, respectively.
   115   \texttt{isatool} executables, respectively.
   116   
   116 
   117 \item \settdx{ISABELLE_PATH} and \settdx{ISABELLE_OUTPUT} will have
   117 \item \settdx{ISABELLE_PATH} and \settdx{ISABELLE_OUTPUT} will have
   118   the {\ML} system identifier (as specified by \texttt{ML_SYSTEM})
   118   the {\ML} system identifier (as specified by \texttt{ML_SYSTEM})
   119   automatically appended to their values.
   119   automatically appended to their values.
   120 \end{itemize}
   120 \end{itemize}
   121 
   121 
   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 
   381 
   383 
   382 There are some more options available.  Just pass \texttt{-?} to the
   384 There are some more options available.  Just pass \texttt{-?} to the
   383 \texttt{xterm} interface to have its usage printed.
   385 \texttt{xterm} interface to have its usage printed.
   384 
   386 
   385 
   387 
   386 %%% Local Variables: 
   388 %%% Local Variables:
   387 %%% mode: latex
   389 %%% mode: latex
   388 %%% TeX-master: "system"
   390 %%% TeX-master: "system"
   389 %%% End: 
   391 %%% End: