lib/scripts/polyml-platform
author wenzelm
Mon, 17 Sep 2007 16:36:45 +0200
changeset 24614 a4b2eb0dd673
parent 24474 33da394f0888
child 25348 510b46987886
permissions -rwxr-xr-x
change print_mode: CRITICAL;

#!/usr/bin/env bash
#
# $Id$
#
# polyml-platform --- determine Poly/ML's idea of current hardware and
# operating system type
#
# NOTE: platform identifiers should be kept as generic as possible,
# i.e. shared by compatible environments.

PLATFORM="unknown-platform"

case $(uname -s) in
  SunOS)
    case $(uname -r) in
      5.*)
        case $(uname -p) in
          sparc)
            PLATFORM=sparc-solaris
            ;;
          i?86)
            PLATFORM=x86-solaris
            ;;
        esac
        ;;
    esac
    ;;
  Linux)
    case $(uname -m) in
      i?86)
        PLATFORM=x86-linux
        ;;
      x86_64)
        PLATFORM=x86_64-linux
        ;;
      Power* | power* | ppc)
        PLATFORM=ppc-linux
        ;;
    esac
    ;;
  FreeBSD|NetBSD)
    case $(uname -m) in
      i?86)
        PLATFORM=x86-bsd
        ;;
    esac
    ;;
  Darwin)
    case $(uname -m) in
      Power* | power* | ppc)
        PLATFORM=ppc-darwin
        ;;
      i?86)
        PLATFORM=x86-darwin
        ;;
    esac
    ;;
  CYGWIN_NT*)
    case $(uname -m) in
      i?86)
        PLATFORM=x86-cygwin
        ;;
    esac
    ;;
  Windows_NT)
    case $(uname -m) in
      ?86)
        PLATFORM=x86-win32
        ;;
    esac
    ;;
esac

echo "$PLATFORM"