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

Kim F. Storm's avatar
Kim F. Storm committed
7
timestamp='2007-02-26'
Dave Love's avatar
Dave Love committed
8

Roland McGrath's avatar
Roland McGrath 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.
23 24 25 26 27
#
# 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.
Roland McGrath's avatar
Roland McGrath committed
28

29

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

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

usage="\
Usage: $0 [OPTION]

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

Operation modes:
Paul Eggert's avatar
Paul Eggert committed
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
Paul Eggert's avatar
Paul Eggert committed
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."
Dave Love's avatar
Dave Love committed
64 65 66 67 68 69

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

# Parse command line
while test $# -gt 0 ; do
Paul Eggert's avatar
Paul Eggert committed
70 71
  case $1 in
    --time-stamp | --time* | -t )
72
       echo "$timestamp" ; exit ;;
Paul Eggert's avatar
Paul Eggert committed
73
    --version | -v )
74
       echo "$version" ; exit ;;
Dave Love's avatar
Dave Love committed
75
    --help | --h* | -h )
76
       echo "$usage"; exit ;;
Dave Love's avatar
Dave Love committed
77 78 79 80 81
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
Paul Eggert's avatar
Paul Eggert committed
82
       echo "$me: invalid option $1$help" >&2
Dave Love's avatar
Dave Love 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
Dave Love's avatar
Dave Love 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.
Dave Love's avatar
Dave Love committed
100

Paul Eggert's avatar
Paul Eggert committed
101 102
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
103

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} ;
Dan Nicolaescu's avatar
Dan Nicolaescu committed
110
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111 112 113 114 115
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116 117
case $CC_FOR_BUILD,$HOST_CC,$CC in
 ,,)    echo "int x;" > $dummy.c ;
Paul Eggert's avatar
Paul Eggert committed
118
	for c in cc gcc c89 c99 ; do
119
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
Paul Eggert's avatar
Paul Eggert committed
120 121 122 123 124 125 126 127 128
	     CC_FOR_BUILD="$c"; break ;
	  fi ;
	done ;
	if test x"$CC_FOR_BUILD" = x ; then
	  CC_FOR_BUILD=no_compiler_found ;
	fi
	;;
 ,,*)   CC_FOR_BUILD=$CC ;;
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129
esac ; set_cc_for_build= ;'
130

131
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
Paul Eggert's avatar
Paul Eggert committed
132
# (ghazi@noc.rutgers.edu 1994-08-24)
133 134 135 136
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
	PATH=$PATH:/.attbin ; export PATH
fi

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

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

              #define _HPUX_SOURCE
595 596
              #include <stdlib.h>
              #include <unistd.h>
597

598 599 600 601
              int main ()
              {
              #if defined(_SC_KERNEL_BITS)
                  long bits = sysconf(_SC_KERNEL_BITS);
602
              #endif
603
                  long cpu  = sysconf (_SC_CPU_VERSION);
604 605

                  switch (cpu)
606 607 608
              	{
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
609
              	case CPU_PA_RISC2_0:
610
              #if defined(_SC_KERNEL_BITS)
611
              	    switch (bits)
612 613 614 615 616 617 618
              		{
              		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;
619
              #endif
620 621 622 623 624
              	default: puts ("hppa1.0"); break;
              	}
                  exit (0);
              }
EOF
625
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
626
		    test -z "$HP_ARCH" && HP_ARCH=hppa
Paul Eggert's avatar
Paul Eggert committed
627
		fi ;;
Richard Kenner's avatar
Richard Kenner committed
628
	esac
629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649
	if [ ${HP_ARCH} = "hppa2.0w" ]
	then
	    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
	    then
		HP_ARCH="hppa2.0w"
	    else
		HP_ARCH="hppa64"
	    fi
	fi
Richard Kenner's avatar
Richard Kenner committed
650
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
651
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
652 653 654
    ia64:HP-UX:*:*)
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux${HPUX_REV}
655
	exit ;;
Richard Kenner's avatar
Richard Kenner committed
656
    3050*:HI-UX:*:*)
Paul Eggert's avatar
Paul Eggert committed
657
	eval $set_cc_for_build
658
	sed 's/^	//' << EOF >$dummy.c
Richard Kenner's avatar
Richard Kenner committed
659 660 661 662 663
	#include <unistd.h>
	int
	main ()
	{
	  long cpu = sysconf (_SC_CPU_VERSION);
Per Bothner's avatar
Per Bothner committed
664 665 666 667
	  /* 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))
Richard Kenner's avatar
Richard Kenner committed
668 669 670 671 672 673 674 675 676
	    {
	      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;
		}
	    }
Per Bothner's avatar
Per Bothner committed
677 678
	  else if (CPU_IS_HP_MC68K (cpu))
	    puts ("m68k-hitachi-hiuxwe2");
Richard Kenner's avatar
Richard Kenner committed
679 680 681 682
	  else puts ("unknown-hitachi-hiuxwe2");
	  exit (0);
	}
EOF
683 684
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
		{ echo "$SYSTEM_NAME"; exit; }
Richard Kenner's avatar
Richard Kenner committed
685
	echo unknown-hitachi-hiuxwe2
686
	exit ;;
687
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
Jim Blandy's avatar
Jim Blandy committed
688
	echo hppa1.1-hp-bsd
689
	exit ;;
Jim Blandy's avatar
Jim Blandy committed
690 691
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
692
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
693
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
Ian Lance Taylor's avatar
Ian Lance Taylor committed
694
	echo hppa1.0-hp-mpeix
695
	exit ;;
696
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
Per Bothner's avatar
Per Bothner committed
697
	echo hppa1.1-hp-osf
698
	exit ;;
Per Bothner's avatar
Per Bothner committed
699 700
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
701
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
702
    i*86:OSF1:*:*)
Per Bothner's avatar
Per Bothner committed
703 704 705 706 707
	if [ -x /usr/sbin/sysversion ] ; then
	    echo ${UNAME_MACHINE}-unknown-osf1mk
	else
	    echo ${UNAME_MACHINE}-unknown-osf1
	fi
708
	exit ;;
709 710
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
711
	exit ;;
Chris Siebenmann's avatar
Chris Siebenmann committed
712
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
Roland McGrath's avatar
Roland McGrath committed
713
	echo c1-convex-bsd
714
        exit ;;
Chris Siebenmann's avatar
Chris Siebenmann committed
715 716 717 718 719
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
720
        exit ;;
Chris Siebenmann's avatar
Chris Siebenmann committed
721 722
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
723
        exit ;;
Chris Siebenmann's avatar
Chris Siebenmann committed
724 725
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
726
        exit ;;
Chris Siebenmann's avatar
Chris Siebenmann committed
727 728
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
729
        exit ;;
Richard Kenner's avatar
Richard Kenner committed
730
    CRAY*Y-MP:*:*:*)
Paul Eggert's avatar
Paul Eggert committed
731
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
732
	exit ;;
733 734
    CRAY*[A-Z]90:*:*:*)
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
735
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
Paul Eggert's avatar
Paul Eggert committed
736 737
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
738
	exit ;;
David J. MacKenzie's avatar
David J. MacKenzie committed
739
    CRAY*TS:*:*:*)
740
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
741
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
742 743
    CRAY*T3E:*:*:*)
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
744
	exit ;;
745
    CRAY*SV1:*:*:*)
Dave Love's avatar
Dave Love committed
746
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
747 748 749 750
	exit ;;
    *:UNICOS/mp:*:*)
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
751 752
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
753
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
Per Bothner's avatar
Per Bothner committed
754
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
Paul Eggert's avatar
Paul Eggert committed
755
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
756 757 758 759 760 761
        exit ;;
    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}"
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
762
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
763
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
764
	exit ;;
765 766
    sparc*:BSD/OS:*:*)
	echo sparc-unknown-bsdi${UNAME_RELEASE}
767
	exit ;;
768 769
    *:BSD/OS:*:*)
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
770
	exit ;;
771
    *:FreeBSD:*:*)
772 773 774
	case ${UNAME_MACHINE} in
	    pc98)
		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
Dan Nicolaescu's avatar
Dan Nicolaescu committed
775 776
	    amd64)
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
777 778 779
	    *)
		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	esac
780
	exit ;;
781
    i*:CYGWIN*:*)
Ben Elliston's avatar
Ben Elliston committed
782
	echo ${UNAME_MACHINE}-pc-cygwin
783
	exit ;;
Dan Nicolaescu's avatar
Dan Nicolaescu committed
784
    *:MINGW*:*)
785
	echo ${UNAME_MACHINE}-pc-mingw32
786 787 788 789 790
	exit ;;
    i*:windows32*:*)
    	# uname -m includes "-pc" on this system.
    	echo ${UNAME_MACHINE}-mingw32
	exit ;;
Dave Love's avatar
Dave Love committed
791 792
    i*:PW*:*)
	echo ${UNAME_MACHINE}-pc-pw32
793
	exit ;;
Dan Nicolaescu's avatar
Dan Nicolaescu committed
794 795 796 797 798
    x86:Interix*:[3456]*)
	echo i586-pc-interix${UNAME_RELEASE}
	exit ;;
    EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
	echo x86_64-unknown-interix${UNAME_RELEASE}
799
	exit ;;
800 801
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
	echo i${UNAME_MACHINE}-pc-mks
802
	exit ;;
803 804 805 806
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
	# How do we know it's Interix rather than the generic POSIX subsystem?
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
	# UNAME_MACHINE based on the output of uname instead of i386?
807 808
	echo i586-pc-interix
	exit ;;
809 810
    i*:UWIN*:*)
	echo ${UNAME_MACHINE}-pc-uwin
811 812 813 814
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
	echo x86_64-unknown-cygwin
	exit ;;
815
    p*:CYGWIN*:*)
Ben Elliston's avatar
Ben Elliston committed
816
	echo powerpcle-unknown-cygwin
817
	exit ;;
818 819
    prep*:SunOS:5.*:*)
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
820
	exit ;;
Roland McGrath's avatar
Roland McGrath committed
821
    *:GNU:*:*)
822
	# the GNU system
823
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
824 825 826 827 828
	exit ;;
    *: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
	exit ;;
Dave Love's avatar
Dave Love committed
829 830
    i*86:Minix:*:*)
	echo ${UNAME_MACHINE}-pc-minix
831
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
832 833
    arm*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
834
	exit ;;
Dan Nicolaescu's avatar
Dan Nicolaescu committed
835 836 837
    avr32*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
838 839 840 841 842 843 844 845 846
    cris:Linux:*:*)
	echo cris-axis-linux-gnu
	exit ;;
    crisv32:Linux:*:*)
	echo crisv32-axis-linux-gnu
	exit ;;
    frv:Linux:*:*)
    	echo frv-unknown-linux-gnu
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
847 848
    ia64:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
849 850 851 852
	exit ;;
    m32r*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
853 854
    m68*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
855
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871
    mips:Linux:*:*)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#undef CPU
	#undef mips
	#undef mipsel
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
	CPU=mipsel
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
	CPU=mips
	#else
	CPU=
	#endif
	#endif
EOF
Dan Nicolaescu's avatar
Dan Nicolaescu committed
872 873 874 875 876
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
	    /^CPU/{
		s: ::g
		p
	    }'`"
877
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
Paul Eggert's avatar
Paul Eggert committed
878
	;;
879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894
    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
Dan Nicolaescu's avatar
Dan Nicolaescu committed
895 896 897 898 899
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
	    /^CPU/{
		s: ::g
		p
	    }'`"
900 901 902 903 904
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
	;;
    or32:Linux:*:*)
	echo or32-unknown-linux-gnu
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
905 906
    ppc:Linux:*:*)
	echo powerpc-unknown-linux-gnu
907
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
908 909
    ppc64:Linux:*:*)
	echo powerpc64-unknown-linux-gnu
910
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
911 912 913 914 915 916 917 918 919 920 921 922 923
    alpha:Linux:*:*)
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
	  EV5)   UNAME_MACHINE=alphaev5 ;;
	  EV56)  UNAME_MACHINE=alphaev56 ;;
	  PCA56) UNAME_MACHINE=alphapca56 ;;
	  PCA57) UNAME_MACHINE=alphapca56 ;;
	  EV6)   UNAME_MACHINE=alphaev6 ;;
	  EV67)  UNAME_MACHINE=alphaev67 ;;
	  EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
924
	exit ;;
Paul Eggert's avatar
Paul Eggert committed
925 926 927 928 929 930 931
    parisc:Linux:*:* | hppa:Linux:*:*)
	# Look for CPU level
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
	  PA7*