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

Paul Eggert's avatar
Paul Eggert committed
5
timestamp='2018-02-24'
Paul Eggert's avatar
Paul Eggert committed
6 7 8 9 10 11 12 13 14 15 16 17

# 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
# the Free Software Foundation; either version 3 of the License, or
# (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
Paul Eggert's avatar
Paul Eggert committed
18
# along with this program; if not, see <https://www.gnu.org/licenses/>.
Paul Eggert's avatar
Paul Eggert committed
19 20 21 22 23 24 25 26 27 28 29
#
# 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
# 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").
#
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
Paul Eggert's avatar
Paul Eggert committed
30
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
Paul Eggert's avatar
Paul Eggert committed
31 32 33 34 35 36 37 38 39 40 41
#
# Please send patches to <config-patches@gnu.org>.


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

usage="\
Usage: $0 [OPTION]

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

Paul Eggert's avatar
Paul Eggert committed
42
Options:
Paul Eggert's avatar
Paul Eggert committed
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.
Paul Eggert's avatar
Paul Eggert committed
53
Copyright 1992-2018 Free Software Foundation, Inc.
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
110
 ,,)    echo "int x;" > "$dummy.c" ;
Paul Eggert's avatar
Paul Eggert committed
111
	for c in cc gcc c89 c99 ; do
Paul Eggert's avatar
Paul Eggert committed
112
	  if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
Paul Eggert's avatar
Paul Eggert committed
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

Paul Eggert's avatar
Paul Eggert committed
135
case "$UNAME_SYSTEM" in
Paul Eggert's avatar
Paul Eggert committed
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

Paul Eggert's avatar
Paul Eggert committed
141 142
	eval "$set_cc_for_build"
	cat <<-EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert 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
Paul Eggert's avatar
Paul Eggert committed
160 161 162 163 164
	;;
esac

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

Paul Eggert's avatar
Paul Eggert committed
165
case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
Paul Eggert's avatar
Paul Eggert committed
166 167 168 169 170 171 172 173 174 175 176 177 178
    *:NetBSD:*:*)
	# NetBSD (nbsd) targets should (where applicable) match one or
	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
	# *-*-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"
	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
Paul Eggert's avatar
Paul Eggert committed
179 180
	    "/sbin/$sysctl" 2>/dev/null || \
	    "/usr/sbin/$sysctl" 2>/dev/null || \
Paul Eggert's avatar
Paul Eggert committed
181
	    echo unknown)`
Paul Eggert's avatar
Paul Eggert committed
182
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
183 184 185 186 187 188
	    armeb) machine=armeb-unknown ;;
	    arm*) machine=arm-unknown ;;
	    sh3el) machine=shl-unknown ;;
	    sh3eb) machine=sh-unknown ;;
	    sh5el) machine=sh5le-unknown ;;
	    earmv*)
Paul Eggert's avatar
Paul Eggert committed
189 190 191
		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
Paul Eggert's avatar
Paul Eggert committed
192
		;;
Paul Eggert's avatar
Paul Eggert committed
193
	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
Paul Eggert's avatar
Paul Eggert committed
194 195 196
	esac
	# The Operating System including object format, if it has switched
	# to ELF recently (or will in the future) and ABI.
Paul Eggert's avatar
Paul Eggert committed
197
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
198 199 200 201
	    earm*)
		os=netbsdelf
		;;
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
Paul Eggert's avatar
Paul Eggert committed
202
		eval "$set_cc_for_build"
Paul Eggert's avatar
Paul Eggert committed
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
			| grep -q __ELF__
		then
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
		    # Return netbsd for either.  FIX?
		    os=netbsd
		else
		    os=netbsdelf
		fi
		;;
	    *)
		os=netbsd
		;;
	esac
	# Determine ABI tags.
Paul Eggert's avatar
Paul Eggert committed
218
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
219 220
	    earm*)
		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
Paul Eggert's avatar
Paul Eggert committed
221
		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
Paul Eggert's avatar
Paul Eggert committed
222 223 224 225 226 227 228
		;;
	esac
	# 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.
Paul Eggert's avatar
Paul Eggert committed
229
	case "$UNAME_VERSION" in
Paul Eggert's avatar
Paul Eggert committed
230 231 232 233
	    Debian*)
		release='-gnu'
		;;
	    *)
Paul Eggert's avatar
Paul Eggert committed
234
		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
Paul Eggert's avatar
Paul Eggert committed
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.
Paul Eggert's avatar
Paul Eggert committed
240
	echo "$machine-${os}${release}${abi}"
Paul Eggert's avatar
Paul Eggert committed
241 242 243
	exit ;;
    *:Bitrig:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
Paul Eggert's avatar
Paul Eggert committed
244
	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
245 246 247
	exit ;;
    *:OpenBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
Paul Eggert's avatar
Paul Eggert committed
248
	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
249 250 251
	exit ;;
    *:LibertyBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
Paul Eggert's avatar
Paul Eggert committed
252
	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
253
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
254
    *:MidnightBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
255
	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
256
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
257
    *:ekkoBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
258
	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
259 260
	exit ;;
    *:SolidBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
261
	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
262 263
	exit ;;
    macppc:MirBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
264
	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
265 266
	exit ;;
    *:MirBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
267
	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
268 269
	exit ;;
    *:Sortix:*:*)
Paul Eggert's avatar
Paul Eggert committed
270
	echo "$UNAME_MACHINE"-unknown-sortix
Paul Eggert's avatar
Paul Eggert committed
271
	exit ;;
272
    *:Redox:*:*)
Paul Eggert's avatar
Paul Eggert committed
273
	echo "$UNAME_MACHINE"-unknown-redox
274
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
275 276 277
    mips:OSF1:*.*)
        echo mips-dec-osf1
        exit ;;
Paul Eggert's avatar
Paul Eggert committed
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328
    alpha:OSF1:*:*)
	case $UNAME_RELEASE in
	*4.0)
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
		;;
	*5.*)
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
		;;
	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)")
		UNAME_MACHINE=alpha ;;
	    "EV4.5 (21064)")
		UNAME_MACHINE=alpha ;;
	    "LCA4 (21066/21068)")
		UNAME_MACHINE=alpha ;;
	    "EV5 (21164)")
		UNAME_MACHINE=alphaev5 ;;
	    "EV5.6 (21164A)")
		UNAME_MACHINE=alphaev56 ;;
	    "EV5.6 (21164PC)")
		UNAME_MACHINE=alphapca56 ;;
	    "EV5.7 (21164PC)")
		UNAME_MACHINE=alphapca57 ;;
	    "EV6 (21264)")
		UNAME_MACHINE=alphaev6 ;;
	    "EV6.7 (21264A)")
		UNAME_MACHINE=alphaev67 ;;
	    "EV6.8CB (21264C)")
		UNAME_MACHINE=alphaev68 ;;
	    "EV6.8AL (21264B)")
		UNAME_MACHINE=alphaev68 ;;
	    "EV6.8CX (21264D)")
		UNAME_MACHINE=alphaev68 ;;
	    "EV6.9A (21264/EV69A)")
		UNAME_MACHINE=alphaev69 ;;
	    "EV7 (21364)")
		UNAME_MACHINE=alphaev7 ;;
	    "EV7.9 (21364A)")
		UNAME_MACHINE=alphaev79 ;;
	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.
Paul Eggert's avatar
Paul Eggert committed
329
	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
Paul Eggert's avatar
Paul Eggert committed
330 331 332 333 334 335 336 337
	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
	exitcode=$?
	trap '' 0
	exit $exitcode ;;
    Amiga*:UNIX_System_V:4.0:*)
	echo m68k-unknown-sysv4
	exit ;;
    *:[Aa]miga[Oo][Ss]:*:*)
Paul Eggert's avatar
Paul Eggert committed
338
	echo "$UNAME_MACHINE"-unknown-amigaos
Paul Eggert's avatar
Paul Eggert committed
339 340
	exit ;;
    *:[Mm]orph[Oo][Ss]:*:*)
Paul Eggert's avatar
Paul Eggert committed
341
	echo "$UNAME_MACHINE"-unknown-morphos
Paul Eggert's avatar
Paul Eggert committed
342 343 344 345 346 347 348 349 350 351 352
	exit ;;
    *:OS/390:*:*)
	echo i370-ibm-openedition
	exit ;;
    *:z/VM:*:*)
	echo s390-ibm-zvmoe
	exit ;;
    *:OS400:*:*)
	echo powerpc-ibm-os400
	exit ;;
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
Paul Eggert's avatar
Paul Eggert committed
353
	echo arm-acorn-riscix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
	exit ;;
    arm*:riscos:*:*|arm*:RISCOS:*:*)
	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 ;;
    s390x:SunOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
380
	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
381 382
	exit ;;
    sun4H:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
383
	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
384 385
	exit ;;
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
386
	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
387 388
	exit ;;
    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
389
	echo i386-pc-auroraux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
390 391
	exit ;;
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
392
	eval "$set_cc_for_build"
Paul Eggert's avatar
Paul Eggert committed
393 394 395 396 397 398 399 400 401 402 403 404
	SUN_ARCH=i386
	# 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 __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
		grep IS_64BIT_ARCH >/dev/null
	    then
		SUN_ARCH=x86_64
	    fi
	fi
Paul Eggert's avatar
Paul Eggert committed
405
	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
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.
Paul Eggert's avatar
Paul Eggert committed
411
	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
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'.
Paul Eggert's avatar
Paul Eggert committed
420
	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
Paul Eggert's avatar
Paul Eggert committed
421 422
	exit ;;
    sun3*:SunOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
423
	echo m68k-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
424 425 426
	exit ;;
    sun*:*:4.2BSD:*)
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
Paul Eggert's avatar
Paul Eggert committed
427
	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
Paul Eggert's avatar
Paul Eggert committed
428 429
	case "`/bin/arch`" in
	    sun3)
Paul Eggert's avatar
Paul Eggert committed
430
		echo m68k-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
431 432
		;;
	    sun4)
Paul Eggert's avatar
Paul Eggert committed
433
		echo sparc-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
434 435 436 437
		;;
	esac
	exit ;;
    aushp:SunOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
438
	echo sparc-auspex-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
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:*:*)
Paul Eggert's avatar
Paul Eggert committed
449
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
450 451
	exit ;;
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
452
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
453 454
	exit ;;
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
455
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
456 457
	exit ;;
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
458
	echo m68k-milan-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
459 460
	exit ;;
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
461
	echo m68k-hades-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
462 463
	exit ;;
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
464
	echo m68k-unknown-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
465 466
	exit ;;
    m68k:machten:*:*)
Paul Eggert's avatar
Paul Eggert committed
467
	echo m68k-apple-machten"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
468 469
	exit ;;
    powerpc:machten:*:*)
Paul Eggert's avatar
Paul Eggert committed
470
	echo powerpc-apple-machten"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
471 472 473 474 475
	exit ;;
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
	exit ;;
    RISC*:ULTRIX:*:*)
Paul Eggert's avatar
Paul Eggert committed
476
	echo mips-dec-ultrix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
477 478
	exit ;;
    VAX*:ULTRIX*:*:*)
Paul Eggert's avatar
Paul Eggert committed
479
	echo vax-dec-ultrix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
480 481
	exit ;;
    2020:CLIX:*:* | 2430:CLIX:*:*)
Paul Eggert's avatar
Paul Eggert committed
482
	echo clipper-intergraph-clix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
483 484
	exit ;;
    mips:*:*:UMIPS | mips:*:*:RISCos)
Paul Eggert's avatar
Paul Eggert committed
485 486
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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)
Paul Eggert's avatar
Paul Eggert committed
495
	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
496 497
	#endif
	#if defined (SYSTYPE_SVR4)
Paul Eggert's avatar
Paul Eggert committed
498
	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
499 500
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
Paul Eggert's avatar
Paul Eggert committed
501
	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
502 503 504 505 506
	#endif
	#endif
	  exit (-1);
	}
EOF
Paul Eggert's avatar
Paul Eggert 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"` &&
Paul Eggert's avatar
Paul Eggert committed
510
	    { echo "$SYSTEM_NAME"; exit; }
Paul Eggert's avatar
Paul Eggert committed
511
	echo mips-mips-riscos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536
	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:*:*)
	# DG/UX returns AViiON for all architectures
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Paul Eggert's avatar
Paul Eggert committed
537
	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
Paul Eggert's avatar
Paul Eggert committed
538
	then
Paul Eggert's avatar
Paul Eggert committed
539 540
	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
	       [ "$TARGET_BINARY_INTERFACE"x = x ]
Paul Eggert's avatar
Paul Eggert committed
541
	    then
Paul Eggert's avatar
Paul Eggert committed
542
		echo m88k-dg-dgux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
543
	    else
Paul Eggert's avatar
Paul Eggert committed
544
		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
545 546
	    fi
	else
Paul Eggert's avatar
Paul Eggert committed
547
	    echo i586-dg-dgux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563
	fi
	exit ;;
    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*:*:*)
Paul Eggert's avatar
Paul Eggert committed
564
	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
576
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
577
	fi
Paul Eggert's avatar
Paul Eggert committed
578
	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
Paul Eggert's avatar
Paul Eggert committed
579 580 581
	exit ;;
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
Paul Eggert's avatar
Paul Eggert committed
582 583
		eval "$set_cc_for_build"
		sed 's/^		//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
594
		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
Paul Eggert's avatar
Paul Eggert committed
595 596 597 598 599 600 601 602 603 604 605 606 607
		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 ;;
    *:AIX:*:[4567])
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
Paul Eggert's avatar
Paul Eggert committed
608
	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
Paul Eggert's avatar
Paul Eggert committed
609 610 611 612 613 614 615 616
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
	if [ -x /usr/bin/lslpp ] ; then
		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
	else
Paul Eggert's avatar
Paul Eggert committed
617
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
618
	fi
Paul Eggert's avatar
Paul Eggert committed
619
	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
Paul Eggert's avatar
Paul Eggert committed
620 621 622 623
	exit ;;
    *:AIX:*:*)
	echo rs6000-ibm-aix
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
624
    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
Paul Eggert's avatar
Paul Eggert committed
625 626 627
	echo romp-ibm-bsd4.4
	exit ;;
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
Paul Eggert's avatar
Paul Eggert committed
628
	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
Paul Eggert's avatar
Paul Eggert committed
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:*:*)
Paul Eggert's avatar
Paul Eggert committed
643 644
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	case "$UNAME_MACHINE" in
Paul Eggert's avatar
Paul Eggert committed
645 646
	    9000/31?)            HP_ARCH=m68000 ;;
	    9000/[34]??)         HP_ARCH=m68k ;;
Paul Eggert's avatar
Paul Eggert committed
647 648 649 650
	    9000/[678][0-9][0-9])
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
Paul Eggert's avatar
Paul Eggert committed
651
		    case "$sc_cpu_version" in
Paul Eggert's avatar
Paul Eggert committed
652 653 654
		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
		      532)                      # CPU_PA_RISC2_0
Paul Eggert's avatar
Paul Eggert committed
655
			case "$sc_kernel_bits" in
Paul Eggert's avatar
Paul Eggert committed
656 657 658 659 660 661
			  32) HP_ARCH=hppa2.0n ;;
			  64) HP_ARCH=hppa2.0w ;;
			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
			esac ;;
		    esac
		fi
Paul Eggert's avatar
Paul Eggert committed
662 663 664
		if [ "$HP_ARCH" = "" ]; then
		    eval "$set_cc_for_build"
		    sed 's/^		//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696

		#define _HPUX_SOURCE
		#include <stdlib.h>
		#include <unistd.h>

		int main ()
		{
		#if defined(_SC_KERNEL_BITS)
		    long bits = sysconf(_SC_KERNEL_BITS);
		#endif
		    long cpu  = sysconf (_SC_CPU_VERSION);

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

	    # 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

	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
		grep -q __LP64__
	    then
		HP_ARCH=hppa2.0w
	    else
		HP_ARCH=hppa64
	    fi
	fi
Paul Eggert's avatar
Paul Eggert committed
722
	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
Paul Eggert's avatar
Paul Eggert committed
723 724
	exit ;;
    ia64:HP-UX:*:*)
Paul Eggert's avatar
Paul Eggert committed
725 726
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux"$HPUX_REV"
Paul Eggert's avatar
Paul Eggert committed
727 728
	exit ;;
    3050*:HI-UX:*:*)
Paul Eggert's avatar
Paul Eggert committed
729 730
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
755
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
Paul Eggert's avatar
Paul Eggert committed
756 757 758
		{ echo "$SYSTEM_NAME"; exit; }
	echo unknown-hitachi-hiuxwe2
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
759
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
Paul Eggert's avatar
Paul Eggert committed
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 ;;
Paul Eggert's avatar
Paul Eggert committed
768
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
776
	    echo "$UNAME_MACHINE"-unknown-osf1mk
Paul Eggert's avatar
Paul Eggert committed
777
	else
Paul Eggert's avatar
Paul Eggert committed
778
	    echo "$UNAME_MACHINE"-unknown-osf1
Paul Eggert's avatar
Paul Eggert committed
779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
	fi
	exit ;;
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
	exit ;;
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
	exit ;;
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
	exit ;;
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
	exit ;;
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
	exit ;;
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
	exit ;;
    CRAY*Y-MP:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
803
	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
804 805
	exit ;;
    CRAY*[A-Z]90:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
806
	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
Paul Eggert's avatar
Paul Eggert committed
807 808 809 810 811
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*TS:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
812
	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
813 814
	exit ;;
    CRAY*T3E:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
815
	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
816 817
	exit ;;
    CRAY*SV1:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
818
	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
819 820
	exit ;;
    *:UNICOS/mp:*:*)
Paul Eggert's avatar
Paul Eggert committed
821
	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
822 823 824 825
	exit ;;
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
Paul Eggert's avatar
Paul Eggert committed
826
	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
Paul Eggert's avatar
Paul Eggert committed
827 828 829 830
	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
    5000:UNIX_System_V:4.*:*)
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
Paul Eggert's avatar
Paul Eggert committed
831
	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
Paul Eggert's avatar
Paul Eggert committed
832 833 834
	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
Paul Eggert's avatar
Paul Eggert committed
835
	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
836 837
	exit ;;
    sparc*:BSD/OS:*:*)
Paul Eggert's avatar
Paul Eggert committed
838
	echo sparc-unknown-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
839 840
	exit ;;
    *:BSD/OS:*:*)
Paul Eggert's avatar
Paul Eggert committed
841
	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
842 843 844
	exit ;;
    *:FreeBSD:*:*)
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Paul Eggert's avatar
Paul Eggert committed
845
	case "$UNAME_PROCESSOR" in
Paul Eggert's avatar
Paul Eggert committed
846 847 848 849 850
	    amd64)
		UNAME_PROCESSOR=x86_64 ;;
	    i386)
		UNAME_PROCESSOR=i586 ;;
	esac
Paul Eggert's avatar
Paul Eggert committed
851
	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
Paul Eggert's avatar
Paul Eggert committed
852 853
	exit ;;
    i*:CYGWIN*:*)
Paul Eggert's avatar
Paul Eggert committed
854
	echo "$UNAME_MACHINE"-pc-cygwin
Paul Eggert's avatar
Paul Eggert committed
855 856
	exit ;;
    *:MINGW64*:*)
Paul Eggert's avatar
Paul Eggert committed
857
	echo "$UNAME_MACHINE"-pc-mingw64
Paul Eggert's avatar
Paul Eggert committed
858 859
	exit ;;
    *:MINGW*:*)
Paul Eggert's avatar
Paul Eggert committed
860
	echo "$UNAME_MACHINE"-pc-mingw32
Paul Eggert's avatar
Paul Eggert committed
861 862
	exit ;;
    *:MSYS*:*)
Paul Eggert's avatar
Paul Eggert committed
863
	echo "$UNAME_MACHINE"-pc-msys
Paul Eggert's avatar
Paul Eggert committed
864 865
	exit ;;
    i*:PW*:*)
Paul Eggert's avatar
Paul Eggert committed
866
	echo "$UNAME_MACHINE"-pc-pw32
Paul Eggert's avatar
Paul Eggert committed
867 868
	exit ;;
    *:Interix*:*)
Paul Eggert's avatar
Paul Eggert committed
869
	case "$UNAME_MACHINE" in
Paul Eggert's avatar
Paul Eggert committed
870
	    x86)
Paul Eggert's avatar
Paul Eggert committed
871
		echo i586-pc-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
872 873
		exit ;;
	    authenticamd | genuineintel | EM64T)
Paul Eggert's avatar
Paul Eggert committed
874
		echo x86_64-unknown-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
875 876
		exit ;;
	    IA64)
Paul Eggert's avatar
Paul Eggert committed
877
		echo ia64-unknown-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
878 879 880
		exit ;;
	esac ;;
    i*:UWIN*:*)
Paul Eggert's avatar
Paul Eggert committed
881
	echo "$UNAME_MACHINE"-pc-uwin
Paul Eggert's avatar
Paul Eggert committed
882 883 884 885 886
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
	echo x86_64-unknown-cygwin
	exit ;;
    prep*:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
887
	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
888 889 890
	exit ;;
    *:GNU:*:*)
	# the GNU system
Paul Eggert's avatar
Paul Eggert committed
891
	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
Paul Eggert's avatar
Paul Eggert committed
892 893 894
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
Paul Eggert's avatar
Paul Eggert committed
895
	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
Paul Eggert's avatar
Paul Eggert committed
896 897
	exit ;;
    i*86:Minix:*:*)
Paul Eggert's avatar
Paul Eggert committed
898
	echo "$UNAME_MACHINE"-pc-minix
Paul Eggert's avatar
Paul Eggert committed
899 900
	exit ;;
    aarch64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
901
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
902 903 904
	exit ;;
    aarch64_be:Linux:*:*)
	UNAME_MACHINE=aarch64_be
Paul Eggert's avatar
Paul Eggert committed
905
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
906 907 908 909 910 911 912 913 914 915 916 917 918
	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
	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
Paul Eggert's avatar
Paul Eggert committed
919
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
920 921
	exit ;;
    arc:Linux:*:* | arceb:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
922
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
923 924
	exit ;;
    arm*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
925
	eval "$set_cc_for_build"
Paul Eggert's avatar
Paul Eggert committed
926 927 928
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
Paul Eggert's avatar
Paul Eggert committed
929
	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
930 931 932 933
	else
	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
		| grep -q __ARM_PCS_VFP
	    then
Paul Eggert's avatar
Paul Eggert committed
934
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
Paul Eggert's avatar
Paul Eggert committed
935
	    else
Paul Eggert's avatar
Paul Eggert committed
936
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
Paul Eggert's avatar
Paul Eggert committed
937 938 939 940
	    fi
	fi
	exit ;;
    avr32*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
941
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
942 943
	exit ;;
    cris:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
944
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
945 946
	exit ;;
    crisv32:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
947
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
948 949
	exit ;;
    e2k:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
950
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
951 952
	exit ;;
    frv:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
953
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
954 955
	exit ;;
    hexagon:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
956
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
957 958
	exit ;;
    i*86:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
959
	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
960 961
	exit ;;
    ia64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
962
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
963 964
	exit ;;
    k1om:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
965
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
966 967
	exit ;;
    m32r*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
968
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
969 970
	exit ;;
    m68*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
971
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
972 973
	exit ;;
    mips:Linux:*:* | mips64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
974 975
	eval "$set_cc_for_build"
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
976 977 978 979 980 981 982 983 984 985 986 987 988
	#undef CPU
	#undef ${UNAME_MACHINE}
	#undef ${UNAME_MACHINE}el
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
	CPU=${UNAME_MACHINE}el
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
	CPU=${UNAME_MACHINE}
	#else
	CPU=
	#endif
	#endif
EOF
Paul Eggert's avatar
Paul Eggert 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; }
Paul Eggert's avatar
Paul Eggert committed
991 992
	;;
    mips64el:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
993
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
994 995
	exit ;;
    openrisc*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
996
	echo or1k-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
997 998
	exit ;;
    or32:Linux:*:* | or1k*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
999
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1000 1001
	exit ;;
    padre:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1002
	echo sparc-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1003 1004
	exit ;;
    parisc64:Linux:*:* | hppa64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1005
	echo hppa64-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
1010 1011 1012
	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
	  *)    echo hppa-unknown-linux-"$LIBC" ;;
Paul Eggert's avatar
Paul Eggert committed
1013 1014 1015
	esac
	exit ;;
    ppc64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1016
	echo powerpc64-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1017 1018
	exit ;;
    ppc:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1019
	echo powerpc-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1020 1021
	exit ;;
    ppc64le:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1022
	echo powerpc64le-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1023 1024
	exit ;;
    ppcle:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1025
	echo powerpcle-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1026 1027
	exit ;;
    riscv32:Linux:*:* | riscv64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1028
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1029 1030
	exit ;;
    s390:Linux:*:* | s390x:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1031
	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1032 1033
	exit ;;
    sh64*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1034
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1035 1036
	exit ;;
    sh*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1037
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1038 1039
	exit ;;
    sparc:Linux:*:* | sparc64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1040
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1041 1042
	exit ;;
    tile*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1043
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1044 1045
	exit ;;
    vax:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1046
	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1047 1048
	exit ;;
    x86_64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert 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
Paul Eggert's avatar
Paul Eggert committed
1054 1055
	exit ;;
    xtensa*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1056
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
	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.*)
	# 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,
	# I just have to hope.  -- rms.
	# Use sysv4.2uw... so that sysv4* matches it.
Paul Eggert's avatar
Paul Eggert committed
1070
	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
Paul Eggert's avatar
Paul Eggert committed
1071 1072 1073 1074
	exit ;;
    i*86:OS/2:*:*)
	# If we were able to find `uname', then EMX Unix compatibility
	# is probably installed.
Paul Eggert's avatar
Paul Eggert committed
1075
	echo "$UNAME_MACHINE"-pc-os2-emx
Paul Eggert's avatar
Paul Eggert committed
1076 1077
	exit ;;
    i*86:XTS-300:*:STOP)
Paul Eggert's avatar
Paul Eggert committed
1078
	echo "$UNAME_MACHINE"-unknown-stop
Paul Eggert's avatar
Paul Eggert committed
1079 1080
	exit ;;
    i*86:atheos:*:*)
Paul Eggert's avatar
Paul Eggert committed
1081
	echo "$UNAME_MACHINE"-unknown-atheos
Paul Eggert's avatar
Paul Eggert committed
1082 1083
	exit ;;
    i*86:syllable:*:*)
Paul Eggert's avatar
Paul Eggert committed
1084
	echo "$UNAME_MACHINE"-pc-syllable
Paul Eggert's avatar
Paul Eggert committed
1085 1086
	exit ;;
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
Paul Eggert's avatar
Paul Eggert committed
1087
	echo i386-unknown-lynxos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
1088 1089
	exit ;;
    i*86:*DOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
1090
	echo "$UNAME_MACHINE"-pc-msdosdjgpp
Paul Eggert's avatar
Paul Eggert committed
1091
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
1092
    i*86:*:4.*:*)
Paul Eggert's avatar
Paul Eggert committed
1093
	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
Paul Eggert's avatar
Paul Eggert committed
1094
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
Paul Eggert's avatar
Paul Eggert committed
1095
		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
1096
	else
Paul Eggert's avatar
Paul Eggert committed
1097
		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
1098 1099 1100 1101 1102 1103 1104 1105 1106
	fi
	exit ;;
    i*86:*:5:[678]*)
	# UnixWare 7.x, OpenUNIX and OpenServer 6.
	case `/bin/uname -X | grep "^Machine"` in
	    *486*)	     UNAME_MACHINE=i486 ;;
	    *Pentium)	     UNAME_MACHINE=i586 ;;
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
	esac
Paul Eggert's avatar
Paul Eggert committed
1107
	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
Paul Eggert's avatar
Paul Eggert committed
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`
Paul Eggert's avatar
Paul Eggert committed
1112
		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
1122
		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
1123
	else
Paul Eggert's avatar
Paul Eggert committed
1124
		echo "$UNAME_MACHINE"-pc-sysv32
Paul Eggert's avatar
Paul Eggert committed
1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143
	fi
	exit ;;
    pc:*:*:*)
	# Left here for compatibility:
	# 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
	# prints for the "djgpp" host, or else GDB configure will decide that
	# this is a cross-build.
	echo i586-pc-msdosdjgpp
	exit ;;
    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
Paul Eggert's avatar
Paul Eggert committed
1144
	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
Paul Eggert's avatar
Paul Eggert committed
1145
	else # Add other i860-SVR4 vendors below as they are discovered.
Paul Eggert's avatar
Paul Eggert committed
1146
	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
Paul Eggert's avatar
Paul Eggert committed
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 \
Paul Eggert's avatar
Paul Eggert committed
1166
	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
Paul Eggert's avatar
Paul Eggert committed
1167
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
Paul Eggert's avatar
Paul Eggert committed
1168
	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
Paul Eggert's avatar
Paul Eggert committed
1169 1170 1171 1172 1173 1174 1175 1176
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
	/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 \
Paul Eggert's avatar
Paul Eggert committed
1177
	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
Paul Eggert's avatar
Paul Eggert committed
1178
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \