# HG changeset patch # User wenzelm # Date 1524134092 -7200 # Node ID 9b89d831dc805a94aef8b5d94abcba92085ded71 # Parent 13d5b2fc9b028648e607be5b756c721cd162c819 prefer explicit 32/64 bit platform settings; diff -r 13d5b2fc9b02 -r 9b89d831dc80 NEWS --- a/NEWS Thu Apr 19 12:02:59 2018 +0200 +++ b/NEWS Thu Apr 19 12:34:52 2018 +0200 @@ -308,6 +308,20 @@ been renamed to ISABELLE_TOOL_JAVA_OPTIONS and JEDIT_JAVA_OPTIONS, instead of former 32/64 variants. INCOMPATIBILITY. +* Old settings ISABELLE_PLATFORM and ISABELLE_WINDOWS_PLATFORM should be +phased out due to unclear preference of 32bit vs. 64bit architecture. +Explicit GNU bash expressions are now preferred, for example (with +quotes): + + #Posix executables (Unix or Cygwin), with preference for 64bit + "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}" + + #native Windows or Unix executables, with preference for 64bit + "${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}" + + #native Windows (32bit) or Unix executables (preference for 64bit) + "${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}" + * Command-line tool "isabelle build" supports new options: - option -B NAME: include session NAME and all descendants - option -S: only observe changes of sources, not heap images diff -r 13d5b2fc9b02 -r 9b89d831dc80 src/Doc/System/Environment.thy --- a/src/Doc/System/Environment.thy Thu Apr 19 12:02:59 2018 +0200 +++ b/src/Doc/System/Environment.thy Thu Apr 19 12:34:52 2018 +0200 @@ -118,38 +118,37 @@ \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\\<^sup>*\] is automatically set to the general platform family: \<^verbatim>\linux\, \<^verbatim>\macos\, \<^verbatim>\windows\. Note that platform-dependent tools usually need to refer to the more specific - identification according to @{setting ISABELLE_PLATFORM} etc. + identification according to @{setting ISABELLE_PLATFORM64}, @{setting + ISABELLE_PLATFORM32}, @{setting ISABELLE_WINDOWS_PLATFORM64}, @{setting + ISABELLE_WINDOWS_PLATFORM32}. - \<^descr>[@{setting_def ISABELLE_PLATFORM32}\\<^sup>*\, @{setting_def - ISABELLE_PLATFORM64}\\<^sup>*\, @{setting_def ISABELLE_PLATFORM}\\<^sup>*\] indicate the - standard Posix platform: \<^verbatim>\x86\ for 32 bit and \<^verbatim>\x86_64\ for 64 bit, - together with a symbolic name for the operating system (\<^verbatim>\linux\, \<^verbatim>\darwin\, - \<^verbatim>\cygwin\). Some platforms support both 32 bit and 64 bit executables, but - this depends on various side-conditions. + \<^descr>[@{setting_def ISABELLE_PLATFORM64}\\<^sup>*\, @{setting_def + ISABELLE_PLATFORM32}\\<^sup>*\] indicate the standard Posix platform: \<^verbatim>\x86_64\ + for 64 bit and \<^verbatim>\x86\ for 32 bit, together with a symbolic name for the + operating system (\<^verbatim>\linux\, \<^verbatim>\darwin\, \<^verbatim>\cygwin\). All platforms support 64 + bit executables, some platforms also support 32 bit executables. - In GNU bash scripts, it is possible to use the following expressions - (including the quotes) to specify a preference of 64 bit over 32 bit: + In GNU bash scripts, it is possible to use the following expressions (with + quotes) to specify a preference of 64 bit over 32 bit: @{verbatim [display] \"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\} - In contrast, the subsequent expression prefers the 32 bit variant; this is - how @{setting ISABELLE_PLATFORM} is defined: + In contrast, the subsequent expression prefers the old 32 bit variant (which + is only relevant for unusual applications): @{verbatim [display] \"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\} - \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM32}\\<^sup>*\, @{setting_def - ISABELLE_WINDOWS_PLATFORM64}\\<^sup>*\,] @{setting_def - ISABELLE_WINDOWS_PLATFORM}\\<^sup>*\ indicate the native Windows platform. These - settings are analogous (but independent) of those for the standard Posix - subsystem: @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}, - @{setting ISABELLE_PLATFORM}. + \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM64}\\<^sup>*\, @{setting_def + ISABELLE_WINDOWS_PLATFORM32}\\<^sup>*\] indicate the native Windows platform. + These settings are analogous (but independent) of those for the standard + Posix subsystem: @{setting ISABELLE_PLATFORM64}, @{setting + ISABELLE_PLATFORM32}. In GNU bash scripts, a preference for native Windows platform variants may - be specified like this: + be specified like this (first 64 bit, second 32 bit): - @{verbatim [display] \"${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}"\} - - @{verbatim [display] \"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\} + @{verbatim [display] \"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:- + ${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\} \<^descr>[@{setting ISABELLE_TOOL}\\<^sup>*\] is automatically set to the full path name of the @{executable isabelle} executable.