lib/scripts/isabelle-platform
author wenzelm
Wed, 31 Jan 2024 12:43:06 +0100
changeset 79556 0631dfc0db07
parent 73671 7404f2e1d092
child 79994 9b532f064649
permissions -rw-r--r--
more robust check of ISABELLE_PLATFORM_FAMILY within settings environment, to support its reunification with Isabelle/Scala (see also a33a6e541cbb, f3a356c64193);

# -*- shell-script -*- :mode=shellscript:
#
# determine general hardware and operating system type for Isabelle system tools
#

ISABELLE_PLATFORM_FAMILY=""
ISABELLE_PLATFORM64=""
ISABELLE_APPLE_PLATFORM64=""
ISABELLE_WINDOWS_PLATFORM32=""
ISABELLE_WINDOWS_PLATFORM64=""

case $(uname -s) in
  Linux)
    ISABELLE_PLATFORM_FAMILY="linux"
    case $(uname -m) in
      aarch64)
        ISABELLE_PLATFORM64=arm64-linux
        ;;
      *)
        ISABELLE_PLATFORM64=x86_64-linux
        ;;
    esac
    ;;
  Darwin)
    ISABELLE_PLATFORM_FAMILY="macos"
    case $(sw_vers -productVersion) in
      10.10*|10.11*|10.12*|10.13*|10.14*)
        ISABELLE_PLATFORM64=x86_64-darwin
        ;;
      *)
        ISABELLE_PLATFORM64=x86_64-darwin
        case $(uname -a) in
          *arm64*|*ARM64*)
            ISABELLE_APPLE_PLATFORM64=arm64-darwin
            ;;
          *)
            ;;
        esac
        ;;
    esac
    ;;
  CYGWIN_NT*)
    ISABELLE_PLATFORM_FAMILY="windows"
    ISABELLE_WINDOWS_PLATFORM32="x86-windows"
    ISABELLE_WINDOWS_PLATFORM64="x86_64-windows"
    case $(uname -m) in
      x86_64)
        ISABELLE_PLATFORM64=x86_64-cygwin
        ;;
    esac
    ;;
esac