PageRenderTime 80ms CodeModel.GetById 16ms app.highlight 54ms RepoModel.GetById 1ms app.codeStats 1ms

/contrib/tcsh/config.guess

https://bitbucket.org/freebsd/freebsd-head/
Shell | 1502 lines | 1293 code | 26 blank | 183 comment | 75 complexity | 53e3c407f215246c9ca5bbb4ddd3b958 MD5 | raw file
   1#! /bin/sh
   2# Attempt to guess a canonical system name.
   3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
   4#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
   5#   Free Software Foundation, Inc.
   6
   7timestamp='2009-12-30'
   8
   9# This file is free software; you can redistribute it and/or modify it
  10# under the terms of the GNU General Public License as published by
  11# the Free Software Foundation; either version 2 of the License, or
  12# (at your option) any later version.
  13#
  14# This program is distributed in the hope that it will be useful, but
  15# WITHOUT ANY WARRANTY; without even the implied warranty of
  16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17# General Public License for more details.
  18#
  19# You should have received a copy of the GNU General Public License
  20# along with this program; if not, write to the Free Software
  21# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
  22# 02110-1301, USA.
  23#
  24# As a special exception to the GNU General Public License, if you
  25# distribute this file as part of a program that contains a
  26# configuration script generated by Autoconf, you may include it under
  27# the same distribution terms that you use for the rest of that program.
  28
  29
  30# Originally written by Per Bothner.  Please send patches (context
  31# diff format) to <config-patches@gnu.org> and include a ChangeLog
  32# entry.
  33#
  34# This script attempts to guess a canonical system name similar to
  35# config.sub.  If it succeeds, it prints the system name on stdout, and
  36# exits with 0.  Otherwise, it exits with 1.
  37#
  38# You can get the latest version of this script from:
  39# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
  40
  41me=`echo "$0" | sed -e 's,.*/,,'`
  42
  43usage="\
  44Usage: $0 [OPTION]
  45
  46Output the configuration name of the system \`$me' is run on.
  47
  48Operation modes:
  49  -h, --help         print this help, then exit
  50  -t, --time-stamp   print date of last modification, then exit
  51  -v, --version      print version number, then exit
  52
  53Report bugs and patches to <config-patches@gnu.org>."
  54
  55version="\
  56GNU config.guess ($timestamp)
  57
  58Originally written by Per Bothner.
  59Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
  602001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
  61Software Foundation, Inc.
  62
  63This is free software; see the source for copying conditions.  There is NO
  64warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
  65
  66help="
  67Try \`$me --help' for more information."
  68
  69# Parse command line
  70while test $# -gt 0 ; do
  71  case $1 in
  72    --time-stamp | --time* | -t )
  73       echo "$timestamp" ; exit ;;
  74    --version | -v )
  75       echo "$version" ; exit ;;
  76    --help | --h* | -h )
  77       echo "$usage"; exit ;;
  78    -- )     # Stop option processing
  79       shift; break ;;
  80    - )	# Use stdin as input.
  81       break ;;
  82    -* )
  83       echo "$me: invalid option $1$help" >&2
  84       exit 1 ;;
  85    * )
  86       break ;;
  87  esac
  88done
  89
  90if test $# != 0; then
  91  echo "$me: too many arguments$help" >&2
  92  exit 1
  93fi
  94
  95trap 'exit 1' 1 2 15
  96
  97# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
  98# compiler to aid in system detection is discouraged as it requires
  99# temporary files to be created and, as you can see below, it is a
 100# headache to deal with in a portable fashion.
 101
 102# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
 103# use `HOST_CC' if defined, but it is deprecated.
 104
 105# Portable tmp directory creation inspired by the Autoconf team.
 106
 107set_cc_for_build='
 108trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
 109trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
 110: ${TMPDIR=/tmp} ;
 111 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
 112 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
 113 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
 114 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
 115dummy=$tmp/dummy ;
 116tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
 117case $CC_FOR_BUILD,$HOST_CC,$CC in
 118 ,,)    echo "int x;" > $dummy.c ;
 119	for c in cc gcc c89 c99 ; do
 120	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
 121	     CC_FOR_BUILD="$c"; break ;
 122	  fi ;
 123	done ;
 124	if test x"$CC_FOR_BUILD" = x ; then
 125	  CC_FOR_BUILD=no_compiler_found ;
 126	fi
 127	;;
 128 ,,*)   CC_FOR_BUILD=$CC ;;
 129 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
 130esac ; set_cc_for_build= ;'
 131
 132# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 133# (ghazi@noc.rutgers.edu 1994-08-24)
 134if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
 135	PATH=$PATH:/.attbin ; export PATH
 136fi
 137
 138UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
 139UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 140UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 141UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 142
 143# Note: order is significant - the case branches are not exclusive.
 144
 145case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 146    *:NetBSD:*:*)
 147	# NetBSD (nbsd) targets should (where applicable) match one or
 148	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
 149	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
 150	# switched to ELF, *-*-netbsd* would select the old
 151	# object file format.  This provides both forward
 152	# compatibility and a consistent mechanism for selecting the
 153	# object file format.
 154	#
 155	# Note: NetBSD doesn't particularly care about the vendor
 156	# portion of the name.  We always set it to "unknown".
 157	sysctl="sysctl -n hw.machine_arch"
 158	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
 159	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
 160	case "${UNAME_MACHINE_ARCH}" in
 161	    armeb) machine=armeb-unknown ;;
 162	    arm*) machine=arm-unknown ;;
 163	    sh3el) machine=shl-unknown ;;
 164	    sh3eb) machine=sh-unknown ;;
 165	    sh5el) machine=sh5le-unknown ;;
 166	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 167	esac
 168	# The Operating System including object format, if it has switched
 169	# to ELF recently, or will in the future.
 170	case "${UNAME_MACHINE_ARCH}" in
 171	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 172		eval $set_cc_for_build
 173		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 174			| grep -q __ELF__
 175		then
 176		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
 177		    # Return netbsd for either.  FIX?
 178		    os=netbsd
 179		else
 180		    os=netbsdelf
 181		fi
 182		;;
 183	    *)
 184	        os=netbsd
 185		;;
 186	esac
 187	# The OS release
 188	# Debian GNU/NetBSD machines have a different userland, and
 189	# thus, need a distinct triplet. However, they do not need
 190	# kernel version information, so it can be replaced with a
 191	# suitable tag, in the style of linux-gnu.
 192	case "${UNAME_VERSION}" in
 193	    Debian*)
 194		release='-gnu'
 195		;;
 196	    *)
 197		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
 198		;;
 199	esac
 200	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 201	# contains redundant information, the shorter form:
 202	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 203	echo "${machine}-${os}${release}"
 204	exit ;;
 205    *:OpenBSD:*:*)
 206	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 207	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 208	exit ;;
 209    *:ekkoBSD:*:*)
 210	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 211	exit ;;
 212    *:SolidBSD:*:*)
 213	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
 214	exit ;;
 215    macppc:MirBSD:*:*)
 216	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
 217	exit ;;
 218    *:MirBSD:*:*)
 219	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 220	exit ;;
 221    alpha:OSF1:*:*)
 222	case $UNAME_RELEASE in
 223	*4.0)
 224		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
 225		;;
 226	*5.*)
 227	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
 228		;;
 229	esac
 230	# According to Compaq, /usr/sbin/psrinfo has been available on
 231	# OSF/1 and Tru64 systems produced since 1995.  I hope that
 232	# covers most systems running today.  This code pipes the CPU
 233	# types through head -n 1, so we only detect the type of CPU 0.
 234	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 235	case "$ALPHA_CPU_TYPE" in
 236	    "EV4 (21064)")
 237		UNAME_MACHINE="alpha" ;;
 238	    "EV4.5 (21064)")
 239		UNAME_MACHINE="alpha" ;;
 240	    "LCA4 (21066/21068)")
 241		UNAME_MACHINE="alpha" ;;
 242	    "EV5 (21164)")
 243		UNAME_MACHINE="alphaev5" ;;
 244	    "EV5.6 (21164A)")
 245		UNAME_MACHINE="alphaev56" ;;
 246	    "EV5.6 (21164PC)")
 247		UNAME_MACHINE="alphapca56" ;;
 248	    "EV5.7 (21164PC)")
 249		UNAME_MACHINE="alphapca57" ;;
 250	    "EV6 (21264)")
 251		UNAME_MACHINE="alphaev6" ;;
 252	    "EV6.7 (21264A)")
 253		UNAME_MACHINE="alphaev67" ;;
 254	    "EV6.8CB (21264C)")
 255		UNAME_MACHINE="alphaev68" ;;
 256	    "EV6.8AL (21264B)")
 257		UNAME_MACHINE="alphaev68" ;;
 258	    "EV6.8CX (21264D)")
 259		UNAME_MACHINE="alphaev68" ;;
 260	    "EV6.9A (21264/EV69A)")
 261		UNAME_MACHINE="alphaev69" ;;
 262	    "EV7 (21364)")
 263		UNAME_MACHINE="alphaev7" ;;
 264	    "EV7.9 (21364A)")
 265		UNAME_MACHINE="alphaev79" ;;
 266	esac
 267	# A Pn.n version is a patched version.
 268	# A Vn.n version is a released version.
 269	# A Tn.n version is a released field test version.
 270	# A Xn.n version is an unreleased experimental baselevel.
 271	# 1.2 uses "1.2" for uname -r.
 272	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 273	exit ;;
 274    Alpha\ *:Windows_NT*:*)
 275	# How do we know it's Interix rather than the generic POSIX subsystem?
 276	# Should we change UNAME_MACHINE based on the output of uname instead
 277	# of the specific Alpha model?
 278	echo alpha-pc-interix
 279	exit ;;
 280    21064:Windows_NT:50:3)
 281	echo alpha-dec-winnt3.5
 282	exit ;;
 283    Amiga*:UNIX_System_V:4.0:*)
 284	echo m68k-unknown-sysv4
 285	exit ;;
 286    *:[Aa]miga[Oo][Ss]:*:*)
 287	echo ${UNAME_MACHINE}-unknown-amigaos
 288	exit ;;
 289    *:[Mm]orph[Oo][Ss]:*:*)
 290	echo ${UNAME_MACHINE}-unknown-morphos
 291	exit ;;
 292    *:OS/390:*:*)
 293	echo i370-ibm-openedition
 294	exit ;;
 295    *:z/VM:*:*)
 296	echo s390-ibm-zvmoe
 297	exit ;;
 298    *:OS400:*:*)
 299        echo powerpc-ibm-os400
 300	exit ;;
 301    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 302	echo arm-acorn-riscix${UNAME_RELEASE}
 303	exit ;;
 304    arm:riscos:*:*|arm:RISCOS:*:*)
 305	echo arm-unknown-riscos
 306	exit ;;
 307    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
 308	echo hppa1.1-hitachi-hiuxmpp
 309	exit ;;
 310    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
 311	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
 312	if test "`(/bin/universe) 2>/dev/null`" = att ; then
 313		echo pyramid-pyramid-sysv3
 314	else
 315		echo pyramid-pyramid-bsd
 316	fi
 317	exit ;;
 318    NILE*:*:*:dcosx)
 319	echo pyramid-pyramid-svr4
 320	exit ;;
 321    DRS?6000:unix:4.0:6*)
 322	echo sparc-icl-nx6
 323	exit ;;
 324    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
 325	case `/usr/bin/uname -p` in
 326	    sparc) echo sparc-icl-nx7; exit ;;
 327	esac ;;
 328    s390x:SunOS:*:*)
 329	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 330	exit ;;
 331    sun4H:SunOS:5.*:*)
 332	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 333	exit ;;
 334    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 335	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 336	exit ;;
 337    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
 338	echo i386-pc-auroraux${UNAME_RELEASE}
 339	exit ;;
 340    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 341	eval $set_cc_for_build
 342	SUN_ARCH="i386"
 343	# If there is a compiler, see if it is configured for 64-bit objects.
 344	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 345	# This test works for both compilers.
 346	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
 347	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
 348		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
 349		grep IS_64BIT_ARCH >/dev/null
 350	    then
 351		SUN_ARCH="x86_64"
 352	    fi
 353	fi
 354	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 355	exit ;;
 356    sun4*:SunOS:6*:*)
 357	# According to config.sub, this is the proper way to canonicalize
 358	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 359	# it's likely to be more like Solaris than SunOS4.
 360	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 361	exit ;;
 362    sun4*:SunOS:*:*)
 363	case "`/usr/bin/arch -k`" in
 364	    Series*|S4*)
 365		UNAME_RELEASE=`uname -v`
 366		;;
 367	esac
 368	# Japanese Language versions have a version number like `4.1.3-JL'.
 369	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
 370	exit ;;
 371    sun3*:SunOS:*:*)
 372	echo m68k-sun-sunos${UNAME_RELEASE}
 373	exit ;;
 374    sun*:*:4.2BSD:*)
 375	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 376	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
 377	case "`/bin/arch`" in
 378	    sun3)
 379		echo m68k-sun-sunos${UNAME_RELEASE}
 380		;;
 381	    sun4)
 382		echo sparc-sun-sunos${UNAME_RELEASE}
 383		;;
 384	esac
 385	exit ;;
 386    aushp:SunOS:*:*)
 387	echo sparc-auspex-sunos${UNAME_RELEASE}
 388	exit ;;
 389    # The situation for MiNT is a little confusing.  The machine name
 390    # can be virtually everything (everything which is not
 391    # "atarist" or "atariste" at least should have a processor
 392    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
 393    # to the lowercase version "mint" (or "freemint").  Finally
 394    # the system name "TOS" denotes a system which is actually not
 395    # MiNT.  But MiNT is downward compatible to TOS, so this should
 396    # be no problem.
 397    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
 398        echo m68k-atari-mint${UNAME_RELEASE}
 399	exit ;;
 400    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 401	echo m68k-atari-mint${UNAME_RELEASE}
 402        exit ;;
 403    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
 404        echo m68k-atari-mint${UNAME_RELEASE}
 405	exit ;;
 406    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
 407        echo m68k-milan-mint${UNAME_RELEASE}
 408        exit ;;
 409    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
 410        echo m68k-hades-mint${UNAME_RELEASE}
 411        exit ;;
 412    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
 413        echo m68k-unknown-mint${UNAME_RELEASE}
 414        exit ;;
 415    m68k:machten:*:*)
 416	echo m68k-apple-machten${UNAME_RELEASE}
 417	exit ;;
 418    powerpc:machten:*:*)
 419	echo powerpc-apple-machten${UNAME_RELEASE}
 420	exit ;;
 421    RISC*:Mach:*:*)
 422	echo mips-dec-mach_bsd4.3
 423	exit ;;
 424    RISC*:ULTRIX:*:*)
 425	echo mips-dec-ultrix${UNAME_RELEASE}
 426	exit ;;
 427    VAX*:ULTRIX*:*:*)
 428	echo vax-dec-ultrix${UNAME_RELEASE}
 429	exit ;;
 430    2020:CLIX:*:* | 2430:CLIX:*:*)
 431	echo clipper-intergraph-clix${UNAME_RELEASE}
 432	exit ;;
 433    mips:*:*:UMIPS | mips:*:*:RISCos)
 434	eval $set_cc_for_build
 435	sed 's/^	//' << EOF >$dummy.c
 436#ifdef __cplusplus
 437#include <stdio.h>  /* for printf() prototype */
 438	int main (int argc, char *argv[]) {
 439#else
 440	int main (argc, argv) int argc; char *argv[]; {
 441#endif
 442	#if defined (host_mips) && defined (MIPSEB)
 443	#if defined (SYSTYPE_SYSV)
 444	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
 445	#endif
 446	#if defined (SYSTYPE_SVR4)
 447	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
 448	#endif
 449	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
 450	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
 451	#endif
 452	#endif
 453	  exit (-1);
 454	}
 455EOF
 456	$CC_FOR_BUILD -o $dummy $dummy.c &&
 457	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
 458	  SYSTEM_NAME=`$dummy $dummyarg` &&
 459	    { echo "$SYSTEM_NAME"; exit; }
 460	echo mips-mips-riscos${UNAME_RELEASE}
 461	exit ;;
 462    Motorola:PowerMAX_OS:*:*)
 463	echo powerpc-motorola-powermax
 464	exit ;;
 465    Motorola:*:4.3:PL8-*)
 466	echo powerpc-harris-powermax
 467	exit ;;
 468    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
 469	echo powerpc-harris-powermax
 470	exit ;;
 471    Night_Hawk:Power_UNIX:*:*)
 472	echo powerpc-harris-powerunix
 473	exit ;;
 474    m88k:CX/UX:7*:*)
 475	echo m88k-harris-cxux7
 476	exit ;;
 477    m88k:*:4*:R4*)
 478	echo m88k-motorola-sysv4
 479	exit ;;
 480    m88k:*:3*:R3*)
 481	echo m88k-motorola-sysv3
 482	exit ;;
 483    AViiON:dgux:*:*)
 484        # DG/UX returns AViiON for all architectures
 485        UNAME_PROCESSOR=`/usr/bin/uname -p`
 486	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 487	then
 488	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
 489	       [ ${TARGET_BINARY_INTERFACE}x = x ]
 490	    then
 491		echo m88k-dg-dgux${UNAME_RELEASE}
 492	    else
 493		echo m88k-dg-dguxbcs${UNAME_RELEASE}
 494	    fi
 495	else
 496	    echo i586-dg-dgux${UNAME_RELEASE}
 497	fi
 498 	exit ;;
 499    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 500	echo m88k-dolphin-sysv3
 501	exit ;;
 502    M88*:*:R3*:*)
 503	# Delta 88k system running SVR3
 504	echo m88k-motorola-sysv3
 505	exit ;;
 506    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
 507	echo m88k-tektronix-sysv3
 508	exit ;;
 509    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
 510	echo m68k-tektronix-bsd
 511	exit ;;
 512    *:IRIX*:*:*)
 513	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
 514	exit ;;
 515    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
 516	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
 517	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
 518    i*86:AIX:*:*)
 519	echo i386-ibm-aix
 520	exit ;;
 521    ia64:AIX:*:*)
 522	if [ -x /usr/bin/oslevel ] ; then
 523		IBM_REV=`/usr/bin/oslevel`
 524	else
 525		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 526	fi
 527	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
 528	exit ;;
 529    *:AIX:2:3)
 530	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
 531		eval $set_cc_for_build
 532		sed 's/^		//' << EOF >$dummy.c
 533		#include <sys/systemcfg.h>
 534
 535		main()
 536			{
 537			if (!__power_pc())
 538				exit(1);
 539			puts("powerpc-ibm-aix3.2.5");
 540			exit(0);
 541			}
 542EOF
 543		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
 544		then
 545			echo "$SYSTEM_NAME"
 546		else
 547			echo rs6000-ibm-aix3.2.5
 548		fi
 549	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
 550		echo rs6000-ibm-aix3.2.4
 551	else
 552		echo rs6000-ibm-aix3.2
 553	fi
 554	exit ;;
 555    *:AIX:*:[456])
 556	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 557	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 558		IBM_ARCH=rs6000
 559	else
 560		IBM_ARCH=powerpc
 561	fi
 562	if [ -x /usr/bin/oslevel ] ; then
 563		IBM_REV=`/usr/bin/oslevel`
 564	else
 565		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 566	fi
 567	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
 568	exit ;;
 569    *:AIX:*:*)
 570	echo rs6000-ibm-aix
 571	exit ;;
 572    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
 573	echo romp-ibm-bsd4.4
 574	exit ;;
 575    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
 576	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
 577	exit ;;                             # report: romp-ibm BSD 4.3
 578    *:BOSX:*:*)
 579	echo rs6000-bull-bosx
 580	exit ;;
 581    DPX/2?00:B.O.S.:*:*)
 582	echo m68k-bull-sysv3
 583	exit ;;
 584    9000/[34]??:4.3bsd:1.*:*)
 585	echo m68k-hp-bsd
 586	exit ;;
 587    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
 588	echo m68k-hp-bsd4.4
 589	exit ;;
 590    9000/[34678]??:HP-UX:*:*)
 591	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 592	case "${UNAME_MACHINE}" in
 593	    9000/31? )            HP_ARCH=m68000 ;;
 594	    9000/[34]?? )         HP_ARCH=m68k ;;
 595	    9000/[678][0-9][0-9])
 596		if [ -x /usr/bin/getconf ]; then
 597		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 598                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 599                    case "${sc_cpu_version}" in
 600                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
 601                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
 602                      532)                      # CPU_PA_RISC2_0
 603                        case "${sc_kernel_bits}" in
 604                          32) HP_ARCH="hppa2.0n" ;;
 605                          64) HP_ARCH="hppa2.0w" ;;
 606			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
 607                        esac ;;
 608                    esac
 609		fi
 610		if [ "${HP_ARCH}" = "" ]; then
 611		    eval $set_cc_for_build
 612		    sed 's/^              //' << EOF >$dummy.c
 613
 614              #define _HPUX_SOURCE
 615              #include <stdlib.h>
 616              #include <unistd.h>
 617
 618              int main ()
 619              {
 620              #if defined(_SC_KERNEL_BITS)
 621                  long bits = sysconf(_SC_KERNEL_BITS);
 622              #endif
 623                  long cpu  = sysconf (_SC_CPU_VERSION);
 624
 625                  switch (cpu)
 626              	{
 627              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
 628              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
 629              	case CPU_PA_RISC2_0:
 630              #if defined(_SC_KERNEL_BITS)
 631              	    switch (bits)
 632              		{
 633              		case 64: puts ("hppa2.0w"); break;
 634              		case 32: puts ("hppa2.0n"); break;
 635              		default: puts ("hppa2.0"); break;
 636              		} break;
 637              #else  /* !defined(_SC_KERNEL_BITS) */
 638              	    puts ("hppa2.0"); break;
 639              #endif
 640              	default: puts ("hppa1.0"); break;
 641              	}
 642                  exit (0);
 643              }
 644EOF
 645		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 646		    test -z "$HP_ARCH" && HP_ARCH=hppa
 647		fi ;;
 648	esac
 649	if [ ${HP_ARCH} = "hppa2.0w" ]
 650	then
 651	    eval $set_cc_for_build
 652
 653	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
 654	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
 655	    # generating 64-bit code.  GNU and HP use different nomenclature:
 656	    #
 657	    # $ CC_FOR_BUILD=cc ./config.guess
 658	    # => hppa2.0w-hp-hpux11.23
 659	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 660	    # => hppa64-hp-hpux11.23
 661
 662	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
 663		grep -q __LP64__
 664	    then
 665		HP_ARCH="hppa2.0w"
 666	    else
 667		HP_ARCH="hppa64"
 668	    fi
 669	fi
 670	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
 671	exit ;;
 672    ia64:HP-UX:*:*)
 673	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 674	echo ia64-hp-hpux${HPUX_REV}
 675	exit ;;
 676    3050*:HI-UX:*:*)
 677	eval $set_cc_for_build
 678	sed 's/^	//' << EOF >$dummy.c
 679	#include <unistd.h>
 680	int
 681	main ()
 682	{
 683	  long cpu = sysconf (_SC_CPU_VERSION);
 684	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
 685	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
 686	     results, however.  */
 687	  if (CPU_IS_PA_RISC (cpu))
 688	    {
 689	      switch (cpu)
 690		{
 691		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
 692		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
 693		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
 694		  default: puts ("hppa-hitachi-hiuxwe2"); break;
 695		}
 696	    }
 697	  else if (CPU_IS_HP_MC68K (cpu))
 698	    puts ("m68k-hitachi-hiuxwe2");
 699	  else puts ("unknown-hitachi-hiuxwe2");
 700	  exit (0);
 701	}
 702EOF
 703	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
 704		{ echo "$SYSTEM_NAME"; exit; }
 705	echo unknown-hitachi-hiuxwe2
 706	exit ;;
 707    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
 708	echo hppa1.1-hp-bsd
 709	exit ;;
 710    9000/8??:4.3bsd:*:*)
 711	echo hppa1.0-hp-bsd
 712	exit ;;
 713    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 714	echo hppa1.0-hp-mpeix
 715	exit ;;
 716    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
 717	echo hppa1.1-hp-osf
 718	exit ;;
 719    hp8??:OSF1:*:*)
 720	echo hppa1.0-hp-osf
 721	exit ;;
 722    i*86:OSF1:*:*)
 723	if [ -x /usr/sbin/sysversion ] ; then
 724	    echo ${UNAME_MACHINE}-unknown-osf1mk
 725	else
 726	    echo ${UNAME_MACHINE}-unknown-osf1
 727	fi
 728	exit ;;
 729    parisc*:Lites*:*:*)
 730	echo hppa1.1-hp-lites
 731	exit ;;
 732    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 733	echo c1-convex-bsd
 734        exit ;;
 735    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 736	if getsysinfo -f scalar_acc
 737	then echo c32-convex-bsd
 738	else echo c2-convex-bsd
 739	fi
 740        exit ;;
 741    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 742	echo c34-convex-bsd
 743        exit ;;
 744    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 745	echo c38-convex-bsd
 746        exit ;;
 747    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 748	echo c4-convex-bsd
 749        exit ;;
 750    CRAY*Y-MP:*:*:*)
 751	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 752	exit ;;
 753    CRAY*[A-Z]90:*:*:*)
 754	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 755	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 756	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 757	      -e 's/\.[^.]*$/.X/'
 758	exit ;;
 759    CRAY*TS:*:*:*)
 760	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 761	exit ;;
 762    CRAY*T3E:*:*:*)
 763	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 764	exit ;;
 765    CRAY*SV1:*:*:*)
 766	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 767	exit ;;
 768    *:UNICOS/mp:*:*)
 769	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 770	exit ;;
 771    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 772	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 773        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 774        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 775        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 776        exit ;;
 777    5000:UNIX_System_V:4.*:*)
 778        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 779        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
 780        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 781	exit ;;
 782    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 783	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
 784	exit ;;
 785    sparc*:BSD/OS:*:*)
 786	echo sparc-unknown-bsdi${UNAME_RELEASE}
 787	exit ;;
 788    *:BSD/OS:*:*)
 789	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 790	exit ;;
 791    *:FreeBSD:*:*)
 792	case ${UNAME_MACHINE} in
 793	    pc98)
 794		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 795	    amd64)
 796		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 797	    *)
 798		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 799	esac
 800	exit ;;
 801    i*:CYGWIN*:*)
 802	echo ${UNAME_MACHINE}-pc-cygwin
 803	exit ;;
 804    *:MINGW*:*)
 805	echo ${UNAME_MACHINE}-pc-mingw32
 806	exit ;;
 807    i*:windows32*:*)
 808    	# uname -m includes "-pc" on this system.
 809    	echo ${UNAME_MACHINE}-mingw32
 810	exit ;;
 811    i*:PW*:*)
 812	echo ${UNAME_MACHINE}-pc-pw32
 813	exit ;;
 814    *:Interix*:*)
 815    	case ${UNAME_MACHINE} in
 816	    x86)
 817		echo i586-pc-interix${UNAME_RELEASE}
 818		exit ;;
 819	    authenticamd | genuineintel | EM64T)
 820		echo x86_64-unknown-interix${UNAME_RELEASE}
 821		exit ;;
 822	    IA64)
 823		echo ia64-unknown-interix${UNAME_RELEASE}
 824		exit ;;
 825	esac ;;
 826    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 827	echo i${UNAME_MACHINE}-pc-mks
 828	exit ;;
 829    8664:Windows_NT:*)
 830	echo x86_64-pc-mks
 831	exit ;;
 832    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 833	# How do we know it's Interix rather than the generic POSIX subsystem?
 834	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
 835	# UNAME_MACHINE based on the output of uname instead of i386?
 836	echo i586-pc-interix
 837	exit ;;
 838    i*:UWIN*:*)
 839	echo ${UNAME_MACHINE}-pc-uwin
 840	exit ;;
 841    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
 842	echo x86_64-unknown-cygwin
 843	exit ;;
 844    p*:CYGWIN*:*)
 845	echo powerpcle-unknown-cygwin
 846	exit ;;
 847    prep*:SunOS:5.*:*)
 848	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 849	exit ;;
 850    *:GNU:*:*)
 851	# the GNU system
 852	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 853	exit ;;
 854    *:GNU/*:*:*)
 855	# other systems with GNU libc and userland
 856	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
 857	exit ;;
 858    i*86:Minix:*:*)
 859	echo ${UNAME_MACHINE}-pc-minix
 860	exit ;;
 861    alpha:Linux:*:*)
 862	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
 863	  EV5)   UNAME_MACHINE=alphaev5 ;;
 864	  EV56)  UNAME_MACHINE=alphaev56 ;;
 865	  PCA56) UNAME_MACHINE=alphapca56 ;;
 866	  PCA57) UNAME_MACHINE=alphapca56 ;;
 867	  EV6)   UNAME_MACHINE=alphaev6 ;;
 868	  EV67)  UNAME_MACHINE=alphaev67 ;;
 869	  EV68*) UNAME_MACHINE=alphaev68 ;;
 870        esac
 871	objdump --private-headers /bin/sh | grep -q ld.so.1
 872	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 873	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 874	exit ;;
 875    arm*:Linux:*:*)
 876	eval $set_cc_for_build
 877	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 878	    | grep -q __ARM_EABI__
 879	then
 880	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 881	else
 882	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
 883	fi
 884	exit ;;
 885    avr32*:Linux:*:*)
 886	echo ${UNAME_MACHINE}-unknown-linux-gnu
 887	exit ;;
 888    cris:Linux:*:*)
 889	echo cris-axis-linux-gnu
 890	exit ;;
 891    crisv32:Linux:*:*)
 892	echo crisv32-axis-linux-gnu
 893	exit ;;
 894    frv:Linux:*:*)
 895    	echo frv-unknown-linux-gnu
 896	exit ;;
 897    i*86:Linux:*:*)
 898	LIBC=gnu
 899	eval $set_cc_for_build
 900	sed 's/^	//' << EOF >$dummy.c
 901	#ifdef __dietlibc__
 902	LIBC=dietlibc
 903	#endif
 904EOF
 905	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
 906	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
 907	exit ;;
 908    ia64:Linux:*:*)
 909	echo ${UNAME_MACHINE}-unknown-linux-gnu
 910	exit ;;
 911    m32r*:Linux:*:*)
 912	echo ${UNAME_MACHINE}-unknown-linux-gnu
 913	exit ;;
 914    m68*:Linux:*:*)
 915	echo ${UNAME_MACHINE}-unknown-linux-gnu
 916	exit ;;
 917    mips:Linux:*:* | mips64:Linux:*:*)
 918	eval $set_cc_for_build
 919	sed 's/^	//' << EOF >$dummy.c
 920	#undef CPU
 921	#undef ${UNAME_MACHINE}
 922	#undef ${UNAME_MACHINE}el
 923	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
 924	CPU=${UNAME_MACHINE}el
 925	#else
 926	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
 927	CPU=${UNAME_MACHINE}
 928	#else
 929	CPU=
 930	#endif
 931	#endif
 932EOF
 933	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 934	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 935	;;
 936    or32:Linux:*:*)
 937	echo or32-unknown-linux-gnu
 938	exit ;;
 939    padre:Linux:*:*)
 940	echo sparc-unknown-linux-gnu
 941	exit ;;
 942    parisc64:Linux:*:* | hppa64:Linux:*:*)
 943	echo hppa64-unknown-linux-gnu
 944	exit ;;
 945    parisc:Linux:*:* | hppa:Linux:*:*)
 946	# Look for CPU level
 947	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
 948	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
 949	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
 950	  *)    echo hppa-unknown-linux-gnu ;;
 951	esac
 952	exit ;;
 953    ppc64:Linux:*:*)
 954	echo powerpc64-unknown-linux-gnu
 955	exit ;;
 956    ppc:Linux:*:*)
 957	echo powerpc-unknown-linux-gnu
 958	exit ;;
 959    s390:Linux:*:* | s390x:Linux:*:*)
 960	echo ${UNAME_MACHINE}-ibm-linux
 961	exit ;;
 962    sh64*:Linux:*:*)
 963    	echo ${UNAME_MACHINE}-unknown-linux-gnu
 964	exit ;;
 965    sh*:Linux:*:*)
 966	echo ${UNAME_MACHINE}-unknown-linux-gnu
 967	exit ;;
 968    sparc:Linux:*:* | sparc64:Linux:*:*)
 969	echo ${UNAME_MACHINE}-unknown-linux-gnu
 970	exit ;;
 971    vax:Linux:*:*)
 972	echo ${UNAME_MACHINE}-dec-linux-gnu
 973	exit ;;
 974    x86_64:Linux:*:*)
 975	echo x86_64-unknown-linux-gnu
 976	exit ;;
 977    xtensa*:Linux:*:*)
 978    	echo ${UNAME_MACHINE}-unknown-linux-gnu
 979	exit ;;
 980    i*86:DYNIX/ptx:4*:*)
 981	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 982	# earlier versions are messed up and put the nodename in both
 983	# sysname and nodename.
 984	echo i386-sequent-sysv4
 985	exit ;;
 986    i*86:UNIX_SV:4.2MP:2.*)
 987        # Unixware is an offshoot of SVR4, but it has its own version
 988        # number series starting with 2...
 989        # I am not positive that other SVR4 systems won't match this,
 990	# I just have to hope.  -- rms.
 991        # Use sysv4.2uw... so that sysv4* matches it.
 992	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 993	exit ;;
 994    i*86:OS/2:*:*)
 995	# If we were able to find `uname', then EMX Unix compatibility
 996	# is probably installed.
 997	echo ${UNAME_MACHINE}-pc-os2-emx
 998	exit ;;
 999    i*86:XTS-300:*:STOP)
1000	echo ${UNAME_MACHINE}-unknown-stop
1001	exit ;;
1002    i*86:atheos:*:*)
1003	echo ${UNAME_MACHINE}-unknown-atheos
1004	exit ;;
1005    i*86:syllable:*:*)
1006	echo ${UNAME_MACHINE}-pc-syllable
1007	exit ;;
1008    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1009	echo i386-unknown-lynxos${UNAME_RELEASE}
1010	exit ;;
1011    i*86:*DOS:*:*)
1012	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1013	exit ;;
1014    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1015	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1016	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1017		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1018	else
1019		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1020	fi
1021	exit ;;
1022    i*86:*:5:[678]*)
1023    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1024	case `/bin/uname -X | grep "^Machine"` in
1025	    *486*)	     UNAME_MACHINE=i486 ;;
1026	    *Pentium)	     UNAME_MACHINE=i586 ;;
1027	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1028	esac
1029	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1030	exit ;;
1031    i*86:*:3.2:*)
1032	if test -f /usr/options/cb.name; then
1033		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1034		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1035	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1036		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1037		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1038		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1039			&& UNAME_MACHINE=i586
1040		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1041			&& UNAME_MACHINE=i686
1042		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1043			&& UNAME_MACHINE=i686
1044		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1045	else
1046		echo ${UNAME_MACHINE}-pc-sysv32
1047	fi
1048	exit ;;
1049    pc:*:*:*)
1050	# Left here for compatibility:
1051        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1052        # the processor, so we play safe by assuming i586.
1053	# Note: whatever this is, it MUST be the same as what config.sub
1054	# prints for the "djgpp" host, or else GDB configury will decide that
1055	# this is a cross-build.
1056	echo i586-pc-msdosdjgpp
1057        exit ;;
1058    Intel:Mach:3*:*)
1059	echo i386-pc-mach3
1060	exit ;;
1061    paragon:*:*:*)
1062	echo i860-intel-osf1
1063	exit ;;
1064    i860:*:4.*:*) # i860-SVR4
1065	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1066	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1067	else # Add other i860-SVR4 vendors below as they are discovered.
1068	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1069	fi
1070	exit ;;
1071    mini*:CTIX:SYS*5:*)
1072	# "miniframe"
1073	echo m68010-convergent-sysv
1074	exit ;;
1075    mc68k:UNIX:SYSTEM5:3.51m)
1076	echo m68k-convergent-sysv
1077	exit ;;
1078    M680?0:D-NIX:5.3:*)
1079	echo m68k-diab-dnix
1080	exit ;;
1081    M68*:*:R3V[5678]*:*)
1082	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1083    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)
1084	OS_REL=''
1085	test -r /etc/.relid \
1086	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1087	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1088	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1089	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1090	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1091    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1092        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1093          && { echo i486-ncr-sysv4; exit; } ;;
1094    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1095	OS_REL='.3'
1096	test -r /etc/.relid \
1097	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1098	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1099	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1100	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1101	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1102	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1103	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1104    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1105	echo m68k-unknown-lynxos${UNAME_RELEASE}
1106	exit ;;
1107    mc68030:UNIX_System_V:4.*:*)
1108	echo m68k-atari-sysv4
1109	exit ;;
1110    TSUNAMI:LynxOS:2.*:*)
1111	echo sparc-unknown-lynxos${UNAME_RELEASE}
1112	exit ;;
1113    rs6000:LynxOS:2.*:*)
1114	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1115	exit ;;
1116    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1117	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1118	exit ;;
1119    SM[BE]S:UNIX_SV:*:*)
1120	echo mips-dde-sysv${UNAME_RELEASE}
1121	exit ;;
1122    RM*:ReliantUNIX-*:*:*)
1123	echo mips-sni-sysv4
1124	exit ;;
1125    RM*:SINIX-*:*:*)
1126	echo mips-sni-sysv4
1127	exit ;;
1128    *:SINIX-*:*:*)
1129	if uname -p 2>/dev/null >/dev/null ; then
1130		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1131		echo ${UNAME_MACHINE}-sni-sysv4
1132	else
1133		echo ns32k-sni-sysv
1134	fi
1135	exit ;;
1136    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1137                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1138        echo i586-unisys-sysv4
1139        exit ;;
1140    *:UNIX_System_V:4*:FTX*)
1141	# From Gerald Hewes <hewes@openmarket.com>.
1142	# How about differentiating between stratus architectures? -djm
1143	echo hppa1.1-stratus-sysv4
1144	exit ;;
1145    *:*:*:FTX*)
1146	# From seanf@swdc.stratus.com.
1147	echo i860-stratus-sysv4
1148	exit ;;
1149    i*86:VOS:*:*)
1150	# From Paul.Green@stratus.com.
1151	echo ${UNAME_MACHINE}-stratus-vos
1152	exit ;;
1153    *:VOS:*:*)
1154	# From Paul.Green@stratus.com.
1155	echo hppa1.1-stratus-vos
1156	exit ;;
1157    mc68*:A/UX:*:*)
1158	echo m68k-apple-aux${UNAME_RELEASE}
1159	exit ;;
1160    news*:NEWS-OS:6*:*)
1161	echo mips-sony-newsos6
1162	exit ;;
1163    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1164	if [ -d /usr/nec ]; then
1165	        echo mips-nec-sysv${UNAME_RELEASE}
1166	else
1167	        echo mips-unknown-sysv${UNAME_RELEASE}
1168	fi
1169        exit ;;
1170    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1171	echo powerpc-be-beos
1172	exit ;;
1173    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1174	echo powerpc-apple-beos
1175	exit ;;
1176    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1177	echo i586-pc-beos
1178	exit ;;
1179    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1180	echo i586-pc-haiku
1181	exit ;;
1182    SX-4:SUPER-UX:*:*)
1183	echo sx4-nec-superux${UNAME_RELEASE}
1184	exit ;;
1185    SX-5:SUPER-UX:*:*)
1186	echo sx5-nec-superux${UNAME_RELEASE}
1187	exit ;;
1188    SX-6:SUPER-UX:*:*)
1189	echo sx6-nec-superux${UNAME_RELEASE}
1190	exit ;;
1191    SX-7:SUPER-UX:*:*)
1192	echo sx7-nec-superux${UNAME_RELEASE}
1193	exit ;;
1194    SX-8:SUPER-UX:*:*)
1195	echo sx8-nec-superux${UNAME_RELEASE}
1196	exit ;;
1197    SX-8R:SUPER-UX:*:*)
1198	echo sx8r-nec-superux${UNAME_RELEASE}
1199	exit ;;
1200    Power*:Rhapsody:*:*)
1201	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1202	exit ;;
1203    *:Rhapsody:*:*)
1204	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1205	exit ;;
1206    *:Darwin:*:*)
1207	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1208	case $UNAME_PROCESSOR in
1209	    i386)
1210		eval $set_cc_for_build
1211		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1212		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1213		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1214		      grep IS_64BIT_ARCH >/dev/null
1215		  then
1216		      UNAME_PROCESSOR="x86_64"
1217		  fi
1218		fi ;;
1219	    unknown) UNAME_PROCESSOR=powerpc ;;
1220	esac
1221	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1222	exit ;;
1223    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1224	UNAME_PROCESSOR=`uname -p`
1225	if test "$UNAME_PROCESSOR" = "x86"; then
1226		UNAME_PROCESSOR=i386
1227		UNAME_MACHINE=pc
1228	fi
1229	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1230	exit ;;
1231    *:QNX:*:4*)
1232	echo i386-pc-qnx
1233	exit ;;
1234    NSE-?:NONSTOP_KERNEL:*:*)
1235	echo nse-tandem-nsk${UNAME_RELEASE}
1236	exit ;;
1237    NSR-?:NONSTOP_KERNEL:*:*)
1238	echo nsr-tandem-nsk${UNAME_RELEASE}
1239	exit ;;
1240    *:NonStop-UX:*:*)
1241	echo mips-compaq-nonstopux
1242	exit ;;
1243    BS2000:POSIX*:*:*)
1244	echo bs2000-siemens-sysv
1245	exit ;;
1246    DS/*:UNIX_System_V:*:*)
1247	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1248	exit ;;
1249    *:Plan9:*:*)
1250	# "uname -m" is not consistent, so use $cputype instead. 386
1251	# is converted to i386 for consistency with other x86
1252	# operating systems.
1253	if test "$cputype" = "386"; then
1254	    UNAME_MACHINE=i386
1255	else
1256	    UNAME_MACHINE="$cputype"
1257	fi
1258	echo ${UNAME_MACHINE}-unknown-plan9
1259	exit ;;
1260    *:TOPS-10:*:*)
1261	echo pdp10-unknown-tops10
1262	exit ;;
1263    *:TENEX:*:*)
1264	echo pdp10-unknown-tenex
1265	exit ;;
1266    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1267	echo pdp10-dec-tops20
1268	exit ;;
1269    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1270	echo pdp10-xkl-tops20
1271	exit ;;
1272    *:TOPS-20:*:*)
1273	echo pdp10-unknown-tops20
1274	exit ;;
1275    *:ITS:*:*)
1276	echo pdp10-unknown-its
1277	exit ;;
1278    SEI:*:*:SEIUX)
1279        echo mips-sei-seiux${UNAME_RELEASE}
1280	exit ;;
1281    *:DragonFly:*:*)
1282	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1283	exit ;;
1284    *:*VMS:*:*)
1285    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1286	case "${UNAME_MACHINE}" in
1287	    A*) echo alpha-dec-vms ; exit ;;
1288	    I*) echo ia64-dec-vms ; exit ;;
1289	    V*) echo vax-dec-vms ; exit ;;
1290	esac ;;
1291    *:XENIX:*:SysV)
1292	echo i386-pc-xenix
1293	exit ;;
1294    i*86:skyos:*:*)
1295	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1296	exit ;;
1297    i*86:rdos:*:*)
1298	echo ${UNAME_MACHINE}-pc-rdos
1299	exit ;;
1300    i*86:AROS:*:*)
1301	echo ${UNAME_MACHINE}-pc-aros
1302	exit ;;
1303esac
1304
1305#echo '(No uname command or uname output not recognized.)' 1>&2
1306#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1307
1308eval $set_cc_for_build
1309cat >$dummy.c <<EOF
1310#ifdef _SEQUENT_
1311# include <sys/types.h>
1312# include <sys/utsname.h>
1313#endif
1314main ()
1315{
1316#if defined (sony)
1317#if defined (MIPSEB)
1318  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1319     I don't know....  */
1320  printf ("mips-sony-bsd\n"); exit (0);
1321#else
1322#include <sys/param.h>
1323  printf ("m68k-sony-newsos%s\n",
1324#ifdef NEWSOS4
1325          "4"
1326#else
1327	  ""
1328#endif
1329         ); exit (0);
1330#endif
1331#endif
1332
1333#if defined (__arm) && defined (__acorn) && defined (__unix)
1334  printf ("arm-acorn-riscix\n"); exit (0);
1335#endif
1336
1337#if defined (hp300) && !defined (hpux)
1338  printf ("m68k-hp-bsd\n"); exit (0);
1339#endif
1340
1341#if defined (NeXT)
1342#if !defined (__ARCHITECTURE__)
1343#define __ARCHITECTURE__ "m68k"
1344#endif
1345  int version;
1346  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1347  if (version < 4)
1348    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1349  else
1350    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1351  exit (0);
1352#endif
1353
1354#if defined (MULTIMAX) || defined (n16)
1355#if defined (UMAXV)
1356  printf ("ns32k-encore-sysv\n"); exit (0);
1357#else
1358#if defined (CMU)
1359  printf ("ns32k-encore-mach\n"); exit (0);
1360#else
1361  printf ("ns32k-encore-bsd\n"); exit (0);
1362#endif
1363#endif
1364#endif
1365
1366#if defined (__386BSD__)
1367  printf ("i386-pc-bsd\n"); exit (0);
1368#endif
1369
1370#if defined (sequent)
1371#if defined (i386)
1372  printf ("i386-sequent-dynix\n"); exit (0);
1373#endif
1374#if defined (ns32000)
1375  printf ("ns32k-sequent-dynix\n"); exit (0);
1376#endif
1377#endif
1378
1379#if defined (_SEQUENT_)
1380    struct utsname un;
1381
1382    uname(&un);
1383
1384    if (strncmp(un.version, "V2", 2) == 0) {
1385	printf ("i386-sequent-ptx2\n"); exit (0);
1386    }
1387    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1388	printf ("i386-sequent-ptx1\n"); exit (0);
1389    }
1390    printf ("i386-sequent-ptx\n"); exit (0);
1391
1392#endif
1393
1394#if defined (vax)
1395# if !defined (ultrix)
1396#  include <sys/param.h>
1397#  if defined (BSD)
1398#   if BSD == 43
1399      printf ("vax-dec-bsd4.3\n"); exit (0);
1400#   else
1401#    if BSD == 199006
1402      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1403#    else
1404      printf ("vax-dec-bsd\n"); exit (0);
1405#    endif
1406#   endif
1407#  else
1408    printf ("vax-dec-bsd\n"); exit (0);
1409#  endif
1410# else
1411    printf ("vax-dec-ultrix\n"); exit (0);
1412# endif
1413#endif
1414
1415#if defined (alliant) && defined (i860)
1416  printf ("i860-alliant-bsd\n"); exit (0);
1417#endif
1418
1419  exit (1);
1420}
1421EOF
1422
1423$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1424	{ echo "$SYSTEM_NAME"; exit; }
1425
1426# Apollos put the system type in the environment.
1427
1428test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1429
1430# Convex versions that predate uname can use getsysinfo(1)
1431
1432if [ -x /usr/convex/getsysinfo ]
1433then
1434    case `getsysinfo -f cpu_type` in
1435    c1*)
1436	echo c1-convex-bsd
1437	exit ;;
1438    c2*)
1439	if getsysinfo -f scalar_acc
1440	then echo c32-convex-bsd
1441	else echo c2-convex-bsd
1442	fi
1443	exit ;;
1444    c34*)
1445	echo c34-convex-bsd
1446	exit ;;
1447    c38*)
1448	echo c38-convex-bsd
1449	exit ;;
1450    c4*)
1451	echo c4-convex-bsd
1452	exit ;;
1453    esac
1454fi
1455
1456cat >&2 <<EOF
1457$0: unable to guess system type
1458
1459This script, last modified $timestamp, has failed to recognize
1460the operating system you are using. It is advised that you
1461download the most up to date version of the config scripts from
1462
1463  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1464and
1465  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1466
1467If the version you run ($0) is already up to date, please
1468send the following data and any information you think might be
1469pertinent to <config-patches@gnu.org> in order to provide the needed
1470information to handle your system.
1471
1472config.guess timestamp = $timestamp
1473
1474uname -m = `(uname -m) 2>/dev/null || echo unknown`
1475uname -r = `(uname -r) 2>/dev/null || echo unknown`
1476uname -s = `(uname -s) 2>/dev/null || echo unknown`
1477uname -v = `(uname -v) 2>/dev/null || echo unknown`
1478
1479/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1480/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1481
1482hostinfo               = `(hostinfo) 2>/dev/null`
1483/bin/universe          = `(/bin/universe) 2>/dev/null`
1484/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1485/bin/arch              = `(/bin/arch) 2>/dev/null`
1486/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1487/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1488
1489UNAME_MACHINE = ${UNAME_MACHINE}
1490UNAME_RELEASE = ${UNAME_RELEASE}
1491UNAME_SYSTEM  = ${UNAME_SYSTEM}
1492UNAME_VERSION = ${UNAME_VERSION}
1493EOF
1494
1495exit 1
1496
1497# Local variables:
1498# eval: (add-hook 'write-file-hooks 'time-stamp)
1499# time-stamp-start: "timestamp='"
1500# time-stamp-format: "%:y-%02m-%02d"
1501# time-stamp-end: "'"
1502# End: