config.guess revision 1.1.1.5 1 1.1 mrg #! /bin/sh
2 1.1 mrg # Attempt to guess a canonical system name.
3 1.1.1.5 mrg # Copyright 1992-2016 Free Software Foundation, Inc.
4 1.1 mrg
5 1.1.1.5 mrg timestamp='2016-01-01'
6 1.1 mrg
7 1.1 mrg # This file is free software; you can redistribute it and/or modify it
8 1.1 mrg # under the terms of the GNU General Public License as published by
9 1.1.1.2 mrg # the Free Software Foundation; either version 3 of the License, or
10 1.1 mrg # (at your option) any later version.
11 1.1 mrg #
12 1.1 mrg # This program is distributed in the hope that it will be useful, but
13 1.1 mrg # WITHOUT ANY WARRANTY; without even the implied warranty of
14 1.1 mrg # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 1.1 mrg # General Public License for more details.
16 1.1 mrg #
17 1.1 mrg # You should have received a copy of the GNU General Public License
18 1.1.1.2 mrg # along with this program; if not, see <http://www.gnu.org/licenses/>.
19 1.1 mrg #
20 1.1 mrg # As a special exception to the GNU General Public License, if you
21 1.1 mrg # distribute this file as part of a program that contains a
22 1.1 mrg # configuration script generated by Autoconf, you may include it under
23 1.1.1.2 mrg # the same distribution terms that you use for the rest of that
24 1.1.1.2 mrg # program. This Exception is an additional permission under section 7
25 1.1.1.2 mrg # of the GNU General Public License, version 3 ("GPLv3").
26 1.1 mrg #
27 1.1.1.4 mrg # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28 1.1 mrg #
29 1.1 mrg # You can get the latest version of this script from:
30 1.1.1.5 mrg # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31 1.1.1.2 mrg #
32 1.1.1.4 mrg # Please send patches to <config-patches (at] gnu.org>.
33 1.1.1.2 mrg
34 1.1 mrg
35 1.1 mrg me=`echo "$0" | sed -e 's,.*/,,'`
36 1.1 mrg
37 1.1 mrg usage="\
38 1.1 mrg Usage: $0 [OPTION]
39 1.1 mrg
40 1.1 mrg Output the configuration name of the system \`$me' is run on.
41 1.1 mrg
42 1.1 mrg Operation modes:
43 1.1 mrg -h, --help print this help, then exit
44 1.1 mrg -t, --time-stamp print date of last modification, then exit
45 1.1 mrg -v, --version print version number, then exit
46 1.1 mrg
47 1.1 mrg Report bugs and patches to <config-patches (at] gnu.org>."
48 1.1 mrg
49 1.1 mrg version="\
50 1.1 mrg GNU config.guess ($timestamp)
51 1.1 mrg
52 1.1 mrg Originally written by Per Bothner.
53 1.1.1.5 mrg Copyright 1992-2016 Free Software Foundation, Inc.
54 1.1 mrg
55 1.1 mrg This is free software; see the source for copying conditions. There is NO
56 1.1 mrg warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57 1.1 mrg
58 1.1 mrg help="
59 1.1 mrg Try \`$me --help' for more information."
60 1.1 mrg
61 1.1 mrg # Parse command line
62 1.1 mrg while test $# -gt 0 ; do
63 1.1 mrg case $1 in
64 1.1 mrg --time-stamp | --time* | -t )
65 1.1 mrg echo "$timestamp" ; exit ;;
66 1.1 mrg --version | -v )
67 1.1 mrg echo "$version" ; exit ;;
68 1.1 mrg --help | --h* | -h )
69 1.1 mrg echo "$usage"; exit ;;
70 1.1 mrg -- ) # Stop option processing
71 1.1 mrg shift; break ;;
72 1.1 mrg - ) # Use stdin as input.
73 1.1 mrg break ;;
74 1.1 mrg -* )
75 1.1 mrg echo "$me: invalid option $1$help" >&2
76 1.1 mrg exit 1 ;;
77 1.1 mrg * )
78 1.1 mrg break ;;
79 1.1 mrg esac
80 1.1 mrg done
81 1.1 mrg
82 1.1 mrg if test $# != 0; then
83 1.1 mrg echo "$me: too many arguments$help" >&2
84 1.1 mrg exit 1
85 1.1 mrg fi
86 1.1 mrg
87 1.1 mrg trap 'exit 1' 1 2 15
88 1.1 mrg
89 1.1 mrg # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90 1.1 mrg # compiler to aid in system detection is discouraged as it requires
91 1.1 mrg # temporary files to be created and, as you can see below, it is a
92 1.1 mrg # headache to deal with in a portable fashion.
93 1.1 mrg
94 1.1 mrg # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95 1.1 mrg # use `HOST_CC' if defined, but it is deprecated.
96 1.1 mrg
97 1.1 mrg # Portable tmp directory creation inspired by the Autoconf team.
98 1.1 mrg
99 1.1 mrg set_cc_for_build='
100 1.1 mrg trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101 1.1 mrg trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102 1.1 mrg : ${TMPDIR=/tmp} ;
103 1.1 mrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104 1.1 mrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105 1.1 mrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106 1.1 mrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107 1.1 mrg dummy=$tmp/dummy ;
108 1.1 mrg tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109 1.1 mrg case $CC_FOR_BUILD,$HOST_CC,$CC in
110 1.1 mrg ,,) echo "int x;" > $dummy.c ;
111 1.1 mrg for c in cc gcc c89 c99 ; do
112 1.1 mrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113 1.1 mrg CC_FOR_BUILD="$c"; break ;
114 1.1 mrg fi ;
115 1.1 mrg done ;
116 1.1 mrg if test x"$CC_FOR_BUILD" = x ; then
117 1.1 mrg CC_FOR_BUILD=no_compiler_found ;
118 1.1 mrg fi
119 1.1 mrg ;;
120 1.1 mrg ,,*) CC_FOR_BUILD=$CC ;;
121 1.1 mrg ,*,*) CC_FOR_BUILD=$HOST_CC ;;
122 1.1 mrg esac ; set_cc_for_build= ;'
123 1.1 mrg
124 1.1 mrg # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125 1.1 mrg # (ghazi (at] noc.rutgers.edu 1994-08-24)
126 1.1 mrg if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127 1.1 mrg PATH=$PATH:/.attbin ; export PATH
128 1.1 mrg fi
129 1.1 mrg
130 1.1 mrg UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131 1.1 mrg UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132 1.1 mrg UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133 1.1 mrg UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134 1.1 mrg
135 1.1.1.3 skrll case "${UNAME_SYSTEM}" in
136 1.1.1.3 skrll Linux|GNU|GNU/*)
137 1.1.1.3 skrll # If the system lacks a compiler, then just pick glibc.
138 1.1.1.3 skrll # We could probably try harder.
139 1.1.1.3 skrll LIBC=gnu
140 1.1.1.3 skrll
141 1.1.1.3 skrll eval $set_cc_for_build
142 1.1.1.3 skrll cat <<-EOF > $dummy.c
143 1.1.1.3 skrll #include <features.h>
144 1.1.1.3 skrll #if defined(__UCLIBC__)
145 1.1.1.3 skrll LIBC=uclibc
146 1.1.1.3 skrll #elif defined(__dietlibc__)
147 1.1.1.3 skrll LIBC=dietlibc
148 1.1.1.3 skrll #else
149 1.1.1.3 skrll LIBC=gnu
150 1.1.1.3 skrll #endif
151 1.1.1.3 skrll EOF
152 1.1.1.4 mrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
153 1.1.1.3 skrll ;;
154 1.1.1.3 skrll esac
155 1.1.1.3 skrll
156 1.1 mrg # Note: order is significant - the case branches are not exclusive.
157 1.1 mrg
158 1.1 mrg case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159 1.1 mrg *:NetBSD:*:*)
160 1.1 mrg # NetBSD (nbsd) targets should (where applicable) match one or
161 1.1.1.2 mrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162 1.1 mrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
163 1.1 mrg # switched to ELF, *-*-netbsd* would select the old
164 1.1 mrg # object file format. This provides both forward
165 1.1 mrg # compatibility and a consistent mechanism for selecting the
166 1.1 mrg # object file format.
167 1.1 mrg #
168 1.1 mrg # Note: NetBSD doesn't particularly care about the vendor
169 1.1 mrg # portion of the name. We always set it to "unknown".
170 1.1 mrg sysctl="sysctl -n hw.machine_arch"
171 1.1.1.5 mrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172 1.1.1.5 mrg /sbin/$sysctl 2>/dev/null || \
173 1.1.1.5 mrg /usr/sbin/$sysctl 2>/dev/null || \
174 1.1.1.5 mrg echo unknown)`
175 1.1 mrg case "${UNAME_MACHINE_ARCH}" in
176 1.1 mrg armeb) machine=armeb-unknown ;;
177 1.1 mrg arm*) machine=arm-unknown ;;
178 1.1 mrg sh3el) machine=shl-unknown ;;
179 1.1 mrg sh3eb) machine=sh-unknown ;;
180 1.1 mrg sh5el) machine=sh5le-unknown ;;
181 1.1.1.5 mrg earmv*)
182 1.1.1.5 mrg arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183 1.1.1.5 mrg endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
184 1.1.1.5 mrg machine=${arch}${endian}-unknown
185 1.1.1.5 mrg ;;
186 1.1 mrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
187 1.1 mrg esac
188 1.1 mrg # The Operating System including object format, if it has switched
189 1.1 mrg # to ELF recently, or will in the future.
190 1.1 mrg case "${UNAME_MACHINE_ARCH}" in
191 1.1.1.5 mrg arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
192 1.1 mrg eval $set_cc_for_build
193 1.1 mrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
194 1.1 mrg | grep -q __ELF__
195 1.1 mrg then
196 1.1 mrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
197 1.1 mrg # Return netbsd for either. FIX?
198 1.1 mrg os=netbsd
199 1.1 mrg else
200 1.1 mrg os=netbsdelf
201 1.1 mrg fi
202 1.1 mrg ;;
203 1.1 mrg *)
204 1.1.1.2 mrg os=netbsd
205 1.1 mrg ;;
206 1.1 mrg esac
207 1.1.1.5 mrg # Determine ABI tags.
208 1.1.1.5 mrg case "${UNAME_MACHINE_ARCH}" in
209 1.1.1.5 mrg earm*)
210 1.1.1.5 mrg expr='s/^earmv[0-9]/-eabi/;s/eb$//'
211 1.1.1.5 mrg abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
212 1.1.1.5 mrg ;;
213 1.1.1.5 mrg esac
214 1.1 mrg # The OS release
215 1.1 mrg # Debian GNU/NetBSD machines have a different userland, and
216 1.1 mrg # thus, need a distinct triplet. However, they do not need
217 1.1 mrg # kernel version information, so it can be replaced with a
218 1.1 mrg # suitable tag, in the style of linux-gnu.
219 1.1 mrg case "${UNAME_VERSION}" in
220 1.1 mrg Debian*)
221 1.1 mrg release='-gnu'
222 1.1 mrg ;;
223 1.1 mrg *)
224 1.1.1.5 mrg release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
225 1.1 mrg ;;
226 1.1 mrg esac
227 1.1 mrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
228 1.1 mrg # contains redundant information, the shorter form:
229 1.1 mrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
230 1.1.1.5 mrg echo "${machine}-${os}${release}${abi}"
231 1.1 mrg exit ;;
232 1.1.1.2 mrg *:Bitrig:*:*)
233 1.1.1.2 mrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
234 1.1.1.2 mrg echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
235 1.1.1.2 mrg exit ;;
236 1.1 mrg *:OpenBSD:*:*)
237 1.1 mrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
238 1.1 mrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
239 1.1 mrg exit ;;
240 1.1 mrg *:ekkoBSD:*:*)
241 1.1 mrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
242 1.1 mrg exit ;;
243 1.1 mrg *:SolidBSD:*:*)
244 1.1 mrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
245 1.1 mrg exit ;;
246 1.1 mrg macppc:MirBSD:*:*)
247 1.1 mrg echo powerpc-unknown-mirbsd${UNAME_RELEASE}
248 1.1 mrg exit ;;
249 1.1 mrg *:MirBSD:*:*)
250 1.1 mrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
251 1.1 mrg exit ;;
252 1.1.1.5 mrg *:Sortix:*:*)
253 1.1.1.5 mrg echo ${UNAME_MACHINE}-unknown-sortix
254 1.1.1.5 mrg exit ;;
255 1.1 mrg alpha:OSF1:*:*)
256 1.1 mrg case $UNAME_RELEASE in
257 1.1 mrg *4.0)
258 1.1 mrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
259 1.1 mrg ;;
260 1.1 mrg *5.*)
261 1.1.1.2 mrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
262 1.1 mrg ;;
263 1.1 mrg esac
264 1.1 mrg # According to Compaq, /usr/sbin/psrinfo has been available on
265 1.1 mrg # OSF/1 and Tru64 systems produced since 1995. I hope that
266 1.1 mrg # covers most systems running today. This code pipes the CPU
267 1.1 mrg # types through head -n 1, so we only detect the type of CPU 0.
268 1.1 mrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
269 1.1 mrg case "$ALPHA_CPU_TYPE" in
270 1.1 mrg "EV4 (21064)")
271 1.1 mrg UNAME_MACHINE="alpha" ;;
272 1.1 mrg "EV4.5 (21064)")
273 1.1 mrg UNAME_MACHINE="alpha" ;;
274 1.1 mrg "LCA4 (21066/21068)")
275 1.1 mrg UNAME_MACHINE="alpha" ;;
276 1.1 mrg "EV5 (21164)")
277 1.1 mrg UNAME_MACHINE="alphaev5" ;;
278 1.1 mrg "EV5.6 (21164A)")
279 1.1 mrg UNAME_MACHINE="alphaev56" ;;
280 1.1 mrg "EV5.6 (21164PC)")
281 1.1 mrg UNAME_MACHINE="alphapca56" ;;
282 1.1 mrg "EV5.7 (21164PC)")
283 1.1 mrg UNAME_MACHINE="alphapca57" ;;
284 1.1 mrg "EV6 (21264)")
285 1.1 mrg UNAME_MACHINE="alphaev6" ;;
286 1.1 mrg "EV6.7 (21264A)")
287 1.1 mrg UNAME_MACHINE="alphaev67" ;;
288 1.1 mrg "EV6.8CB (21264C)")
289 1.1 mrg UNAME_MACHINE="alphaev68" ;;
290 1.1 mrg "EV6.8AL (21264B)")
291 1.1 mrg UNAME_MACHINE="alphaev68" ;;
292 1.1 mrg "EV6.8CX (21264D)")
293 1.1 mrg UNAME_MACHINE="alphaev68" ;;
294 1.1 mrg "EV6.9A (21264/EV69A)")
295 1.1 mrg UNAME_MACHINE="alphaev69" ;;
296 1.1 mrg "EV7 (21364)")
297 1.1 mrg UNAME_MACHINE="alphaev7" ;;
298 1.1 mrg "EV7.9 (21364A)")
299 1.1 mrg UNAME_MACHINE="alphaev79" ;;
300 1.1 mrg esac
301 1.1 mrg # A Pn.n version is a patched version.
302 1.1 mrg # A Vn.n version is a released version.
303 1.1 mrg # A Tn.n version is a released field test version.
304 1.1 mrg # A Xn.n version is an unreleased experimental baselevel.
305 1.1 mrg # 1.2 uses "1.2" for uname -r.
306 1.1 mrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
307 1.1.1.2 mrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
308 1.1.1.2 mrg exitcode=$?
309 1.1.1.2 mrg trap '' 0
310 1.1.1.2 mrg exit $exitcode ;;
311 1.1 mrg Alpha\ *:Windows_NT*:*)
312 1.1 mrg # How do we know it's Interix rather than the generic POSIX subsystem?
313 1.1 mrg # Should we change UNAME_MACHINE based on the output of uname instead
314 1.1 mrg # of the specific Alpha model?
315 1.1 mrg echo alpha-pc-interix
316 1.1 mrg exit ;;
317 1.1 mrg 21064:Windows_NT:50:3)
318 1.1 mrg echo alpha-dec-winnt3.5
319 1.1 mrg exit ;;
320 1.1 mrg Amiga*:UNIX_System_V:4.0:*)
321 1.1 mrg echo m68k-unknown-sysv4
322 1.1 mrg exit ;;
323 1.1 mrg *:[Aa]miga[Oo][Ss]:*:*)
324 1.1 mrg echo ${UNAME_MACHINE}-unknown-amigaos
325 1.1 mrg exit ;;
326 1.1 mrg *:[Mm]orph[Oo][Ss]:*:*)
327 1.1 mrg echo ${UNAME_MACHINE}-unknown-morphos
328 1.1 mrg exit ;;
329 1.1 mrg *:OS/390:*:*)
330 1.1 mrg echo i370-ibm-openedition
331 1.1 mrg exit ;;
332 1.1 mrg *:z/VM:*:*)
333 1.1 mrg echo s390-ibm-zvmoe
334 1.1 mrg exit ;;
335 1.1 mrg *:OS400:*:*)
336 1.1.1.2 mrg echo powerpc-ibm-os400
337 1.1 mrg exit ;;
338 1.1 mrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
339 1.1 mrg echo arm-acorn-riscix${UNAME_RELEASE}
340 1.1 mrg exit ;;
341 1.1.1.2 mrg arm*:riscos:*:*|arm*:RISCOS:*:*)
342 1.1 mrg echo arm-unknown-riscos
343 1.1 mrg exit ;;
344 1.1 mrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
345 1.1 mrg echo hppa1.1-hitachi-hiuxmpp
346 1.1 mrg exit ;;
347 1.1 mrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
348 1.1 mrg # akee (at] wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
349 1.1 mrg if test "`(/bin/universe) 2>/dev/null`" = att ; then
350 1.1 mrg echo pyramid-pyramid-sysv3
351 1.1 mrg else
352 1.1 mrg echo pyramid-pyramid-bsd
353 1.1 mrg fi
354 1.1 mrg exit ;;
355 1.1 mrg NILE*:*:*:dcosx)
356 1.1 mrg echo pyramid-pyramid-svr4
357 1.1 mrg exit ;;
358 1.1 mrg DRS?6000:unix:4.0:6*)
359 1.1 mrg echo sparc-icl-nx6
360 1.1 mrg exit ;;
361 1.1 mrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
362 1.1 mrg case `/usr/bin/uname -p` in
363 1.1 mrg sparc) echo sparc-icl-nx7; exit ;;
364 1.1 mrg esac ;;
365 1.1 mrg s390x:SunOS:*:*)
366 1.1 mrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
367 1.1 mrg exit ;;
368 1.1 mrg sun4H:SunOS:5.*:*)
369 1.1 mrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
370 1.1 mrg exit ;;
371 1.1 mrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
372 1.1 mrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
373 1.1 mrg exit ;;
374 1.1 mrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
375 1.1 mrg echo i386-pc-auroraux${UNAME_RELEASE}
376 1.1 mrg exit ;;
377 1.1 mrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
378 1.1 mrg eval $set_cc_for_build
379 1.1 mrg SUN_ARCH="i386"
380 1.1 mrg # If there is a compiler, see if it is configured for 64-bit objects.
381 1.1 mrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
382 1.1 mrg # This test works for both compilers.
383 1.1 mrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
384 1.1 mrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
385 1.1 mrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
386 1.1 mrg grep IS_64BIT_ARCH >/dev/null
387 1.1 mrg then
388 1.1 mrg SUN_ARCH="x86_64"
389 1.1 mrg fi
390 1.1 mrg fi
391 1.1 mrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
392 1.1 mrg exit ;;
393 1.1 mrg sun4*:SunOS:6*:*)
394 1.1 mrg # According to config.sub, this is the proper way to canonicalize
395 1.1 mrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but
396 1.1 mrg # it's likely to be more like Solaris than SunOS4.
397 1.1 mrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
398 1.1 mrg exit ;;
399 1.1 mrg sun4*:SunOS:*:*)
400 1.1 mrg case "`/usr/bin/arch -k`" in
401 1.1 mrg Series*|S4*)
402 1.1 mrg UNAME_RELEASE=`uname -v`
403 1.1 mrg ;;
404 1.1 mrg esac
405 1.1 mrg # Japanese Language versions have a version number like `4.1.3-JL'.
406 1.1 mrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
407 1.1 mrg exit ;;
408 1.1 mrg sun3*:SunOS:*:*)
409 1.1 mrg echo m68k-sun-sunos${UNAME_RELEASE}
410 1.1 mrg exit ;;
411 1.1 mrg sun*:*:4.2BSD:*)
412 1.1 mrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
413 1.1 mrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
414 1.1 mrg case "`/bin/arch`" in
415 1.1 mrg sun3)
416 1.1 mrg echo m68k-sun-sunos${UNAME_RELEASE}
417 1.1 mrg ;;
418 1.1 mrg sun4)
419 1.1 mrg echo sparc-sun-sunos${UNAME_RELEASE}
420 1.1 mrg ;;
421 1.1 mrg esac
422 1.1 mrg exit ;;
423 1.1 mrg aushp:SunOS:*:*)
424 1.1 mrg echo sparc-auspex-sunos${UNAME_RELEASE}
425 1.1 mrg exit ;;
426 1.1 mrg # The situation for MiNT is a little confusing. The machine name
427 1.1 mrg # can be virtually everything (everything which is not
428 1.1 mrg # "atarist" or "atariste" at least should have a processor
429 1.1 mrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
430 1.1 mrg # to the lowercase version "mint" (or "freemint"). Finally
431 1.1 mrg # the system name "TOS" denotes a system which is actually not
432 1.1 mrg # MiNT. But MiNT is downward compatible to TOS, so this should
433 1.1 mrg # be no problem.
434 1.1 mrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
435 1.1.1.2 mrg echo m68k-atari-mint${UNAME_RELEASE}
436 1.1 mrg exit ;;
437 1.1 mrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
438 1.1 mrg echo m68k-atari-mint${UNAME_RELEASE}
439 1.1.1.2 mrg exit ;;
440 1.1 mrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
441 1.1.1.2 mrg echo m68k-atari-mint${UNAME_RELEASE}
442 1.1 mrg exit ;;
443 1.1 mrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
444 1.1.1.2 mrg echo m68k-milan-mint${UNAME_RELEASE}
445 1.1.1.2 mrg exit ;;
446 1.1 mrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
447 1.1.1.2 mrg echo m68k-hades-mint${UNAME_RELEASE}
448 1.1.1.2 mrg exit ;;
449 1.1 mrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
450 1.1.1.2 mrg echo m68k-unknown-mint${UNAME_RELEASE}
451 1.1.1.2 mrg exit ;;
452 1.1 mrg m68k:machten:*:*)
453 1.1 mrg echo m68k-apple-machten${UNAME_RELEASE}
454 1.1 mrg exit ;;
455 1.1 mrg powerpc:machten:*:*)
456 1.1 mrg echo powerpc-apple-machten${UNAME_RELEASE}
457 1.1 mrg exit ;;
458 1.1 mrg RISC*:Mach:*:*)
459 1.1 mrg echo mips-dec-mach_bsd4.3
460 1.1 mrg exit ;;
461 1.1 mrg RISC*:ULTRIX:*:*)
462 1.1 mrg echo mips-dec-ultrix${UNAME_RELEASE}
463 1.1 mrg exit ;;
464 1.1 mrg VAX*:ULTRIX*:*:*)
465 1.1 mrg echo vax-dec-ultrix${UNAME_RELEASE}
466 1.1 mrg exit ;;
467 1.1 mrg 2020:CLIX:*:* | 2430:CLIX:*:*)
468 1.1 mrg echo clipper-intergraph-clix${UNAME_RELEASE}
469 1.1 mrg exit ;;
470 1.1 mrg mips:*:*:UMIPS | mips:*:*:RISCos)
471 1.1 mrg eval $set_cc_for_build
472 1.1 mrg sed 's/^ //' << EOF >$dummy.c
473 1.1 mrg #ifdef __cplusplus
474 1.1 mrg #include <stdio.h> /* for printf() prototype */
475 1.1 mrg int main (int argc, char *argv[]) {
476 1.1 mrg #else
477 1.1 mrg int main (argc, argv) int argc; char *argv[]; {
478 1.1 mrg #endif
479 1.1 mrg #if defined (host_mips) && defined (MIPSEB)
480 1.1 mrg #if defined (SYSTYPE_SYSV)
481 1.1 mrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
482 1.1 mrg #endif
483 1.1 mrg #if defined (SYSTYPE_SVR4)
484 1.1 mrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
485 1.1 mrg #endif
486 1.1 mrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
487 1.1 mrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
488 1.1 mrg #endif
489 1.1 mrg #endif
490 1.1 mrg exit (-1);
491 1.1 mrg }
492 1.1 mrg EOF
493 1.1 mrg $CC_FOR_BUILD -o $dummy $dummy.c &&
494 1.1 mrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
495 1.1 mrg SYSTEM_NAME=`$dummy $dummyarg` &&
496 1.1 mrg { echo "$SYSTEM_NAME"; exit; }
497 1.1 mrg echo mips-mips-riscos${UNAME_RELEASE}
498 1.1 mrg exit ;;
499 1.1 mrg Motorola:PowerMAX_OS:*:*)
500 1.1 mrg echo powerpc-motorola-powermax
501 1.1 mrg exit ;;
502 1.1 mrg Motorola:*:4.3:PL8-*)
503 1.1 mrg echo powerpc-harris-powermax
504 1.1 mrg exit ;;
505 1.1 mrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
506 1.1 mrg echo powerpc-harris-powermax
507 1.1 mrg exit ;;
508 1.1 mrg Night_Hawk:Power_UNIX:*:*)
509 1.1 mrg echo powerpc-harris-powerunix
510 1.1 mrg exit ;;
511 1.1 mrg m88k:CX/UX:7*:*)
512 1.1 mrg echo m88k-harris-cxux7
513 1.1 mrg exit ;;
514 1.1 mrg m88k:*:4*:R4*)
515 1.1 mrg echo m88k-motorola-sysv4
516 1.1 mrg exit ;;
517 1.1 mrg m88k:*:3*:R3*)
518 1.1 mrg echo m88k-motorola-sysv3
519 1.1 mrg exit ;;
520 1.1 mrg AViiON:dgux:*:*)
521 1.1.1.2 mrg # DG/UX returns AViiON for all architectures
522 1.1.1.2 mrg UNAME_PROCESSOR=`/usr/bin/uname -p`
523 1.1 mrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
524 1.1 mrg then
525 1.1 mrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
526 1.1 mrg [ ${TARGET_BINARY_INTERFACE}x = x ]
527 1.1 mrg then
528 1.1 mrg echo m88k-dg-dgux${UNAME_RELEASE}
529 1.1 mrg else
530 1.1 mrg echo m88k-dg-dguxbcs${UNAME_RELEASE}
531 1.1 mrg fi
532 1.1 mrg else
533 1.1 mrg echo i586-dg-dgux${UNAME_RELEASE}
534 1.1 mrg fi
535 1.1.1.2 mrg exit ;;
536 1.1 mrg M88*:DolphinOS:*:*) # DolphinOS (SVR3)
537 1.1 mrg echo m88k-dolphin-sysv3
538 1.1 mrg exit ;;
539 1.1 mrg M88*:*:R3*:*)
540 1.1 mrg # Delta 88k system running SVR3
541 1.1 mrg echo m88k-motorola-sysv3
542 1.1 mrg exit ;;
543 1.1 mrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
544 1.1 mrg echo m88k-tektronix-sysv3
545 1.1 mrg exit ;;
546 1.1 mrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
547 1.1 mrg echo m68k-tektronix-bsd
548 1.1 mrg exit ;;
549 1.1 mrg *:IRIX*:*:*)
550 1.1 mrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
551 1.1 mrg exit ;;
552 1.1 mrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
553 1.1 mrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
554 1.1 mrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
555 1.1 mrg i*86:AIX:*:*)
556 1.1 mrg echo i386-ibm-aix
557 1.1 mrg exit ;;
558 1.1 mrg ia64:AIX:*:*)
559 1.1 mrg if [ -x /usr/bin/oslevel ] ; then
560 1.1 mrg IBM_REV=`/usr/bin/oslevel`
561 1.1 mrg else
562 1.1 mrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
563 1.1 mrg fi
564 1.1 mrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
565 1.1 mrg exit ;;
566 1.1 mrg *:AIX:2:3)
567 1.1 mrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
568 1.1 mrg eval $set_cc_for_build
569 1.1 mrg sed 's/^ //' << EOF >$dummy.c
570 1.1 mrg #include <sys/systemcfg.h>
571 1.1 mrg
572 1.1 mrg main()
573 1.1 mrg {
574 1.1 mrg if (!__power_pc())
575 1.1 mrg exit(1);
576 1.1 mrg puts("powerpc-ibm-aix3.2.5");
577 1.1 mrg exit(0);
578 1.1 mrg }
579 1.1 mrg EOF
580 1.1 mrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
581 1.1 mrg then
582 1.1 mrg echo "$SYSTEM_NAME"
583 1.1 mrg else
584 1.1 mrg echo rs6000-ibm-aix3.2.5
585 1.1 mrg fi
586 1.1 mrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
587 1.1 mrg echo rs6000-ibm-aix3.2.4
588 1.1 mrg else
589 1.1 mrg echo rs6000-ibm-aix3.2
590 1.1 mrg fi
591 1.1 mrg exit ;;
592 1.1.1.2 mrg *:AIX:*:[4567])
593 1.1 mrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
594 1.1 mrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
595 1.1 mrg IBM_ARCH=rs6000
596 1.1 mrg else
597 1.1 mrg IBM_ARCH=powerpc
598 1.1 mrg fi
599 1.1.1.4 mrg if [ -x /usr/bin/lslpp ] ; then
600 1.1.1.4 mrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
601 1.1.1.4 mrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
602 1.1 mrg else
603 1.1 mrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
604 1.1 mrg fi
605 1.1 mrg echo ${IBM_ARCH}-ibm-aix${IBM_REV}
606 1.1 mrg exit ;;
607 1.1 mrg *:AIX:*:*)
608 1.1 mrg echo rs6000-ibm-aix
609 1.1 mrg exit ;;
610 1.1 mrg ibmrt:4.4BSD:*|romp-ibm:BSD:*)
611 1.1 mrg echo romp-ibm-bsd4.4
612 1.1 mrg exit ;;
613 1.1 mrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
614 1.1 mrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
615 1.1 mrg exit ;; # report: romp-ibm BSD 4.3
616 1.1 mrg *:BOSX:*:*)
617 1.1 mrg echo rs6000-bull-bosx
618 1.1 mrg exit ;;
619 1.1 mrg DPX/2?00:B.O.S.:*:*)
620 1.1 mrg echo m68k-bull-sysv3
621 1.1 mrg exit ;;
622 1.1 mrg 9000/[34]??:4.3bsd:1.*:*)
623 1.1 mrg echo m68k-hp-bsd
624 1.1 mrg exit ;;
625 1.1 mrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
626 1.1 mrg echo m68k-hp-bsd4.4
627 1.1 mrg exit ;;
628 1.1 mrg 9000/[34678]??:HP-UX:*:*)
629 1.1 mrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
630 1.1 mrg case "${UNAME_MACHINE}" in
631 1.1 mrg 9000/31? ) HP_ARCH=m68000 ;;
632 1.1 mrg 9000/[34]?? ) HP_ARCH=m68k ;;
633 1.1 mrg 9000/[678][0-9][0-9])
634 1.1 mrg if [ -x /usr/bin/getconf ]; then
635 1.1 mrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
636 1.1.1.2 mrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
637 1.1.1.2 mrg case "${sc_cpu_version}" in
638 1.1.1.2 mrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
639 1.1.1.2 mrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
640 1.1.1.2 mrg 532) # CPU_PA_RISC2_0
641 1.1.1.2 mrg case "${sc_kernel_bits}" in
642 1.1.1.2 mrg 32) HP_ARCH="hppa2.0n" ;;
643 1.1.1.2 mrg 64) HP_ARCH="hppa2.0w" ;;
644 1.1 mrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
645 1.1.1.2 mrg esac ;;
646 1.1.1.2 mrg esac
647 1.1 mrg fi
648 1.1 mrg if [ "${HP_ARCH}" = "" ]; then
649 1.1 mrg eval $set_cc_for_build
650 1.1.1.2 mrg sed 's/^ //' << EOF >$dummy.c
651 1.1.1.2 mrg
652 1.1.1.2 mrg #define _HPUX_SOURCE
653 1.1.1.2 mrg #include <stdlib.h>
654 1.1.1.2 mrg #include <unistd.h>
655 1.1 mrg
656 1.1.1.2 mrg int main ()
657 1.1.1.2 mrg {
658 1.1.1.2 mrg #if defined(_SC_KERNEL_BITS)
659 1.1.1.2 mrg long bits = sysconf(_SC_KERNEL_BITS);
660 1.1.1.2 mrg #endif
661 1.1.1.2 mrg long cpu = sysconf (_SC_CPU_VERSION);
662 1.1.1.2 mrg
663 1.1.1.2 mrg switch (cpu)
664 1.1.1.2 mrg {
665 1.1.1.2 mrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
666 1.1.1.2 mrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
667 1.1.1.2 mrg case CPU_PA_RISC2_0:
668 1.1.1.2 mrg #if defined(_SC_KERNEL_BITS)
669 1.1.1.2 mrg switch (bits)
670 1.1.1.2 mrg {
671 1.1.1.2 mrg case 64: puts ("hppa2.0w"); break;
672 1.1.1.2 mrg case 32: puts ("hppa2.0n"); break;
673 1.1.1.2 mrg default: puts ("hppa2.0"); break;
674 1.1.1.2 mrg } break;
675 1.1.1.2 mrg #else /* !defined(_SC_KERNEL_BITS) */
676 1.1.1.2 mrg puts ("hppa2.0"); break;
677 1.1.1.2 mrg #endif
678 1.1.1.2 mrg default: puts ("hppa1.0"); break;
679 1.1.1.2 mrg }
680 1.1.1.2 mrg exit (0);
681 1.1.1.2 mrg }
682 1.1 mrg EOF
683 1.1 mrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
684 1.1 mrg test -z "$HP_ARCH" && HP_ARCH=hppa
685 1.1 mrg fi ;;
686 1.1 mrg esac
687 1.1 mrg if [ ${HP_ARCH} = "hppa2.0w" ]
688 1.1 mrg then
689 1.1 mrg eval $set_cc_for_build
690 1.1 mrg
691 1.1 mrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
692 1.1 mrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
693 1.1 mrg # generating 64-bit code. GNU and HP use different nomenclature:
694 1.1 mrg #
695 1.1 mrg # $ CC_FOR_BUILD=cc ./config.guess
696 1.1 mrg # => hppa2.0w-hp-hpux11.23
697 1.1 mrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
698 1.1 mrg # => hppa64-hp-hpux11.23
699 1.1 mrg
700 1.1 mrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
701 1.1 mrg grep -q __LP64__
702 1.1 mrg then
703 1.1 mrg HP_ARCH="hppa2.0w"
704 1.1 mrg else
705 1.1 mrg HP_ARCH="hppa64"
706 1.1 mrg fi
707 1.1 mrg fi
708 1.1 mrg echo ${HP_ARCH}-hp-hpux${HPUX_REV}
709 1.1 mrg exit ;;
710 1.1 mrg ia64:HP-UX:*:*)
711 1.1 mrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
712 1.1 mrg echo ia64-hp-hpux${HPUX_REV}
713 1.1 mrg exit ;;
714 1.1 mrg 3050*:HI-UX:*:*)
715 1.1 mrg eval $set_cc_for_build
716 1.1 mrg sed 's/^ //' << EOF >$dummy.c
717 1.1 mrg #include <unistd.h>
718 1.1 mrg int
719 1.1 mrg main ()
720 1.1 mrg {
721 1.1 mrg long cpu = sysconf (_SC_CPU_VERSION);
722 1.1 mrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns
723 1.1 mrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
724 1.1 mrg results, however. */
725 1.1 mrg if (CPU_IS_PA_RISC (cpu))
726 1.1 mrg {
727 1.1 mrg switch (cpu)
728 1.1 mrg {
729 1.1 mrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
730 1.1 mrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
731 1.1 mrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
732 1.1 mrg default: puts ("hppa-hitachi-hiuxwe2"); break;
733 1.1 mrg }
734 1.1 mrg }
735 1.1 mrg else if (CPU_IS_HP_MC68K (cpu))
736 1.1 mrg puts ("m68k-hitachi-hiuxwe2");
737 1.1 mrg else puts ("unknown-hitachi-hiuxwe2");
738 1.1 mrg exit (0);
739 1.1 mrg }
740 1.1 mrg EOF
741 1.1 mrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
742 1.1 mrg { echo "$SYSTEM_NAME"; exit; }
743 1.1 mrg echo unknown-hitachi-hiuxwe2
744 1.1 mrg exit ;;
745 1.1 mrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
746 1.1 mrg echo hppa1.1-hp-bsd
747 1.1 mrg exit ;;
748 1.1 mrg 9000/8??:4.3bsd:*:*)
749 1.1 mrg echo hppa1.0-hp-bsd
750 1.1 mrg exit ;;
751 1.1 mrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
752 1.1 mrg echo hppa1.0-hp-mpeix
753 1.1 mrg exit ;;
754 1.1 mrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
755 1.1 mrg echo hppa1.1-hp-osf
756 1.1 mrg exit ;;
757 1.1 mrg hp8??:OSF1:*:*)
758 1.1 mrg echo hppa1.0-hp-osf
759 1.1 mrg exit ;;
760 1.1 mrg i*86:OSF1:*:*)
761 1.1 mrg if [ -x /usr/sbin/sysversion ] ; then
762 1.1 mrg echo ${UNAME_MACHINE}-unknown-osf1mk
763 1.1 mrg else
764 1.1 mrg echo ${UNAME_MACHINE}-unknown-osf1
765 1.1 mrg fi
766 1.1 mrg exit ;;
767 1.1 mrg parisc*:Lites*:*:*)
768 1.1 mrg echo hppa1.1-hp-lites
769 1.1 mrg exit ;;
770 1.1 mrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
771 1.1 mrg echo c1-convex-bsd
772 1.1.1.2 mrg exit ;;
773 1.1 mrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
774 1.1 mrg if getsysinfo -f scalar_acc
775 1.1 mrg then echo c32-convex-bsd
776 1.1 mrg else echo c2-convex-bsd
777 1.1 mrg fi
778 1.1.1.2 mrg exit ;;
779 1.1 mrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
780 1.1 mrg echo c34-convex-bsd
781 1.1.1.2 mrg exit ;;
782 1.1 mrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
783 1.1 mrg echo c38-convex-bsd
784 1.1.1.2 mrg exit ;;
785 1.1 mrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
786 1.1 mrg echo c4-convex-bsd
787 1.1.1.2 mrg exit ;;
788 1.1 mrg CRAY*Y-MP:*:*:*)
789 1.1 mrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
790 1.1 mrg exit ;;
791 1.1 mrg CRAY*[A-Z]90:*:*:*)
792 1.1 mrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
793 1.1 mrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
794 1.1 mrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
795 1.1 mrg -e 's/\.[^.]*$/.X/'
796 1.1 mrg exit ;;
797 1.1 mrg CRAY*TS:*:*:*)
798 1.1 mrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
799 1.1 mrg exit ;;
800 1.1 mrg CRAY*T3E:*:*:*)
801 1.1 mrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
802 1.1 mrg exit ;;
803 1.1 mrg CRAY*SV1:*:*:*)
804 1.1 mrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
805 1.1 mrg exit ;;
806 1.1 mrg *:UNICOS/mp:*:*)
807 1.1 mrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
808 1.1 mrg exit ;;
809 1.1 mrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
810 1.1 mrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
811 1.1.1.2 mrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
812 1.1.1.2 mrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
813 1.1.1.2 mrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
814 1.1.1.2 mrg exit ;;
815 1.1 mrg 5000:UNIX_System_V:4.*:*)
816 1.1.1.2 mrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
817 1.1.1.2 mrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
818 1.1.1.2 mrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
819 1.1 mrg exit ;;
820 1.1 mrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
821 1.1 mrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
822 1.1 mrg exit ;;
823 1.1 mrg sparc*:BSD/OS:*:*)
824 1.1 mrg echo sparc-unknown-bsdi${UNAME_RELEASE}
825 1.1 mrg exit ;;
826 1.1 mrg *:BSD/OS:*:*)
827 1.1 mrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
828 1.1 mrg exit ;;
829 1.1 mrg *:FreeBSD:*:*)
830 1.1.1.2 mrg UNAME_PROCESSOR=`/usr/bin/uname -p`
831 1.1.1.2 mrg case ${UNAME_PROCESSOR} in
832 1.1 mrg amd64)
833 1.1 mrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
834 1.1 mrg *)
835 1.1.1.2 mrg echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
836 1.1 mrg esac
837 1.1 mrg exit ;;
838 1.1 mrg i*:CYGWIN*:*)
839 1.1 mrg echo ${UNAME_MACHINE}-pc-cygwin
840 1.1 mrg exit ;;
841 1.1.1.2 mrg *:MINGW64*:*)
842 1.1.1.2 mrg echo ${UNAME_MACHINE}-pc-mingw64
843 1.1.1.2 mrg exit ;;
844 1.1 mrg *:MINGW*:*)
845 1.1 mrg echo ${UNAME_MACHINE}-pc-mingw32
846 1.1 mrg exit ;;
847 1.1.1.4 mrg *:MSYS*:*)
848 1.1.1.2 mrg echo ${UNAME_MACHINE}-pc-msys
849 1.1.1.2 mrg exit ;;
850 1.1 mrg i*:windows32*:*)
851 1.1.1.2 mrg # uname -m includes "-pc" on this system.
852 1.1.1.2 mrg echo ${UNAME_MACHINE}-mingw32
853 1.1 mrg exit ;;
854 1.1 mrg i*:PW*:*)
855 1.1 mrg echo ${UNAME_MACHINE}-pc-pw32
856 1.1 mrg exit ;;
857 1.1 mrg *:Interix*:*)
858 1.1.1.2 mrg case ${UNAME_MACHINE} in
859 1.1 mrg x86)
860 1.1 mrg echo i586-pc-interix${UNAME_RELEASE}
861 1.1 mrg exit ;;
862 1.1 mrg authenticamd | genuineintel | EM64T)
863 1.1 mrg echo x86_64-unknown-interix${UNAME_RELEASE}
864 1.1 mrg exit ;;
865 1.1 mrg IA64)
866 1.1 mrg echo ia64-unknown-interix${UNAME_RELEASE}
867 1.1 mrg exit ;;
868 1.1 mrg esac ;;
869 1.1 mrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
870 1.1 mrg echo i${UNAME_MACHINE}-pc-mks
871 1.1 mrg exit ;;
872 1.1 mrg 8664:Windows_NT:*)
873 1.1 mrg echo x86_64-pc-mks
874 1.1 mrg exit ;;
875 1.1 mrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
876 1.1 mrg # How do we know it's Interix rather than the generic POSIX subsystem?
877 1.1 mrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
878 1.1 mrg # UNAME_MACHINE based on the output of uname instead of i386?
879 1.1 mrg echo i586-pc-interix
880 1.1 mrg exit ;;
881 1.1 mrg i*:UWIN*:*)
882 1.1 mrg echo ${UNAME_MACHINE}-pc-uwin
883 1.1 mrg exit ;;
884 1.1 mrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
885 1.1 mrg echo x86_64-unknown-cygwin
886 1.1 mrg exit ;;
887 1.1 mrg p*:CYGWIN*:*)
888 1.1 mrg echo powerpcle-unknown-cygwin
889 1.1 mrg exit ;;
890 1.1 mrg prep*:SunOS:5.*:*)
891 1.1 mrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
892 1.1 mrg exit ;;
893 1.1 mrg *:GNU:*:*)
894 1.1 mrg # the GNU system
895 1.1.1.3 skrll echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
896 1.1 mrg exit ;;
897 1.1 mrg *:GNU/*:*:*)
898 1.1 mrg # other systems with GNU libc and userland
899 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
900 1.1 mrg exit ;;
901 1.1 mrg i*86:Minix:*:*)
902 1.1 mrg echo ${UNAME_MACHINE}-pc-minix
903 1.1 mrg exit ;;
904 1.1.1.2 mrg aarch64:Linux:*:*)
905 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
906 1.1.1.2 mrg exit ;;
907 1.1.1.2 mrg aarch64_be:Linux:*:*)
908 1.1.1.2 mrg UNAME_MACHINE=aarch64_be
909 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
910 1.1.1.2 mrg exit ;;
911 1.1 mrg alpha:Linux:*:*)
912 1.1 mrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
913 1.1 mrg EV5) UNAME_MACHINE=alphaev5 ;;
914 1.1 mrg EV56) UNAME_MACHINE=alphaev56 ;;
915 1.1 mrg PCA56) UNAME_MACHINE=alphapca56 ;;
916 1.1 mrg PCA57) UNAME_MACHINE=alphapca56 ;;
917 1.1 mrg EV6) UNAME_MACHINE=alphaev6 ;;
918 1.1 mrg EV67) UNAME_MACHINE=alphaev67 ;;
919 1.1 mrg EV68*) UNAME_MACHINE=alphaev68 ;;
920 1.1.1.2 mrg esac
921 1.1 mrg objdump --private-headers /bin/sh | grep -q ld.so.1
922 1.1.1.3 skrll if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
923 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
924 1.1.1.3 skrll exit ;;
925 1.1.1.3 skrll arc:Linux:*:* | arceb:Linux:*:*)
926 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
927 1.1 mrg exit ;;
928 1.1 mrg arm*:Linux:*:*)
929 1.1 mrg eval $set_cc_for_build
930 1.1 mrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
931 1.1 mrg | grep -q __ARM_EABI__
932 1.1 mrg then
933 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
934 1.1 mrg else
935 1.1.1.2 mrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
936 1.1.1.2 mrg | grep -q __ARM_PCS_VFP
937 1.1.1.2 mrg then
938 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
939 1.1.1.2 mrg else
940 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
941 1.1.1.2 mrg fi
942 1.1 mrg fi
943 1.1 mrg exit ;;
944 1.1 mrg avr32*:Linux:*:*)
945 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
946 1.1 mrg exit ;;
947 1.1 mrg cris:Linux:*:*)
948 1.1.1.3 skrll echo ${UNAME_MACHINE}-axis-linux-${LIBC}
949 1.1 mrg exit ;;
950 1.1 mrg crisv32:Linux:*:*)
951 1.1.1.3 skrll echo ${UNAME_MACHINE}-axis-linux-${LIBC}
952 1.1 mrg exit ;;
953 1.1.1.5 mrg e2k:Linux:*:*)
954 1.1.1.5 mrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
955 1.1.1.5 mrg exit ;;
956 1.1 mrg frv:Linux:*:*)
957 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
958 1.1.1.2 mrg exit ;;
959 1.1.1.2 mrg hexagon:Linux:*:*)
960 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
961 1.1 mrg exit ;;
962 1.1 mrg i*86:Linux:*:*)
963 1.1.1.3 skrll echo ${UNAME_MACHINE}-pc-linux-${LIBC}
964 1.1 mrg exit ;;
965 1.1 mrg ia64:Linux:*:*)
966 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
967 1.1 mrg exit ;;
968 1.1.1.5 mrg k1om:Linux:*:*)
969 1.1.1.5 mrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
970 1.1.1.5 mrg exit ;;
971 1.1 mrg m32r*:Linux:*:*)
972 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
973 1.1 mrg exit ;;
974 1.1 mrg m68*:Linux:*:*)
975 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
976 1.1 mrg exit ;;
977 1.1 mrg mips:Linux:*:* | mips64:Linux:*:*)
978 1.1 mrg eval $set_cc_for_build
979 1.1 mrg sed 's/^ //' << EOF >$dummy.c
980 1.1 mrg #undef CPU
981 1.1 mrg #undef ${UNAME_MACHINE}
982 1.1 mrg #undef ${UNAME_MACHINE}el
983 1.1 mrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
984 1.1 mrg CPU=${UNAME_MACHINE}el
985 1.1 mrg #else
986 1.1 mrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
987 1.1 mrg CPU=${UNAME_MACHINE}
988 1.1 mrg #else
989 1.1 mrg CPU=
990 1.1 mrg #endif
991 1.1 mrg #endif
992 1.1 mrg EOF
993 1.1 mrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
994 1.1.1.3 skrll test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
995 1.1 mrg ;;
996 1.1.1.4 mrg openrisc*:Linux:*:*)
997 1.1.1.4 mrg echo or1k-unknown-linux-${LIBC}
998 1.1.1.3 skrll exit ;;
999 1.1.1.4 mrg or32:Linux:*:* | or1k*:Linux:*:*)
1000 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1001 1.1 mrg exit ;;
1002 1.1 mrg padre:Linux:*:*)
1003 1.1.1.3 skrll echo sparc-unknown-linux-${LIBC}
1004 1.1 mrg exit ;;
1005 1.1 mrg parisc64:Linux:*:* | hppa64:Linux:*:*)
1006 1.1.1.3 skrll echo hppa64-unknown-linux-${LIBC}
1007 1.1 mrg exit ;;
1008 1.1 mrg parisc:Linux:*:* | hppa:Linux:*:*)
1009 1.1 mrg # Look for CPU level
1010 1.1 mrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1011 1.1.1.3 skrll PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1012 1.1.1.3 skrll PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1013 1.1.1.3 skrll *) echo hppa-unknown-linux-${LIBC} ;;
1014 1.1 mrg esac
1015 1.1 mrg exit ;;
1016 1.1 mrg ppc64:Linux:*:*)
1017 1.1.1.3 skrll echo powerpc64-unknown-linux-${LIBC}
1018 1.1 mrg exit ;;
1019 1.1 mrg ppc:Linux:*:*)
1020 1.1.1.3 skrll echo powerpc-unknown-linux-${LIBC}
1021 1.1.1.3 skrll exit ;;
1022 1.1.1.3 skrll ppc64le:Linux:*:*)
1023 1.1.1.3 skrll echo powerpc64le-unknown-linux-${LIBC}
1024 1.1.1.3 skrll exit ;;
1025 1.1.1.3 skrll ppcle:Linux:*:*)
1026 1.1.1.3 skrll echo powerpcle-unknown-linux-${LIBC}
1027 1.1 mrg exit ;;
1028 1.1 mrg s390:Linux:*:* | s390x:Linux:*:*)
1029 1.1.1.3 skrll echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1030 1.1 mrg exit ;;
1031 1.1 mrg sh64*:Linux:*:*)
1032 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1033 1.1 mrg exit ;;
1034 1.1 mrg sh*:Linux:*:*)
1035 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1036 1.1 mrg exit ;;
1037 1.1 mrg sparc:Linux:*:* | sparc64:Linux:*:*)
1038 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1039 1.1 mrg exit ;;
1040 1.1.1.2 mrg tile*:Linux:*:*)
1041 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1042 1.1.1.2 mrg exit ;;
1043 1.1 mrg vax:Linux:*:*)
1044 1.1.1.3 skrll echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1045 1.1 mrg exit ;;
1046 1.1 mrg x86_64:Linux:*:*)
1047 1.1.1.5 mrg echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1048 1.1 mrg exit ;;
1049 1.1 mrg xtensa*:Linux:*:*)
1050 1.1.1.3 skrll echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1051 1.1 mrg exit ;;
1052 1.1 mrg i*86:DYNIX/ptx:4*:*)
1053 1.1 mrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1054 1.1 mrg # earlier versions are messed up and put the nodename in both
1055 1.1 mrg # sysname and nodename.
1056 1.1 mrg echo i386-sequent-sysv4
1057 1.1 mrg exit ;;
1058 1.1 mrg i*86:UNIX_SV:4.2MP:2.*)
1059 1.1.1.2 mrg # Unixware is an offshoot of SVR4, but it has its own version
1060 1.1.1.2 mrg # number series starting with 2...
1061 1.1.1.2 mrg # I am not positive that other SVR4 systems won't match this,
1062 1.1 mrg # I just have to hope. -- rms.
1063 1.1.1.2 mrg # Use sysv4.2uw... so that sysv4* matches it.
1064 1.1 mrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1065 1.1 mrg exit ;;
1066 1.1 mrg i*86:OS/2:*:*)
1067 1.1 mrg # If we were able to find `uname', then EMX Unix compatibility
1068 1.1 mrg # is probably installed.
1069 1.1 mrg echo ${UNAME_MACHINE}-pc-os2-emx
1070 1.1 mrg exit ;;
1071 1.1 mrg i*86:XTS-300:*:STOP)
1072 1.1 mrg echo ${UNAME_MACHINE}-unknown-stop
1073 1.1 mrg exit ;;
1074 1.1 mrg i*86:atheos:*:*)
1075 1.1 mrg echo ${UNAME_MACHINE}-unknown-atheos
1076 1.1 mrg exit ;;
1077 1.1 mrg i*86:syllable:*:*)
1078 1.1 mrg echo ${UNAME_MACHINE}-pc-syllable
1079 1.1 mrg exit ;;
1080 1.1 mrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1081 1.1 mrg echo i386-unknown-lynxos${UNAME_RELEASE}
1082 1.1 mrg exit ;;
1083 1.1 mrg i*86:*DOS:*:*)
1084 1.1 mrg echo ${UNAME_MACHINE}-pc-msdosdjgpp
1085 1.1 mrg exit ;;
1086 1.1 mrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1087 1.1 mrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1088 1.1 mrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1089 1.1 mrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1090 1.1 mrg else
1091 1.1 mrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1092 1.1 mrg fi
1093 1.1 mrg exit ;;
1094 1.1 mrg i*86:*:5:[678]*)
1095 1.1.1.2 mrg # UnixWare 7.x, OpenUNIX and OpenServer 6.
1096 1.1 mrg case `/bin/uname -X | grep "^Machine"` in
1097 1.1 mrg *486*) UNAME_MACHINE=i486 ;;
1098 1.1 mrg *Pentium) UNAME_MACHINE=i586 ;;
1099 1.1 mrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1100 1.1 mrg esac
1101 1.1 mrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1102 1.1 mrg exit ;;
1103 1.1 mrg i*86:*:3.2:*)
1104 1.1 mrg if test -f /usr/options/cb.name; then
1105 1.1 mrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1106 1.1 mrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1107 1.1 mrg elif /bin/uname -X 2>/dev/null >/dev/null ; then
1108 1.1 mrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1109 1.1 mrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1110 1.1 mrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1111 1.1 mrg && UNAME_MACHINE=i586
1112 1.1 mrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1113 1.1 mrg && UNAME_MACHINE=i686
1114 1.1 mrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1115 1.1 mrg && UNAME_MACHINE=i686
1116 1.1 mrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1117 1.1 mrg else
1118 1.1 mrg echo ${UNAME_MACHINE}-pc-sysv32
1119 1.1 mrg fi
1120 1.1 mrg exit ;;
1121 1.1 mrg pc:*:*:*)
1122 1.1 mrg # Left here for compatibility:
1123 1.1.1.2 mrg # uname -m prints for DJGPP always 'pc', but it prints nothing about
1124 1.1.1.2 mrg # the processor, so we play safe by assuming i586.
1125 1.1 mrg # Note: whatever this is, it MUST be the same as what config.sub
1126 1.1.1.5 mrg # prints for the "djgpp" host, or else GDB configure will decide that
1127 1.1 mrg # this is a cross-build.
1128 1.1 mrg echo i586-pc-msdosdjgpp
1129 1.1.1.2 mrg exit ;;
1130 1.1 mrg Intel:Mach:3*:*)
1131 1.1 mrg echo i386-pc-mach3
1132 1.1 mrg exit ;;
1133 1.1 mrg paragon:*:*:*)
1134 1.1 mrg echo i860-intel-osf1
1135 1.1 mrg exit ;;
1136 1.1 mrg i860:*:4.*:*) # i860-SVR4
1137 1.1 mrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1138 1.1 mrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1139 1.1 mrg else # Add other i860-SVR4 vendors below as they are discovered.
1140 1.1 mrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1141 1.1 mrg fi
1142 1.1 mrg exit ;;
1143 1.1 mrg mini*:CTIX:SYS*5:*)
1144 1.1 mrg # "miniframe"
1145 1.1 mrg echo m68010-convergent-sysv
1146 1.1 mrg exit ;;
1147 1.1 mrg mc68k:UNIX:SYSTEM5:3.51m)
1148 1.1 mrg echo m68k-convergent-sysv
1149 1.1 mrg exit ;;
1150 1.1 mrg M680?0:D-NIX:5.3:*)
1151 1.1 mrg echo m68k-diab-dnix
1152 1.1 mrg exit ;;
1153 1.1 mrg M68*:*:R3V[5678]*:*)
1154 1.1 mrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1155 1.1 mrg 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1156 1.1 mrg OS_REL=''
1157 1.1 mrg test -r /etc/.relid \
1158 1.1 mrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1159 1.1 mrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1160 1.1 mrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1161 1.1 mrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1162 1.1 mrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1163 1.1 mrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1164 1.1.1.2 mrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1165 1.1.1.2 mrg && { echo i486-ncr-sysv4; exit; } ;;
1166 1.1 mrg NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1167 1.1 mrg OS_REL='.3'
1168 1.1 mrg test -r /etc/.relid \
1169 1.1 mrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1170 1.1 mrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1171 1.1 mrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1172 1.1 mrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1173 1.1 mrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1174 1.1 mrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1175 1.1 mrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1176 1.1 mrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1177 1.1 mrg echo m68k-unknown-lynxos${UNAME_RELEASE}
1178 1.1 mrg exit ;;
1179 1.1 mrg mc68030:UNIX_System_V:4.*:*)
1180 1.1 mrg echo m68k-atari-sysv4
1181 1.1 mrg exit ;;
1182 1.1 mrg TSUNAMI:LynxOS:2.*:*)
1183 1.1 mrg echo sparc-unknown-lynxos${UNAME_RELEASE}
1184 1.1 mrg exit ;;
1185 1.1 mrg rs6000:LynxOS:2.*:*)
1186 1.1 mrg echo rs6000-unknown-lynxos${UNAME_RELEASE}
1187 1.1 mrg exit ;;
1188 1.1 mrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1189 1.1 mrg echo powerpc-unknown-lynxos${UNAME_RELEASE}
1190 1.1 mrg exit ;;
1191 1.1 mrg SM[BE]S:UNIX_SV:*:*)
1192 1.1 mrg echo mips-dde-sysv${UNAME_RELEASE}
1193 1.1 mrg exit ;;
1194 1.1 mrg RM*:ReliantUNIX-*:*:*)
1195 1.1 mrg echo mips-sni-sysv4
1196 1.1 mrg exit ;;
1197 1.1 mrg RM*:SINIX-*:*:*)
1198 1.1 mrg echo mips-sni-sysv4
1199 1.1 mrg exit ;;
1200 1.1 mrg *:SINIX-*:*:*)
1201 1.1 mrg if uname -p 2>/dev/null >/dev/null ; then
1202 1.1 mrg UNAME_MACHINE=`(uname -p) 2>/dev/null`
1203 1.1 mrg echo ${UNAME_MACHINE}-sni-sysv4
1204 1.1 mrg else
1205 1.1 mrg echo ns32k-sni-sysv
1206 1.1 mrg fi
1207 1.1 mrg exit ;;
1208 1.1.1.2 mrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1209 1.1.1.2 mrg # says <Richard.M.Bartel (at] ccMail.Census.GOV>
1210 1.1.1.2 mrg echo i586-unisys-sysv4
1211 1.1.1.2 mrg exit ;;
1212 1.1 mrg *:UNIX_System_V:4*:FTX*)
1213 1.1 mrg # From Gerald Hewes <hewes (at] openmarket.com>.
1214 1.1 mrg # How about differentiating between stratus architectures? -djm
1215 1.1 mrg echo hppa1.1-stratus-sysv4
1216 1.1 mrg exit ;;
1217 1.1 mrg *:*:*:FTX*)
1218 1.1 mrg # From seanf (at] swdc.stratus.com.
1219 1.1 mrg echo i860-stratus-sysv4
1220 1.1 mrg exit ;;
1221 1.1 mrg i*86:VOS:*:*)
1222 1.1 mrg # From Paul.Green (at] stratus.com.
1223 1.1 mrg echo ${UNAME_MACHINE}-stratus-vos
1224 1.1 mrg exit ;;
1225 1.1 mrg *:VOS:*:*)
1226 1.1 mrg # From Paul.Green (at] stratus.com.
1227 1.1 mrg echo hppa1.1-stratus-vos
1228 1.1 mrg exit ;;
1229 1.1 mrg mc68*:A/UX:*:*)
1230 1.1 mrg echo m68k-apple-aux${UNAME_RELEASE}
1231 1.1 mrg exit ;;
1232 1.1 mrg news*:NEWS-OS:6*:*)
1233 1.1 mrg echo mips-sony-newsos6
1234 1.1 mrg exit ;;
1235 1.1 mrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1236 1.1 mrg if [ -d /usr/nec ]; then
1237 1.1.1.2 mrg echo mips-nec-sysv${UNAME_RELEASE}
1238 1.1 mrg else
1239 1.1.1.2 mrg echo mips-unknown-sysv${UNAME_RELEASE}
1240 1.1 mrg fi
1241 1.1.1.2 mrg exit ;;
1242 1.1 mrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1243 1.1 mrg echo powerpc-be-beos
1244 1.1 mrg exit ;;
1245 1.1 mrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1246 1.1 mrg echo powerpc-apple-beos
1247 1.1 mrg exit ;;
1248 1.1 mrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1249 1.1 mrg echo i586-pc-beos
1250 1.1 mrg exit ;;
1251 1.1 mrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1252 1.1 mrg echo i586-pc-haiku
1253 1.1 mrg exit ;;
1254 1.1.1.2 mrg x86_64:Haiku:*:*)
1255 1.1.1.2 mrg echo x86_64-unknown-haiku
1256 1.1.1.2 mrg exit ;;
1257 1.1 mrg SX-4:SUPER-UX:*:*)
1258 1.1 mrg echo sx4-nec-superux${UNAME_RELEASE}
1259 1.1 mrg exit ;;
1260 1.1 mrg SX-5:SUPER-UX:*:*)
1261 1.1 mrg echo sx5-nec-superux${UNAME_RELEASE}
1262 1.1 mrg exit ;;
1263 1.1 mrg SX-6:SUPER-UX:*:*)
1264 1.1 mrg echo sx6-nec-superux${UNAME_RELEASE}
1265 1.1 mrg exit ;;
1266 1.1 mrg SX-7:SUPER-UX:*:*)
1267 1.1 mrg echo sx7-nec-superux${UNAME_RELEASE}
1268 1.1 mrg exit ;;
1269 1.1 mrg SX-8:SUPER-UX:*:*)
1270 1.1 mrg echo sx8-nec-superux${UNAME_RELEASE}
1271 1.1 mrg exit ;;
1272 1.1 mrg SX-8R:SUPER-UX:*:*)
1273 1.1 mrg echo sx8r-nec-superux${UNAME_RELEASE}
1274 1.1 mrg exit ;;
1275 1.1 mrg Power*:Rhapsody:*:*)
1276 1.1 mrg echo powerpc-apple-rhapsody${UNAME_RELEASE}
1277 1.1 mrg exit ;;
1278 1.1 mrg *:Rhapsody:*:*)
1279 1.1 mrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1280 1.1 mrg exit ;;
1281 1.1 mrg *:Darwin:*:*)
1282 1.1 mrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1283 1.1.1.3 skrll eval $set_cc_for_build
1284 1.1.1.3 skrll if test "$UNAME_PROCESSOR" = unknown ; then
1285 1.1.1.3 skrll UNAME_PROCESSOR=powerpc
1286 1.1.1.3 skrll fi
1287 1.1.1.4 mrg if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1288 1.1.1.4 mrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1289 1.1.1.4 mrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1290 1.1.1.4 mrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1291 1.1.1.4 mrg grep IS_64BIT_ARCH >/dev/null
1292 1.1.1.4 mrg then
1293 1.1.1.4 mrg case $UNAME_PROCESSOR in
1294 1.1.1.4 mrg i386) UNAME_PROCESSOR=x86_64 ;;
1295 1.1.1.4 mrg powerpc) UNAME_PROCESSOR=powerpc64 ;;
1296 1.1.1.4 mrg esac
1297 1.1.1.4 mrg fi
1298 1.1.1.3 skrll fi
1299 1.1.1.4 mrg elif test "$UNAME_PROCESSOR" = i386 ; then
1300 1.1.1.4 mrg # Avoid executing cc on OS X 10.9, as it ships with a stub
1301 1.1.1.4 mrg # that puts up a graphical alert prompting to install
1302 1.1.1.4 mrg # developer tools. Any system running Mac OS X 10.7 or
1303 1.1.1.4 mrg # later (Darwin 11 and later) is required to have a 64-bit
1304 1.1.1.4 mrg # processor. This is not true of the ARM version of Darwin
1305 1.1.1.4 mrg # that Apple uses in portable devices.
1306 1.1.1.4 mrg UNAME_PROCESSOR=x86_64
1307 1.1.1.3 skrll fi
1308 1.1 mrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1309 1.1 mrg exit ;;
1310 1.1 mrg *:procnto*:*:* | *:QNX:[0123456789]*:*)
1311 1.1 mrg UNAME_PROCESSOR=`uname -p`
1312 1.1 mrg if test "$UNAME_PROCESSOR" = "x86"; then
1313 1.1 mrg UNAME_PROCESSOR=i386
1314 1.1 mrg UNAME_MACHINE=pc
1315 1.1 mrg fi
1316 1.1 mrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1317 1.1 mrg exit ;;
1318 1.1 mrg *:QNX:*:4*)
1319 1.1 mrg echo i386-pc-qnx
1320 1.1 mrg exit ;;
1321 1.1.1.2 mrg NEO-?:NONSTOP_KERNEL:*:*)
1322 1.1.1.2 mrg echo neo-tandem-nsk${UNAME_RELEASE}
1323 1.1.1.2 mrg exit ;;
1324 1.1.1.2 mrg NSE-*:NONSTOP_KERNEL:*:*)
1325 1.1 mrg echo nse-tandem-nsk${UNAME_RELEASE}
1326 1.1 mrg exit ;;
1327 1.1 mrg NSR-?:NONSTOP_KERNEL:*:*)
1328 1.1 mrg echo nsr-tandem-nsk${UNAME_RELEASE}
1329 1.1 mrg exit ;;
1330 1.1 mrg *:NonStop-UX:*:*)
1331 1.1 mrg echo mips-compaq-nonstopux
1332 1.1 mrg exit ;;
1333 1.1 mrg BS2000:POSIX*:*:*)
1334 1.1 mrg echo bs2000-siemens-sysv
1335 1.1 mrg exit ;;
1336 1.1 mrg DS/*:UNIX_System_V:*:*)
1337 1.1 mrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1338 1.1 mrg exit ;;
1339 1.1 mrg *:Plan9:*:*)
1340 1.1 mrg # "uname -m" is not consistent, so use $cputype instead. 386
1341 1.1 mrg # is converted to i386 for consistency with other x86
1342 1.1 mrg # operating systems.
1343 1.1 mrg if test "$cputype" = "386"; then
1344 1.1 mrg UNAME_MACHINE=i386
1345 1.1 mrg else
1346 1.1 mrg UNAME_MACHINE="$cputype"
1347 1.1 mrg fi
1348 1.1 mrg echo ${UNAME_MACHINE}-unknown-plan9
1349 1.1 mrg exit ;;
1350 1.1 mrg *:TOPS-10:*:*)
1351 1.1 mrg echo pdp10-unknown-tops10
1352 1.1 mrg exit ;;
1353 1.1 mrg *:TENEX:*:*)
1354 1.1 mrg echo pdp10-unknown-tenex
1355 1.1 mrg exit ;;
1356 1.1 mrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1357 1.1 mrg echo pdp10-dec-tops20
1358 1.1 mrg exit ;;
1359 1.1 mrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1360 1.1 mrg echo pdp10-xkl-tops20
1361 1.1 mrg exit ;;
1362 1.1 mrg *:TOPS-20:*:*)
1363 1.1 mrg echo pdp10-unknown-tops20
1364 1.1 mrg exit ;;
1365 1.1 mrg *:ITS:*:*)
1366 1.1 mrg echo pdp10-unknown-its
1367 1.1 mrg exit ;;
1368 1.1 mrg SEI:*:*:SEIUX)
1369 1.1.1.2 mrg echo mips-sei-seiux${UNAME_RELEASE}
1370 1.1 mrg exit ;;
1371 1.1 mrg *:DragonFly:*:*)
1372 1.1 mrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1373 1.1 mrg exit ;;
1374 1.1 mrg *:*VMS:*:*)
1375 1.1.1.2 mrg UNAME_MACHINE=`(uname -p) 2>/dev/null`
1376 1.1 mrg case "${UNAME_MACHINE}" in
1377 1.1 mrg A*) echo alpha-dec-vms ; exit ;;
1378 1.1 mrg I*) echo ia64-dec-vms ; exit ;;
1379 1.1 mrg V*) echo vax-dec-vms ; exit ;;
1380 1.1 mrg esac ;;
1381 1.1 mrg *:XENIX:*:SysV)
1382 1.1 mrg echo i386-pc-xenix
1383 1.1 mrg exit ;;
1384 1.1 mrg i*86:skyos:*:*)
1385 1.1 mrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1386 1.1 mrg exit ;;
1387 1.1 mrg i*86:rdos:*:*)
1388 1.1 mrg echo ${UNAME_MACHINE}-pc-rdos
1389 1.1 mrg exit ;;
1390 1.1 mrg i*86:AROS:*:*)
1391 1.1 mrg echo ${UNAME_MACHINE}-pc-aros
1392 1.1 mrg exit ;;
1393 1.1.1.2 mrg x86_64:VMkernel:*:*)
1394 1.1.1.2 mrg echo ${UNAME_MACHINE}-unknown-esx
1395 1.1.1.2 mrg exit ;;
1396 1.1.1.5 mrg amd64:Isilon\ OneFS:*:*)
1397 1.1.1.5 mrg echo x86_64-unknown-onefs
1398 1.1.1.5 mrg exit ;;
1399 1.1 mrg esac
1400 1.1 mrg
1401 1.1 mrg cat >&2 <<EOF
1402 1.1 mrg $0: unable to guess system type
1403 1.1 mrg
1404 1.1 mrg This script, last modified $timestamp, has failed to recognize
1405 1.1 mrg the operating system you are using. It is advised that you
1406 1.1 mrg download the most up to date version of the config scripts from
1407 1.1 mrg
1408 1.1.1.5 mrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1409 1.1 mrg and
1410 1.1.1.5 mrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1411 1.1 mrg
1412 1.1 mrg If the version you run ($0) is already up to date, please
1413 1.1 mrg send the following data and any information you think might be
1414 1.1 mrg pertinent to <config-patches@gnu.org> in order to provide the needed
1415 1.1 mrg information to handle your system.
1416 1.1 mrg
1417 1.1 mrg config.guess timestamp = $timestamp
1418 1.1 mrg
1419 1.1 mrg uname -m = `(uname -m) 2>/dev/null || echo unknown`
1420 1.1 mrg uname -r = `(uname -r) 2>/dev/null || echo unknown`
1421 1.1 mrg uname -s = `(uname -s) 2>/dev/null || echo unknown`
1422 1.1 mrg uname -v = `(uname -v) 2>/dev/null || echo unknown`
1423 1.1 mrg
1424 1.1 mrg /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1425 1.1 mrg /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1426 1.1 mrg
1427 1.1 mrg hostinfo = `(hostinfo) 2>/dev/null`
1428 1.1 mrg /bin/universe = `(/bin/universe) 2>/dev/null`
1429 1.1 mrg /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1430 1.1 mrg /bin/arch = `(/bin/arch) 2>/dev/null`
1431 1.1 mrg /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1432 1.1 mrg /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1433 1.1 mrg
1434 1.1 mrg UNAME_MACHINE = ${UNAME_MACHINE}
1435 1.1 mrg UNAME_RELEASE = ${UNAME_RELEASE}
1436 1.1 mrg UNAME_SYSTEM = ${UNAME_SYSTEM}
1437 1.1 mrg UNAME_VERSION = ${UNAME_VERSION}
1438 1.1 mrg EOF
1439 1.1 mrg
1440 1.1 mrg exit 1
1441 1.1 mrg
1442 1.1 mrg # Local variables:
1443 1.1 mrg # eval: (add-hook 'write-file-hooks 'time-stamp)
1444 1.1 mrg # time-stamp-start: "timestamp='"
1445 1.1 mrg # time-stamp-format: "%:y-%02m-%02d"
1446 1.1 mrg # time-stamp-end: "'"
1447 1.1 mrg # End:
1448