config.guess 43.2 KB
Newer Older
jason's avatar
jason committed
1 2
#! /bin/sh
# Attempt to guess a canonical system name.
hjl's avatar
hjl committed
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 5
#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
#   Inc.
pthomas's avatar
 
pthomas committed
6

bje's avatar
bje committed
7
timestamp='2006-07-02'
pthomas's avatar
 
pthomas committed
8

jason's avatar
jason committed
9 10 11 12 13 14 15 16 17 18 19 20
# 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 2 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
# along with this program; if not, write to the Free Software
21 22
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
jason's avatar
jason committed
23 24 25 26 27 28
#
# 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.

29

hjl's avatar
hjl committed
30
# Originally written by Per Bothner <per@bothner.com>.
31 32
# Please send patches to <config-patches@gnu.org>.  Submit a context
# diff and a properly formatted ChangeLog entry.
jason's avatar
jason committed
33 34 35 36 37 38
#
# This script attempts to guess a canonical system name similar to
# config.sub.  If it succeeds, it prints the system name on stdout, and
# exits with 0.  Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
39
# don't specify an explicit build system type.
jason's avatar
jason committed
40

pthomas's avatar
 
pthomas committed
41 42 43 44 45
me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION]

46
Output the configuration name of the system \`$me' is run on.
pthomas's avatar
 
pthomas committed
47 48

Operation modes:
49 50 51 52 53 54 55 56 57 58
  -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.
59
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
60 61 62 63
Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
pthomas's avatar
 
pthomas committed
64 65 66 67 68 69

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

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

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

94
trap 'exit 1' 1 2 15
bje's avatar
bje committed
95

96 97 98 99
# 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.
100 101 102 103

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

104
# Portable tmp directory creation inspired by the Autoconf team.
105

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

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

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
522 523 524 525 526 527
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
jason's avatar
jason committed
528 529 530 531 532
	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
533
	exit ;;
534
    *:AIX:*:[45])
535
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
536
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
jason's avatar
jason committed
537 538 539 540 541 542 543
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
544
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
jason's avatar
jason committed
545 546
	fi
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547
	exit ;;
jason's avatar
jason committed
548 549
    *:AIX:*:*)
	echo rs6000-ibm-aix
550
	exit ;;
jason's avatar
jason committed
551 552
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
	echo romp-ibm-bsd4.4
553
	exit ;;
554
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
jason's avatar
jason committed
555
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
556
	exit ;;                             # report: romp-ibm BSD 4.3
jason's avatar
jason committed
557 558
    *:BOSX:*:*)
	echo rs6000-bull-bosx
559
	exit ;;
jason's avatar
jason committed
560 561
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
562
	exit ;;
jason's avatar
jason committed
563 564
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
565
	exit ;;
jason's avatar
jason committed
566 567
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
568
	exit ;;
569
    9000/[34678]??:HP-UX:*:*)
570
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
jason's avatar
jason committed
571 572 573
	case "${UNAME_MACHINE}" in
	    9000/31? )            HP_ARCH=m68000 ;;
	    9000/[34]?? )         HP_ARCH=m68k ;;
bje's avatar
bje committed
574
	    9000/[678][0-9][0-9])
575 576
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577 578 579 580 581 582 583 584
                    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" ;;
585
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
586 587
                        esac ;;
                    esac
588 589 590 591
		fi
		if [ "${HP_ARCH}" = "" ]; then
		    eval $set_cc_for_build
		    sed 's/^              //' << EOF >$dummy.c
pthomas's avatar
 
pthomas committed
592 593

              #define _HPUX_SOURCE
594 595
              #include <stdlib.h>
              #include <unistd.h>
bje's avatar
bje committed
596

597 598 599 600
              int main ()
              {
              #if defined(_SC_KERNEL_BITS)
                  long bits = sysconf(_SC_KERNEL_BITS);
bje's avatar
bje committed
601
              #endif
602
                  long cpu  = sysconf (_SC_CPU_VERSION);
bje's avatar
bje committed
603 604

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

#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2

1306
eval $set_cc_for_build
bje's avatar
bje committed
1307
cat >$dummy.c <<EOF
jason's avatar
jason committed
1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331
#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
          "4"
#else
	  ""
#endif
         ); exit (0);
#endif
#endif

#if defined (__arm) && defined (__acorn) && defined (__unix)
1332
  printf ("arm-acorn-riscix\n"); exit (0);
jason's avatar
jason committed
1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344
#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`;
bje's avatar
bje committed
1345 1346 1347 1348
  if (version < 4)
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  else
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
jason's avatar
jason committed
1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392
  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)
1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410
# 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's avatar
jason committed
1411 1412 1413 1414 1415 1416 1417 1418 1419 1420
#endif

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

  exit (1);
}
EOF

1421 1422
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
	{ echo "$SYSTEM_NAME"; exit; }
jason's avatar
jason committed
1423 1424 1425

# Apollos put the system type in the environment.

1426
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
jason's avatar
jason committed
1427 1428 1429 1430 1431 1432 1433 1434

# 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
1435
	exit ;;
jason's avatar
jason committed
1436 1437 1438 1439 1440
    c2*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
1441
	exit ;;
jason's avatar
jason committed
1442 1443
    c34*)
	echo c34-convex-bsd
1444
	exit ;;
jason's avatar
jason committed
1445 1446
    c38*)
	echo c38-convex-bsd
1447
	exit ;;
jason's avatar
jason committed
1448 1449
    c4*)
	echo c4-convex-bsd
1450
	exit ;;
jason's avatar
jason committed
1451 1452 1453
    esac
fi

pthomas's avatar
 
pthomas committed
1454 1455 1456
cat >&2 <<EOF
$0: unable to guess system type

1457 1458 1459
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
pthomas's avatar
 
pthomas committed
1460

1461 1462 1463
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
and
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
pthomas's avatar
 
pthomas committed
1464 1465 1466 1467 1468 1469

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.

1470
config.guess timestamp = $timestamp
pthomas's avatar
 
pthomas committed
1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491

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's avatar
jason committed
1492 1493

exit 1
pthomas's avatar
 
pthomas committed
1494 1495 1496

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
1497
# time-stamp-start: "timestamp='"
pthomas's avatar
 
pthomas committed
1498 1499 1500
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End: