prefer explicit 32/64 bit platform settings;
authorwenzelm
Thu Apr 19 12:34:52 2018 +0200 (21 months ago ago)
changeset 680049b89d831dc80
parent 68003 13d5b2fc9b02
child 68005 bb3e72f94add
child 68007 9e8214deed3e
prefer explicit 32/64 bit platform settings;
NEWS
src/Doc/System/Environment.thy
     1.1 --- a/NEWS	Thu Apr 19 12:02:59 2018 +0200
     1.2 +++ b/NEWS	Thu Apr 19 12:34:52 2018 +0200
     1.3 @@ -308,6 +308,20 @@
     1.4  been renamed to ISABELLE_TOOL_JAVA_OPTIONS and JEDIT_JAVA_OPTIONS,
     1.5  instead of former 32/64 variants. INCOMPATIBILITY.
     1.6  
     1.7 +* Old settings ISABELLE_PLATFORM and ISABELLE_WINDOWS_PLATFORM should be
     1.8 +phased out due to unclear preference of 32bit vs. 64bit architecture.
     1.9 +Explicit GNU bash expressions are now preferred, for example (with
    1.10 +quotes):
    1.11 +
    1.12 +  #Posix executables (Unix or Cygwin), with preference for 64bit
    1.13 +  "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"
    1.14 +
    1.15 +  #native Windows or Unix executables, with preference for 64bit
    1.16 +  "${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"
    1.17 +
    1.18 +  #native Windows (32bit) or Unix executables (preference for 64bit)
    1.19 +  "${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}"
    1.20 +
    1.21  * Command-line tool "isabelle build" supports new options:
    1.22    - option -B NAME: include session NAME and all descendants
    1.23    - option -S: only observe changes of sources, not heap images
     2.1 --- a/src/Doc/System/Environment.thy	Thu Apr 19 12:02:59 2018 +0200
     2.2 +++ b/src/Doc/System/Environment.thy	Thu Apr 19 12:34:52 2018 +0200
     2.3 @@ -118,38 +118,37 @@
     2.4    \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\<open>\<^sup>*\<close>] is automatically set to the
     2.5    general platform family: \<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>macos\<close>, \<^verbatim>\<open>windows\<close>. Note that
     2.6    platform-dependent tools usually need to refer to the more specific
     2.7 -  identification according to @{setting ISABELLE_PLATFORM} etc.
     2.8 +  identification according to @{setting ISABELLE_PLATFORM64}, @{setting
     2.9 +  ISABELLE_PLATFORM32}, @{setting ISABELLE_WINDOWS_PLATFORM64}, @{setting
    2.10 +  ISABELLE_WINDOWS_PLATFORM32}.
    2.11  
    2.12 -  \<^descr>[@{setting_def ISABELLE_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
    2.13 -  ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] indicate the
    2.14 -  standard Posix platform: \<^verbatim>\<open>x86\<close> for 32 bit and \<^verbatim>\<open>x86_64\<close> for 64 bit,
    2.15 -  together with a symbolic name for the operating system (\<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>darwin\<close>,
    2.16 -  \<^verbatim>\<open>cygwin\<close>). Some platforms support both 32 bit and 64 bit executables, but
    2.17 -  this depends on various side-conditions.
    2.18 +  \<^descr>[@{setting_def ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def
    2.19 +  ISABELLE_PLATFORM32}\<open>\<^sup>*\<close>] indicate the standard Posix platform: \<^verbatim>\<open>x86_64\<close>
    2.20 +  for 64 bit and \<^verbatim>\<open>x86\<close> for 32 bit, together with a symbolic name for the
    2.21 +  operating system (\<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>darwin\<close>, \<^verbatim>\<open>cygwin\<close>). All platforms support 64
    2.22 +  bit executables, some platforms also support 32 bit executables.
    2.23  
    2.24 -  In GNU bash scripts, it is possible to use the following expressions
    2.25 -  (including the quotes) to specify a preference of 64 bit over 32 bit:
    2.26 +  In GNU bash scripts, it is possible to use the following expressions (with
    2.27 +  quotes) to specify a preference of 64 bit over 32 bit:
    2.28  
    2.29    @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\<close>}
    2.30  
    2.31 -  In contrast, the subsequent expression prefers the 32 bit variant; this is
    2.32 -  how @{setting ISABELLE_PLATFORM} is defined:
    2.33 +  In contrast, the subsequent expression prefers the old 32 bit variant (which
    2.34 +  is only relevant for unusual applications):
    2.35  
    2.36    @{verbatim [display] \<open>"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\<close>}
    2.37  
    2.38 -  \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
    2.39 -  ISABELLE_WINDOWS_PLATFORM64}\<open>\<^sup>*\<close>,] @{setting_def
    2.40 -  ISABELLE_WINDOWS_PLATFORM}\<open>\<^sup>*\<close> indicate the native Windows platform. These
    2.41 -  settings are analogous (but independent) of those for the standard Posix
    2.42 -  subsystem: @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64},
    2.43 -  @{setting ISABELLE_PLATFORM}.
    2.44 +  \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def
    2.45 +  ISABELLE_WINDOWS_PLATFORM32}\<open>\<^sup>*\<close>] indicate the native Windows platform.
    2.46 +  These settings are analogous (but independent) of those for the standard
    2.47 +  Posix subsystem: @{setting ISABELLE_PLATFORM64}, @{setting
    2.48 +  ISABELLE_PLATFORM32}.
    2.49  
    2.50    In GNU bash scripts, a preference for native Windows platform variants may
    2.51 -  be specified like this:
    2.52 +  be specified like this (first 64 bit, second 32 bit):
    2.53  
    2.54 -  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}"\<close>}
    2.55 -
    2.56 -  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\<close>}
    2.57 +  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-
    2.58 +  ${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\<close>}
    2.59  
    2.60    \<^descr>[@{setting ISABELLE_TOOL}\<open>\<^sup>*\<close>] is automatically set to the full path name
    2.61    of the @{executable isabelle} executable.