added ISABELLE_PLATFORM_FAMILY;
authorwenzelm
Sat Nov 24 12:39:58 2012 +0100 (2012-11-24)
changeset 5018230177ec0be36
parent 50181 bc3c4c89d5c9
child 50183 2b3e24e1c9e7
added ISABELLE_PLATFORM_FAMILY;
NEWS
lib/scripts/isabelle-platform
src/Doc/System/Basics.thy
     1.1 --- a/NEWS	Fri Nov 23 23:07:58 2012 +0100
     1.2 +++ b/NEWS	Sat Nov 24 12:39:58 2012 +0100
     1.3 @@ -350,6 +350,9 @@
     1.4  settings manually, or use a Proof General version that has been
     1.5  bundled as Isabelle component.
     1.6  
     1.7 +* Settings variable ISABELLE_PLATFORM_FAMILY refers to the general
     1.8 +platform family: "linux", "macos", "windows".
     1.9 +
    1.10  
    1.11  New in Isabelle2012 (May 2012)
    1.12  ------------------------------
     2.1 --- a/lib/scripts/isabelle-platform	Fri Nov 23 23:07:58 2012 +0100
     2.2 +++ b/lib/scripts/isabelle-platform	Sat Nov 24 12:39:58 2012 +0100
     2.3 @@ -4,11 +4,13 @@
     2.4  #
     2.5  # NOTE: The ML system or JVM may have their own idea about the platform!
     2.6  
     2.7 +ISABELLE_PLATFORM_FAMILY=""
     2.8  ISABELLE_PLATFORM32=""
     2.9  ISABELLE_PLATFORM64=""
    2.10  
    2.11  case $(uname -s) in
    2.12    Linux)
    2.13 +    ISABELLE_PLATFORM_FAMILY="linux"
    2.14      case $(uname -m) in
    2.15        i?86)
    2.16          ISABELLE_PLATFORM32=x86-linux
    2.17 @@ -20,6 +22,7 @@
    2.18      esac
    2.19      ;;
    2.20    Darwin)
    2.21 +    ISABELLE_PLATFORM_FAMILY="macos"
    2.22      case $(uname -m) in
    2.23        i?86)
    2.24          ISABELLE_PLATFORM32=x86-darwin
    2.25 @@ -34,6 +37,7 @@
    2.26      esac
    2.27      ;;
    2.28    CYGWIN_NT*)
    2.29 +    ISABELLE_PLATFORM_FAMILY="windows"
    2.30      case $(uname -m) in
    2.31        i?86 | x86_64)
    2.32          ISABELLE_PLATFORM32=x86-cygwin
    2.33 @@ -41,6 +45,7 @@
    2.34      esac
    2.35      ;;
    2.36    *BSD)
    2.37 +    ISABELLE_PLATFORM_FAMILY="linux"
    2.38      case $(uname -m) in
    2.39        i?86 | x86_64)
    2.40          ISABELLE_PLATFORM32=x86-linux  #cf. BSD Linux Binary Compatibility
     3.1 --- a/src/Doc/System/Basics.thy	Fri Nov 23 23:07:58 2012 +0100
     3.2 +++ b/src/Doc/System/Basics.thy	Sat Nov 24 12:39:58 2012 +0100
     3.3 @@ -172,7 +172,14 @@
     3.4    @{setting ISABELLE_HOME} to some extend. In particular, site-wide
     3.5    defaults may be overridden by a private @{verbatim
     3.6    "$ISABELLE_HOME_USER/etc/settings"}.
     3.7 -  
     3.8 +
     3.9 +  \item[@{setting_def ISABELLE_PLATFORM_FAMILY}@{text "\<^sup>*"}] is
    3.10 +  automatically set to the general platform family: @{verbatim linux},
    3.11 +  @{verbatim macos}, @{verbatim windows}.  Note that
    3.12 +  platform-dependent tools usually need to refer to the more specific
    3.13 +  identification according to @{setting ISABELLE_PLATFORM}, @{setting
    3.14 +  ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}.
    3.15 +
    3.16    \item[@{setting_def ISABELLE_PLATFORM}@{text "\<^sup>*"}] is automatically
    3.17    set to a symbolic identifier for the underlying hardware and
    3.18    operating system.  The Isabelle platform identification always