Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | #!/usr/bin/env bash |
2 | ||
3 | set -e | |
4 | ||
5 | name=`basename "$0"` | |
6 | dir=`dirname "$0"` | |
7 | bin=`cd "$dir" && pwd` | |
8 | ||
9 | die () { | |
10 | echo >&2 "$1" | |
11 | exit 1 | |
12 | } | |
13 | ||
14 | usage () { | |
15 | die "usage: $name" | |
16 | } | |
17 | ||
18 | case "$#" in | |
19 | 0) | |
20 | ;; | |
21 | *) | |
22 | usage | |
23 | ;; | |
24 | esac | |
25 | ||
26 | uname=`uname` | |
27 | arch= | |
28 | ||
29 | case "$uname" in | |
30 | AIX) | |
31 | HOST_OS='aix' | |
32 | arch=`/usr/sbin/lsattr -a type -F deflt -l proc0` | |
33 | case $arch in | |
34 | POWER) arch=powerpc64 ;; | |
35 | esac | |
36 | ;; | |
37 | CYGWIN*) | |
38 | HOST_OS='cygwin' | |
39 | ;; | |
40 | Darwin) | |
41 | HOST_OS='darwin' | |
42 | ;; | |
43 | *FreeBSD*) | |
44 | HOST_OS='freebsd' | |
45 | ;; | |
46 | GNU) | |
47 | HOST_OS='hurd' | |
48 | ;; | |
49 | HP-UX) | |
50 | HOST_OS='hpux' | |
51 | ;; | |
52 | Linux) | |
53 | HOST_OS='linux' | |
54 | ;; | |
55 | MINGW*) | |
56 | HOST_OS='mingw' | |
57 | ;; | |
58 | NetBSD*) | |
59 | HOST_OS='netbsd' | |
60 | ;; | |
61 | OpenBSD*) | |
62 | HOST_OS='openbsd' | |
63 | ;; | |
64 | SunOS) | |
65 | HOST_OS='solaris' | |
66 | for arch in sparc amd64 i386 `uname -m`; do | |
67 | optisa $arch > /dev/null && break | |
68 | done | |
69 | ;; | |
70 | *) | |
71 | die "Unknown OS $uname." | |
72 | ;; | |
73 | esac | |
74 | ||
75 | if [ -z "$arch" ]; then | |
76 | arch=`uname -m` | |
77 | fi | |
78 | ||
79 | case "$arch" in | |
80 | alpha*) | |
81 | # not certain about this one; no alpha access | |
82 | HOST_ARCH=alpha | |
83 | ;; | |
84 | x86_64*) | |
85 | HOST_ARCH=amd64 | |
86 | ;; | |
87 | i?86_64) | |
88 | HOST_ARCH=amd64 | |
89 | ;; | |
90 | amd64) | |
91 | HOST_ARCH=amd64 | |
92 | ;; | |
93 | arm*) | |
94 | HOST_ARCH=arm | |
95 | ;; | |
96 | aarch64) | |
97 | HOST_ARCH=arm64 | |
98 | ;; | |
99 | parisc*) | |
100 | HOST_ARCH=hppa | |
101 | ;; | |
102 | 9000/*) | |
103 | HOST_ARCH=hppa | |
104 | ;; | |
105 | ia64*) | |
106 | HOST_ARCH=ia64 | |
107 | ;; | |
108 | m68k*) | |
109 | HOST_ARCH=m68k | |
110 | ;; | |
111 | mips*) | |
112 | # big-endian and little-endian detect via headers | |
113 | HOST_ARCH=mips | |
114 | ;; | |
115 | powerpc64) | |
116 | HOST_ARCH=powerpc64 | |
117 | ;; | |
118 | ppc64) | |
119 | HOST_ARCH=powerpc64 | |
120 | ;; | |
121 | powerpc) | |
122 | HOST_ARCH=powerpc | |
123 | ;; | |
124 | ppc*) | |
125 | HOST_ARCH=powerpc | |
126 | ;; | |
127 | Power*) | |
128 | HOST_ARCH=powerpc | |
129 | ;; | |
130 | s390*) | |
131 | HOST_ARCH=s390 | |
132 | ;; | |
133 | sparc*) | |
134 | HOST_ARCH=sparc | |
135 | ;; | |
136 | sun*) | |
137 | HOST_ARCH=sparc | |
138 | ;; | |
139 | i?86*) | |
140 | HOST_ARCH=x86 | |
141 | ;; | |
142 | *) | |
143 | die "Unknown arch $arch." | |
144 | ;; | |
145 | esac | |
146 | ||
147 | echo "HOST_OS=$HOST_OS HOST_ARCH=$HOST_ARCH" |