config.guess 43.9 KB
Newer Older
1 2
#! /bin/sh
# Attempt to guess a canonical system name.
3
#   Copyright 1992-2019 Free Software Foundation, Inc.
4

5
timestamp='2019-01-03'
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
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
# 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").
26
#
27
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
#
29
# You can get the latest version of this script from:
30
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31
#
32
# Please send patches to <config-patches@gnu.org>.
33

34

35 36 37 38 39
me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION]

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

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.
53
Copyright 1992-2019 Free Software Foundation, Inc.
54 55 56

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

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

# Parse command line
while test $# -gt 0 ; do
63 64
  case $1 in
    --time-stamp | --time* | -t )
65
       echo "$timestamp" ; exit ;;
66
    --version | -v )
67
       echo "$version" ; exit ;;
68
    --help | --h* | -h )
69
       echo "$usage"; exit ;;
70 71 72 73 74
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
75
       echo "$me: invalid option $1$help" >&2
76 77 78 79 80 81 82 83 84 85 86
       exit 1 ;;
    * )
       break ;;
  esac
done

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

87 88 89 90
# 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.
91 92 93 94

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

Chris Demetriou's avatar
Chris Demetriou committed
95
# Portable tmp directory creation inspired by the Autoconf team.
96

97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
tmp=
# shellcheck disable=SC2172
trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15

set_cc_for_build() {
    : "${TMPDIR=/tmp}"
    # shellcheck disable=SC2039
    { 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" 2>/dev/null) ; } ||
	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
    dummy=$tmp/dummy
    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
	,,)    echo "int x;" > "$dummy.c"
	       for driver in cc gcc c89 c99 ; do
		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
		       CC_FOR_BUILD="$driver"
		       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
}
125

126
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127
# (ghazi@noc.rutgers.edu 1994-08-24)
128
if test -f /.attbin/uname ; then
129 130 131 132 133
	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
134
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
135 136
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

137
case "$UNAME_SYSTEM" in
138 139 140 141 142
Linux|GNU|GNU/*)
	# If the system lacks a compiler, then just pick glibc.
	# We could probably try harder.
	LIBC=gnu

143
	set_cc_for_build
144
	cat <<-EOF > "$dummy.c"
145 146 147 148 149 150 151 152 153
	#include <features.h>
	#if defined(__UCLIBC__)
	LIBC=uclibc
	#elif defined(__dietlibc__)
	LIBC=dietlibc
	#else
	LIBC=gnu
	#endif
	EOF
154 155 156 157 158 159 160 161
	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
162 163 164
	;;
esac

165 166
# Note: order is significant - the case branches are not exclusive.

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

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

681 682 683
		#define _HPUX_SOURCE
		#include <stdlib.h>
		#include <unistd.h>
684

685 686 687 688 689 690
		int main ()
		{
		#if defined(_SC_KERNEL_BITS)
		    long bits = sysconf(_SC_KERNEL_BITS);
		#endif
		    long cpu  = sysconf (_SC_CPU_VERSION);
691

692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710
		    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);
		}
711
EOF
712
		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
Chris Demetriou's avatar
Chris Demetriou committed
713
		    test -z "$HP_ARCH" && HP_ARCH=hppa
714
		fi ;;
715
	esac
716
	if [ "$HP_ARCH" = hppa2.0w ]
Chris Demetriou's avatar
Chris Demetriou committed
717
	then
718
	    set_cc_for_build
719 720 721 722 723 724 725 726 727 728

	    # 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

Jeff Johnston's avatar
Jeff Johnston committed
729
	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
730
		grep -q __LP64__
Chris Demetriou's avatar
Chris Demetriou committed
731
	    then
Jeff Johnston's avatar
Jeff Johnston committed
732
		HP_ARCH=hppa2.0w
Chris Demetriou's avatar
Chris Demetriou committed
733
	    else
Jeff Johnston's avatar
Jeff Johnston committed
734
		HP_ARCH=hppa64
Chris Demetriou's avatar
Chris Demetriou committed
735 736
	    fi
	fi
737
	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
738
	exit ;;
739
    ia64:HP-UX:*:*)
740 741
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux"$HPUX_REV"
742
	exit ;;
743
    3050*:HI-UX:*:*)
744
	set_cc_for_build
745
	sed 's/^	//' << EOF > "$dummy.c"
746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769
	#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
770
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
771
		{ echo "$SYSTEM_NAME"; exit; }
772
	echo unknown-hitachi-hiuxwe2
773
	exit ;;
774
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
775
	echo hppa1.1-hp-bsd
776
	exit ;;
777 778
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
779
	exit ;;
780
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
781
	echo hppa1.0-hp-mpeix
782
	exit ;;
783
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
784
	echo hppa1.1-hp-osf
785
	exit ;;
786 787
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
788
	exit ;;
789
    i*86:OSF1:*:*)
790
	if [ -x /usr/sbin/sysversion ] ; then
791
	    echo "$UNAME_MACHINE"-unknown-osf1mk
792
	else
793
	    echo "$UNAME_MACHINE"-unknown-osf1
794
	fi
795
	exit ;;
796 797
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
798
	exit ;;
799 800
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
801
	exit ;;
802 803 804 805 806
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
807
	exit ;;
808 809
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
810
	exit ;;
811 812
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
813
	exit ;;
814 815
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
816
	exit ;;
817
    CRAY*Y-MP:*:*:*)
818
	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
819
	exit ;;
820
    CRAY*[A-Z]90:*:*:*)
821
	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
822
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
823 824
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
825
	exit ;;
826
    CRAY*TS:*:*:*)
827
	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
828
	exit ;;
829
    CRAY*T3E:*:*:*)
830
	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
831
	exit ;;
832
    CRAY*SV1:*:*:*)
833
	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
834
	exit ;;
Chris Demetriou's avatar
Chris Demetriou committed
835
    *:UNICOS/mp:*:*)
836
	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
837
	exit ;;
838
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
Jeff Johnston's avatar
Jeff Johnston committed
839 840
	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
841
	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
842 843
	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
Andrew Cagney's avatar
Andrew Cagney committed
844
    5000:UNIX_System_V:4.*:*)
Jeff Johnston's avatar
Jeff Johnston committed
845
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
846
	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
847
	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
848
	exit ;;
849
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
850
	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
851
	exit ;;
852
    sparc*:BSD/OS:*:*)
853
	echo sparc-unknown-bsdi"$UNAME_RELEASE"
854
	exit ;;
855
    *:BSD/OS:*:*)
856
	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
857
	exit ;;
858 859 860 861 862 863 864 865 866 867 868
    arm:FreeBSD:*:*)
	UNAME_PROCESSOR=`uname -p`
	set_cc_for_build
	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_PCS_VFP
	then
	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
	else
	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
	fi
	exit ;;
Andrew Cagney's avatar
Andrew Cagney committed
869
    *:FreeBSD:*:*)
870
	UNAME_PROCESSOR=`/usr/bin/uname -p`
871
	case "$UNAME_PROCESSOR" in
872
	    amd64)
873 874 875
		UNAME_PROCESSOR=x86_64 ;;
	    i386)
		UNAME_PROCESSOR=i586 ;;
876
	esac
877
	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
878
	exit ;;
879
    i*:CYGWIN*:*)
880
	echo "$UNAME_MACHINE"-pc-cygwin
881
	exit ;;
882
    *:MINGW64*:*)
883
	echo "$UNAME_MACHINE"-pc-mingw64
884
	exit ;;
885
    *:MINGW*:*)
886
	echo "$UNAME_MACHINE"-pc-mingw32
887
	exit ;;
888
    *:MSYS*:*)
889
	echo "$UNAME_MACHINE"-pc-msys
890
	exit ;;
891
    i*:PW*:*)
892
	echo "$UNAME_MACHINE"-pc-pw32
893
	exit ;;
894
    *:Interix*:*)
895
	case "$UNAME_MACHINE" in
896
	    x86)
897
		echo i586-pc-interix"$UNAME_RELEASE"
898
		exit ;;
899
	    authenticamd | genuineintel | EM64T)
900
		echo x86_64-unknown-interix"$UNAME_RELEASE"
901
		exit ;;
902
	    IA64)
903
		echo ia64-unknown-interix"$UNAME_RELEASE"
904
		exit ;;
905
	esac ;;
906
    i*:UWIN*:*)
907
	echo "$UNAME_MACHINE"-pc-uwin
908
	exit ;;
Paolo Bonzini's avatar
Paolo Bonzini committed
909
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
910
	echo x86_64-pc-cygwin
911
	exit ;;
912
    prep*:SunOS:5.*:*)
913
	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
914
	exit ;;
915
    *:GNU:*:*)
Andrew Cagney's avatar
Andrew Cagney committed
916
	# the GNU system
917
	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
918
	exit ;;
Andrew Cagney's avatar
Andrew Cagney committed
919 920
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
921
	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
922
	exit ;;
923 924
    *:Minix:*:*)
	echo "$UNAME_MACHINE"-unknown-minix
925
	exit ;;
926
    aarch64:Linux:*:*)
927
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
928 929 930
	exit ;;
    aarch64_be:Linux:*:*)
	UNAME_MACHINE=aarch64_be
931
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
932
	exit ;;
933 934 935 936 937 938 939 940 941
    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 ;;
942
	esac
943
	objdump --private-headers /bin/sh | grep -q ld.so.1
Jeff Johnston's avatar
Jeff Johnston committed
944
	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
945
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
946
	exit ;;
947
    arc:Linux:*:* | arceb:Linux:*:*)
948
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
949
	exit ;;
950
    arm*:Linux:*:*)
951
	set_cc_for_build
952 953 954
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
955
	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
956
	else
Nick Clifton's avatar
Nick Clifton committed
957 958 959
	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
		| grep -q __ARM_PCS_VFP
	    then
960
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
Nick Clifton's avatar
Nick Clifton committed
961
	    else
962
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
Nick Clifton's avatar
Nick Clifton committed
963
	    fi
964
	fi
965
	exit ;;
966
    avr32*:Linux:*:*)
967
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
968
	exit ;;
969
    cris:Linux:*:*)
970
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
971
	exit ;;
972
    crisv32:Linux:*:*)
973
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
974
	exit ;;
975
    e2k:Linux:*:*)
976
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
977
	exit ;;
DJ Delorie's avatar
DJ Delorie committed
978
    frv:Linux:*:*)
979
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
980 981
	exit ;;
    hexagon:Linux:*:*)
982
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
983
	exit ;;
984
    i*86:Linux:*:*)