config.guess 43.8 KB
Newer Older
Jason Merrill committed
1 2
#! /bin/sh
# Attempt to guess a canonical system name.
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
#   2011, 2012, 2013 Free Software Foundation, Inc.
6

7
timestamp='2012-12-30'
8

Jason Merrill committed
9 10
# 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
11
# the Free Software Foundation; either version 3 of the License, or
Jason Merrill committed
12 13 14 15 16 17 18 19
# (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
20
# along with this program; if not, see <http://www.gnu.org/licenses/>.
Jason Merrill committed
21 22 23 24
#
# 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
25 26 27
# 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").
Jason Merrill committed
28
#
29
# Originally written by Per Bothner.
Jason Merrill committed
30
#
31 32
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
33 34 35
#
# Please send patches with a ChangeLog entry to config-patches@gnu.org.

Jason Merrill committed
36

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

usage="\
Usage: $0 [OPTION]

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

Operation modes:
45 46 47 48 49 50 51 52 53 54
  -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.
55
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
56 57
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013 Free Software Foundation, Inc.
58 59 60

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

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

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

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

91
trap 'exit 1' 1 2 15
92

93 94 95 96
# 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.
97 98 99 100

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

101
# Portable tmp directory creation inspired by the Autoconf team.
102

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

Jason Merrill committed
128
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129
# (ghazi@noc.rutgers.edu 1994-08-24)
Jason Merrill committed
130 131 132 133 134 135
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
136
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
Jason Merrill committed
137 138 139 140 141
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

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

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

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
546 547 548 549 550 551
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
Jason Merrill committed
552 553 554 555 556
	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
557
	exit ;;
558
    *:AIX:*:[4567])
559
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
560
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
Jason Merrill committed
561 562 563 564 565 566 567
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
568
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
Jason Merrill committed
569 570
	fi
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
571
	exit ;;
Jason Merrill committed
572 573
    *:AIX:*:*)
	echo rs6000-ibm-aix
574
	exit ;;
Jason Merrill committed
575 576
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
	echo romp-ibm-bsd4.4
577
	exit ;;
578
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
Jason Merrill committed
579
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
580
	exit ;;                             # report: romp-ibm BSD 4.3
Jason Merrill committed
581 582
    *:BOSX:*:*)
	echo rs6000-bull-bosx
583
	exit ;;
Jason Merrill committed
584 585
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
586
	exit ;;
Jason Merrill committed
587 588
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
589
	exit ;;
Jason Merrill committed
590 591
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
592
	exit ;;
Jeff Law committed
593
    9000/[34678]??:HP-UX:*:*)
594
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
Jason Merrill committed
595 596 597
	case "${UNAME_MACHINE}" in
	    9000/31? )            HP_ARCH=m68000 ;;
	    9000/[34]?? )         HP_ARCH=m68k ;;
598
	    9000/[678][0-9][0-9])
599 600
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
601 602 603 604 605 606 607 608
		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
		    case "${sc_cpu_version}" in
		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
		      532)                      # CPU_PA_RISC2_0
			case "${sc_kernel_bits}" in
			  32) HP_ARCH="hppa2.0n" ;;
			  64) HP_ARCH="hppa2.0w" ;;
609
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
610 611
			esac ;;
		    esac
612 613 614
		fi
		if [ "${HP_ARCH}" = "" ]; then
		    eval $set_cc_for_build
615
		    sed 's/^		//' << EOF >$dummy.c
616

617 618 619
		#define _HPUX_SOURCE
		#include <stdlib.h>
		#include <unistd.h>
620

621 622 623 624 625 626
		int main ()
		{
		#if defined(_SC_KERNEL_BITS)
		    long bits = sysconf(_SC_KERNEL_BITS);
		#endif
		    long cpu  = sysconf (_SC_CPU_VERSION);
627

628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646
		    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);
		}
Jeff Law committed
647
EOF
648
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
649
		    test -z "$HP_ARCH" && HP_ARCH=hppa
650
		fi ;;
Jason Merrill committed
651
	esac
652 653
	if [ ${HP_ARCH} = "hppa2.0w" ]
	then
654 655 656 657 658 659 660 661 662 663 664 665
	    eval $set_cc_for_build

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

1341
eval $set_cc_for_build
1342
cat >$dummy.c <<EOF
Jason Merrill committed
1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
     I don't know....  */
  printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
  printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
1358
	"4"
Jason Merrill committed
1359
#else
1360
	""
Jason Merrill committed
1361
#endif
1362
	); exit (0);
Jason Merrill committed
1363 1364 1365 1366
#endif
#endif

#if defined (__arm) && defined (__acorn) && defined (__unix)
1367
  printf ("arm-acorn-riscix\n"); exit (0);
Jason Merrill committed
1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
#endif

#if defined (hp300) && !defined (hpux)
  printf ("m68k-hp-bsd\n"); exit (0);
#endif

#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
  int version;
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1380 1381 1382 1383
  if (version < 4)
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  else
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
Jason Merrill committed
1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427
  exit (0);
#endif

#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
  printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
  printf ("ns32k-encore-mach\n"); exit (0);
#else
  printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif

#if defined (__386BSD__)
  printf ("i386-pc-bsd\n"); exit (0);
#endif

#if defined (sequent)
#if defined (i386)
  printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
  printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif

#if defined (_SEQUENT_)
    struct utsname un;

    uname(&un);

    if (strncmp(un.version, "V2", 2) == 0) {
	printf ("i386-sequent-ptx2\n"); exit (0);
    }
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
	printf ("i386-sequent-ptx1\n"); exit (0);
    }
    printf ("i386-sequent-ptx\n"); exit (0);

#endif

#if defined (vax)
1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445
# if !defined (ultrix)
#  include <sys/param.h>
#  if defined (BSD)
#   if BSD == 43
      printf ("vax-dec-bsd4.3\n"); exit (0);
#   else
#    if BSD == 199006
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
#    else
      printf ("vax-dec-bsd\n"); exit (0);
#    endif
#   endif
#  else
    printf ("vax-dec-bsd\n"); exit (0);
#  endif
# else
    printf ("vax-dec-ultrix\n"); exit (0);
# endif
Jason Merrill committed
1446 1447 1448 1449 1450 1451 1452 1453 1454 1455
#endif

#if defined (alliant) && defined (i860)
  printf ("i860-alliant-bsd\n"); exit (0);
#endif

  exit (1);
}
EOF

1456 1457
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
	{ echo "$SYSTEM_NAME"; exit; }
Jason Merrill committed
1458 1459 1460

# Apollos put the system type in the environment.

1461
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
Jason Merrill committed
1462 1463 1464 1465 1466 1467 1468 1469

# Convex versions that predate uname can use getsysinfo(1)

if [ -x /usr/convex/getsysinfo ]
then
    case `getsysinfo -f cpu_type` in
    c1*)
	echo c1-convex-bsd
1470
	exit ;;
Jason Merrill committed
1471 1472 1473 1474 1475
    c2*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
1476
	exit ;;
Jason Merrill committed
1477 1478
    c34*)
	echo c34-convex-bsd
1479
	exit ;;
Jason Merrill committed
1480 1481
    c38*)
	echo c38-convex-bsd
1482
	exit ;;
Jason Merrill committed
1483 1484
    c4*)
	echo c4-convex-bsd
1485
	exit ;;
Jason Merrill committed
1486 1487 1488
    esac
fi

1489 1490 1491
cat >&2 <<EOF
$0: unable to guess system type

1492 1493 1494
This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
1495

1496
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1497
and
1498
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1499 1500 1501 1502 1503 1504

If the version you run ($0) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

1505
config.guess timestamp = $timestamp
1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526

uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`

hostinfo               = `(hostinfo) 2>/dev/null`
/bin/universe          = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch              = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`

UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM  = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
Jason Merrill committed
1527 1528

exit 1
1529 1530 1531

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
1532
# time-stamp-start: "timestamp='"
1533 1534 1535
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End: