lib/scripts/isabelle-platform
author wenzelm
Thu, 12 Sep 2013 13:23:54 +0200
changeset 53576 793a429c63e7
parent 50182 30177ec0be36
child 62879 4764473c9b8d
permissions -rw-r--r--
maintain classpath in more elementary manner: turn ISABELLE_CLASSPATH into -classpath option, so that all jars are covered by sun.misc.Launcher.AppClassLoader (e.g. relevant for loading add-on resources); ignore $ISABELLE_JAVA_EXT -- do not change java.ext.dirs;

# -*- shell-script -*- :mode=shellscript:
#
# determine general hardware and operating system type for Isabelle
#
# NOTE: The ML system or JVM may have their own idea about the platform!

ISABELLE_PLATFORM_FAMILY=""
ISABELLE_PLATFORM32=""
ISABELLE_PLATFORM64=""

case $(uname -s) in
  Linux)
    ISABELLE_PLATFORM_FAMILY="linux"
    case $(uname -m) in
      i?86)
        ISABELLE_PLATFORM32=x86-linux
        ;;
      x86_64)
        ISABELLE_PLATFORM32=x86-linux
        ISABELLE_PLATFORM64=x86_64-linux
        ;;
    esac
    ;;
  Darwin)
    ISABELLE_PLATFORM_FAMILY="macos"
    case $(uname -m) in
      i?86)
        ISABELLE_PLATFORM32=x86-darwin
        if [ "$(sysctl -n hw.optional.x86_64 2>/dev/null)" = 1 ]; then
          ISABELLE_PLATFORM64=x86_64-darwin
        fi
        ;;
      x86_64)
        ISABELLE_PLATFORM32=x86-darwin
        ISABELLE_PLATFORM64=x86_64-darwin
        ;;
    esac
    ;;
  CYGWIN_NT*)
    ISABELLE_PLATFORM_FAMILY="windows"
    case $(uname -m) in
      i?86 | x86_64)
        ISABELLE_PLATFORM32=x86-cygwin
        ;;
    esac
    ;;
  *BSD)
    ISABELLE_PLATFORM_FAMILY="linux"
    case $(uname -m) in
      i?86 | x86_64)
        ISABELLE_PLATFORM32=x86-linux  #cf. BSD Linux Binary Compatibility
        ;;
    esac
    ;;
esac

ISABELLE_PLATFORM="$ISABELLE_PLATFORM32"