PageRenderTime 93ms CodeModel.GetById 18ms app.highlight 65ms RepoModel.GetById 2ms app.codeStats 0ms

/js/src/ctypes/libffi/config.guess

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