PageRenderTime 236ms CodeModel.GetById 175ms app.highlight 51ms RepoModel.GetById 1ms app.codeStats 1ms

/src/libev/config.guess

http://github.com/jacksonh/manos
Shell | 1526 lines | 1294 code | 26 blank | 206 comment | 71 complexity | 19636c52c484cd2a755b9f2ac658257d 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
   5#   Free Software Foundation, Inc.
   6
   7timestamp='2008-01-23'
   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 <per@bothner.com>.
  31# Please send patches to <config-patches@gnu.org>.  Submit a context
  32# diff and a properly formatted ChangeLog 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# The plan is that this can be called by configure scripts if you
  39# don't specify an explicit build system type.
  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 __ELF__ >/dev/null
 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    sun4H:SunOS:5.*:*)
 328	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 329	exit ;;
 330    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 331	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 332	exit ;;
 333    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 334	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 335	exit ;;
 336    sun4*:SunOS:6*:*)
 337	# According to config.sub, this is the proper way to canonicalize
 338	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 339	# it's likely to be more like Solaris than SunOS4.
 340	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 341	exit ;;
 342    sun4*:SunOS:*:*)
 343	case "`/usr/bin/arch -k`" in
 344	    Series*|S4*)
 345		UNAME_RELEASE=`uname -v`
 346		;;
 347	esac
 348	# Japanese Language versions have a version number like `4.1.3-JL'.
 349	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
 350	exit ;;
 351    sun3*:SunOS:*:*)
 352	echo m68k-sun-sunos${UNAME_RELEASE}
 353	exit ;;
 354    sun*:*:4.2BSD:*)
 355	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 356	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
 357	case "`/bin/arch`" in
 358	    sun3)
 359		echo m68k-sun-sunos${UNAME_RELEASE}
 360		;;
 361	    sun4)
 362		echo sparc-sun-sunos${UNAME_RELEASE}
 363		;;
 364	esac
 365	exit ;;
 366    aushp:SunOS:*:*)
 367	echo sparc-auspex-sunos${UNAME_RELEASE}
 368	exit ;;
 369    # The situation for MiNT is a little confusing.  The machine name
 370    # can be virtually everything (everything which is not
 371    # "atarist" or "atariste" at least should have a processor
 372    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
 373    # to the lowercase version "mint" (or "freemint").  Finally
 374    # the system name "TOS" denotes a system which is actually not
 375    # MiNT.  But MiNT is downward compatible to TOS, so this should
 376    # be no problem.
 377    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
 378        echo m68k-atari-mint${UNAME_RELEASE}
 379	exit ;;
 380    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 381	echo m68k-atari-mint${UNAME_RELEASE}
 382        exit ;;
 383    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
 384        echo m68k-atari-mint${UNAME_RELEASE}
 385	exit ;;
 386    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
 387        echo m68k-milan-mint${UNAME_RELEASE}
 388        exit ;;
 389    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
 390        echo m68k-hades-mint${UNAME_RELEASE}
 391        exit ;;
 392    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
 393        echo m68k-unknown-mint${UNAME_RELEASE}
 394        exit ;;
 395    m68k:machten:*:*)
 396	echo m68k-apple-machten${UNAME_RELEASE}
 397	exit ;;
 398    powerpc:machten:*:*)
 399	echo powerpc-apple-machten${UNAME_RELEASE}
 400	exit ;;
 401    RISC*:Mach:*:*)
 402	echo mips-dec-mach_bsd4.3
 403	exit ;;
 404    RISC*:ULTRIX:*:*)
 405	echo mips-dec-ultrix${UNAME_RELEASE}
 406	exit ;;
 407    VAX*:ULTRIX*:*:*)
 408	echo vax-dec-ultrix${UNAME_RELEASE}
 409	exit ;;
 410    2020:CLIX:*:* | 2430:CLIX:*:*)
 411	echo clipper-intergraph-clix${UNAME_RELEASE}
 412	exit ;;
 413    mips:*:*:UMIPS | mips:*:*:RISCos)
 414	eval $set_cc_for_build
 415	sed 's/^	//' << EOF >$dummy.c
 416#ifdef __cplusplus
 417#include <stdio.h>  /* for printf() prototype */
 418	int main (int argc, char *argv[]) {
 419#else
 420	int main (argc, argv) int argc; char *argv[]; {
 421#endif
 422	#if defined (host_mips) && defined (MIPSEB)
 423	#if defined (SYSTYPE_SYSV)
 424	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
 425	#endif
 426	#if defined (SYSTYPE_SVR4)
 427	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
 428	#endif
 429	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
 430	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
 431	#endif
 432	#endif
 433	  exit (-1);
 434	}
 435EOF
 436	$CC_FOR_BUILD -o $dummy $dummy.c &&
 437	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
 438	  SYSTEM_NAME=`$dummy $dummyarg` &&
 439	    { echo "$SYSTEM_NAME"; exit; }
 440	echo mips-mips-riscos${UNAME_RELEASE}
 441	exit ;;
 442    Motorola:PowerMAX_OS:*:*)
 443	echo powerpc-motorola-powermax
 444	exit ;;
 445    Motorola:*:4.3:PL8-*)
 446	echo powerpc-harris-powermax
 447	exit ;;
 448    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
 449	echo powerpc-harris-powermax
 450	exit ;;
 451    Night_Hawk:Power_UNIX:*:*)
 452	echo powerpc-harris-powerunix
 453	exit ;;
 454    m88k:CX/UX:7*:*)
 455	echo m88k-harris-cxux7
 456	exit ;;
 457    m88k:*:4*:R4*)
 458	echo m88k-motorola-sysv4
 459	exit ;;
 460    m88k:*:3*:R3*)
 461	echo m88k-motorola-sysv3
 462	exit ;;
 463    AViiON:dgux:*:*)
 464        # DG/UX returns AViiON for all architectures
 465        UNAME_PROCESSOR=`/usr/bin/uname -p`
 466	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 467	then
 468	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
 469	       [ ${TARGET_BINARY_INTERFACE}x = x ]
 470	    then
 471		echo m88k-dg-dgux${UNAME_RELEASE}
 472	    else
 473		echo m88k-dg-dguxbcs${UNAME_RELEASE}
 474	    fi
 475	else
 476	    echo i586-dg-dgux${UNAME_RELEASE}
 477	fi
 478 	exit ;;
 479    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 480	echo m88k-dolphin-sysv3
 481	exit ;;
 482    M88*:*:R3*:*)
 483	# Delta 88k system running SVR3
 484	echo m88k-motorola-sysv3
 485	exit ;;
 486    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
 487	echo m88k-tektronix-sysv3
 488	exit ;;
 489    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
 490	echo m68k-tektronix-bsd
 491	exit ;;
 492    *:IRIX*:*:*)
 493	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
 494	exit ;;
 495    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
 496	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
 497	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
 498    i*86:AIX:*:*)
 499	echo i386-ibm-aix
 500	exit ;;
 501    ia64:AIX:*:*)
 502	if [ -x /usr/bin/oslevel ] ; then
 503		IBM_REV=`/usr/bin/oslevel`
 504	else
 505		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 506	fi
 507	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
 508	exit ;;
 509    *:AIX:2:3)
 510	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
 511		eval $set_cc_for_build
 512		sed 's/^		//' << EOF >$dummy.c
 513		#include <sys/systemcfg.h>
 514
 515		main()
 516			{
 517			if (!__power_pc())
 518				exit(1);
 519			puts("powerpc-ibm-aix3.2.5");
 520			exit(0);
 521			}
 522EOF
 523		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
 524		then
 525			echo "$SYSTEM_NAME"
 526		else
 527			echo rs6000-ibm-aix3.2.5
 528		fi
 529	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
 530		echo rs6000-ibm-aix3.2.4
 531	else
 532		echo rs6000-ibm-aix3.2
 533	fi
 534	exit ;;
 535    *:AIX:*:[456])
 536	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 537	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 538		IBM_ARCH=rs6000
 539	else
 540		IBM_ARCH=powerpc
 541	fi
 542	if [ -x /usr/bin/oslevel ] ; then
 543		IBM_REV=`/usr/bin/oslevel`
 544	else
 545		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 546	fi
 547	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
 548	exit ;;
 549    *:AIX:*:*)
 550	echo rs6000-ibm-aix
 551	exit ;;
 552    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
 553	echo romp-ibm-bsd4.4
 554	exit ;;
 555    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
 556	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
 557	exit ;;                             # report: romp-ibm BSD 4.3
 558    *:BOSX:*:*)
 559	echo rs6000-bull-bosx
 560	exit ;;
 561    DPX/2?00:B.O.S.:*:*)
 562	echo m68k-bull-sysv3
 563	exit ;;
 564    9000/[34]??:4.3bsd:1.*:*)
 565	echo m68k-hp-bsd
 566	exit ;;
 567    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
 568	echo m68k-hp-bsd4.4
 569	exit ;;
 570    9000/[34678]??:HP-UX:*:*)
 571	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 572	case "${UNAME_MACHINE}" in
 573	    9000/31? )            HP_ARCH=m68000 ;;
 574	    9000/[34]?? )         HP_ARCH=m68k ;;
 575	    9000/[678][0-9][0-9])
 576		if [ -x /usr/bin/getconf ]; then
 577		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 578                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 579                    case "${sc_cpu_version}" in
 580                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
 581                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
 582                      532)                      # CPU_PA_RISC2_0
 583                        case "${sc_kernel_bits}" in
 584                          32) HP_ARCH="hppa2.0n" ;;
 585                          64) HP_ARCH="hppa2.0w" ;;
 586			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
 587                        esac ;;
 588                    esac
 589		fi
 590		if [ "${HP_ARCH}" = "" ]; then
 591		    eval $set_cc_for_build
 592		    sed 's/^              //' << EOF >$dummy.c
 593
 594              #define _HPUX_SOURCE
 595              #include <stdlib.h>
 596              #include <unistd.h>
 597
 598              int main ()
 599              {
 600              #if defined(_SC_KERNEL_BITS)
 601                  long bits = sysconf(_SC_KERNEL_BITS);
 602              #endif
 603                  long cpu  = sysconf (_SC_CPU_VERSION);
 604
 605                  switch (cpu)
 606              	{
 607              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
 608              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
 609              	case CPU_PA_RISC2_0:
 610              #if defined(_SC_KERNEL_BITS)
 611              	    switch (bits)
 612              		{
 613              		case 64: puts ("hppa2.0w"); break;
 614              		case 32: puts ("hppa2.0n"); break;
 615              		default: puts ("hppa2.0"); break;
 616              		} break;
 617              #else  /* !defined(_SC_KERNEL_BITS) */
 618              	    puts ("hppa2.0"); break;
 619              #endif
 620              	default: puts ("hppa1.0"); break;
 621              	}
 622                  exit (0);
 623              }
 624EOF
 625		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 626		    test -z "$HP_ARCH" && HP_ARCH=hppa
 627		fi ;;
 628	esac
 629	if [ ${HP_ARCH} = "hppa2.0w" ]
 630	then
 631	    eval $set_cc_for_build
 632
 633	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
 634	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
 635	    # generating 64-bit code.  GNU and HP use different nomenclature:
 636	    #
 637	    # $ CC_FOR_BUILD=cc ./config.guess
 638	    # => hppa2.0w-hp-hpux11.23
 639	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 640	    # => hppa64-hp-hpux11.23
 641
 642	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
 643		grep __LP64__ >/dev/null
 644	    then
 645		HP_ARCH="hppa2.0w"
 646	    else
 647		HP_ARCH="hppa64"
 648	    fi
 649	fi
 650	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
 651	exit ;;
 652    ia64:HP-UX:*:*)
 653	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 654	echo ia64-hp-hpux${HPUX_REV}
 655	exit ;;
 656    3050*:HI-UX:*:*)
 657	eval $set_cc_for_build
 658	sed 's/^	//' << EOF >$dummy.c
 659	#include <unistd.h>
 660	int
 661	main ()
 662	{
 663	  long cpu = sysconf (_SC_CPU_VERSION);
 664	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
 665	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
 666	     results, however.  */
 667	  if (CPU_IS_PA_RISC (cpu))
 668	    {
 669	      switch (cpu)
 670		{
 671		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
 672		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
 673		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
 674		  default: puts ("hppa-hitachi-hiuxwe2"); break;
 675		}
 676	    }
 677	  else if (CPU_IS_HP_MC68K (cpu))
 678	    puts ("m68k-hitachi-hiuxwe2");
 679	  else puts ("unknown-hitachi-hiuxwe2");
 680	  exit (0);
 681	}
 682EOF
 683	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
 684		{ echo "$SYSTEM_NAME"; exit; }
 685	echo unknown-hitachi-hiuxwe2
 686	exit ;;
 687    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
 688	echo hppa1.1-hp-bsd
 689	exit ;;
 690    9000/8??:4.3bsd:*:*)
 691	echo hppa1.0-hp-bsd
 692	exit ;;
 693    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 694	echo hppa1.0-hp-mpeix
 695	exit ;;
 696    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
 697	echo hppa1.1-hp-osf
 698	exit ;;
 699    hp8??:OSF1:*:*)
 700	echo hppa1.0-hp-osf
 701	exit ;;
 702    i*86:OSF1:*:*)
 703	if [ -x /usr/sbin/sysversion ] ; then
 704	    echo ${UNAME_MACHINE}-unknown-osf1mk
 705	else
 706	    echo ${UNAME_MACHINE}-unknown-osf1
 707	fi
 708	exit ;;
 709    parisc*:Lites*:*:*)
 710	echo hppa1.1-hp-lites
 711	exit ;;
 712    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 713	echo c1-convex-bsd
 714        exit ;;
 715    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 716	if getsysinfo -f scalar_acc
 717	then echo c32-convex-bsd
 718	else echo c2-convex-bsd
 719	fi
 720        exit ;;
 721    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 722	echo c34-convex-bsd
 723        exit ;;
 724    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 725	echo c38-convex-bsd
 726        exit ;;
 727    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 728	echo c4-convex-bsd
 729        exit ;;
 730    CRAY*Y-MP:*:*:*)
 731	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 732	exit ;;
 733    CRAY*[A-Z]90:*:*:*)
 734	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 735	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 736	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 737	      -e 's/\.[^.]*$/.X/'
 738	exit ;;
 739    CRAY*TS:*:*:*)
 740	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 741	exit ;;
 742    CRAY*T3E:*:*:*)
 743	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 744	exit ;;
 745    CRAY*SV1:*:*:*)
 746	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 747	exit ;;
 748    *:UNICOS/mp:*:*)
 749	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 750	exit ;;
 751    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 752	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 753        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 754        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 755        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 756        exit ;;
 757    5000:UNIX_System_V:4.*:*)
 758        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 759        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
 760        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 761	exit ;;
 762    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 763	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
 764	exit ;;
 765    sparc*:BSD/OS:*:*)
 766	echo sparc-unknown-bsdi${UNAME_RELEASE}
 767	exit ;;
 768    *:BSD/OS:*:*)
 769	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 770	exit ;;
 771    *:FreeBSD:*:*)
 772	case ${UNAME_MACHINE} in
 773	    pc98)
 774		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 775	    amd64)
 776		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 777	    *)
 778		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 779	esac
 780	exit ;;
 781    i*:CYGWIN*:*)
 782	echo ${UNAME_MACHINE}-pc-cygwin
 783	exit ;;
 784    *:MINGW*:*)
 785	echo ${UNAME_MACHINE}-pc-mingw32
 786	exit ;;
 787    i*:windows32*:*)
 788    	# uname -m includes "-pc" on this system.
 789    	echo ${UNAME_MACHINE}-mingw32
 790	exit ;;
 791    i*:PW*:*)
 792	echo ${UNAME_MACHINE}-pc-pw32
 793	exit ;;
 794    *:Interix*:[3456]*)
 795    	case ${UNAME_MACHINE} in
 796	    x86)
 797		echo i586-pc-interix${UNAME_RELEASE}
 798		exit ;;
 799	    EM64T | authenticamd)
 800		echo x86_64-unknown-interix${UNAME_RELEASE}
 801		exit ;;
 802	    IA64)
 803		echo ia64-unknown-interix${UNAME_RELEASE}
 804		exit ;;
 805	esac ;;
 806    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 807	echo i${UNAME_MACHINE}-pc-mks
 808	exit ;;
 809    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 810	# How do we know it's Interix rather than the generic POSIX subsystem?
 811	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
 812	# UNAME_MACHINE based on the output of uname instead of i386?
 813	echo i586-pc-interix
 814	exit ;;
 815    i*:UWIN*:*)
 816	echo ${UNAME_MACHINE}-pc-uwin
 817	exit ;;
 818    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
 819	echo x86_64-unknown-cygwin
 820	exit ;;
 821    p*:CYGWIN*:*)
 822	echo powerpcle-unknown-cygwin
 823	exit ;;
 824    prep*:SunOS:5.*:*)
 825	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 826	exit ;;
 827    *:GNU:*:*)
 828	# the GNU system
 829	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 830	exit ;;
 831    *:GNU/*:*:*)
 832	# other systems with GNU libc and userland
 833	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
 834	exit ;;
 835    i*86:Minix:*:*)
 836	echo ${UNAME_MACHINE}-pc-minix
 837	exit ;;
 838    arm*:Linux:*:*)
 839	eval $set_cc_for_build
 840	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 841	    | grep -q __ARM_EABI__
 842	then
 843	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 844	else
 845	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
 846	fi
 847	exit ;;
 848    avr32*:Linux:*:*)
 849	echo ${UNAME_MACHINE}-unknown-linux-gnu
 850	exit ;;
 851    cris:Linux:*:*)
 852	echo cris-axis-linux-gnu
 853	exit ;;
 854    crisv32:Linux:*:*)
 855	echo crisv32-axis-linux-gnu
 856	exit ;;
 857    frv:Linux:*:*)
 858    	echo frv-unknown-linux-gnu
 859	exit ;;
 860    ia64:Linux:*:*)
 861	echo ${UNAME_MACHINE}-unknown-linux-gnu
 862	exit ;;
 863    m32r*:Linux:*:*)
 864	echo ${UNAME_MACHINE}-unknown-linux-gnu
 865	exit ;;
 866    m68*:Linux:*:*)
 867	echo ${UNAME_MACHINE}-unknown-linux-gnu
 868	exit ;;
 869    mips:Linux:*:*)
 870	eval $set_cc_for_build
 871	sed 's/^	//' << EOF >$dummy.c
 872	#undef CPU
 873	#undef mips
 874	#undef mipsel
 875	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
 876	CPU=mipsel
 877	#else
 878	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
 879	CPU=mips
 880	#else
 881	CPU=
 882	#endif
 883	#endif
 884EOF
 885	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
 886	    /^CPU/{
 887		s: ::g
 888		p
 889	    }'`"
 890	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 891	;;
 892    mips64:Linux:*:*)
 893	eval $set_cc_for_build
 894	sed 's/^	//' << EOF >$dummy.c
 895	#undef CPU
 896	#undef mips64
 897	#undef mips64el
 898	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
 899	CPU=mips64el
 900	#else
 901	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
 902	CPU=mips64
 903	#else
 904	CPU=
 905	#endif
 906	#endif
 907EOF
 908	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
 909	    /^CPU/{
 910		s: ::g
 911		p
 912	    }'`"
 913	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 914	;;
 915    or32:Linux:*:*)
 916	echo or32-unknown-linux-gnu
 917	exit ;;
 918    ppc:Linux:*:*)
 919	echo powerpc-unknown-linux-gnu
 920	exit ;;
 921    ppc64:Linux:*:*)
 922	echo powerpc64-unknown-linux-gnu
 923	exit ;;
 924    alpha:Linux:*:*)
 925	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
 926	  EV5)   UNAME_MACHINE=alphaev5 ;;
 927	  EV56)  UNAME_MACHINE=alphaev56 ;;
 928	  PCA56) UNAME_MACHINE=alphapca56 ;;
 929	  PCA57) UNAME_MACHINE=alphapca56 ;;
 930	  EV6)   UNAME_MACHINE=alphaev6 ;;
 931	  EV67)  UNAME_MACHINE=alphaev67 ;;
 932	  EV68*) UNAME_MACHINE=alphaev68 ;;
 933        esac
 934	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
 935	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 936	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 937	exit ;;
 938    parisc:Linux:*:* | hppa:Linux:*:*)
 939	# Look for CPU level
 940	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
 941	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
 942	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
 943	  *)    echo hppa-unknown-linux-gnu ;;
 944	esac
 945	exit ;;
 946    parisc64:Linux:*:* | hppa64:Linux:*:*)
 947	echo hppa64-unknown-linux-gnu
 948	exit ;;
 949    s390:Linux:*:* | s390x:Linux:*:*)
 950	echo ${UNAME_MACHINE}-ibm-linux
 951	exit ;;
 952    sh64*:Linux:*:*)
 953    	echo ${UNAME_MACHINE}-unknown-linux-gnu
 954	exit ;;
 955    sh*:Linux:*:*)
 956	echo ${UNAME_MACHINE}-unknown-linux-gnu
 957	exit ;;
 958    sparc:Linux:*:* | sparc64:Linux:*:*)
 959	echo ${UNAME_MACHINE}-unknown-linux-gnu
 960	exit ;;
 961    vax:Linux:*:*)
 962	echo ${UNAME_MACHINE}-dec-linux-gnu
 963	exit ;;
 964    x86_64:Linux:*:*)
 965	echo x86_64-unknown-linux-gnu
 966	exit ;;
 967    xtensa*:Linux:*:*)
 968    	echo ${UNAME_MACHINE}-unknown-linux-gnu
 969	exit ;;
 970    i*86:Linux:*:*)
 971	# The BFD linker knows what the default object file format is, so
 972	# first see if it will tell us. cd to the root directory to prevent
 973	# problems with other programs or directories called `ld' in the path.
 974	# Set LC_ALL=C to ensure ld outputs messages in English.
 975	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
 976			 | sed -ne '/supported targets:/!d
 977				    s/[ 	][ 	]*/ /g
 978				    s/.*supported targets: *//
 979				    s/ .*//
 980				    p'`
 981        case "$ld_supported_targets" in
 982	  elf32-i386)
 983		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
 984		;;
 985	  a.out-i386-linux)
 986		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
 987		exit ;;
 988	  coff-i386)
 989		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
 990		exit ;;
 991	  "")
 992		# Either a pre-BFD a.out linker (linux-gnuoldld) or
 993		# one that does not give us useful --help.
 994		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
 995		exit ;;
 996	esac
 997	# Determine whether the default compiler is a.out or elf
 998	eval $set_cc_for_build
 999	sed 's/^	//' << EOF >$dummy.c
1000	#include <features.h>
1001	#ifdef __ELF__
1002	# ifdef __GLIBC__
1003	#  if __GLIBC__ >= 2
1004	LIBC=gnu
1005	#  else
1006	LIBC=gnulibc1
1007	#  endif
1008	# else
1009	LIBC=gnulibc1
1010	# endif
1011	#else
1012	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1013	LIBC=gnu
1014	#else
1015	LIBC=gnuaout
1016	#endif
1017	#endif
1018	#ifdef __dietlibc__
1019	LIBC=dietlibc
1020	#endif
1021EOF
1022	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1023	    /^LIBC/{
1024		s: ::g
1025		p
1026	    }'`"
1027	test x"${LIBC}" != x && {
1028		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1029		exit
1030	}
1031	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1032	;;
1033    i*86:DYNIX/ptx:4*:*)
1034	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1035	# earlier versions are messed up and put the nodename in both
1036	# sysname and nodename.
1037	echo i386-sequent-sysv4
1038	exit ;;
1039    i*86:UNIX_SV:4.2MP:2.*)
1040        # Unixware is an offshoot of SVR4, but it has its own version
1041        # number series starting with 2...
1042        # I am not positive that other SVR4 systems won't match this,
1043	# I just have to hope.  -- rms.
1044        # Use sysv4.2uw... so that sysv4* matches it.
1045	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1046	exit ;;
1047    i*86:OS/2:*:*)
1048	# If we were able to find `uname', then EMX Unix compatibility
1049	# is probably installed.
1050	echo ${UNAME_MACHINE}-pc-os2-emx
1051	exit ;;
1052    i*86:XTS-300:*:STOP)
1053	echo ${UNAME_MACHINE}-unknown-stop
1054	exit ;;
1055    i*86:atheos:*:*)
1056	echo ${UNAME_MACHINE}-unknown-atheos
1057	exit ;;
1058    i*86:syllable:*:*)
1059	echo ${UNAME_MACHINE}-pc-syllable
1060	exit ;;
1061    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1062	echo i386-unknown-lynxos${UNAME_RELEASE}
1063	exit ;;
1064    i*86:*DOS:*:*)
1065	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1066	exit ;;
1067    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1068	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1069	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1070		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1071	else
1072		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1073	fi
1074	exit ;;
1075    i*86:*:5:[678]*)
1076    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1077	case `/bin/uname -X | grep "^Machine"` in
1078	    *486*)	     UNAME_MACHINE=i486 ;;
1079	    *Pentium)	     UNAME_MACHINE=i586 ;;
1080	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1081	esac
1082	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1083	exit ;;
1084    i*86:*:3.2:*)
1085	if test -f /usr/options/cb.name; then
1086		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1087		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1088	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1089		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1090		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1091		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1092			&& UNAME_MACHINE=i586
1093		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1094			&& UNAME_MACHINE=i686
1095		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1096			&& UNAME_MACHINE=i686
1097		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1098	else
1099		echo ${UNAME_MACHINE}-pc-sysv32
1100	fi
1101	exit ;;
1102    pc:*:*:*)
1103	# Left here for compatibility:
1104        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1105        # the processor, so we play safe by assuming i386.
1106	echo i386-pc-msdosdjgpp
1107        exit ;;
1108    Intel:Mach:3*:*)
1109	echo i386-pc-mach3
1110	exit ;;
1111    paragon:*:*:*)
1112	echo i860-intel-osf1
1113	exit ;;
1114    i860:*:4.*:*) # i860-SVR4
1115	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1116	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1117	else # Add other i860-SVR4 vendors below as they are discovered.
1118	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1119	fi
1120	exit ;;
1121    mini*:CTIX:SYS*5:*)
1122	# "miniframe"
1123	echo m68010-convergent-sysv
1124	exit ;;
1125    mc68k:UNIX:SYSTEM5:3.51m)
1126	echo m68k-convergent-sysv
1127	exit ;;
1128    M680?0:D-NIX:5.3:*)
1129	echo m68k-diab-dnix
1130	exit ;;
1131    M68*:*:R3V[5678]*:*)
1132	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1133    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)
1134	OS_REL=''
1135	test -r /etc/.relid \
1136	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1137	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1138	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1139	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1140	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1141    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1142        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1143          && { echo i486-ncr-sysv4; exit; } ;;
1144    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1145	echo m68k-unknown-lynxos${UNAME_RELEASE}
1146	exit ;;
1147    mc68030:UNIX_System_V:4.*:*)
1148	echo m68k-atari-sysv4
1149	exit ;;
1150    TSUNAMI:LynxOS:2.*:*)
1151	echo sparc-unknown-lynxos${UNAME_RELEASE}
1152	exit ;;
1153    rs6000:LynxOS:2.*:*)
1154	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1155	exit ;;
1156    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1157	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1158	exit ;;
1159    SM[BE]S:UNIX_SV:*:*)
1160	echo mips-dde-sysv${UNAME_RELEASE}
1161	exit ;;
1162    RM*:ReliantUNIX-*:*:*)
1163	echo mips-sni-sysv4
1164	exit ;;
1165    RM*:SINIX-*:*:*)
1166	echo mips-sni-sysv4
1167	exit ;;
1168    *:SINIX-*:*:*)
1169	if uname -p 2>/dev/null >/dev/null ; then
1170		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1171		echo ${UNAME_MACHINE}-sni-sysv4
1172	else
1173		echo ns32k-sni-sysv
1174	fi
1175	exit ;;
1176    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1177                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1178        echo i586-unisys-sysv4
1179        exit ;;
1180    *:UNIX_System_V:4*:FTX*)
1181	# From Gerald Hewes <hewes@openmarket.com>.
1182	# How about differentiating between stratus architectures? -djm
1183	echo hppa1.1-stratus-sysv4
1184	exit ;;
1185    *:*:*:FTX*)
1186	# From seanf@swdc.stratus.com.
1187	echo i860-stratus-sysv4
1188	exit ;;
1189    i*86:VOS:*:*)
1190	# From Paul.Green@stratus.com.
1191	echo ${UNAME_MACHINE}-stratus-vos
1192	exit ;;
1193    *:VOS:*:*)
1194	# From Paul.Green@stratus.com.
1195	echo hppa1.1-stratus-vos
1196	exit ;;
1197    mc68*:A/UX:*:*)
1198	echo m68k-apple-aux${UNAME_RELEASE}
1199	exit ;;
1200    news*:NEWS-OS:6*:*)
1201	echo mips-sony-newsos6
1202	exit ;;
1203    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1204	if [ -d /usr/nec ]; then
1205	        echo mips-nec-sysv${UNAME_RELEASE}
1206	else
1207	        echo mips-unknown-sysv${UNAME_RELEASE}
1208	fi
1209        exit ;;
1210    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1211	echo powerpc-be-beos
1212	exit ;;
1213    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1214	echo powerpc-apple-beos
1215	exit ;;
1216    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1217	echo i586-pc-beos
1218	exit ;;
1219    SX-4:SUPER-UX:*:*)
1220	echo sx4-nec-superux${UNAME_RELEASE}
1221	exit ;;
1222    SX-5:SUPER-UX:*:*)
1223	echo sx5-nec-superux${UNAME_RELEASE}
1224	exit ;;
1225    SX-6:SUPER-UX:*:*)
1226	echo sx6-nec-superux${UNAME_RELEASE}
1227	exit ;;
1228    SX-7:SUPER-UX:*:*)
1229	echo sx7-nec-superux${UNAME_RELEASE}
1230	exit ;;
1231    SX-8:SUPER-UX:*:*)
1232	echo sx8-nec-superux${UNAME_RELEASE}
1233	exit ;;
1234    SX-8R:SUPER-UX:*:*)
1235	echo sx8r-nec-superux${UNAME_RELEASE}
1236	exit ;;
1237    Power*:Rhapsody:*:*)
1238	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1239	exit ;;
1240    *:Rhapsody:*:*)
1241	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1242	exit ;;
1243    *:Darwin:*:*)
1244	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1245	case $UNAME_PROCESSOR in
1246	    unknown) UNAME_PROCESSOR=powerpc ;;
1247	esac
1248	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1249	exit ;;
1250    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1251	UNAME_PROCESSOR=`uname -p`
1252	if test "$UNAME_PROCESSOR" = "x86"; then
1253		UNAME_PROCESSOR=i386
1254		UNAME_MACHINE=pc
1255	fi
1256	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1257	exit ;;
1258    *:QNX:*:4*)
1259	echo i386-pc-qnx
1260	exit ;;
1261    NSE-?:NONSTOP_KERNEL:*:*)
1262	echo nse-tandem-nsk${UNAME_RELEASE}
1263	exit ;;
1264    NSR-?:NONSTOP_KERNEL:*:*)
1265	echo nsr-tandem-nsk${UNAME_RELEASE}
1266	exit ;;
1267    *:NonStop-UX:*:*)
1268	echo mips-compaq-nonstopux
1269	exit ;;
1270    BS2000:POSIX*:*:*)
1271	echo bs2000-siemens-sysv
1272	exit ;;
1273    DS/*:UNIX_System_V:*:*)
1274	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1275	exit ;;
1276    *:Plan9:*:*)
1277	# "uname -m" is not consistent, so use $cputype instead. 386
1278	# is converted to i386 for consistency with other x86
1279	# operating systems.
1280	if test "$cputype" = "386"; then
1281	    UNAME_MACHINE=i386
1282	else
1283	    UNAME_MACHINE="$cputype"
1284	fi
1285	echo ${UNAME_MACHINE}-unknown-plan9
1286	exit ;;
1287    *:TOPS-10:*:*)
1288	echo pdp10-unknown-tops10
1289	exit ;;
1290    *:TENEX:*:*)
1291	echo pdp10-unknown-tenex
1292	exit ;;
1293    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1294	echo pdp10-dec-tops20
1295	exit ;;
1296    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1297	echo pdp10-xkl-tops20
1298	exit ;;
1299    *:TOPS-20:*:*)
1300	echo pdp10-unknown-tops20
1301	exit ;;
1302    *:ITS:*:*)
1303	echo pdp10-unknown-its
1304	exit ;;
1305    SEI:*:*:SEIUX)
1306        echo mips-sei-seiux${UNAME_RELEASE}
1307	exit ;;
1308    *:DragonFly:*:*)
1309	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1310	exit ;;
1311    *:*VMS:*:*)
1312    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1313	case "${UNAME_MACHINE}" in
1314	    A*) echo alpha-dec-vms ; exit ;;
1315	    I*) echo ia64-dec-vms ; exit ;;
1316	    V*) echo vax-dec-vms ; exit ;;
1317	esac ;;
1318    *:XENIX:*:SysV)
1319	echo i386-pc-xenix
1320	exit ;;
1321    i*86:skyos:*:*)
1322	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1323	exit ;;
1324    i*86:rdos:*:*)
1325	echo ${UNAME_MACHINE}-pc-rdos
1326	exit ;;
1327esac
1328
1329#echo '(No uname command or uname output not recognized.)' 1>&2
1330#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1331
1332eval $set_cc_for_build
1333cat >$dummy.c <<EOF
1334#ifdef _SEQUENT_
1335# include <sys/types.h>
1336# include <sys/utsname.h>
1337#endif
1338main ()
1339{
1340#if defined (sony)
1341#if defined (MIPSEB)
1342  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1343     I don't know....  */
1344  printf ("mips-sony-bsd\n"); exit (0);
1345#else
1346#include <sys/param.h>
1347  printf ("m68k-sony-newsos%s\n",
1348#ifdef NEWSOS4
1349          "4"
1350#else
1351	  ""
1352#endif
1353         ); exit (0);
1354#endif
1355#endif
1356
1357#if defined (__arm) && defined (__acorn) && defined (__unix)
1358  printf ("arm-acorn-riscix\n"); exit (0);
1359#endif
1360
1361#if defined (hp300) && !defined (hpux)
1362  printf ("m68k-hp-bsd\n"); exit (0);
1363#endif
1364
1365#if defined (NeXT)
1366#if !defined (__ARCHITECTURE__)
1367#define __ARCHITECTURE__ "m68k"
1368#endif
1369  int version;
1370  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1371  if (version < 4)
1372    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1373  else
1374    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1375  exit (0);
1376#endif
1377
1378#if defined (MULTIMAX) || defined (n16)
1379#if defined (UMAXV)
1380  printf ("ns32k-encore-sysv\n"); exit (0);
1381#else
1382#if defined (CMU)
1383  printf ("ns32k-encore-mach\n"); exit (0);
1384#else
1385  printf ("ns32k-encore-bsd\n"); exit (0);
1386#endif
1387#endif
1388#endif
1389
1390#if defined (__386BSD__)
1391  printf ("i386-pc-bsd\n"); exit (0);
1392#endif
1393
1394#if defined (sequent)
1395#if defined (i386)
1396  printf ("i386-sequent-dynix\n"); exit (0);
1397#endif
1398#if defined (ns32000)
1399  printf ("ns32k-sequent-dynix\n"); exit (0);
1400#endif
1401#endif
1402
1403#if defined (_SEQUENT_)
1404    struct utsname un;
1405
1406    uname(&un);
1407
1408    if (strncmp(un.version, "V2", 2) == 0) {
1409	printf ("i386-sequent-ptx2\n"); exit (0);
1410    }
1411    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1412	printf ("i386-sequent-ptx1\n"); exit (0);
1413    }
1414    printf ("i386-sequent-ptx\n"); exit (0);
1415
1416#endif
1417
1418#if defined (vax)
1419# if !defined (ultrix)
1420#  include <sys/param.h>
1421#  if defined (BSD)
1422#   if BSD == 43
1423      printf ("vax-dec-bsd4.3\n"); exit (0);
1424#   else
1425#    if BSD == 199006
1426      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1427#    else
1428      printf ("vax-dec-bsd\n"); exit (0);
1429#    endif
1430#   endif
1431#  else
1432    printf ("vax-dec-bsd\n"); exit (0);
1433#  endif
1434# else
1435    printf ("vax-dec-ultrix\n"); exit (0);
1436# endif
1437#endif
1438
1439#if defined (alliant) && defined (i860)
1440  printf ("i860-alliant-bsd\n"); exit (0);
1441#endif
1442
1443  exit (1);
1444}
1445EOF
1446
1447$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1448	{ echo "$SYSTEM_NAME"; exit; }
1449
1450# Apollos put the system type in the environment.
1451
1452test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1453
1454# Convex versions that predate uname can use getsysinfo(1)
1455
1456if [ -x /usr/convex/getsysinfo ]
1457then
1458    case `getsysinfo -f cpu_type` in
1459    c1*)
1460	echo c1-convex-bsd
1461	exit ;;
1462    c2*)
1463	if getsysinfo -f scalar_acc
1464	then echo c32-convex-bsd
1465	else echo c2-convex-bsd
1466	fi
1467	exit ;;
1468    c34*)
1469	echo c34-convex-bsd
1470	exit ;;
1471    c38*)
1472	echo c38-convex-bsd
1473	exit ;;
1474    c4*)
1475	echo c4-convex-bsd
1476	exit ;;
1477    esac
1478fi
1479
1480cat >&2 <<EOF
1481$0: unable to guess system type
1482
1483This script, last modified $timestamp, has failed to recognize
1484the operating system you are using. It is advised that you
1485download the most up to date version of the config scripts from
1486
1487  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1488and
1489  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1490
1491If the version you run ($0) is already up to date, please
1492send the following data and any information you think might be
1493pertinent to <config-patches@gnu.org> in order to provide the needed
1494information to handle your system.
1495
1496config.guess timestamp = $timestamp
1497
1498uname -m = `(uname -m) 2>/dev/null || echo unknown`
1499uname -r = `(uname -r) 2>/dev/null || echo unknown`
1500uname -s = `(uname -s) 2>/dev/null || echo unknown`
1501uname -v = `(uname -v) 2>/dev/null || echo unknown`
1502
1503/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1504/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1505
1506hostinfo               = `(hostinfo) 2>/dev/null`
1507/bin/universe          = `(/bin/universe) 2>/dev/null`
1508/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1509/bin/arch              = `(/bin/arch) 2>/dev/null`
1510/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1511/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1512
1513UNAME_MACHINE = ${UNAME_MACHINE}
1514UNAME_RELEASE = ${UNAME_RELEASE}
1515UNAME_SYSTEM  = ${UNAME_SYSTEM}
1516UNAME_VERSION = ${UNAME_VERSION}
1517EOF
1518
1519exit 1
1520
1521# Local variables:
1522# eval: (add-hook 'write-file-hooks 'time-stamp)
1523# time-stamp-start: "timestamp='"
1524# time-stamp-format: "%:y-%02m-%02d"
1525# time-stamp-end: "'"
1526# End: