lib/scripts/polyml-platform
author wenzelm
Thu, 04 Jun 2009 17:31:38 +0200
changeset 31427 5a07cc86675d
parent 29145 b1c6f4563df7
child 36201 07d4f74abd12
permissions -rwxr-xr-x
reraise exceptions to preserve original position (ML system specific);
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16994
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     1
#!/usr/bin/env bash
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     2
#
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     3
# polyml-platform --- determine Poly/ML's idea of current hardware and
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     4
# operating system type
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     5
#
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     6
# NOTE: platform identifiers should be kept as generic as possible,
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     7
# i.e. shared by compatible environments.
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     8
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
     9
PLATFORM="unknown-platform"
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    10
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    11
case $(uname -s) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    12
  SunOS)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    13
    case $(uname -r) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    14
      5.*)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    15
        case $(uname -p) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    16
          sparc)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    17
            PLATFORM=sparc-solaris
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    18
            ;;
24474
33da394f0888 added x86-solaris;
wenzelm
parents: 21446
diff changeset
    19
          i?86)
33da394f0888 added x86-solaris;
wenzelm
parents: 21446
diff changeset
    20
            PLATFORM=x86-solaris
33da394f0888 added x86-solaris;
wenzelm
parents: 21446
diff changeset
    21
            ;;
16994
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    22
        esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    23
        ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    24
    esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    25
    ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    26
  Linux)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    27
    case $(uname -m) in
25348
510b46987886 x86_64: fall back on x86 (more efficient);
wenzelm
parents: 24474
diff changeset
    28
      i?86 | x86_64)
16994
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    29
        PLATFORM=x86-linux
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    30
        ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    31
      Power* | power* | ppc)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    32
        PLATFORM=ppc-linux
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    33
        ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    34
    esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    35
    ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    36
  FreeBSD|NetBSD)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    37
    case $(uname -m) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    38
      i?86)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    39
        PLATFORM=x86-bsd
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    40
        ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    41
    esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    42
    ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    43
  Darwin)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    44
    case $(uname -m) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    45
      Power* | power* | ppc)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    46
        PLATFORM=ppc-darwin
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    47
        ;;
20991
bb6f570512b5 added x86-darwin;
wenzelm
parents: 16994
diff changeset
    48
      i?86)
bb6f570512b5 added x86-darwin;
wenzelm
parents: 16994
diff changeset
    49
        PLATFORM=x86-darwin
bb6f570512b5 added x86-darwin;
wenzelm
parents: 16994
diff changeset
    50
        ;;
16994
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    51
    esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    52
    ;;
21279
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    53
  CYGWIN_NT*)
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    54
    case $(uname -m) in
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    55
      i?86)
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    56
        PLATFORM=x86-cygwin
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    57
        ;;
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    58
    esac
2cb5f1621bcf added x86-cygwin;
wenzelm
parents: 20991
diff changeset
    59
    ;;
16994
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    60
  Windows_NT)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    61
    case $(uname -m) in
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    62
      ?86)
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    63
        PLATFORM=x86-win32
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    64
        ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    65
    esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    66
    ;;
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    67
esac
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    68
a69d0496a724 determine Poly/ML's idea of current hardware and operating system type;
wenzelm
parents:
diff changeset
    69
echo "$PLATFORM"