116 defaults may be overridden by a private \<^verbatim>\<open>$ISABELLE_HOME_USER/etc/settings\<close>. |
116 defaults may be overridden by a private \<^verbatim>\<open>$ISABELLE_HOME_USER/etc/settings\<close>. |
117 |
117 |
118 \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\<open>\<^sup>*\<close>] is automatically set to the |
118 \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\<open>\<^sup>*\<close>] is automatically set to the |
119 general platform family: \<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>macos\<close>, \<^verbatim>\<open>windows\<close>. Note that |
119 general platform family: \<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>macos\<close>, \<^verbatim>\<open>windows\<close>. Note that |
120 platform-dependent tools usually need to refer to the more specific |
120 platform-dependent tools usually need to refer to the more specific |
121 identification according to @{setting ISABELLE_PLATFORM}, @{setting |
121 identification according to @{setting ISABELLE_PLATFORM} etc. |
122 ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}. |
122 |
123 |
123 \<^descr>[@{setting_def ISABELLE_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def |
124 \<^descr>[@{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] is automatically set to a symbolic |
124 ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] indicate the |
125 identifier for the underlying hardware and operating system. The Isabelle |
125 standard Posix platform: \<^verbatim>\<open>x86\<close> for 32 bit and \<^verbatim>\<open>x86_64\<close> for 64 bit, |
126 platform identification always refers to the 32 bit variant, even this is a |
126 together with a symbolic name for the operating system (\<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>darwin\<close>, |
127 64 bit machine. Note that the ML or Java runtime may have a different idea, |
127 \<^verbatim>\<open>cygwin\<close>). Some platforms support both 32 bit and 64 bit executables, but |
128 depending on which binaries are actually run. |
128 this depends on various side-conditions. |
129 |
129 |
130 \<^descr>[@{setting_def ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>] is similar to @{setting |
130 In GNU bash scripts, it is possible to use the following expressions |
131 ISABELLE_PLATFORM} but refers to the proper 64 bit variant on a platform |
131 (including the quotes) to specify a preference of 64 bit over 32 bit: |
132 that supports this; the value is empty for 32 bit. Note that the following |
132 |
133 bash expression (including the quotes) prefers the 64 bit platform, if that |
133 @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\<close>} |
134 is available: |
134 |
135 |
135 In contrast, the subsequent expression prefers the 32 bit variant; this is |
136 @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}"\<close>} |
136 how @{setting ISABELLE_PLATFORM} is defined: |
|
137 |
|
138 @{verbatim [display] \<open>"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\<close>} |
|
139 |
|
140 \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def |
|
141 ISABELLE_WINDOWS_PLATFORM64}\<open>\<^sup>*\<close>,] @{setting_def |
|
142 ISABELLE_WINDOWS_PLATFORM}\<open>\<^sup>*\<close> indicate the native Windows platform. These |
|
143 settings are analogous (but independent) of those for the standard Posix |
|
144 subsystem: @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}, |
|
145 @{setting ISABELLE_PLATFORM}. |
|
146 |
|
147 In GNU bash scripts, a preference for native Windows platform variants may |
|
148 be specified like this: |
|
149 |
|
150 @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}"\<close>} |
|
151 |
|
152 @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\<close>} |
137 |
153 |
138 \<^descr>[@{setting ISABELLE_TOOL}\<open>\<^sup>*\<close>] is automatically set to the full path name |
154 \<^descr>[@{setting ISABELLE_TOOL}\<open>\<^sup>*\<close>] is automatically set to the full path name |
139 of the @{executable isabelle} executable. Thus other tools and scripts need |
155 of the @{executable isabelle} executable. Thus other tools and scripts need |
140 not assume that the \<^dir>\<open>$ISABELLE_HOME/bin\<close> directory is on the current |
156 not assume that the \<^dir>\<open>$ISABELLE_HOME/bin\<close> directory is on the current |
141 search path of the shell. |
157 search path of the shell. |