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. |
155 of the @{executable isabelle} executable. |
140 |
156 |
141 \<^descr>[@{setting_def ISABELLE_IDENTIFIER}\<open>\<^sup>*\<close>] refers to the name of this |
157 \<^descr>[@{setting_def ISABELLE_IDENTIFIER}\<open>\<^sup>*\<close>] refers to the name of this |
153 images, which is useful for cross-platform installations. The value of |
169 images, which is useful for cross-platform installations. The value of |
154 @{setting ML_IDENTIFIER} is automatically obtained by composing the values |
170 @{setting ML_IDENTIFIER} is automatically obtained by composing the values |
155 of @{setting ML_SYSTEM}, @{setting ML_PLATFORM} and the Isabelle version |
171 of @{setting ML_SYSTEM}, @{setting ML_PLATFORM} and the Isabelle version |
156 values. |
172 values. |
157 |
173 |
158 \<^descr>[@{setting_def ISABELLE_JDK_HOME}] needs to point to a full JDK (Java |
174 \<^descr>[@{setting_def ISABELLE_JDK_HOME}] points to a full JDK (Java Development |
159 Development Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. This is |
175 Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. Note that |
160 essential for Isabelle/Scala and other JVM-based tools to work properly. |
176 conventional \<^verbatim>\<open>JAVA_HOME\<close> points to the JRE (Java Runtime Environment), not |
161 Note that conventional \<^verbatim>\<open>JAVA_HOME\<close> usually points to the JRE (Java Runtime |
177 the JDK. |
162 Environment), not JDK. |
178 |
|
179 \<^descr>[@{setting_def ISABELLE_JAVA_PLATFORM}] identifies the hardware and |
|
180 operating system platform for the Java installation of Isabelle. That is |
|
181 usually the (native) 64 bit variant: \<^verbatim>\<open>x86_64-linux\<close>, \<^verbatim>\<open>x86_64-darwin\<close>, |
|
182 \<^verbatim>\<open>x86_64-windows\<close>. |
163 |
183 |
164 \<^descr>[@{setting_def ISABELLE_PATH}] is a list of directories (separated by |
184 \<^descr>[@{setting_def ISABELLE_PATH}] is a list of directories (separated by |
165 colons) where Isabelle logic images may reside. When looking up heaps files, |
185 colons) where Isabelle logic images may reside. When looking up heaps files, |
166 the value of @{setting ML_IDENTIFIER} is appended to each component |
186 the value of @{setting ML_IDENTIFIER} is appended to each component |
167 internally. |
187 internally. |