config.guess 42.4 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
#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
pthomas's avatar
 
pthomas committed
5

6
timestamp='2005-11-11'
pthomas's avatar
 
pthomas committed
7

jason's avatar
jason committed
8 9 10 11 12 13 14 15 16 17 18 19
# 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
20 21
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
jason's avatar
jason committed
22 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.

28

hjl's avatar
hjl committed
29
# Originally written by Per Bothner <per@bothner.com>.
30 31
# Please send patches to <config-patches@gnu.org>.  Submit a context
# diff and a properly formatted ChangeLog entry.
jason's avatar
jason committed
32 33 34 35 36 37
#
# 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
38
# don't specify an explicit build system type.
jason's avatar
jason committed
39

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

usage="\
Usage: $0 [OPTION]

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

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

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

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

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

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

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

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

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

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

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

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

              #define _HPUX_SOURCE
590 591
              #include <stdlib.h>
              #include <unistd.h>
bje's avatar
bje committed
592

593 594 595 596
              int main ()
              {
              #if defined(_SC_KERNEL_BITS)
                  long bits = sysconf(_SC_KERNEL_BITS);
bje's avatar
bje committed
597
              #endif
598
                  long cpu  = sysconf (_SC_CPU_VERSION);
bje's avatar
bje committed
599 600

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

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

1271
eval $set_cc_for_build
bje's avatar
bje committed
1272
cat >$dummy.c <<EOF
jason's avatar
jason committed
1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296
#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)
1297
  printf ("arm-acorn-riscix\n"); exit (0);
jason's avatar
jason committed
1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
#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
1310 1311 1312 1313
  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
1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357
  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)
1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375
# 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
1376 1377 1378 1379 1380 1381 1382 1383 1384 1385
#endif

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

  exit (1);
}
EOF

1386 1387
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
	{ echo "$SYSTEM_NAME"; exit; }
jason's avatar
jason committed
1388 1389 1390

# Apollos put the system type in the environment.

1391
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
jason's avatar
jason committed
1392 1393 1394 1395 1396 1397 1398 1399

# 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
1400
	exit ;;
jason's avatar
jason committed
1401 1402 1403 1404 1405
    c2*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
1406
	exit ;;
jason's avatar
jason committed
1407 1408
    c34*)
	echo c34-convex-bsd
1409
	exit ;;
jason's avatar
jason committed
1410 1411
    c38*)
	echo c38-convex-bsd
1412
	exit ;;
jason's avatar
jason committed
1413 1414
    c4*)
	echo c4-convex-bsd
1415
	exit ;;
jason's avatar
jason committed
1416 1417 1418
    esac
fi

pthomas's avatar
 
pthomas committed
1419 1420 1421
cat >&2 <<EOF
$0: unable to guess system type

1422 1423 1424
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
1425

1426 1427 1428
  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
1429 1430 1431 1432 1433 1434

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.

1435
config.guess timestamp = $timestamp
pthomas's avatar
 
pthomas committed
1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456

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
1457 1458

exit 1
pthomas's avatar
 
pthomas committed
1459 1460 1461

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