config.guess 43.2 KB
Newer Older
1 2
#! /bin/sh
# Attempt to guess a canonical system name.
Boyuan Yang's avatar
Boyuan Yang committed
3
#   Copyright 1992-2018 Free Software Foundation, Inc.
4

Boyuan Yang's avatar
Boyuan Yang committed
5
timestamp='2018-02-24'
6 7 8

# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10 11 12 13 14 15 16 17
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
Boyuan Yang's avatar
Boyuan Yang committed
18
# along with this program; if not, see <https://www.gnu.org/licenses/>.
19 20 21 22
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
23 24 25 26
# the same distribution terms that you use for the rest of that
# program.  This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
Boyuan Yang's avatar
Boyuan Yang committed
27
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
#
29
# You can get the latest version of this script from:
Boyuan Yang's avatar
Boyuan Yang committed
30
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31
#
Boyuan Yang's avatar
Boyuan Yang committed
32
# Please send patches to <config-patches@gnu.org>.
33

34 35 36 37 38 39 40 41

me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION]

Output the configuration name of the system \`$me' is run on.

Boyuan Yang's avatar
Boyuan Yang committed
42
Options:
43 44 45 46 47 48 49 50 51 52
  -h, --help         print this help, then exit
  -t, --time-stamp   print date of last modification, then exit
  -v, --version      print version number, then exit

Report bugs and patches to <config-patches@gnu.org>."

version="\
GNU config.guess ($timestamp)

Originally written by Per Bothner.
Boyuan Yang's avatar
Boyuan Yang committed
53
Copyright 1992-2018 Free Software Foundation, Inc.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."

help="
Try \`$me --help' for more information."

# Parse command line
while test $# -gt 0 ; do
  case $1 in
    --time-stamp | --time* | -t )
       echo "$timestamp" ; exit ;;
    --version | -v )
       echo "$version" ; exit ;;
    --help | --h* | -h )
       echo "$usage"; exit ;;
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
       echo "$me: invalid option $1$help" >&2
       exit 1 ;;
    * )
       break ;;
  esac
done

if test $# != 0; then
  echo "$me: too many arguments$help" >&2
  exit 1
fi

trap 'exit 1' 1 2 15

# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.

# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.

# Portable tmp directory creation inspired by the Autoconf team.

set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
Boyuan Yang's avatar
Boyuan Yang committed
110
 ,,)    echo "int x;" > "$dummy.c" ;
111
	for c in cc gcc c89 c99 ; do
Boyuan Yang's avatar
Boyuan Yang committed
112
	  if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
	     CC_FOR_BUILD="$c"; break ;
	  fi ;
	done ;
	if test x"$CC_FOR_BUILD" = x ; then
	  CC_FOR_BUILD=no_compiler_found ;
	fi
	;;
 ,,*)   CC_FOR_BUILD=$CC ;;
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'

# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
	PATH=$PATH:/.attbin ; export PATH
fi

UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

Boyuan Yang's avatar
Boyuan Yang committed
135
case "$UNAME_SYSTEM" in
136 137 138 139 140
Linux|GNU|GNU/*)
	# If the system lacks a compiler, then just pick glibc.
	# We could probably try harder.
	LIBC=gnu

Boyuan Yang's avatar
Boyuan Yang committed
141 142
	eval "$set_cc_for_build"
	cat <<-EOF > "$dummy.c"
143 144 145 146 147 148 149 150 151
	#include <features.h>
	#if defined(__UCLIBC__)
	LIBC=uclibc
	#elif defined(__dietlibc__)
	LIBC=dietlibc
	#else
	LIBC=gnu
	#endif
	EOF
Boyuan Yang's avatar
Boyuan Yang committed
152 153 154 155 156 157 158 159
	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"

	# If ldd exists, use it to detect musl libc.
	if command -v ldd >/dev/null && \
		ldd --version 2>&1 | grep -q ^musl
	then
	    LIBC=musl
	fi
160 161 162
	;;
esac

163 164
# Note: order is significant - the case branches are not exclusive.

Boyuan Yang's avatar
Boyuan Yang committed
165
case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
166 167
    *:NetBSD:*:*)
	# NetBSD (nbsd) targets should (where applicable) match one or
168
	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
169 170 171 172 173 174 175 176 177
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
	# switched to ELF, *-*-netbsd* would select the old
	# object file format.  This provides both forward
	# compatibility and a consistent mechanism for selecting the
	# object file format.
	#
	# Note: NetBSD doesn't particularly care about the vendor
	# portion of the name.  We always set it to "unknown".
	sysctl="sysctl -n hw.machine_arch"
Boyuan Yang's avatar
Boyuan Yang committed
178 179 180 181 182
	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
	    "/sbin/$sysctl" 2>/dev/null || \
	    "/usr/sbin/$sysctl" 2>/dev/null || \
	    echo unknown)`
	case "$UNAME_MACHINE_ARCH" in
183 184 185 186 187
	    armeb) machine=armeb-unknown ;;
	    arm*) machine=arm-unknown ;;
	    sh3el) machine=shl-unknown ;;
	    sh3eb) machine=sh-unknown ;;
	    sh5el) machine=sh5le-unknown ;;
Boyuan Yang's avatar
Boyuan Yang committed
188 189 190 191 192 193
	    earmv*)
		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
		machine="${arch}${endian}"-unknown
		;;
	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
194 195
	esac
	# The Operating System including object format, if it has switched
Boyuan Yang's avatar
Boyuan Yang committed
196 197 198 199 200
	# to ELF recently (or will in the future) and ABI.
	case "$UNAME_MACHINE_ARCH" in
	    earm*)
		os=netbsdelf
		;;
201
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
Boyuan Yang's avatar
Boyuan Yang committed
202
		eval "$set_cc_for_build"
203
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
204
			| grep -q __ELF__
205 206 207 208 209 210 211 212 213
		then
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
		    # Return netbsd for either.  FIX?
		    os=netbsd
		else
		    os=netbsdelf
		fi
		;;
	    *)
214
		os=netbsd
215 216
		;;
	esac
Boyuan Yang's avatar
Boyuan Yang committed
217 218 219 220 221 222 223
	# Determine ABI tags.
	case "$UNAME_MACHINE_ARCH" in
	    earm*)
		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
		;;
	esac
224 225 226 227 228
	# The OS release
	# Debian GNU/NetBSD machines have a different userland, and
	# thus, need a distinct triplet. However, they do not need
	# kernel version information, so it can be replaced with a
	# suitable tag, in the style of linux-gnu.
Boyuan Yang's avatar
Boyuan Yang committed
229
	case "$UNAME_VERSION" in
230 231 232 233
	    Debian*)
		release='-gnu'
		;;
	    *)
Boyuan Yang's avatar
Boyuan Yang committed
234
		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
235 236 237 238 239
		;;
	esac
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
	# contains redundant information, the shorter form:
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
Boyuan Yang's avatar
Boyuan Yang committed
240
	echo "$machine-${os}${release}${abi}"
241
	exit ;;
242 243
    *:Bitrig:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
Boyuan Yang's avatar
Boyuan Yang committed
244
	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
245
	exit ;;
246 247
    *:OpenBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
Boyuan Yang's avatar
Boyuan Yang committed
248 249 250 251 252 253 254 255
	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
	exit ;;
    *:LibertyBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
	exit ;;
    *:MidnightBSD:*:*)
	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
256 257
	exit ;;
    *:ekkoBSD:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
258
	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
259 260
	exit ;;
    *:SolidBSD:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
261
	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
262 263
	exit ;;
    macppc:MirBSD:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
264
	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
265 266
	exit ;;
    *:MirBSD:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
267
	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
268
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
269 270 271 272 273 274 275 276 277
    *:Sortix:*:*)
	echo "$UNAME_MACHINE"-unknown-sortix
	exit ;;
    *:Redox:*:*)
	echo "$UNAME_MACHINE"-unknown-redox
	exit ;;
    mips:OSF1:*.*)
        echo mips-dec-osf1
        exit ;;
278 279 280 281 282 283
    alpha:OSF1:*:*)
	case $UNAME_RELEASE in
	*4.0)
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
		;;
	*5.*)
284
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
285 286 287 288 289 290 291 292 293
		;;
	esac
	# According to Compaq, /usr/sbin/psrinfo has been available on
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
	# covers most systems running today.  This code pipes the CPU
	# types through head -n 1, so we only detect the type of CPU 0.
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
	case "$ALPHA_CPU_TYPE" in
	    "EV4 (21064)")
Boyuan Yang's avatar
Boyuan Yang committed
294
		UNAME_MACHINE=alpha ;;
295
	    "EV4.5 (21064)")
Boyuan Yang's avatar
Boyuan Yang committed
296
		UNAME_MACHINE=alpha ;;
297
	    "LCA4 (21066/21068)")
Boyuan Yang's avatar
Boyuan Yang committed
298
		UNAME_MACHINE=alpha ;;
299
	    "EV5 (21164)")
Boyuan Yang's avatar
Boyuan Yang committed
300
		UNAME_MACHINE=alphaev5 ;;
301
	    "EV5.6 (21164A)")
Boyuan Yang's avatar
Boyuan Yang committed
302
		UNAME_MACHINE=alphaev56 ;;
303
	    "EV5.6 (21164PC)")
Boyuan Yang's avatar
Boyuan Yang committed
304
		UNAME_MACHINE=alphapca56 ;;
305
	    "EV5.7 (21164PC)")
Boyuan Yang's avatar
Boyuan Yang committed
306
		UNAME_MACHINE=alphapca57 ;;
307
	    "EV6 (21264)")
Boyuan Yang's avatar
Boyuan Yang committed
308
		UNAME_MACHINE=alphaev6 ;;
309
	    "EV6.7 (21264A)")
Boyuan Yang's avatar
Boyuan Yang committed
310
		UNAME_MACHINE=alphaev67 ;;
311
	    "EV6.8CB (21264C)")
Boyuan Yang's avatar
Boyuan Yang committed
312
		UNAME_MACHINE=alphaev68 ;;
313
	    "EV6.8AL (21264B)")
Boyuan Yang's avatar
Boyuan Yang committed
314
		UNAME_MACHINE=alphaev68 ;;
315
	    "EV6.8CX (21264D)")
Boyuan Yang's avatar
Boyuan Yang committed
316
		UNAME_MACHINE=alphaev68 ;;
317
	    "EV6.9A (21264/EV69A)")
Boyuan Yang's avatar
Boyuan Yang committed
318
		UNAME_MACHINE=alphaev69 ;;
319
	    "EV7 (21364)")
Boyuan Yang's avatar
Boyuan Yang committed
320
		UNAME_MACHINE=alphaev7 ;;
321
	    "EV7.9 (21364A)")
Boyuan Yang's avatar
Boyuan Yang committed
322
		UNAME_MACHINE=alphaev79 ;;
323 324 325 326 327 328
	esac
	# A Pn.n version is a patched version.
	# A Vn.n version is a released version.
	# A Tn.n version is a released field test version.
	# A Xn.n version is an unreleased experimental baselevel.
	# 1.2 uses "1.2" for uname -r.
Boyuan Yang's avatar
Boyuan Yang committed
329
	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
330 331 332 333
	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
	exitcode=$?
	trap '' 0
	exit $exitcode ;;
334 335 336 337
    Amiga*:UNIX_System_V:4.0:*)
	echo m68k-unknown-sysv4
	exit ;;
    *:[Aa]miga[Oo][Ss]:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
338
	echo "$UNAME_MACHINE"-unknown-amigaos
339 340
	exit ;;
    *:[Mm]orph[Oo][Ss]:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
341
	echo "$UNAME_MACHINE"-unknown-morphos
342 343 344 345 346 347 348 349
	exit ;;
    *:OS/390:*:*)
	echo i370-ibm-openedition
	exit ;;
    *:z/VM:*:*)
	echo s390-ibm-zvmoe
	exit ;;
    *:OS400:*:*)
350
	echo powerpc-ibm-os400
351 352
	exit ;;
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
Boyuan Yang's avatar
Boyuan Yang committed
353
	echo arm-acorn-riscix"$UNAME_RELEASE"
354
	exit ;;
355
    arm*:riscos:*:*|arm*:RISCOS:*:*)
356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378
	echo arm-unknown-riscos
	exit ;;
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
	echo hppa1.1-hitachi-hiuxmpp
	exit ;;
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
		echo pyramid-pyramid-sysv3
	else
		echo pyramid-pyramid-bsd
	fi
	exit ;;
    NILE*:*:*:dcosx)
	echo pyramid-pyramid-svr4
	exit ;;
    DRS?6000:unix:4.0:6*)
	echo sparc-icl-nx6
	exit ;;
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
	case `/usr/bin/uname -p` in
	    sparc) echo sparc-icl-nx7; exit ;;
	esac ;;
379
    s390x:SunOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
380
	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
381
	exit ;;
382
    sun4H:SunOS:5.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
383
	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
384 385
	exit ;;
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
386
	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
387
	exit ;;
388
    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
389
	echo i386-pc-auroraux"$UNAME_RELEASE"
390
	exit ;;
391
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
392 393
	eval "$set_cc_for_build"
	SUN_ARCH=i386
394 395 396
	# If there is a compiler, see if it is configured for 64-bit objects.
	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
	# This test works for both compilers.
Boyuan Yang's avatar
Boyuan Yang committed
397
	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
398
	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
Boyuan Yang's avatar
Boyuan Yang committed
399
		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
400 401
		grep IS_64BIT_ARCH >/dev/null
	    then
Boyuan Yang's avatar
Boyuan Yang committed
402
		SUN_ARCH=x86_64
403 404
	    fi
	fi
Boyuan Yang's avatar
Boyuan Yang committed
405
	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
406 407 408 409 410
	exit ;;
    sun4*:SunOS:6*:*)
	# According to config.sub, this is the proper way to canonicalize
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
	# it's likely to be more like Solaris than SunOS4.
Boyuan Yang's avatar
Boyuan Yang committed
411
	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
412 413 414 415 416 417 418 419
	exit ;;
    sun4*:SunOS:*:*)
	case "`/usr/bin/arch -k`" in
	    Series*|S4*)
		UNAME_RELEASE=`uname -v`
		;;
	esac
	# Japanese Language versions have a version number like `4.1.3-JL'.
Boyuan Yang's avatar
Boyuan Yang committed
420
	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
421 422
	exit ;;
    sun3*:SunOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
423
	echo m68k-sun-sunos"$UNAME_RELEASE"
424 425 426
	exit ;;
    sun*:*:4.2BSD:*)
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
Boyuan Yang's avatar
Boyuan Yang committed
427
	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
428 429
	case "`/bin/arch`" in
	    sun3)
Boyuan Yang's avatar
Boyuan Yang committed
430
		echo m68k-sun-sunos"$UNAME_RELEASE"
431 432
		;;
	    sun4)
Boyuan Yang's avatar
Boyuan Yang committed
433
		echo sparc-sun-sunos"$UNAME_RELEASE"
434 435 436 437
		;;
	esac
	exit ;;
    aushp:SunOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
438
	echo sparc-auspex-sunos"$UNAME_RELEASE"
439 440 441 442 443 444 445 446 447 448
	exit ;;
    # The situation for MiNT is a little confusing.  The machine name
    # can be virtually everything (everything which is not
    # "atarist" or "atariste" at least should have a processor
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
    # to the lowercase version "mint" (or "freemint").  Finally
    # the system name "TOS" denotes a system which is actually not
    # MiNT.  But MiNT is downward compatible to TOS, so this should
    # be no problem.
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
449
	echo m68k-atari-mint"$UNAME_RELEASE"
450 451
	exit ;;
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
452
	echo m68k-atari-mint"$UNAME_RELEASE"
453
	exit ;;
454
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
455
	echo m68k-atari-mint"$UNAME_RELEASE"
456 457
	exit ;;
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
458
	echo m68k-milan-mint"$UNAME_RELEASE"
459
	exit ;;
460
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
461
	echo m68k-hades-mint"$UNAME_RELEASE"
462
	exit ;;
463
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
464
	echo m68k-unknown-mint"$UNAME_RELEASE"
465
	exit ;;
466
    m68k:machten:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
467
	echo m68k-apple-machten"$UNAME_RELEASE"
468 469
	exit ;;
    powerpc:machten:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
470
	echo powerpc-apple-machten"$UNAME_RELEASE"
471 472 473 474 475
	exit ;;
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
	exit ;;
    RISC*:ULTRIX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
476
	echo mips-dec-ultrix"$UNAME_RELEASE"
477 478
	exit ;;
    VAX*:ULTRIX*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
479
	echo vax-dec-ultrix"$UNAME_RELEASE"
480 481
	exit ;;
    2020:CLIX:*:* | 2430:CLIX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
482
	echo clipper-intergraph-clix"$UNAME_RELEASE"
483 484
	exit ;;
    mips:*:*:UMIPS | mips:*:*:RISCos)
Boyuan Yang's avatar
Boyuan Yang committed
485 486
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
487 488 489 490 491 492 493 494
#ifdef __cplusplus
#include <stdio.h>  /* for printf() prototype */
	int main (int argc, char *argv[]) {
#else
	int main (argc, argv) int argc; char *argv[]; {
#endif
	#if defined (host_mips) && defined (MIPSEB)
	#if defined (SYSTYPE_SYSV)
Boyuan Yang's avatar
Boyuan Yang committed
495
	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
496 497
	#endif
	#if defined (SYSTYPE_SVR4)
Boyuan Yang's avatar
Boyuan Yang committed
498
	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
499 500
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
Boyuan Yang's avatar
Boyuan Yang committed
501
	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
502 503 504 505 506
	#endif
	#endif
	  exit (-1);
	}
EOF
Boyuan Yang's avatar
Boyuan Yang committed
507 508 509
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
510
	    { echo "$SYSTEM_NAME"; exit; }
Boyuan Yang's avatar
Boyuan Yang committed
511
	echo mips-mips-riscos"$UNAME_RELEASE"
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
	exit ;;
    Motorola:PowerMAX_OS:*:*)
	echo powerpc-motorola-powermax
	exit ;;
    Motorola:*:4.3:PL8-*)
	echo powerpc-harris-powermax
	exit ;;
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
	echo powerpc-harris-powermax
	exit ;;
    Night_Hawk:Power_UNIX:*:*)
	echo powerpc-harris-powerunix
	exit ;;
    m88k:CX/UX:7*:*)
	echo m88k-harris-cxux7
	exit ;;
    m88k:*:4*:R4*)
	echo m88k-motorola-sysv4
	exit ;;
    m88k:*:3*:R3*)
	echo m88k-motorola-sysv3
	exit ;;
    AViiON:dgux:*:*)
535 536
	# DG/UX returns AViiON for all architectures
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Boyuan Yang's avatar
Boyuan Yang committed
537
	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
538
	then
Boyuan Yang's avatar
Boyuan Yang committed
539 540
	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
	       [ "$TARGET_BINARY_INTERFACE"x = x ]
541
	    then
Boyuan Yang's avatar
Boyuan Yang committed
542
		echo m88k-dg-dgux"$UNAME_RELEASE"
543
	    else
Boyuan Yang's avatar
Boyuan Yang committed
544
		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
545 546
	    fi
	else
Boyuan Yang's avatar
Boyuan Yang committed
547
	    echo i586-dg-dgux"$UNAME_RELEASE"
548
	fi
549
	exit ;;
550 551 552 553 554 555 556 557 558 559 560 561 562 563
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
	echo m88k-dolphin-sysv3
	exit ;;
    M88*:*:R3*:*)
	# Delta 88k system running SVR3
	echo m88k-motorola-sysv3
	exit ;;
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
	echo m88k-tektronix-sysv3
	exit ;;
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
	echo m68k-tektronix-bsd
	exit ;;
    *:IRIX*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
564
	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
565 566 567 568 569 570 571 572 573 574 575
	exit ;;
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
    i*86:AIX:*:*)
	echo i386-ibm-aix
	exit ;;
    ia64:AIX:*:*)
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
Boyuan Yang's avatar
Boyuan Yang committed
576
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
577
	fi
Boyuan Yang's avatar
Boyuan Yang committed
578
	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
579 580 581
	exit ;;
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
Boyuan Yang's avatar
Boyuan Yang committed
582 583
		eval "$set_cc_for_build"
		sed 's/^		//' << EOF > "$dummy.c"
584 585 586 587 588 589 590 591 592 593
		#include <sys/systemcfg.h>

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
Boyuan Yang's avatar
Boyuan Yang committed
594
		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
595 596 597 598 599 600 601 602 603 604 605
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
		echo rs6000-ibm-aix3.2.4
	else
		echo rs6000-ibm-aix3.2
	fi
	exit ;;
606
    *:AIX:*:[4567])
607
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
Boyuan Yang's avatar
Boyuan Yang committed
608
	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
609 610 611 612
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
Boyuan Yang's avatar
Boyuan Yang committed
613 614 615
	if [ -x /usr/bin/lslpp ] ; then
		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
616
	else
Boyuan Yang's avatar
Boyuan Yang committed
617
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
618
	fi
Boyuan Yang's avatar
Boyuan Yang committed
619
	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
620 621 622 623
	exit ;;
    *:AIX:*:*)
	echo rs6000-ibm-aix
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
624
    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
625 626 627
	echo romp-ibm-bsd4.4
	exit ;;
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
Boyuan Yang's avatar
Boyuan Yang committed
628
	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
629 630 631 632 633 634 635 636 637 638 639 640 641 642
	exit ;;                             # report: romp-ibm BSD 4.3
    *:BOSX:*:*)
	echo rs6000-bull-bosx
	exit ;;
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
	exit ;;
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
	exit ;;
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
	exit ;;
    9000/[34678]??:HP-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
643 644 645 646
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	case "$UNAME_MACHINE" in
	    9000/31?)            HP_ARCH=m68000 ;;
	    9000/[34]??)         HP_ARCH=m68k ;;
647 648 649
	    9000/[678][0-9][0-9])
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
650
		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
Boyuan Yang's avatar
Boyuan Yang committed
651 652 653
		    case "$sc_cpu_version" in
		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
654
		      532)                      # CPU_PA_RISC2_0
Boyuan Yang's avatar
Boyuan Yang committed
655 656 657 658
			case "$sc_kernel_bits" in
			  32) HP_ARCH=hppa2.0n ;;
			  64) HP_ARCH=hppa2.0w ;;
			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
659 660
			esac ;;
		    esac
661
		fi
Boyuan Yang's avatar
Boyuan Yang committed
662 663 664
		if [ "$HP_ARCH" = "" ]; then
		    eval "$set_cc_for_build"
		    sed 's/^		//' << EOF > "$dummy.c"
665

666 667 668
		#define _HPUX_SOURCE
		#include <stdlib.h>
		#include <unistd.h>
669

670 671 672 673 674 675
		int main ()
		{
		#if defined(_SC_KERNEL_BITS)
		    long bits = sysconf(_SC_KERNEL_BITS);
		#endif
		    long cpu  = sysconf (_SC_CPU_VERSION);
676

677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
		    switch (cpu)
			{
			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
			case CPU_PA_RISC2_0:
		#if defined(_SC_KERNEL_BITS)
			    switch (bits)
				{
				case 64: puts ("hppa2.0w"); break;
				case 32: puts ("hppa2.0n"); break;
				default: puts ("hppa2.0"); break;
				} break;
		#else  /* !defined(_SC_KERNEL_BITS) */
			    puts ("hppa2.0"); break;
		#endif
			default: puts ("hppa1.0"); break;
			}
		    exit (0);
		}
696
EOF
Boyuan Yang's avatar
Boyuan Yang committed
697
		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
698 699 700
		    test -z "$HP_ARCH" && HP_ARCH=hppa
		fi ;;
	esac
Boyuan Yang's avatar
Boyuan Yang committed
701
	if [ "$HP_ARCH" = hppa2.0w ]
702
	then
Boyuan Yang's avatar
Boyuan Yang committed
703
	    eval "$set_cc_for_build"
704 705 706 707 708 709 710 711 712 713

	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
	    # generating 64-bit code.  GNU and HP use different nomenclature:
	    #
	    # $ CC_FOR_BUILD=cc ./config.guess
	    # => hppa2.0w-hp-hpux11.23
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
	    # => hppa64-hp-hpux11.23

Boyuan Yang's avatar
Boyuan Yang committed
714
	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
715
		grep -q __LP64__
716
	    then
Boyuan Yang's avatar
Boyuan Yang committed
717
		HP_ARCH=hppa2.0w
718
	    else
Boyuan Yang's avatar
Boyuan Yang committed
719
		HP_ARCH=hppa64
720 721
	    fi
	fi
Boyuan Yang's avatar
Boyuan Yang committed
722
	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
723 724
	exit ;;
    ia64:HP-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
725 726
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux"$HPUX_REV"
727 728
	exit ;;
    3050*:HI-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
729 730
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754
	#include <unistd.h>
	int
	main ()
	{
	  long cpu = sysconf (_SC_CPU_VERSION);
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
	     results, however.  */
	  if (CPU_IS_PA_RISC (cpu))
	    {
	      switch (cpu)
		{
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
		}
	    }
	  else if (CPU_IS_HP_MC68K (cpu))
	    puts ("m68k-hitachi-hiuxwe2");
	  else puts ("unknown-hitachi-hiuxwe2");
	  exit (0);
	}
EOF
Boyuan Yang's avatar
Boyuan Yang committed
755
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
756 757 758
		{ echo "$SYSTEM_NAME"; exit; }
	echo unknown-hitachi-hiuxwe2
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
759
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
760 761 762 763 764 765 766 767
	echo hppa1.1-hp-bsd
	exit ;;
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
	exit ;;
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
	echo hppa1.0-hp-mpeix
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
768
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
769 770 771 772 773 774 775
	echo hppa1.1-hp-osf
	exit ;;
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
	exit ;;
    i*86:OSF1:*:*)
	if [ -x /usr/sbin/sysversion ] ; then
Boyuan Yang's avatar
Boyuan Yang committed
776
	    echo "$UNAME_MACHINE"-unknown-osf1mk
777
	else
Boyuan Yang's avatar
Boyuan Yang committed
778
	    echo "$UNAME_MACHINE"-unknown-osf1
779 780 781 782 783 784 785
	fi
	exit ;;
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
	exit ;;
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
786
	exit ;;
787 788 789 790 791
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
792
	exit ;;
793 794
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
795
	exit ;;
796 797
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
798
	exit ;;
799 800
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
801
	exit ;;
802
    CRAY*Y-MP:*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
803
	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
804 805
	exit ;;
    CRAY*[A-Z]90:*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
806
	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
807 808 809 810 811
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*TS:*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
812
	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
813 814
	exit ;;
    CRAY*T3E:*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
815
	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
816 817
	exit ;;
    CRAY*SV1:*:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
818
	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
819 820
	exit ;;
    *:UNICOS/mp:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
821
	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
822 823
	exit ;;
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
824 825 826
	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
827 828
	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
829
    5000:UNIX_System_V:4.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
830 831
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
832
	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
833 834
	exit ;;
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
835
	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
836 837
	exit ;;
    sparc*:BSD/OS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
838
	echo sparc-unknown-bsdi"$UNAME_RELEASE"
839 840
	exit ;;
    *:BSD/OS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
841
	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
842 843
	exit ;;
    *:FreeBSD:*:*)
844
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Boyuan Yang's avatar
Boyuan Yang committed
845
	case "$UNAME_PROCESSOR" in
846
	    amd64)
Boyuan Yang's avatar
Boyuan Yang committed
847 848 849
		UNAME_PROCESSOR=x86_64 ;;
	    i386)
		UNAME_PROCESSOR=i586 ;;
850
	esac
Boyuan Yang's avatar
Boyuan Yang committed
851
	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
852 853
	exit ;;
    i*:CYGWIN*:*)
Boyuan Yang's avatar
Boyuan Yang committed
854
	echo "$UNAME_MACHINE"-pc-cygwin
855
	exit ;;
856
    *:MINGW64*:*)
Boyuan Yang's avatar
Boyuan Yang committed
857
	echo "$UNAME_MACHINE"-pc-mingw64
858
	exit ;;
859
    *:MINGW*:*)
Boyuan Yang's avatar
Boyuan Yang committed
860
	echo "$UNAME_MACHINE"-pc-mingw32
861
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
862 863
    *:MSYS*:*)
	echo "$UNAME_MACHINE"-pc-msys
864 865
	exit ;;
    i*:PW*:*)
Boyuan Yang's avatar
Boyuan Yang committed
866
	echo "$UNAME_MACHINE"-pc-pw32
867
	exit ;;
868
    *:Interix*:*)
Boyuan Yang's avatar
Boyuan Yang committed
869
	case "$UNAME_MACHINE" in
870
	    x86)
Boyuan Yang's avatar
Boyuan Yang committed
871
		echo i586-pc-interix"$UNAME_RELEASE"
872
		exit ;;
873
	    authenticamd | genuineintel | EM64T)
Boyuan Yang's avatar
Boyuan Yang committed
874
		echo x86_64-unknown-interix"$UNAME_RELEASE"
875 876
		exit ;;
	    IA64)
Boyuan Yang's avatar
Boyuan Yang committed
877
		echo ia64-unknown-interix"$UNAME_RELEASE"
878 879 880
		exit ;;
	esac ;;
    i*:UWIN*:*)
Boyuan Yang's avatar
Boyuan Yang committed
881
	echo "$UNAME_MACHINE"-pc-uwin
882 883 884 885 886
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
	echo x86_64-unknown-cygwin
	exit ;;
    prep*:SunOS:5.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
887
	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
888 889 890
	exit ;;
    *:GNU:*:*)
	# the GNU system
Boyuan Yang's avatar
Boyuan Yang committed
891
	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
892 893 894
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
Boyuan Yang's avatar
Boyuan Yang committed
895
	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
896 897
	exit ;;
    i*86:Minix:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
898
	echo "$UNAME_MACHINE"-pc-minix
899
	exit ;;
900
    aarch64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
901
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
902 903 904
	exit ;;
    aarch64_be:Linux:*:*)
	UNAME_MACHINE=aarch64_be
Boyuan Yang's avatar
Boyuan Yang committed
905
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
906 907 908 909 910 911 912 913 914 915 916 917
	exit ;;
    alpha:Linux:*:*)
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
	  EV5)   UNAME_MACHINE=alphaev5 ;;
	  EV56)  UNAME_MACHINE=alphaev56 ;;
	  PCA56) UNAME_MACHINE=alphapca56 ;;
	  PCA57) UNAME_MACHINE=alphapca56 ;;
	  EV6)   UNAME_MACHINE=alphaev6 ;;
	  EV67)  UNAME_MACHINE=alphaev67 ;;
	  EV68*) UNAME_MACHINE=alphaev68 ;;
	esac
	objdump --private-headers /bin/sh | grep -q ld.so.1
Boyuan Yang's avatar
Boyuan Yang committed
918 919
	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
920 921
	exit ;;
    arc:Linux:*:* | arceb:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
922
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
923
	exit ;;
924
    arm*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
925
	eval "$set_cc_for_build"
926 927 928
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
Boyuan Yang's avatar
Boyuan Yang committed
929
	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
930
	else
931 932 933
	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
		| grep -q __ARM_PCS_VFP
	    then
Boyuan Yang's avatar
Boyuan Yang committed
934
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
935
	    else
Boyuan Yang's avatar
Boyuan Yang committed
936
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
937
	    fi
938 939 940
	fi
	exit ;;
    avr32*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
941
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
942 943
	exit ;;
    cris:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
944
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
945 946
	exit ;;
    crisv32:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
947 948 949 950
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
	exit ;;
    e2k:Linux:*:*)
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
951 952
	exit ;;
    frv:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
953
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
954 955
	exit ;;
    hexagon:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
956
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
957 958
	exit ;;
    i*86:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
959
	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
960 961
	exit ;;
    ia64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
962 963 964 965
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
	exit ;;
    k1om:Linux:*:*)
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
966 967
	exit ;;
    m32r*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
968
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
969 970
	exit ;;
    m68*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
971
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
972
	exit ;;
973
    mips:Linux:*:* | mips64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
974 975
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
976
	#undef CPU
977 978
	#undef ${UNAME_MACHINE}
	#undef ${UNAME_MACHINE}el
979
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
980
	CPU=${UNAME_MACHINE}el
981 982
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
983
	CPU=${UNAME_MACHINE}
984 985 986 987 988
	#else
	CPU=
	#endif
	#endif
EOF
Boyuan Yang's avatar
Boyuan Yang committed
989 990
	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
	test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
991
	;;
Boyuan Yang's avatar
Boyuan Yang committed
992 993
    mips64el:Linux:*:*)
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
994
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
995 996 997 998 999
    openrisc*:Linux:*:*)
	echo or1k-unknown-linux-"$LIBC"
	exit ;;
    or32:Linux:*:* | or1k*:Linux:*:*)
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1000 1001
	exit ;;
    padre:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1002
	echo sparc-unknown-linux-"$LIBC"
1003 1004
	exit ;;
    parisc64:Linux:*:* | hppa64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1005
	echo hppa64-unknown-linux-"$LIBC"
1006 1007 1008 1009
	exit ;;
    parisc:Linux:*:* | hppa:Linux:*:*)
	# Look for CPU level
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
Boyuan Yang's avatar
Boyuan Yang committed
1010 1011 1012
	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
	  *)    echo hppa-unknown-linux-"$LIBC" ;;
1013 1014
	esac
	exit ;;
1015
    ppc64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1016
	echo powerpc64-unknown-linux-"$LIBC"
1017 1018
	exit ;;
    ppc:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1019
	echo powerpc-unknown-linux-"$LIBC"
1020 1021
	exit ;;
    ppc64le:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1022
	echo powerpc64le-unknown-linux-"$LIBC"
1023 1024
	exit ;;
    ppcle:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1025 1026 1027 1028
	echo powerpcle-unknown-linux-"$LIBC"
	exit ;;
    riscv32:Linux:*:* | riscv64:Linux:*:*)
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1029 1030
	exit ;;
    s390:Linux:*:* | s390x:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1031
	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
1032 1033
	exit ;;
    sh64*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1034
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1035 1036
	exit ;;
    sh*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1037
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1038 1039
	exit ;;
    sparc:Linux:*:* | sparc64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1040
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1041 1042
	exit ;;
    tile*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1043
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1044 1045
	exit ;;
    vax:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1046
	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
1047 1048
	exit ;;
    x86_64:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1049 1050 1051 1052 1053
	if objdump -f /bin/sh | grep -q elf32-x86-64; then
	    echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
	else
	    echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
	fi
1054 1055
	exit ;;
    xtensa*:Linux:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1056
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1057 1058 1059 1060 1061 1062 1063 1064
	exit ;;
    i*86:DYNIX/ptx:4*:*)
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
	# earlier versions are messed up and put the nodename in both
	# sysname and nodename.
	echo i386-sequent-sysv4
	exit ;;
    i*86:UNIX_SV:4.2MP:2.*)
1065 1066 1067
	# Unixware is an offshoot of SVR4, but it has its own version
	# number series starting with 2...
	# I am not positive that other SVR4 systems won't match this,
1068
	# I just have to hope.  -- rms.
1069
	# Use sysv4.2uw... so that sysv4* matches it.
Boyuan Yang's avatar
Boyuan Yang committed
1070
	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
1071 1072 1073 1074
	exit ;;
    i*86:OS/2:*:*)
	# If we were able to find `uname', then EMX Unix compatibility
	# is probably installed.
Boyuan Yang's avatar
Boyuan Yang committed
1075
	echo "$UNAME_MACHINE"-pc-os2-emx
1076 1077
	exit ;;
    i*86:XTS-300:*:STOP)
Boyuan Yang's avatar
Boyuan Yang committed
1078
	echo "$UNAME_MACHINE"-unknown-stop
1079 1080
	exit ;;
    i*86:atheos:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1081
	echo "$UNAME_MACHINE"-unknown-atheos
1082 1083
	exit ;;
    i*86:syllable:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1084
	echo "$UNAME_MACHINE"-pc-syllable
1085
	exit ;;
1086
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1087
	echo i386-unknown-lynxos"$UNAME_RELEASE"
1088 1089
	exit ;;
    i*86:*DOS:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1090
	echo "$UNAME_MACHINE"-pc-msdosdjgpp
1091
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
1092 1093
    i*86:*:4.*:*)
	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1094
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
Boyuan Yang's avatar
Boyuan Yang committed
1095
		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
1096
	else
Boyuan Yang's avatar
Boyuan Yang committed
1097
		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
1098 1099 1100
	fi
	exit ;;
    i*86:*:5:[678]*)
1101
	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1102 1103 1104 1105 1106
	case `/bin/uname -X | grep "^Machine"` in
	    *486*)	     UNAME_MACHINE=i486 ;;
	    *Pentium)	     UNAME_MACHINE=i586 ;;
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
	esac
Boyuan Yang's avatar
Boyuan Yang committed
1107
	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
1108 1109 1110 1111
	exit ;;
    i*86:*:3.2:*)
	if test -f /usr/options/cb.name; then
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
Boyuan Yang's avatar
Boyuan Yang committed
1112
		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
1113 1114 1115 1116 1117 1118 1119 1120 1121
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
			&& UNAME_MACHINE=i586
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
			&& UNAME_MACHINE=i686
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
			&& UNAME_MACHINE=i686
Boyuan Yang's avatar
Boyuan Yang committed
1122
		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
1123
	else
Boyuan Yang's avatar
Boyuan Yang committed
1124
		echo "$UNAME_MACHINE"-pc-sysv32
1125 1126 1127 1128
	fi
	exit ;;
    pc:*:*:*)
	# Left here for compatibility:
1129 1130 1131
	# uname -m prints for DJGPP always 'pc', but it prints nothing about
	# the processor, so we play safe by assuming i586.
	# Note: whatever this is, it MUST be the same as what config.sub
Boyuan Yang's avatar
Boyuan Yang committed
1132
	# prints for the "djgpp" host, or else GDB configure will decide that
1133 1134 1135
	# this is a cross-build.
	echo i586-pc-msdosdjgpp
	exit ;;
1136 1137 1138 1139 1140 1141 1142 1143
    Intel:Mach:3*:*)
	echo i386-pc-mach3
	exit ;;
    paragon:*:*:*)
	echo i860-intel-osf1
	exit ;;
    i860:*:4.*:*) # i860-SVR4
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
Boyuan Yang's avatar
Boyuan Yang committed
1144
	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
1145
	else # Add other i860-SVR4 vendors below as they are discovered.
Boyuan Yang's avatar
Boyuan Yang committed
1146
	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165
	fi
	exit ;;
    mini*:CTIX:SYS*5:*)
	# "miniframe"
	echo m68010-convergent-sysv
	exit ;;
    mc68k:UNIX:SYSTEM5:3.51m)
	echo m68k-convergent-sysv
	exit ;;
    M680?0:D-NIX:5.3:*)
	echo m68k-diab-dnix
	exit ;;
    M68*:*:R3V[5678]*:*)
	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
    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)
	OS_REL=''
	test -r /etc/.relid \
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
Boyuan Yang's avatar
Boyuan Yang committed
1166
	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1167
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
Boyuan Yang's avatar
Boyuan Yang committed
1168
	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1169
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1170 1171 1172 1173 1174 1175 1176
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
	  && { echo i486-ncr-sysv4; exit; } ;;
    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
	OS_REL='.3'
	test -r /etc/.relid \
	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
Boyuan Yang's avatar
Boyuan Yang committed
1177
	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1178
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
Boyuan Yang's avatar
Boyuan Yang committed
1179
	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1180
	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
Boyuan Yang's avatar
Boyuan Yang committed
1181
	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1182
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1183
	echo m68k-unknown-lynxos"$UNAME_RELEASE"
1184 1185 1186 1187 1188
	exit ;;
    mc68030:UNIX_System_V:4.*:*)
	echo m68k-atari-sysv4
	exit ;;
    TSUNAMI:LynxOS:2.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1189
	echo sparc-unknown-lynxos"$UNAME_RELEASE"
1190 1191
	exit ;;
    rs6000:LynxOS:2.*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1192
	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
1193
	exit ;;
1194
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1195
	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
1196 1197
	exit ;;
    SM[BE]S:UNIX_SV:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1198
	echo mips-dde-sysv"$UNAME_RELEASE"
1199 1200 1201 1202 1203 1204 1205 1206 1207 1208
	exit ;;
    RM*:ReliantUNIX-*:*:*)
	echo mips-sni-sysv4
	exit ;;
    RM*:SINIX-*:*:*)
	echo mips-sni-sysv4
	exit ;;
    *:SINIX-*:*:*)
	if uname -p 2>/dev/null >/dev/null ; then
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
Boyuan Yang's avatar
Boyuan Yang committed
1209
		echo "$UNAME_MACHINE"-sni-sysv4
1210 1211 1212 1213
	else
		echo ns32k-sni-sysv
	fi
	exit ;;
1214 1215 1216 1217
    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
			# says <Richard.M.Bartel@ccMail.Census.GOV>
	echo i586-unisys-sysv4
	exit ;;
1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228
    *:UNIX_System_V:4*:FTX*)
	# From Gerald Hewes <hewes@openmarket.com>.
	# How about differentiating between stratus architectures? -djm
	echo hppa1.1-stratus-sysv4
	exit ;;
    *:*:*:FTX*)
	# From seanf@swdc.stratus.com.
	echo i860-stratus-sysv4
	exit ;;
    i*86:VOS:*:*)
	# From Paul.Green@stratus.com.
Boyuan Yang's avatar
Boyuan Yang committed
1229
	echo "$UNAME_MACHINE"-stratus-vos
1230 1231 1232 1233 1234 1235
	exit ;;
    *:VOS:*:*)
	# From Paul.Green@stratus.com.
	echo hppa1.1-stratus-vos
	exit ;;
    mc68*:A/UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1236
	echo m68k-apple-aux"$UNAME_RELEASE"
1237 1238 1239 1240 1241 1242
	exit ;;
    news*:NEWS-OS:6*:*)
	echo mips-sony-newsos6
	exit ;;
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
	if [ -d /usr/nec ]; then
Boyuan Yang's avatar
Boyuan Yang committed
1243
		echo mips-nec-sysv"$UNAME_RELEASE"
1244
	else
Boyuan Yang's avatar
Boyuan Yang committed
1245
		echo mips-unknown-sysv"$UNAME_RELEASE"
1246
	fi
1247
	exit ;;
1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
	echo powerpc-be-beos
	exit ;;
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
	echo powerpc-apple-beos
	exit ;;
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
	echo i586-pc-beos
	exit ;;
    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
	echo i586-pc-haiku
	exit ;;
1260 1261 1262
    x86_64:Haiku:*:*)
	echo x86_64-unknown-haiku
	exit ;;
1263
    SX-4:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1264
	echo sx4-nec-superux"$UNAME_RELEASE"
1265 1266
	exit ;;
    SX-5:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1267
	echo sx5-nec-superux"$UNAME_RELEASE"
1268 1269
	exit ;;
    SX-6:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1270
	echo sx6-nec-superux"$UNAME_RELEASE"
1271 1272
	exit ;;
    SX-7:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1273
	echo sx7-nec-superux"$UNAME_RELEASE"
1274 1275
	exit ;;
    SX-8:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1276
	echo sx8-nec-superux"$UNAME_RELEASE"
1277 1278
	exit ;;
    SX-8R:SUPER-UX:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1279 1280 1281 1282
	echo sx8r-nec-superux"$UNAME_RELEASE"
	exit ;;
    SX-ACE:SUPER-UX:*:*)
	echo sxace-nec-superux"$UNAME_RELEASE"
1283 1284
	exit ;;
    Power*:Rhapsody:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1285
	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
1286 1287
	exit ;;
    *:Rhapsody:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1288
	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
1289 1290 1291
	exit ;;
    *:Darwin:*:*)
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
Boyuan Yang's avatar
Boyuan Yang committed
1292
	eval "$set_cc_for_build"
1293 1294 1295
	if test "$UNAME_PROCESSOR" = unknown ; then
	    UNAME_PROCESSOR=powerpc
	fi
Boyuan Yang's avatar
Boyuan Yang committed
1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313
	if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
		       grep IS_64BIT_ARCH >/dev/null
		then
		    case $UNAME_PROCESSOR in
			i386) UNAME_PROCESSOR=x86_64 ;;
			powerpc) UNAME_PROCESSOR=powerpc64 ;;
		    esac
		fi
		# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
		if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
		       grep IS_PPC >/dev/null
		then
		    UNAME_PROCESSOR=powerpc
		fi
1314
	    fi
Boyuan Yang's avatar
Boyuan Yang committed
1315 1316 1317 1318 1319 1320 1321 1322
	elif test "$UNAME_PROCESSOR" = i386 ; then
	    # Avoid executing cc on OS X 10.9, as it ships with a stub
	    # that puts up a graphical alert prompting to install
	    # developer tools.  Any system running Mac OS X 10.7 or
	    # later (Darwin 11 and later) is required to have a 64-bit
	    # processor. This is not true of the ARM version of Darwin
	    # that Apple uses in portable devices.
	    UNAME_PROCESSOR=x86_64
1323
	fi
Boyuan Yang's avatar
Boyuan Yang committed
1324
	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
1325 1326 1327
	exit ;;
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
	UNAME_PROCESSOR=`uname -p`
Boyuan Yang's avatar
Boyuan Yang committed
1328
	if test "$UNAME_PROCESSOR" = x86; then
1329 1330 1331
		UNAME_PROCESSOR=i386
		UNAME_MACHINE=pc
	fi
Boyuan Yang's avatar
Boyuan Yang committed
1332
	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
1333 1334 1335 1336
	exit ;;
    *:QNX:*:4*)
	echo i386-pc-qnx
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
1337 1338
    NEO-*:NONSTOP_KERNEL:*:*)
	echo neo-tandem-nsk"$UNAME_RELEASE"
1339 1340
	exit ;;
    NSE-*:NONSTOP_KERNEL:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1341
	echo nse-tandem-nsk"$UNAME_RELEASE"
1342
	exit ;;
Boyuan Yang's avatar
Boyuan Yang committed
1343 1344 1345 1346 1347 1348 1349 1350
    NSR-*:NONSTOP_KERNEL:*:*)
	echo nsr-tandem-nsk"$UNAME_RELEASE"
	exit ;;
    NSV-*:NONSTOP_KERNEL:*:*)
	echo nsv-tandem-nsk"$UNAME_RELEASE"
	exit ;;
    NSX-*:NONSTOP_KERNEL:*:*)
	echo nsx-tandem-nsk"$UNAME_RELEASE"
1351 1352 1353 1354 1355 1356 1357 1358
	exit ;;
    *:NonStop-UX:*:*)
	echo mips-compaq-nonstopux
	exit ;;
    BS2000:POSIX*:*:*)
	echo bs2000-siemens-sysv
	exit ;;
    DS/*:UNIX_System_V:*:*)
Boyuan Yang's avatar
Boyuan Yang committed
1359
	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
1360 1361 1362 1363 1364
	exit ;;
    *:Plan9:*:*)
	# "uname -m" is not consistent, so use $cputype instead. 386
	# is converted to i386 for consistency with other x86
	# operating systems.
Boyuan Yang's avatar
Boyuan Yang committed
1365
	if test "$cputype" = 386; then