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