config.guess 47.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-2019 Free Software Foundation, Inc.
Paul Eggert's avatar
Paul Eggert committed
4

Paul Eggert's avatar
Paul Eggert committed
5
timestamp='2019-07-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-2019 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

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

# 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.

Paul Eggert's avatar
Paul Eggert committed
97 98
tmp=
# shellcheck disable=SC2172
Paul Eggert's avatar
Paul Eggert committed
99
trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
Paul Eggert's avatar
Paul Eggert committed
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

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
}
Paul Eggert's avatar
Paul Eggert committed
125 126 127

# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
Paul Eggert's avatar
Paul Eggert committed
128
if test -f /.attbin/uname ; then
Paul Eggert's avatar
Paul Eggert committed
129 130 131 132 133 134 135 136
	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
137
case "$UNAME_SYSTEM" in
Paul Eggert's avatar
Paul Eggert committed
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

Paul Eggert's avatar
Paul Eggert committed
143
	set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
144
	cat <<-EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
162 163 164 165 166
	;;
esac

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

Paul Eggert's avatar
Paul Eggert committed
167
case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
Paul Eggert's avatar
Paul Eggert committed
168 169 170 171 172 173 174 175 176 177 178 179 180
    *: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
181 182
	    "/sbin/$sysctl" 2>/dev/null || \
	    "/usr/sbin/$sysctl" 2>/dev/null || \
Paul Eggert's avatar
Paul Eggert committed
183
	    echo unknown)`
Paul Eggert's avatar
Paul Eggert committed
184
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
185 186 187 188 189 190
	    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
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
Paul Eggert's avatar
Paul Eggert committed
194
		;;
Paul Eggert's avatar
Paul Eggert committed
195
	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
Paul Eggert's avatar
Paul Eggert committed
196 197 198
	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
199
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
200 201 202 203
	    earm*)
		os=netbsdelf
		;;
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
Paul Eggert's avatar
Paul Eggert committed
204
		set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
		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
220
	case "$UNAME_MACHINE_ARCH" in
Paul Eggert's avatar
Paul Eggert committed
221 222
	    earm*)
		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
Paul Eggert's avatar
Paul Eggert committed
223
		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
Paul Eggert's avatar
Paul Eggert committed
224 225 226 227 228 229 230
		;;
	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
231
	case "$UNAME_VERSION" in
Paul Eggert's avatar
Paul Eggert committed
232 233 234 235
	    Debian*)
		release='-gnu'
		;;
	    *)
Paul Eggert's avatar
Paul Eggert committed
236
		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
Paul Eggert's avatar
Paul Eggert committed
237 238 239 240 241
		;;
	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
242
	echo "$machine-${os}${release}${abi-}"
Paul Eggert's avatar
Paul Eggert committed
243 244 245
	exit ;;
    *:Bitrig:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
Paul Eggert's avatar
Paul Eggert committed
246
	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
247 248 249
	exit ;;
    *:OpenBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
Paul Eggert's avatar
Paul Eggert committed
250
	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
251 252 253
	exit ;;
    *:LibertyBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
Paul Eggert's avatar
Paul Eggert committed
254
	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
255
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
256
    *:MidnightBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
257
	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
258
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
259
    *:ekkoBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
260
	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
261 262
	exit ;;
    *:SolidBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
263
	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
264
	exit ;;
265 266 267
    *:OS108:*:*)
	echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
268
    macppc:MirBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
269
	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
270 271
	exit ;;
    *:MirBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
272
	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
273 274
	exit ;;
    *:Sortix:*:*)
Paul Eggert's avatar
Paul Eggert committed
275
	echo "$UNAME_MACHINE"-unknown-sortix
Paul Eggert's avatar
Paul Eggert committed
276
	exit ;;
277
    *:Redox:*:*)
Paul Eggert's avatar
Paul Eggert committed
278
	echo "$UNAME_MACHINE"-unknown-redox
279
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
280
    mips:OSF1:*.*)
Paul Eggert's avatar
Paul Eggert committed
281 282
	echo mips-dec-osf1
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
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 329 330 331 332 333
    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
334
	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
Paul Eggert's avatar
Paul Eggert committed
335 336 337 338 339 340 341 342
	# 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
343
	echo "$UNAME_MACHINE"-unknown-amigaos
Paul Eggert's avatar
Paul Eggert committed
344 345
	exit ;;
    *:[Mm]orph[Oo][Ss]:*:*)
Paul Eggert's avatar
Paul Eggert committed
346
	echo "$UNAME_MACHINE"-unknown-morphos
Paul Eggert's avatar
Paul Eggert committed
347 348 349 350 351 352 353 354 355 356 357
	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
358
	echo arm-acorn-riscix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384
	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
385
	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
386 387
	exit ;;
    sun4H:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
388
	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
389 390
	exit ;;
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
391
	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
392 393
	exit ;;
    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
394
	echo i386-pc-auroraux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
395 396
	exit ;;
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
397 398 399 400 401 402 403 404 405 406 407 408 409 410
	set_cc_for_build
	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
	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
411 412 413 414 415
	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
416
	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
417 418 419 420 421 422 423 424
	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
425
	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
Paul Eggert's avatar
Paul Eggert committed
426 427
	exit ;;
    sun3*:SunOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
428
	echo m68k-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
429 430 431
	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
432
	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
Paul Eggert's avatar
Paul Eggert committed
433 434
	case "`/bin/arch`" in
	    sun3)
Paul Eggert's avatar
Paul Eggert committed
435
		echo m68k-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
436 437
		;;
	    sun4)
Paul Eggert's avatar
Paul Eggert committed
438
		echo sparc-sun-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
439 440 441 442
		;;
	esac
	exit ;;
    aushp:SunOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
443
	echo sparc-auspex-sunos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
444 445 446 447 448 449 450 451 452 453
	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
454
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
455 456
	exit ;;
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
457
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
458 459
	exit ;;
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
460
	echo m68k-atari-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
461 462
	exit ;;
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
463
	echo m68k-milan-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
464 465
	exit ;;
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
466
	echo m68k-hades-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
467 468
	exit ;;
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
469
	echo m68k-unknown-mint"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
470 471
	exit ;;
    m68k:machten:*:*)
Paul Eggert's avatar
Paul Eggert committed
472
	echo m68k-apple-machten"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
473 474
	exit ;;
    powerpc:machten:*:*)
Paul Eggert's avatar
Paul Eggert committed
475
	echo powerpc-apple-machten"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
476 477 478 479 480
	exit ;;
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
	exit ;;
    RISC*:ULTRIX:*:*)
Paul Eggert's avatar
Paul Eggert committed
481
	echo mips-dec-ultrix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
482 483
	exit ;;
    VAX*:ULTRIX*:*:*)
Paul Eggert's avatar
Paul Eggert committed
484
	echo vax-dec-ultrix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
485 486
	exit ;;
    2020:CLIX:*:* | 2430:CLIX:*:*)
Paul Eggert's avatar
Paul Eggert committed
487
	echo clipper-intergraph-clix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
488 489
	exit ;;
    mips:*:*:UMIPS | mips:*:*:RISCos)
Paul Eggert's avatar
Paul Eggert committed
490
	set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
491
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
492 493 494 495 496 497 498 499
#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
500
	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
501 502
	#endif
	#if defined (SYSTYPE_SVR4)
Paul Eggert's avatar
Paul Eggert committed
503
	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
504 505
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
Paul Eggert's avatar
Paul Eggert committed
506
	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
Paul Eggert's avatar
Paul Eggert committed
507 508 509 510 511
	#endif
	#endif
	  exit (-1);
	}
EOF
Paul Eggert's avatar
Paul Eggert committed
512 513 514
	$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
515
	    { echo "$SYSTEM_NAME"; exit; }
Paul Eggert's avatar
Paul Eggert committed
516
	echo mips-mips-riscos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
	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
542
	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
Paul Eggert's avatar
Paul Eggert committed
543
	then
Paul Eggert's avatar
Paul Eggert committed
544 545
	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
	       [ "$TARGET_BINARY_INTERFACE"x = x ]
Paul Eggert's avatar
Paul Eggert committed
546
	    then
Paul Eggert's avatar
Paul Eggert committed
547
		echo m88k-dg-dgux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
548
	    else
Paul Eggert's avatar
Paul Eggert committed
549
		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
550 551
	    fi
	else
Paul Eggert's avatar
Paul Eggert committed
552
	    echo i586-dg-dgux"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568
	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
569
	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
Paul Eggert's avatar
Paul Eggert committed
570 571 572 573 574 575 576 577 578 579 580
	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
581
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
582
	fi
Paul Eggert's avatar
Paul Eggert committed
583
	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
Paul Eggert's avatar
Paul Eggert committed
584 585 586
	exit ;;
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
Paul Eggert's avatar
Paul Eggert committed
587
		set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
588
		sed 's/^		//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
589 590 591 592 593 594 595 596 597 598
		#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
599
		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
Paul Eggert's avatar
Paul Eggert committed
600 601 602 603 604 605 606 607 608 609 610 611 612
		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
613
	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
Paul Eggert's avatar
Paul Eggert committed
614 615 616 617 618 619 620 621
		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
622
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
623
	fi
Paul Eggert's avatar
Paul Eggert committed
624
	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
Paul Eggert's avatar
Paul Eggert committed
625 626 627 628
	exit ;;
    *:AIX:*:*)
	echo rs6000-ibm-aix
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
629
    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
Paul Eggert's avatar
Paul Eggert committed
630 631 632
	echo romp-ibm-bsd4.4
	exit ;;
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
Paul Eggert's avatar
Paul Eggert committed
633
	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
Paul Eggert's avatar
Paul Eggert committed
634 635 636 637 638 639 640 641 642 643 644 645 646 647
	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
648 649
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	case "$UNAME_MACHINE" in
Paul Eggert's avatar
Paul Eggert committed
650 651
	    9000/31?)            HP_ARCH=m68000 ;;
	    9000/[34]??)         HP_ARCH=m68k ;;
Paul Eggert's avatar
Paul Eggert committed
652 653 654 655
	    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
656
		    case "$sc_cpu_version" in
Paul Eggert's avatar
Paul Eggert committed
657 658 659
		      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
660
			case "$sc_kernel_bits" in
Paul Eggert's avatar
Paul Eggert committed
661 662 663 664 665 666
			  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
667
		if [ "$HP_ARCH" = "" ]; then
Paul Eggert's avatar
Paul Eggert committed
668
		    set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
669
		    sed 's/^		//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
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 697 698 699 700 701

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

	    # 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
727
	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
Paul Eggert's avatar
Paul Eggert committed
728 729
	exit ;;
    ia64:HP-UX:*:*)
Paul Eggert's avatar
Paul Eggert committed
730 731
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux"$HPUX_REV"
Paul Eggert's avatar
Paul Eggert committed
732 733
	exit ;;
    3050*:HI-UX:*:*)
Paul Eggert's avatar
Paul Eggert committed
734
	set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
735
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
	#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
760
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
Paul Eggert's avatar
Paul Eggert committed
761 762 763
		{ echo "$SYSTEM_NAME"; exit; }
	echo unknown-hitachi-hiuxwe2
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
764
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
Paul Eggert's avatar
Paul Eggert committed
765 766 767 768 769 770 771 772
	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
773
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
Paul Eggert's avatar
Paul Eggert committed
774 775 776 777 778 779 780
	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
781
	    echo "$UNAME_MACHINE"-unknown-osf1mk
Paul Eggert's avatar
Paul Eggert committed
782
	else
Paul Eggert's avatar
Paul Eggert committed
783
	    echo "$UNAME_MACHINE"-unknown-osf1
Paul Eggert's avatar
Paul Eggert committed
784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807
	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
808
	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
809 810
	exit ;;
    CRAY*[A-Z]90:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
811
	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
Paul Eggert's avatar
Paul Eggert committed
812 813 814 815 816
	| 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
817
	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
818 819
	exit ;;
    CRAY*T3E:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
820
	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
821 822
	exit ;;
    CRAY*SV1:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
823
	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
824 825
	exit ;;
    *:UNICOS/mp:*:*)
Paul Eggert's avatar
Paul Eggert committed
826
	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
Paul Eggert's avatar
Paul Eggert committed
827 828 829 830
	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
831
	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
Paul Eggert's avatar
Paul Eggert committed
832 833 834 835
	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
836
	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
Paul Eggert's avatar
Paul Eggert committed
837 838 839
	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
840
	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
841 842
	exit ;;
    sparc*:BSD/OS:*:*)
Paul Eggert's avatar
Paul Eggert committed
843
	echo sparc-unknown-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
844 845
	exit ;;
    *:BSD/OS:*:*)
Paul Eggert's avatar
Paul Eggert committed
846
	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
847
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
848
    arm:FreeBSD:*:*)
Paul Eggert's avatar
Paul Eggert committed
849 850 851 852 853 854 855 856 857 858
	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 ;;
Paul Eggert's avatar
Paul Eggert committed
859 860
    *:FreeBSD:*:*)
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Paul Eggert's avatar
Paul Eggert committed
861
	case "$UNAME_PROCESSOR" in
Paul Eggert's avatar
Paul Eggert committed
862 863 864 865 866
	    amd64)
		UNAME_PROCESSOR=x86_64 ;;
	    i386)
		UNAME_PROCESSOR=i586 ;;
	esac
Paul Eggert's avatar
Paul Eggert committed
867
	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
Paul Eggert's avatar
Paul Eggert committed
868 869
	exit ;;
    i*:CYGWIN*:*)
Paul Eggert's avatar
Paul Eggert committed
870
	echo "$UNAME_MACHINE"-pc-cygwin
Paul Eggert's avatar
Paul Eggert committed
871 872
	exit ;;
    *:MINGW64*:*)
Paul Eggert's avatar
Paul Eggert committed
873
	echo "$UNAME_MACHINE"-pc-mingw64
Paul Eggert's avatar
Paul Eggert committed
874 875
	exit ;;
    *:MINGW*:*)
Paul Eggert's avatar
Paul Eggert committed
876
	echo "$UNAME_MACHINE"-pc-mingw32
Paul Eggert's avatar
Paul Eggert committed
877 878
	exit ;;
    *:MSYS*:*)
Paul Eggert's avatar
Paul Eggert committed
879
	echo "$UNAME_MACHINE"-pc-msys
Paul Eggert's avatar
Paul Eggert committed
880 881
	exit ;;
    i*:PW*:*)
Paul Eggert's avatar
Paul Eggert committed
882
	echo "$UNAME_MACHINE"-pc-pw32
Paul Eggert's avatar
Paul Eggert committed
883 884
	exit ;;
    *:Interix*:*)
Paul Eggert's avatar
Paul Eggert committed
885
	case "$UNAME_MACHINE" in
Paul Eggert's avatar
Paul Eggert committed
886
	    x86)
Paul Eggert's avatar
Paul Eggert committed
887
		echo i586-pc-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
888 889
		exit ;;
	    authenticamd | genuineintel | EM64T)
Paul Eggert's avatar
Paul Eggert committed
890
		echo x86_64-unknown-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
891 892
		exit ;;
	    IA64)
Paul Eggert's avatar
Paul Eggert committed
893
		echo ia64-unknown-interix"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
894 895 896
		exit ;;
	esac ;;
    i*:UWIN*:*)
Paul Eggert's avatar
Paul Eggert committed
897
	echo "$UNAME_MACHINE"-pc-uwin
Paul Eggert's avatar
Paul Eggert committed
898 899
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
Paul Eggert's avatar
Paul Eggert committed
900
	echo x86_64-pc-cygwin
Paul Eggert's avatar
Paul Eggert committed
901 902
	exit ;;
    prep*:SunOS:5.*:*)
Paul Eggert's avatar
Paul Eggert committed
903
	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
Paul Eggert's avatar
Paul Eggert committed
904 905 906
	exit ;;
    *:GNU:*:*)
	# the GNU system
Paul Eggert's avatar
Paul Eggert committed
907
	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
Paul Eggert's avatar
Paul Eggert committed
908 909 910
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
Paul Eggert's avatar
Paul Eggert committed
911
	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
912
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
913 914
    *:Minix:*:*)
	echo "$UNAME_MACHINE"-unknown-minix
Paul Eggert's avatar
Paul Eggert committed
915 916
	exit ;;
    aarch64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
917
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
918 919 920
	exit ;;
    aarch64_be:Linux:*:*)
	UNAME_MACHINE=aarch64_be
Paul Eggert's avatar
Paul Eggert committed
921
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
922 923 924 925 926 927 928 929 930 931 932 933 934
	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
935
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
936 937
	exit ;;
    arc:Linux:*:* | arceb:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
938
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
939 940
	exit ;;
    arm*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
941
	set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
942 943 944
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
Paul Eggert's avatar
Paul Eggert committed
945
	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
946 947 948 949
	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
950
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
Paul Eggert's avatar
Paul Eggert committed
951
	    else
Paul Eggert's avatar
Paul Eggert committed
952
		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
Paul Eggert's avatar
Paul Eggert committed
953 954 955 956
	    fi
	fi
	exit ;;
    avr32*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
957
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
958 959
	exit ;;
    cris:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
960
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
961 962
	exit ;;
    crisv32:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
963
	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
964 965
	exit ;;
    e2k:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
966
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
967 968
	exit ;;
    frv:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
969
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
970 971
	exit ;;
    hexagon:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
972
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
973 974
	exit ;;
    i*86:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
975
	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
976 977
	exit ;;
    ia64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
978
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
979 980
	exit ;;
    k1om:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
981
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
982 983
	exit ;;
    m32r*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
984
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
985 986
	exit ;;
    m68*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
987
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
988 989
	exit ;;
    mips:Linux:*:* | mips64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
990
	set_cc_for_build
Paul Eggert's avatar
Paul Eggert committed
991 992
	IS_GLIBC=0
	test x"${LIBC}" = xgnu && IS_GLIBC=1
Paul Eggert's avatar
Paul Eggert committed
993
	sed 's/^	//' << EOF > "$dummy.c"
Paul Eggert's avatar
Paul Eggert committed
994
	#undef CPU
Paul Eggert's avatar
Paul Eggert committed
995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022
	#undef mips
	#undef mipsel
	#undef mips64
	#undef mips64el
	#if ${IS_GLIBC} && defined(_ABI64)
	LIBCABI=gnuabi64
	#else
	#if ${IS_GLIBC} && defined(_ABIN32)
	LIBCABI=gnuabin32
	#else
	LIBCABI=${LIBC}
	#endif
	#endif

	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
	CPU=mipsisa64r6
	#else
	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
	CPU=mipsisa32r6
	#else
	#if defined(__mips64)
	CPU=mips64
	#else
	CPU=mips
	#endif
	#endif
	#endif

Paul Eggert's avatar
Paul Eggert committed
1023
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
Paul Eggert's avatar
Paul Eggert committed
1024
	MIPS_ENDIAN=el
Paul Eggert's avatar
Paul Eggert committed
1025 1026
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
Paul Eggert's avatar
Paul Eggert committed
1027
	MIPS_ENDIAN=
Paul Eggert's avatar
Paul Eggert committed
1028
	#else
Paul Eggert's avatar
Paul Eggert committed
1029
	MIPS_ENDIAN=
Paul Eggert's avatar
Paul Eggert committed
1030 1031 1032
	#endif
	#endif
EOF
Paul Eggert's avatar
Paul Eggert committed
1033 1034
	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
Paul Eggert's avatar
Paul Eggert committed
1035 1036
	;;
    mips64el: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 ;;
    openrisc*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1040
	echo or1k-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1041 1042
	exit ;;
    or32:Linux:*:* | or1k*: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 ;;
    padre:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1046
	echo sparc-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1047 1048
	exit ;;
    parisc64:Linux:*:* | hppa64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1049
	echo hppa64-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1050 1051 1052 1053
	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
1054 1055 1056
	  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
1057 1058 1059
	esac
	exit ;;
    ppc64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1060
	echo powerpc64-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1061 1062
	exit ;;
    ppc:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1063
	echo powerpc-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1064 1065
	exit ;;
    ppc64le:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1066
	echo powerpc64le-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1067 1068
	exit ;;
    ppcle:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1069
	echo powerpcle-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1070 1071
	exit ;;
    riscv32:Linux:*:* | riscv64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1072
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1073 1074
	exit ;;
    s390:Linux:*:* | s390x:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1075
	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1076 1077
	exit ;;
    sh64*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1078
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1079 1080
	exit ;;
    sh*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1081
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1082 1083
	exit ;;
    sparc:Linux:*:* | sparc64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1084
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1085 1086
	exit ;;
    tile*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1087
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1088 1089
	exit ;;
    vax:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1090
	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1091 1092
	exit ;;
    x86_64:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1093
	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1094 1095
	exit ;;
    xtensa*:Linux:*:*)
Paul Eggert's avatar
Paul Eggert committed
1096
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
Paul Eggert's avatar
Paul Eggert committed
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
	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
1110
	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
Paul Eggert's avatar
Paul Eggert committed
1111 1112 1113 1114
	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
1115
	echo "$UNAME_MACHINE"-pc-os2-emx
Paul Eggert's avatar
Paul Eggert committed
1116 1117
	exit ;;
    i*86:XTS-300:*:STOP)
Paul Eggert's avatar
Paul Eggert committed
1118
	echo "$UNAME_MACHINE"-unknown-stop
Paul Eggert's avatar
Paul Eggert committed
1119 1120
	exit ;;
    i*86:atheos:*:*)
Paul Eggert's avatar
Paul Eggert committed
1121
	echo "$UNAME_MACHINE"-unknown-atheos
Paul Eggert's avatar
Paul Eggert committed
1122 1123
	exit ;;
    i*86:syllable:*:*)
Paul Eggert's avatar
Paul Eggert committed
1124
	echo "$UNAME_MACHINE"-pc-syllable
Paul Eggert's avatar
Paul Eggert committed
1125 1126
	exit ;;
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
Paul Eggert's avatar
Paul Eggert committed
1127
	echo i386-unknown-lynxos"$UNAME_RELEASE"
Paul Eggert's avatar
Paul Eggert committed
1128 1129
	exit ;;
    i*86:*DOS:*:*)
Paul Eggert's avatar
Paul Eggert committed
1130
	echo "$UNAME_MACHINE"-pc-msdosdjgpp
Paul Eggert's avatar
Paul Eggert committed
1131
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
1132
    i*86:*:4.*:*)
Paul Eggert's avatar
Paul Eggert committed
1133
	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
Paul Eggert's avatar
Paul Eggert committed
1134
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
Paul Eggert's avatar
Paul Eggert committed
1135
		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
1136
	else
Paul Eggert's avatar
Paul Eggert committed
1137
		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
Paul Eggert's avatar
Paul Eggert committed
1138 1139 1140 1141 1142 1143 1144 1145 1146
	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
1147
	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
Paul Eggert's avatar
Paul Eggert committed
1148 1149 1150 1151
	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
1152
		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"