config.guess revision dc407927
13eed67faSmbalmer#! /bin/sh
23eed67faSmbalmer# Attempt to guess a canonical system name.
33eed67faSmbalmer#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4dc407927Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5dc407927Smrg#   Free Software Foundation, Inc.
63eed67faSmbalmer
7dc407927Smrgtimestamp='2009-04-27'
83eed67faSmbalmer
93eed67faSmbalmer# This file is free software; you can redistribute it and/or modify it
103eed67faSmbalmer# under the terms of the GNU General Public License as published by
113eed67faSmbalmer# the Free Software Foundation; either version 2 of the License, or
123eed67faSmbalmer# (at your option) any later version.
133eed67faSmbalmer#
143eed67faSmbalmer# This program is distributed in the hope that it will be useful, but
153eed67faSmbalmer# WITHOUT ANY WARRANTY; without even the implied warranty of
163eed67faSmbalmer# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
173eed67faSmbalmer# General Public License for more details.
183eed67faSmbalmer#
193eed67faSmbalmer# You should have received a copy of the GNU General Public License
203eed67faSmbalmer# along with this program; if not, write to the Free Software
213eed67faSmbalmer# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
223eed67faSmbalmer# 02110-1301, USA.
233eed67faSmbalmer#
243eed67faSmbalmer# As a special exception to the GNU General Public License, if you
253eed67faSmbalmer# distribute this file as part of a program that contains a
263eed67faSmbalmer# configuration script generated by Autoconf, you may include it under
273eed67faSmbalmer# the same distribution terms that you use for the rest of that program.
283eed67faSmbalmer
293eed67faSmbalmer
303eed67faSmbalmer# Originally written by Per Bothner <per@bothner.com>.
313eed67faSmbalmer# Please send patches to <config-patches@gnu.org>.  Submit a context
323eed67faSmbalmer# diff and a properly formatted ChangeLog entry.
333eed67faSmbalmer#
343eed67faSmbalmer# This script attempts to guess a canonical system name similar to
353eed67faSmbalmer# config.sub.  If it succeeds, it prints the system name on stdout, and
363eed67faSmbalmer# exits with 0.  Otherwise, it exits with 1.
373eed67faSmbalmer#
383eed67faSmbalmer# The plan is that this can be called by configure scripts if you
393eed67faSmbalmer# don't specify an explicit build system type.
403eed67faSmbalmer
413eed67faSmbalmerme=`echo "$0" | sed -e 's,.*/,,'`
423eed67faSmbalmer
433eed67faSmbalmerusage="\
443eed67faSmbalmerUsage: $0 [OPTION]
453eed67faSmbalmer
463eed67faSmbalmerOutput the configuration name of the system \`$me' is run on.
473eed67faSmbalmer
483eed67faSmbalmerOperation modes:
493eed67faSmbalmer  -h, --help         print this help, then exit
503eed67faSmbalmer  -t, --time-stamp   print date of last modification, then exit
513eed67faSmbalmer  -v, --version      print version number, then exit
523eed67faSmbalmer
533eed67faSmbalmerReport bugs and patches to <config-patches@gnu.org>."
543eed67faSmbalmer
553eed67faSmbalmerversion="\
563eed67faSmbalmerGNU config.guess ($timestamp)
573eed67faSmbalmer
583eed67faSmbalmerOriginally written by Per Bothner.
59dc407927SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60dc407927Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
613eed67faSmbalmer
623eed67faSmbalmerThis is free software; see the source for copying conditions.  There is NO
633eed67faSmbalmerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
643eed67faSmbalmer
653eed67faSmbalmerhelp="
663eed67faSmbalmerTry \`$me --help' for more information."
673eed67faSmbalmer
683eed67faSmbalmer# Parse command line
693eed67faSmbalmerwhile test $# -gt 0 ; do
703eed67faSmbalmer  case $1 in
713eed67faSmbalmer    --time-stamp | --time* | -t )
723eed67faSmbalmer       echo "$timestamp" ; exit ;;
733eed67faSmbalmer    --version | -v )
743eed67faSmbalmer       echo "$version" ; exit ;;
753eed67faSmbalmer    --help | --h* | -h )
763eed67faSmbalmer       echo "$usage"; exit ;;
773eed67faSmbalmer    -- )     # Stop option processing
783eed67faSmbalmer       shift; break ;;
793eed67faSmbalmer    - )	# Use stdin as input.
803eed67faSmbalmer       break ;;
813eed67faSmbalmer    -* )
823eed67faSmbalmer       echo "$me: invalid option $1$help" >&2
833eed67faSmbalmer       exit 1 ;;
843eed67faSmbalmer    * )
853eed67faSmbalmer       break ;;
863eed67faSmbalmer  esac
873eed67faSmbalmerdone
883eed67faSmbalmer
893eed67faSmbalmerif test $# != 0; then
903eed67faSmbalmer  echo "$me: too many arguments$help" >&2
913eed67faSmbalmer  exit 1
923eed67faSmbalmerfi
933eed67faSmbalmer
943eed67faSmbalmertrap 'exit 1' 1 2 15
953eed67faSmbalmer
963eed67faSmbalmer# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
973eed67faSmbalmer# compiler to aid in system detection is discouraged as it requires
983eed67faSmbalmer# temporary files to be created and, as you can see below, it is a
993eed67faSmbalmer# headache to deal with in a portable fashion.
1003eed67faSmbalmer
1013eed67faSmbalmer# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1023eed67faSmbalmer# use `HOST_CC' if defined, but it is deprecated.
1033eed67faSmbalmer
1043eed67faSmbalmer# Portable tmp directory creation inspired by the Autoconf team.
1053eed67faSmbalmer
1063eed67faSmbalmerset_cc_for_build='
1073eed67faSmbalmertrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1083eed67faSmbalmertrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1093eed67faSmbalmer: ${TMPDIR=/tmp} ;
110dc407927Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1113eed67faSmbalmer { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1123eed67faSmbalmer { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1133eed67faSmbalmer { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1143eed67faSmbalmerdummy=$tmp/dummy ;
1153eed67faSmbalmertmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1163eed67faSmbalmercase $CC_FOR_BUILD,$HOST_CC,$CC in
1173eed67faSmbalmer ,,)    echo "int x;" > $dummy.c ;
1183eed67faSmbalmer	for c in cc gcc c89 c99 ; do
1193eed67faSmbalmer	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1203eed67faSmbalmer	     CC_FOR_BUILD="$c"; break ;
1213eed67faSmbalmer	  fi ;
1223eed67faSmbalmer	done ;
1233eed67faSmbalmer	if test x"$CC_FOR_BUILD" = x ; then
1243eed67faSmbalmer	  CC_FOR_BUILD=no_compiler_found ;
1253eed67faSmbalmer	fi
1263eed67faSmbalmer	;;
1273eed67faSmbalmer ,,*)   CC_FOR_BUILD=$CC ;;
1283eed67faSmbalmer ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1293eed67faSmbalmeresac ; set_cc_for_build= ;'
1303eed67faSmbalmer
1313eed67faSmbalmer# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1323eed67faSmbalmer# (ghazi@noc.rutgers.edu 1994-08-24)
1333eed67faSmbalmerif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1343eed67faSmbalmer	PATH=$PATH:/.attbin ; export PATH
1353eed67faSmbalmerfi
1363eed67faSmbalmer
1373eed67faSmbalmerUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1383eed67faSmbalmerUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1393eed67faSmbalmerUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1403eed67faSmbalmerUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1413eed67faSmbalmer
1423eed67faSmbalmer# Note: order is significant - the case branches are not exclusive.
1433eed67faSmbalmer
1443eed67faSmbalmercase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
1453eed67faSmbalmer    *:NetBSD:*:*)
1463eed67faSmbalmer	# NetBSD (nbsd) targets should (where applicable) match one or
1473eed67faSmbalmer	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
1483eed67faSmbalmer	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1493eed67faSmbalmer	# switched to ELF, *-*-netbsd* would select the old
1503eed67faSmbalmer	# object file format.  This provides both forward
1513eed67faSmbalmer	# compatibility and a consistent mechanism for selecting the
1523eed67faSmbalmer	# object file format.
1533eed67faSmbalmer	#
1543eed67faSmbalmer	# Note: NetBSD doesn't particularly care about the vendor
1553eed67faSmbalmer	# portion of the name.  We always set it to "unknown".
1563eed67faSmbalmer	sysctl="sysctl -n hw.machine_arch"
1573eed67faSmbalmer	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1583eed67faSmbalmer	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1593eed67faSmbalmer	case "${UNAME_MACHINE_ARCH}" in
1603eed67faSmbalmer	    armeb) machine=armeb-unknown ;;
1613eed67faSmbalmer	    arm*) machine=arm-unknown ;;
1623eed67faSmbalmer	    sh3el) machine=shl-unknown ;;
1633eed67faSmbalmer	    sh3eb) machine=sh-unknown ;;
164dc407927Smrg	    sh5el) machine=sh5le-unknown ;;
1653eed67faSmbalmer	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
1663eed67faSmbalmer	esac
1673eed67faSmbalmer	# The Operating System including object format, if it has switched
1683eed67faSmbalmer	# to ELF recently, or will in the future.
1693eed67faSmbalmer	case "${UNAME_MACHINE_ARCH}" in
1703eed67faSmbalmer	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1713eed67faSmbalmer		eval $set_cc_for_build
1723eed67faSmbalmer		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1733eed67faSmbalmer			| grep __ELF__ >/dev/null
1743eed67faSmbalmer		then
1753eed67faSmbalmer		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
1763eed67faSmbalmer		    # Return netbsd for either.  FIX?
1773eed67faSmbalmer		    os=netbsd
1783eed67faSmbalmer		else
1793eed67faSmbalmer		    os=netbsdelf
1803eed67faSmbalmer		fi
1813eed67faSmbalmer		;;
1823eed67faSmbalmer	    *)
1833eed67faSmbalmer	        os=netbsd
1843eed67faSmbalmer		;;
1853eed67faSmbalmer	esac
1863eed67faSmbalmer	# The OS release
1873eed67faSmbalmer	# Debian GNU/NetBSD machines have a different userland, and
1883eed67faSmbalmer	# thus, need a distinct triplet. However, they do not need
1893eed67faSmbalmer	# kernel version information, so it can be replaced with a
1903eed67faSmbalmer	# suitable tag, in the style of linux-gnu.
1913eed67faSmbalmer	case "${UNAME_VERSION}" in
1923eed67faSmbalmer	    Debian*)
1933eed67faSmbalmer		release='-gnu'
1943eed67faSmbalmer		;;
1953eed67faSmbalmer	    *)
1963eed67faSmbalmer		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1973eed67faSmbalmer		;;
1983eed67faSmbalmer	esac
1993eed67faSmbalmer	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2003eed67faSmbalmer	# contains redundant information, the shorter form:
2013eed67faSmbalmer	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2023eed67faSmbalmer	echo "${machine}-${os}${release}"
2033eed67faSmbalmer	exit ;;
2043eed67faSmbalmer    *:OpenBSD:*:*)
2053eed67faSmbalmer	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2063eed67faSmbalmer	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2073eed67faSmbalmer	exit ;;
2083eed67faSmbalmer    *:ekkoBSD:*:*)
2093eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2103eed67faSmbalmer	exit ;;
211dc407927Smrg    *:SolidBSD:*:*)
212dc407927Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213dc407927Smrg	exit ;;
2143eed67faSmbalmer    macppc:MirBSD:*:*)
215dc407927Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2163eed67faSmbalmer	exit ;;
2173eed67faSmbalmer    *:MirBSD:*:*)
2183eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2193eed67faSmbalmer	exit ;;
2203eed67faSmbalmer    alpha:OSF1:*:*)
2213eed67faSmbalmer	case $UNAME_RELEASE in
2223eed67faSmbalmer	*4.0)
2233eed67faSmbalmer		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2243eed67faSmbalmer		;;
2253eed67faSmbalmer	*5.*)
2263eed67faSmbalmer	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2273eed67faSmbalmer		;;
2283eed67faSmbalmer	esac
2293eed67faSmbalmer	# According to Compaq, /usr/sbin/psrinfo has been available on
2303eed67faSmbalmer	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2313eed67faSmbalmer	# covers most systems running today.  This code pipes the CPU
2323eed67faSmbalmer	# types through head -n 1, so we only detect the type of CPU 0.
2333eed67faSmbalmer	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2343eed67faSmbalmer	case "$ALPHA_CPU_TYPE" in
2353eed67faSmbalmer	    "EV4 (21064)")
2363eed67faSmbalmer		UNAME_MACHINE="alpha" ;;
2373eed67faSmbalmer	    "EV4.5 (21064)")
2383eed67faSmbalmer		UNAME_MACHINE="alpha" ;;
2393eed67faSmbalmer	    "LCA4 (21066/21068)")
2403eed67faSmbalmer		UNAME_MACHINE="alpha" ;;
2413eed67faSmbalmer	    "EV5 (21164)")
2423eed67faSmbalmer		UNAME_MACHINE="alphaev5" ;;
2433eed67faSmbalmer	    "EV5.6 (21164A)")
2443eed67faSmbalmer		UNAME_MACHINE="alphaev56" ;;
2453eed67faSmbalmer	    "EV5.6 (21164PC)")
2463eed67faSmbalmer		UNAME_MACHINE="alphapca56" ;;
2473eed67faSmbalmer	    "EV5.7 (21164PC)")
2483eed67faSmbalmer		UNAME_MACHINE="alphapca57" ;;
2493eed67faSmbalmer	    "EV6 (21264)")
2503eed67faSmbalmer		UNAME_MACHINE="alphaev6" ;;
2513eed67faSmbalmer	    "EV6.7 (21264A)")
2523eed67faSmbalmer		UNAME_MACHINE="alphaev67" ;;
2533eed67faSmbalmer	    "EV6.8CB (21264C)")
2543eed67faSmbalmer		UNAME_MACHINE="alphaev68" ;;
2553eed67faSmbalmer	    "EV6.8AL (21264B)")
2563eed67faSmbalmer		UNAME_MACHINE="alphaev68" ;;
2573eed67faSmbalmer	    "EV6.8CX (21264D)")
2583eed67faSmbalmer		UNAME_MACHINE="alphaev68" ;;
2593eed67faSmbalmer	    "EV6.9A (21264/EV69A)")
2603eed67faSmbalmer		UNAME_MACHINE="alphaev69" ;;
2613eed67faSmbalmer	    "EV7 (21364)")
2623eed67faSmbalmer		UNAME_MACHINE="alphaev7" ;;
2633eed67faSmbalmer	    "EV7.9 (21364A)")
2643eed67faSmbalmer		UNAME_MACHINE="alphaev79" ;;
2653eed67faSmbalmer	esac
2663eed67faSmbalmer	# A Pn.n version is a patched version.
2673eed67faSmbalmer	# A Vn.n version is a released version.
2683eed67faSmbalmer	# A Tn.n version is a released field test version.
2693eed67faSmbalmer	# A Xn.n version is an unreleased experimental baselevel.
2703eed67faSmbalmer	# 1.2 uses "1.2" for uname -r.
2713eed67faSmbalmer	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2723eed67faSmbalmer	exit ;;
2733eed67faSmbalmer    Alpha\ *:Windows_NT*:*)
2743eed67faSmbalmer	# How do we know it's Interix rather than the generic POSIX subsystem?
2753eed67faSmbalmer	# Should we change UNAME_MACHINE based on the output of uname instead
2763eed67faSmbalmer	# of the specific Alpha model?
2773eed67faSmbalmer	echo alpha-pc-interix
2783eed67faSmbalmer	exit ;;
2793eed67faSmbalmer    21064:Windows_NT:50:3)
2803eed67faSmbalmer	echo alpha-dec-winnt3.5
2813eed67faSmbalmer	exit ;;
2823eed67faSmbalmer    Amiga*:UNIX_System_V:4.0:*)
2833eed67faSmbalmer	echo m68k-unknown-sysv4
2843eed67faSmbalmer	exit ;;
2853eed67faSmbalmer    *:[Aa]miga[Oo][Ss]:*:*)
2863eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-amigaos
2873eed67faSmbalmer	exit ;;
2883eed67faSmbalmer    *:[Mm]orph[Oo][Ss]:*:*)
2893eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-morphos
2903eed67faSmbalmer	exit ;;
2913eed67faSmbalmer    *:OS/390:*:*)
2923eed67faSmbalmer	echo i370-ibm-openedition
2933eed67faSmbalmer	exit ;;
2943eed67faSmbalmer    *:z/VM:*:*)
2953eed67faSmbalmer	echo s390-ibm-zvmoe
2963eed67faSmbalmer	exit ;;
2973eed67faSmbalmer    *:OS400:*:*)
2983eed67faSmbalmer        echo powerpc-ibm-os400
2993eed67faSmbalmer	exit ;;
3003eed67faSmbalmer    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3013eed67faSmbalmer	echo arm-acorn-riscix${UNAME_RELEASE}
3023eed67faSmbalmer	exit ;;
3033eed67faSmbalmer    arm:riscos:*:*|arm:RISCOS:*:*)
3043eed67faSmbalmer	echo arm-unknown-riscos
3053eed67faSmbalmer	exit ;;
3063eed67faSmbalmer    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3073eed67faSmbalmer	echo hppa1.1-hitachi-hiuxmpp
3083eed67faSmbalmer	exit ;;
3093eed67faSmbalmer    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3103eed67faSmbalmer	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3113eed67faSmbalmer	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3123eed67faSmbalmer		echo pyramid-pyramid-sysv3
3133eed67faSmbalmer	else
3143eed67faSmbalmer		echo pyramid-pyramid-bsd
3153eed67faSmbalmer	fi
3163eed67faSmbalmer	exit ;;
3173eed67faSmbalmer    NILE*:*:*:dcosx)
3183eed67faSmbalmer	echo pyramid-pyramid-svr4
3193eed67faSmbalmer	exit ;;
3203eed67faSmbalmer    DRS?6000:unix:4.0:6*)
3213eed67faSmbalmer	echo sparc-icl-nx6
3223eed67faSmbalmer	exit ;;
3233eed67faSmbalmer    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3243eed67faSmbalmer	case `/usr/bin/uname -p` in
3253eed67faSmbalmer	    sparc) echo sparc-icl-nx7; exit ;;
3263eed67faSmbalmer	esac ;;
327dc407927Smrg    s390x:SunOS:*:*)
328dc407927Smrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329dc407927Smrg	exit ;;
3303eed67faSmbalmer    sun4H:SunOS:5.*:*)
3313eed67faSmbalmer	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3323eed67faSmbalmer	exit ;;
3333eed67faSmbalmer    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3343eed67faSmbalmer	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3353eed67faSmbalmer	exit ;;
336dc407927Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
337dc407927Smrg	eval $set_cc_for_build
338dc407927Smrg	SUN_ARCH="i386"
339dc407927Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
340dc407927Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
341dc407927Smrg	# This test works for both compilers.
342dc407927Smrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
343dc407927Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
344dc407927Smrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
345dc407927Smrg		grep IS_64BIT_ARCH >/dev/null
346dc407927Smrg	    then
347dc407927Smrg		SUN_ARCH="x86_64"
348dc407927Smrg	    fi
349dc407927Smrg	fi
350dc407927Smrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3513eed67faSmbalmer	exit ;;
3523eed67faSmbalmer    sun4*:SunOS:6*:*)
3533eed67faSmbalmer	# According to config.sub, this is the proper way to canonicalize
3543eed67faSmbalmer	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3553eed67faSmbalmer	# it's likely to be more like Solaris than SunOS4.
3563eed67faSmbalmer	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3573eed67faSmbalmer	exit ;;
3583eed67faSmbalmer    sun4*:SunOS:*:*)
3593eed67faSmbalmer	case "`/usr/bin/arch -k`" in
3603eed67faSmbalmer	    Series*|S4*)
3613eed67faSmbalmer		UNAME_RELEASE=`uname -v`
3623eed67faSmbalmer		;;
3633eed67faSmbalmer	esac
3643eed67faSmbalmer	# Japanese Language versions have a version number like `4.1.3-JL'.
3653eed67faSmbalmer	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3663eed67faSmbalmer	exit ;;
3673eed67faSmbalmer    sun3*:SunOS:*:*)
3683eed67faSmbalmer	echo m68k-sun-sunos${UNAME_RELEASE}
3693eed67faSmbalmer	exit ;;
3703eed67faSmbalmer    sun*:*:4.2BSD:*)
3713eed67faSmbalmer	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
3723eed67faSmbalmer	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
3733eed67faSmbalmer	case "`/bin/arch`" in
3743eed67faSmbalmer	    sun3)
3753eed67faSmbalmer		echo m68k-sun-sunos${UNAME_RELEASE}
3763eed67faSmbalmer		;;
3773eed67faSmbalmer	    sun4)
3783eed67faSmbalmer		echo sparc-sun-sunos${UNAME_RELEASE}
3793eed67faSmbalmer		;;
3803eed67faSmbalmer	esac
3813eed67faSmbalmer	exit ;;
3823eed67faSmbalmer    aushp:SunOS:*:*)
3833eed67faSmbalmer	echo sparc-auspex-sunos${UNAME_RELEASE}
3843eed67faSmbalmer	exit ;;
3853eed67faSmbalmer    # The situation for MiNT is a little confusing.  The machine name
3863eed67faSmbalmer    # can be virtually everything (everything which is not
3873eed67faSmbalmer    # "atarist" or "atariste" at least should have a processor
3883eed67faSmbalmer    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
3893eed67faSmbalmer    # to the lowercase version "mint" (or "freemint").  Finally
3903eed67faSmbalmer    # the system name "TOS" denotes a system which is actually not
3913eed67faSmbalmer    # MiNT.  But MiNT is downward compatible to TOS, so this should
3923eed67faSmbalmer    # be no problem.
3933eed67faSmbalmer    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
3943eed67faSmbalmer        echo m68k-atari-mint${UNAME_RELEASE}
3953eed67faSmbalmer	exit ;;
3963eed67faSmbalmer    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
3973eed67faSmbalmer	echo m68k-atari-mint${UNAME_RELEASE}
3983eed67faSmbalmer        exit ;;
3993eed67faSmbalmer    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4003eed67faSmbalmer        echo m68k-atari-mint${UNAME_RELEASE}
4013eed67faSmbalmer	exit ;;
4023eed67faSmbalmer    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
4033eed67faSmbalmer        echo m68k-milan-mint${UNAME_RELEASE}
4043eed67faSmbalmer        exit ;;
4053eed67faSmbalmer    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
4063eed67faSmbalmer        echo m68k-hades-mint${UNAME_RELEASE}
4073eed67faSmbalmer        exit ;;
4083eed67faSmbalmer    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
4093eed67faSmbalmer        echo m68k-unknown-mint${UNAME_RELEASE}
4103eed67faSmbalmer        exit ;;
4113eed67faSmbalmer    m68k:machten:*:*)
4123eed67faSmbalmer	echo m68k-apple-machten${UNAME_RELEASE}
4133eed67faSmbalmer	exit ;;
4143eed67faSmbalmer    powerpc:machten:*:*)
4153eed67faSmbalmer	echo powerpc-apple-machten${UNAME_RELEASE}
4163eed67faSmbalmer	exit ;;
4173eed67faSmbalmer    RISC*:Mach:*:*)
4183eed67faSmbalmer	echo mips-dec-mach_bsd4.3
4193eed67faSmbalmer	exit ;;
4203eed67faSmbalmer    RISC*:ULTRIX:*:*)
4213eed67faSmbalmer	echo mips-dec-ultrix${UNAME_RELEASE}
4223eed67faSmbalmer	exit ;;
4233eed67faSmbalmer    VAX*:ULTRIX*:*:*)
4243eed67faSmbalmer	echo vax-dec-ultrix${UNAME_RELEASE}
4253eed67faSmbalmer	exit ;;
4263eed67faSmbalmer    2020:CLIX:*:* | 2430:CLIX:*:*)
4273eed67faSmbalmer	echo clipper-intergraph-clix${UNAME_RELEASE}
4283eed67faSmbalmer	exit ;;
4293eed67faSmbalmer    mips:*:*:UMIPS | mips:*:*:RISCos)
4303eed67faSmbalmer	eval $set_cc_for_build
4313eed67faSmbalmer	sed 's/^	//' << EOF >$dummy.c
4323eed67faSmbalmer#ifdef __cplusplus
4333eed67faSmbalmer#include <stdio.h>  /* for printf() prototype */
4343eed67faSmbalmer	int main (int argc, char *argv[]) {
4353eed67faSmbalmer#else
4363eed67faSmbalmer	int main (argc, argv) int argc; char *argv[]; {
4373eed67faSmbalmer#endif
4383eed67faSmbalmer	#if defined (host_mips) && defined (MIPSEB)
4393eed67faSmbalmer	#if defined (SYSTYPE_SYSV)
4403eed67faSmbalmer	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4413eed67faSmbalmer	#endif
4423eed67faSmbalmer	#if defined (SYSTYPE_SVR4)
4433eed67faSmbalmer	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4443eed67faSmbalmer	#endif
4453eed67faSmbalmer	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4463eed67faSmbalmer	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4473eed67faSmbalmer	#endif
4483eed67faSmbalmer	#endif
4493eed67faSmbalmer	  exit (-1);
4503eed67faSmbalmer	}
4513eed67faSmbalmerEOF
4523eed67faSmbalmer	$CC_FOR_BUILD -o $dummy $dummy.c &&
4533eed67faSmbalmer	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4543eed67faSmbalmer	  SYSTEM_NAME=`$dummy $dummyarg` &&
4553eed67faSmbalmer	    { echo "$SYSTEM_NAME"; exit; }
4563eed67faSmbalmer	echo mips-mips-riscos${UNAME_RELEASE}
4573eed67faSmbalmer	exit ;;
4583eed67faSmbalmer    Motorola:PowerMAX_OS:*:*)
4593eed67faSmbalmer	echo powerpc-motorola-powermax
4603eed67faSmbalmer	exit ;;
4613eed67faSmbalmer    Motorola:*:4.3:PL8-*)
4623eed67faSmbalmer	echo powerpc-harris-powermax
4633eed67faSmbalmer	exit ;;
4643eed67faSmbalmer    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4653eed67faSmbalmer	echo powerpc-harris-powermax
4663eed67faSmbalmer	exit ;;
4673eed67faSmbalmer    Night_Hawk:Power_UNIX:*:*)
4683eed67faSmbalmer	echo powerpc-harris-powerunix
4693eed67faSmbalmer	exit ;;
4703eed67faSmbalmer    m88k:CX/UX:7*:*)
4713eed67faSmbalmer	echo m88k-harris-cxux7
4723eed67faSmbalmer	exit ;;
4733eed67faSmbalmer    m88k:*:4*:R4*)
4743eed67faSmbalmer	echo m88k-motorola-sysv4
4753eed67faSmbalmer	exit ;;
4763eed67faSmbalmer    m88k:*:3*:R3*)
4773eed67faSmbalmer	echo m88k-motorola-sysv3
4783eed67faSmbalmer	exit ;;
4793eed67faSmbalmer    AViiON:dgux:*:*)
4803eed67faSmbalmer        # DG/UX returns AViiON for all architectures
4813eed67faSmbalmer        UNAME_PROCESSOR=`/usr/bin/uname -p`
4823eed67faSmbalmer	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
4833eed67faSmbalmer	then
4843eed67faSmbalmer	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
4853eed67faSmbalmer	       [ ${TARGET_BINARY_INTERFACE}x = x ]
4863eed67faSmbalmer	    then
4873eed67faSmbalmer		echo m88k-dg-dgux${UNAME_RELEASE}
4883eed67faSmbalmer	    else
4893eed67faSmbalmer		echo m88k-dg-dguxbcs${UNAME_RELEASE}
4903eed67faSmbalmer	    fi
4913eed67faSmbalmer	else
4923eed67faSmbalmer	    echo i586-dg-dgux${UNAME_RELEASE}
4933eed67faSmbalmer	fi
4943eed67faSmbalmer 	exit ;;
4953eed67faSmbalmer    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
4963eed67faSmbalmer	echo m88k-dolphin-sysv3
4973eed67faSmbalmer	exit ;;
4983eed67faSmbalmer    M88*:*:R3*:*)
4993eed67faSmbalmer	# Delta 88k system running SVR3
5003eed67faSmbalmer	echo m88k-motorola-sysv3
5013eed67faSmbalmer	exit ;;
5023eed67faSmbalmer    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5033eed67faSmbalmer	echo m88k-tektronix-sysv3
5043eed67faSmbalmer	exit ;;
5053eed67faSmbalmer    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5063eed67faSmbalmer	echo m68k-tektronix-bsd
5073eed67faSmbalmer	exit ;;
5083eed67faSmbalmer    *:IRIX*:*:*)
5093eed67faSmbalmer	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
5103eed67faSmbalmer	exit ;;
5113eed67faSmbalmer    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5123eed67faSmbalmer	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
5133eed67faSmbalmer	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
5143eed67faSmbalmer    i*86:AIX:*:*)
5153eed67faSmbalmer	echo i386-ibm-aix
5163eed67faSmbalmer	exit ;;
5173eed67faSmbalmer    ia64:AIX:*:*)
5183eed67faSmbalmer	if [ -x /usr/bin/oslevel ] ; then
5193eed67faSmbalmer		IBM_REV=`/usr/bin/oslevel`
5203eed67faSmbalmer	else
5213eed67faSmbalmer		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5223eed67faSmbalmer	fi
5233eed67faSmbalmer	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5243eed67faSmbalmer	exit ;;
5253eed67faSmbalmer    *:AIX:2:3)
5263eed67faSmbalmer	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5273eed67faSmbalmer		eval $set_cc_for_build
5283eed67faSmbalmer		sed 's/^		//' << EOF >$dummy.c
5293eed67faSmbalmer		#include <sys/systemcfg.h>
5303eed67faSmbalmer
5313eed67faSmbalmer		main()
5323eed67faSmbalmer			{
5333eed67faSmbalmer			if (!__power_pc())
5343eed67faSmbalmer				exit(1);
5353eed67faSmbalmer			puts("powerpc-ibm-aix3.2.5");
5363eed67faSmbalmer			exit(0);
5373eed67faSmbalmer			}
5383eed67faSmbalmerEOF
5393eed67faSmbalmer		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5403eed67faSmbalmer		then
5413eed67faSmbalmer			echo "$SYSTEM_NAME"
5423eed67faSmbalmer		else
5433eed67faSmbalmer			echo rs6000-ibm-aix3.2.5
5443eed67faSmbalmer		fi
5453eed67faSmbalmer	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5463eed67faSmbalmer		echo rs6000-ibm-aix3.2.4
5473eed67faSmbalmer	else
5483eed67faSmbalmer		echo rs6000-ibm-aix3.2
5493eed67faSmbalmer	fi
5503eed67faSmbalmer	exit ;;
551dc407927Smrg    *:AIX:*:[456])
5523eed67faSmbalmer	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
5533eed67faSmbalmer	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5543eed67faSmbalmer		IBM_ARCH=rs6000
5553eed67faSmbalmer	else
5563eed67faSmbalmer		IBM_ARCH=powerpc
5573eed67faSmbalmer	fi
5583eed67faSmbalmer	if [ -x /usr/bin/oslevel ] ; then
5593eed67faSmbalmer		IBM_REV=`/usr/bin/oslevel`
5603eed67faSmbalmer	else
5613eed67faSmbalmer		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5623eed67faSmbalmer	fi
5633eed67faSmbalmer	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5643eed67faSmbalmer	exit ;;
5653eed67faSmbalmer    *:AIX:*:*)
5663eed67faSmbalmer	echo rs6000-ibm-aix
5673eed67faSmbalmer	exit ;;
5683eed67faSmbalmer    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
5693eed67faSmbalmer	echo romp-ibm-bsd4.4
5703eed67faSmbalmer	exit ;;
5713eed67faSmbalmer    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
5723eed67faSmbalmer	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5733eed67faSmbalmer	exit ;;                             # report: romp-ibm BSD 4.3
5743eed67faSmbalmer    *:BOSX:*:*)
5753eed67faSmbalmer	echo rs6000-bull-bosx
5763eed67faSmbalmer	exit ;;
5773eed67faSmbalmer    DPX/2?00:B.O.S.:*:*)
5783eed67faSmbalmer	echo m68k-bull-sysv3
5793eed67faSmbalmer	exit ;;
5803eed67faSmbalmer    9000/[34]??:4.3bsd:1.*:*)
5813eed67faSmbalmer	echo m68k-hp-bsd
5823eed67faSmbalmer	exit ;;
5833eed67faSmbalmer    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
5843eed67faSmbalmer	echo m68k-hp-bsd4.4
5853eed67faSmbalmer	exit ;;
5863eed67faSmbalmer    9000/[34678]??:HP-UX:*:*)
5873eed67faSmbalmer	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
5883eed67faSmbalmer	case "${UNAME_MACHINE}" in
5893eed67faSmbalmer	    9000/31? )            HP_ARCH=m68000 ;;
5903eed67faSmbalmer	    9000/[34]?? )         HP_ARCH=m68k ;;
5913eed67faSmbalmer	    9000/[678][0-9][0-9])
5923eed67faSmbalmer		if [ -x /usr/bin/getconf ]; then
5933eed67faSmbalmer		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
5943eed67faSmbalmer                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
5953eed67faSmbalmer                    case "${sc_cpu_version}" in
5963eed67faSmbalmer                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
5973eed67faSmbalmer                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
5983eed67faSmbalmer                      532)                      # CPU_PA_RISC2_0
5993eed67faSmbalmer                        case "${sc_kernel_bits}" in
6003eed67faSmbalmer                          32) HP_ARCH="hppa2.0n" ;;
6013eed67faSmbalmer                          64) HP_ARCH="hppa2.0w" ;;
6023eed67faSmbalmer			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
6033eed67faSmbalmer                        esac ;;
6043eed67faSmbalmer                    esac
6053eed67faSmbalmer		fi
6063eed67faSmbalmer		if [ "${HP_ARCH}" = "" ]; then
6073eed67faSmbalmer		    eval $set_cc_for_build
6083eed67faSmbalmer		    sed 's/^              //' << EOF >$dummy.c
6093eed67faSmbalmer
6103eed67faSmbalmer              #define _HPUX_SOURCE
6113eed67faSmbalmer              #include <stdlib.h>
6123eed67faSmbalmer              #include <unistd.h>
6133eed67faSmbalmer
6143eed67faSmbalmer              int main ()
6153eed67faSmbalmer              {
6163eed67faSmbalmer              #if defined(_SC_KERNEL_BITS)
6173eed67faSmbalmer                  long bits = sysconf(_SC_KERNEL_BITS);
6183eed67faSmbalmer              #endif
6193eed67faSmbalmer                  long cpu  = sysconf (_SC_CPU_VERSION);
6203eed67faSmbalmer
6213eed67faSmbalmer                  switch (cpu)
6223eed67faSmbalmer              	{
6233eed67faSmbalmer              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6243eed67faSmbalmer              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6253eed67faSmbalmer              	case CPU_PA_RISC2_0:
6263eed67faSmbalmer              #if defined(_SC_KERNEL_BITS)
6273eed67faSmbalmer              	    switch (bits)
6283eed67faSmbalmer              		{
6293eed67faSmbalmer              		case 64: puts ("hppa2.0w"); break;
6303eed67faSmbalmer              		case 32: puts ("hppa2.0n"); break;
6313eed67faSmbalmer              		default: puts ("hppa2.0"); break;
6323eed67faSmbalmer              		} break;
6333eed67faSmbalmer              #else  /* !defined(_SC_KERNEL_BITS) */
6343eed67faSmbalmer              	    puts ("hppa2.0"); break;
6353eed67faSmbalmer              #endif
6363eed67faSmbalmer              	default: puts ("hppa1.0"); break;
6373eed67faSmbalmer              	}
6383eed67faSmbalmer                  exit (0);
6393eed67faSmbalmer              }
6403eed67faSmbalmerEOF
6413eed67faSmbalmer		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6423eed67faSmbalmer		    test -z "$HP_ARCH" && HP_ARCH=hppa
6433eed67faSmbalmer		fi ;;
6443eed67faSmbalmer	esac
6453eed67faSmbalmer	if [ ${HP_ARCH} = "hppa2.0w" ]
6463eed67faSmbalmer	then
6473eed67faSmbalmer	    eval $set_cc_for_build
6483eed67faSmbalmer
6493eed67faSmbalmer	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6503eed67faSmbalmer	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6513eed67faSmbalmer	    # generating 64-bit code.  GNU and HP use different nomenclature:
6523eed67faSmbalmer	    #
6533eed67faSmbalmer	    # $ CC_FOR_BUILD=cc ./config.guess
6543eed67faSmbalmer	    # => hppa2.0w-hp-hpux11.23
6553eed67faSmbalmer	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6563eed67faSmbalmer	    # => hppa64-hp-hpux11.23
6573eed67faSmbalmer
6583eed67faSmbalmer	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6593eed67faSmbalmer		grep __LP64__ >/dev/null
6603eed67faSmbalmer	    then
6613eed67faSmbalmer		HP_ARCH="hppa2.0w"
6623eed67faSmbalmer	    else
6633eed67faSmbalmer		HP_ARCH="hppa64"
6643eed67faSmbalmer	    fi
6653eed67faSmbalmer	fi
6663eed67faSmbalmer	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6673eed67faSmbalmer	exit ;;
6683eed67faSmbalmer    ia64:HP-UX:*:*)
6693eed67faSmbalmer	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6703eed67faSmbalmer	echo ia64-hp-hpux${HPUX_REV}
6713eed67faSmbalmer	exit ;;
6723eed67faSmbalmer    3050*:HI-UX:*:*)
6733eed67faSmbalmer	eval $set_cc_for_build
6743eed67faSmbalmer	sed 's/^	//' << EOF >$dummy.c
6753eed67faSmbalmer	#include <unistd.h>
6763eed67faSmbalmer	int
6773eed67faSmbalmer	main ()
6783eed67faSmbalmer	{
6793eed67faSmbalmer	  long cpu = sysconf (_SC_CPU_VERSION);
6803eed67faSmbalmer	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
6813eed67faSmbalmer	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
6823eed67faSmbalmer	     results, however.  */
6833eed67faSmbalmer	  if (CPU_IS_PA_RISC (cpu))
6843eed67faSmbalmer	    {
6853eed67faSmbalmer	      switch (cpu)
6863eed67faSmbalmer		{
6873eed67faSmbalmer		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
6883eed67faSmbalmer		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
6893eed67faSmbalmer		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
6903eed67faSmbalmer		  default: puts ("hppa-hitachi-hiuxwe2"); break;
6913eed67faSmbalmer		}
6923eed67faSmbalmer	    }
6933eed67faSmbalmer	  else if (CPU_IS_HP_MC68K (cpu))
6943eed67faSmbalmer	    puts ("m68k-hitachi-hiuxwe2");
6953eed67faSmbalmer	  else puts ("unknown-hitachi-hiuxwe2");
6963eed67faSmbalmer	  exit (0);
6973eed67faSmbalmer	}
6983eed67faSmbalmerEOF
6993eed67faSmbalmer	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
7003eed67faSmbalmer		{ echo "$SYSTEM_NAME"; exit; }
7013eed67faSmbalmer	echo unknown-hitachi-hiuxwe2
7023eed67faSmbalmer	exit ;;
7033eed67faSmbalmer    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
7043eed67faSmbalmer	echo hppa1.1-hp-bsd
7053eed67faSmbalmer	exit ;;
7063eed67faSmbalmer    9000/8??:4.3bsd:*:*)
7073eed67faSmbalmer	echo hppa1.0-hp-bsd
7083eed67faSmbalmer	exit ;;
7093eed67faSmbalmer    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
7103eed67faSmbalmer	echo hppa1.0-hp-mpeix
7113eed67faSmbalmer	exit ;;
7123eed67faSmbalmer    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
7133eed67faSmbalmer	echo hppa1.1-hp-osf
7143eed67faSmbalmer	exit ;;
7153eed67faSmbalmer    hp8??:OSF1:*:*)
7163eed67faSmbalmer	echo hppa1.0-hp-osf
7173eed67faSmbalmer	exit ;;
7183eed67faSmbalmer    i*86:OSF1:*:*)
7193eed67faSmbalmer	if [ -x /usr/sbin/sysversion ] ; then
7203eed67faSmbalmer	    echo ${UNAME_MACHINE}-unknown-osf1mk
7213eed67faSmbalmer	else
7223eed67faSmbalmer	    echo ${UNAME_MACHINE}-unknown-osf1
7233eed67faSmbalmer	fi
7243eed67faSmbalmer	exit ;;
7253eed67faSmbalmer    parisc*:Lites*:*:*)
7263eed67faSmbalmer	echo hppa1.1-hp-lites
7273eed67faSmbalmer	exit ;;
7283eed67faSmbalmer    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7293eed67faSmbalmer	echo c1-convex-bsd
7303eed67faSmbalmer        exit ;;
7313eed67faSmbalmer    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7323eed67faSmbalmer	if getsysinfo -f scalar_acc
7333eed67faSmbalmer	then echo c32-convex-bsd
7343eed67faSmbalmer	else echo c2-convex-bsd
7353eed67faSmbalmer	fi
7363eed67faSmbalmer        exit ;;
7373eed67faSmbalmer    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7383eed67faSmbalmer	echo c34-convex-bsd
7393eed67faSmbalmer        exit ;;
7403eed67faSmbalmer    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7413eed67faSmbalmer	echo c38-convex-bsd
7423eed67faSmbalmer        exit ;;
7433eed67faSmbalmer    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7443eed67faSmbalmer	echo c4-convex-bsd
7453eed67faSmbalmer        exit ;;
7463eed67faSmbalmer    CRAY*Y-MP:*:*:*)
7473eed67faSmbalmer	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7483eed67faSmbalmer	exit ;;
7493eed67faSmbalmer    CRAY*[A-Z]90:*:*:*)
7503eed67faSmbalmer	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7513eed67faSmbalmer	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7523eed67faSmbalmer	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7533eed67faSmbalmer	      -e 's/\.[^.]*$/.X/'
7543eed67faSmbalmer	exit ;;
7553eed67faSmbalmer    CRAY*TS:*:*:*)
7563eed67faSmbalmer	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7573eed67faSmbalmer	exit ;;
7583eed67faSmbalmer    CRAY*T3E:*:*:*)
7593eed67faSmbalmer	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7603eed67faSmbalmer	exit ;;
7613eed67faSmbalmer    CRAY*SV1:*:*:*)
7623eed67faSmbalmer	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7633eed67faSmbalmer	exit ;;
7643eed67faSmbalmer    *:UNICOS/mp:*:*)
7653eed67faSmbalmer	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7663eed67faSmbalmer	exit ;;
7673eed67faSmbalmer    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
7683eed67faSmbalmer	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
7693eed67faSmbalmer        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7703eed67faSmbalmer        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7713eed67faSmbalmer        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7723eed67faSmbalmer        exit ;;
7733eed67faSmbalmer    5000:UNIX_System_V:4.*:*)
7743eed67faSmbalmer        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7753eed67faSmbalmer        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7763eed67faSmbalmer        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7773eed67faSmbalmer	exit ;;
7783eed67faSmbalmer    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
7793eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
7803eed67faSmbalmer	exit ;;
7813eed67faSmbalmer    sparc*:BSD/OS:*:*)
7823eed67faSmbalmer	echo sparc-unknown-bsdi${UNAME_RELEASE}
7833eed67faSmbalmer	exit ;;
7843eed67faSmbalmer    *:BSD/OS:*:*)
7853eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
7863eed67faSmbalmer	exit ;;
7873eed67faSmbalmer    *:FreeBSD:*:*)
788dc407927Smrg	case ${UNAME_MACHINE} in
789dc407927Smrg	    pc98)
790dc407927Smrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
791dc407927Smrg	    amd64)
792dc407927Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
793dc407927Smrg	    *)
794dc407927Smrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795dc407927Smrg	esac
7963eed67faSmbalmer	exit ;;
7973eed67faSmbalmer    i*:CYGWIN*:*)
7983eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-cygwin
7993eed67faSmbalmer	exit ;;
800dc407927Smrg    *:MINGW*:*)
8013eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-mingw32
8023eed67faSmbalmer	exit ;;
8033eed67faSmbalmer    i*:windows32*:*)
8043eed67faSmbalmer    	# uname -m includes "-pc" on this system.
8053eed67faSmbalmer    	echo ${UNAME_MACHINE}-mingw32
8063eed67faSmbalmer	exit ;;
8073eed67faSmbalmer    i*:PW*:*)
8083eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-pw32
8093eed67faSmbalmer	exit ;;
810dc407927Smrg    *:Interix*:[3456]*)
811dc407927Smrg    	case ${UNAME_MACHINE} in
812dc407927Smrg	    x86)
813dc407927Smrg		echo i586-pc-interix${UNAME_RELEASE}
814dc407927Smrg		exit ;;
815dc407927Smrg	    EM64T | authenticamd | genuineintel)
816dc407927Smrg		echo x86_64-unknown-interix${UNAME_RELEASE}
817dc407927Smrg		exit ;;
818dc407927Smrg	    IA64)
819dc407927Smrg		echo ia64-unknown-interix${UNAME_RELEASE}
820dc407927Smrg		exit ;;
821dc407927Smrg	esac ;;
8223eed67faSmbalmer    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8233eed67faSmbalmer	echo i${UNAME_MACHINE}-pc-mks
8243eed67faSmbalmer	exit ;;
8253eed67faSmbalmer    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
8263eed67faSmbalmer	# How do we know it's Interix rather than the generic POSIX subsystem?
8273eed67faSmbalmer	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
8283eed67faSmbalmer	# UNAME_MACHINE based on the output of uname instead of i386?
8293eed67faSmbalmer	echo i586-pc-interix
8303eed67faSmbalmer	exit ;;
8313eed67faSmbalmer    i*:UWIN*:*)
8323eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-uwin
8333eed67faSmbalmer	exit ;;
834dc407927Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8353eed67faSmbalmer	echo x86_64-unknown-cygwin
8363eed67faSmbalmer	exit ;;
8373eed67faSmbalmer    p*:CYGWIN*:*)
8383eed67faSmbalmer	echo powerpcle-unknown-cygwin
8393eed67faSmbalmer	exit ;;
8403eed67faSmbalmer    prep*:SunOS:5.*:*)
8413eed67faSmbalmer	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8423eed67faSmbalmer	exit ;;
8433eed67faSmbalmer    *:GNU:*:*)
8443eed67faSmbalmer	# the GNU system
8453eed67faSmbalmer	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8463eed67faSmbalmer	exit ;;
8473eed67faSmbalmer    *:GNU/*:*:*)
8483eed67faSmbalmer	# other systems with GNU libc and userland
8493eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
8503eed67faSmbalmer	exit ;;
8513eed67faSmbalmer    i*86:Minix:*:*)
8523eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-minix
8533eed67faSmbalmer	exit ;;
8543eed67faSmbalmer    arm*:Linux:*:*)
855dc407927Smrg	eval $set_cc_for_build
856dc407927Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
857dc407927Smrg	    | grep -q __ARM_EABI__
858dc407927Smrg	then
859dc407927Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
860dc407927Smrg	else
861dc407927Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
862dc407927Smrg	fi
863dc407927Smrg	exit ;;
864dc407927Smrg    avr32*:Linux:*:*)
8653eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
8663eed67faSmbalmer	exit ;;
8673eed67faSmbalmer    cris:Linux:*:*)
8683eed67faSmbalmer	echo cris-axis-linux-gnu
8693eed67faSmbalmer	exit ;;
8703eed67faSmbalmer    crisv32:Linux:*:*)
8713eed67faSmbalmer	echo crisv32-axis-linux-gnu
8723eed67faSmbalmer	exit ;;
8733eed67faSmbalmer    frv:Linux:*:*)
8743eed67faSmbalmer    	echo frv-unknown-linux-gnu
8753eed67faSmbalmer	exit ;;
8763eed67faSmbalmer    ia64:Linux:*:*)
8773eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
8783eed67faSmbalmer	exit ;;
8793eed67faSmbalmer    m32r*:Linux:*:*)
8803eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
8813eed67faSmbalmer	exit ;;
8823eed67faSmbalmer    m68*:Linux:*:*)
8833eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
8843eed67faSmbalmer	exit ;;
8853eed67faSmbalmer    mips:Linux:*:*)
8863eed67faSmbalmer	eval $set_cc_for_build
8873eed67faSmbalmer	sed 's/^	//' << EOF >$dummy.c
8883eed67faSmbalmer	#undef CPU
8893eed67faSmbalmer	#undef mips
8903eed67faSmbalmer	#undef mipsel
8913eed67faSmbalmer	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
8923eed67faSmbalmer	CPU=mipsel
8933eed67faSmbalmer	#else
8943eed67faSmbalmer	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
8953eed67faSmbalmer	CPU=mips
8963eed67faSmbalmer	#else
8973eed67faSmbalmer	CPU=
8983eed67faSmbalmer	#endif
8993eed67faSmbalmer	#endif
9003eed67faSmbalmerEOF
901dc407927Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
902dc407927Smrg	    /^CPU/{
903dc407927Smrg		s: ::g
904dc407927Smrg		p
905dc407927Smrg	    }'`"
9063eed67faSmbalmer	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
9073eed67faSmbalmer	;;
9083eed67faSmbalmer    mips64:Linux:*:*)
9093eed67faSmbalmer	eval $set_cc_for_build
9103eed67faSmbalmer	sed 's/^	//' << EOF >$dummy.c
9113eed67faSmbalmer	#undef CPU
9123eed67faSmbalmer	#undef mips64
9133eed67faSmbalmer	#undef mips64el
9143eed67faSmbalmer	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
9153eed67faSmbalmer	CPU=mips64el
9163eed67faSmbalmer	#else
9173eed67faSmbalmer	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
9183eed67faSmbalmer	CPU=mips64
9193eed67faSmbalmer	#else
9203eed67faSmbalmer	CPU=
9213eed67faSmbalmer	#endif
9223eed67faSmbalmer	#endif
9233eed67faSmbalmerEOF
924dc407927Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
925dc407927Smrg	    /^CPU/{
926dc407927Smrg		s: ::g
927dc407927Smrg		p
928dc407927Smrg	    }'`"
9293eed67faSmbalmer	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
9303eed67faSmbalmer	;;
931dc407927Smrg    or32:Linux:*:*)
932dc407927Smrg	echo or32-unknown-linux-gnu
933dc407927Smrg	exit ;;
9343eed67faSmbalmer    ppc:Linux:*:*)
9353eed67faSmbalmer	echo powerpc-unknown-linux-gnu
9363eed67faSmbalmer	exit ;;
9373eed67faSmbalmer    ppc64:Linux:*:*)
9383eed67faSmbalmer	echo powerpc64-unknown-linux-gnu
9393eed67faSmbalmer	exit ;;
9403eed67faSmbalmer    alpha:Linux:*:*)
9413eed67faSmbalmer	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
9423eed67faSmbalmer	  EV5)   UNAME_MACHINE=alphaev5 ;;
9433eed67faSmbalmer	  EV56)  UNAME_MACHINE=alphaev56 ;;
9443eed67faSmbalmer	  PCA56) UNAME_MACHINE=alphapca56 ;;
9453eed67faSmbalmer	  PCA57) UNAME_MACHINE=alphapca56 ;;
9463eed67faSmbalmer	  EV6)   UNAME_MACHINE=alphaev6 ;;
9473eed67faSmbalmer	  EV67)  UNAME_MACHINE=alphaev67 ;;
9483eed67faSmbalmer	  EV68*) UNAME_MACHINE=alphaev68 ;;
9493eed67faSmbalmer        esac
9503eed67faSmbalmer	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
9513eed67faSmbalmer	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
9523eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
9533eed67faSmbalmer	exit ;;
954dc407927Smrg    padre:Linux:*:*)
955dc407927Smrg	echo sparc-unknown-linux-gnu
956dc407927Smrg	exit ;;
9573eed67faSmbalmer    parisc:Linux:*:* | hppa:Linux:*:*)
9583eed67faSmbalmer	# Look for CPU level
9593eed67faSmbalmer	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
9603eed67faSmbalmer	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
9613eed67faSmbalmer	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
9623eed67faSmbalmer	  *)    echo hppa-unknown-linux-gnu ;;
9633eed67faSmbalmer	esac
9643eed67faSmbalmer	exit ;;
9653eed67faSmbalmer    parisc64:Linux:*:* | hppa64:Linux:*:*)
9663eed67faSmbalmer	echo hppa64-unknown-linux-gnu
9673eed67faSmbalmer	exit ;;
9683eed67faSmbalmer    s390:Linux:*:* | s390x:Linux:*:*)
9693eed67faSmbalmer	echo ${UNAME_MACHINE}-ibm-linux
9703eed67faSmbalmer	exit ;;
9713eed67faSmbalmer    sh64*:Linux:*:*)
9723eed67faSmbalmer    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9733eed67faSmbalmer	exit ;;
9743eed67faSmbalmer    sh*:Linux:*:*)
9753eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
9763eed67faSmbalmer	exit ;;
9773eed67faSmbalmer    sparc:Linux:*:* | sparc64:Linux:*:*)
9783eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-linux-gnu
9793eed67faSmbalmer	exit ;;
980dc407927Smrg    vax:Linux:*:*)
981dc407927Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
982dc407927Smrg	exit ;;
9833eed67faSmbalmer    x86_64:Linux:*:*)
9843eed67faSmbalmer	echo x86_64-unknown-linux-gnu
9853eed67faSmbalmer	exit ;;
986dc407927Smrg    xtensa*:Linux:*:*)
987dc407927Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
988dc407927Smrg	exit ;;
9893eed67faSmbalmer    i*86:Linux:*:*)
9903eed67faSmbalmer	# The BFD linker knows what the default object file format is, so
9913eed67faSmbalmer	# first see if it will tell us. cd to the root directory to prevent
9923eed67faSmbalmer	# problems with other programs or directories called `ld' in the path.
9933eed67faSmbalmer	# Set LC_ALL=C to ensure ld outputs messages in English.
9943eed67faSmbalmer	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
9953eed67faSmbalmer			 | sed -ne '/supported targets:/!d
9963eed67faSmbalmer				    s/[ 	][ 	]*/ /g
9973eed67faSmbalmer				    s/.*supported targets: *//
9983eed67faSmbalmer				    s/ .*//
9993eed67faSmbalmer				    p'`
10003eed67faSmbalmer        case "$ld_supported_targets" in
10013eed67faSmbalmer	  elf32-i386)
10023eed67faSmbalmer		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
10033eed67faSmbalmer		;;
10043eed67faSmbalmer	  a.out-i386-linux)
10053eed67faSmbalmer		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
10063eed67faSmbalmer		exit ;;
10073eed67faSmbalmer	  "")
10083eed67faSmbalmer		# Either a pre-BFD a.out linker (linux-gnuoldld) or
10093eed67faSmbalmer		# one that does not give us useful --help.
10103eed67faSmbalmer		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
10113eed67faSmbalmer		exit ;;
10123eed67faSmbalmer	esac
10133eed67faSmbalmer	# Determine whether the default compiler is a.out or elf
10143eed67faSmbalmer	eval $set_cc_for_build
10153eed67faSmbalmer	sed 's/^	//' << EOF >$dummy.c
10163eed67faSmbalmer	#include <features.h>
10173eed67faSmbalmer	#ifdef __ELF__
10183eed67faSmbalmer	# ifdef __GLIBC__
10193eed67faSmbalmer	#  if __GLIBC__ >= 2
10203eed67faSmbalmer	LIBC=gnu
10213eed67faSmbalmer	#  else
10223eed67faSmbalmer	LIBC=gnulibc1
10233eed67faSmbalmer	#  endif
10243eed67faSmbalmer	# else
10253eed67faSmbalmer	LIBC=gnulibc1
10263eed67faSmbalmer	# endif
10273eed67faSmbalmer	#else
1028dc407927Smrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
10293eed67faSmbalmer	LIBC=gnu
10303eed67faSmbalmer	#else
10313eed67faSmbalmer	LIBC=gnuaout
10323eed67faSmbalmer	#endif
10333eed67faSmbalmer	#endif
10343eed67faSmbalmer	#ifdef __dietlibc__
10353eed67faSmbalmer	LIBC=dietlibc
10363eed67faSmbalmer	#endif
10373eed67faSmbalmerEOF
1038dc407927Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1039dc407927Smrg	    /^LIBC/{
1040dc407927Smrg		s: ::g
1041dc407927Smrg		p
1042dc407927Smrg	    }'`"
10433eed67faSmbalmer	test x"${LIBC}" != x && {
10443eed67faSmbalmer		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
10453eed67faSmbalmer		exit
10463eed67faSmbalmer	}
10473eed67faSmbalmer	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
10483eed67faSmbalmer	;;
10493eed67faSmbalmer    i*86:DYNIX/ptx:4*:*)
10503eed67faSmbalmer	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10513eed67faSmbalmer	# earlier versions are messed up and put the nodename in both
10523eed67faSmbalmer	# sysname and nodename.
10533eed67faSmbalmer	echo i386-sequent-sysv4
10543eed67faSmbalmer	exit ;;
10553eed67faSmbalmer    i*86:UNIX_SV:4.2MP:2.*)
10563eed67faSmbalmer        # Unixware is an offshoot of SVR4, but it has its own version
10573eed67faSmbalmer        # number series starting with 2...
10583eed67faSmbalmer        # I am not positive that other SVR4 systems won't match this,
10593eed67faSmbalmer	# I just have to hope.  -- rms.
10603eed67faSmbalmer        # Use sysv4.2uw... so that sysv4* matches it.
10613eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10623eed67faSmbalmer	exit ;;
10633eed67faSmbalmer    i*86:OS/2:*:*)
10643eed67faSmbalmer	# If we were able to find `uname', then EMX Unix compatibility
10653eed67faSmbalmer	# is probably installed.
10663eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-os2-emx
10673eed67faSmbalmer	exit ;;
10683eed67faSmbalmer    i*86:XTS-300:*:STOP)
10693eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-stop
10703eed67faSmbalmer	exit ;;
10713eed67faSmbalmer    i*86:atheos:*:*)
10723eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-atheos
10733eed67faSmbalmer	exit ;;
10743eed67faSmbalmer    i*86:syllable:*:*)
10753eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-syllable
10763eed67faSmbalmer	exit ;;
10773eed67faSmbalmer    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
10783eed67faSmbalmer	echo i386-unknown-lynxos${UNAME_RELEASE}
10793eed67faSmbalmer	exit ;;
10803eed67faSmbalmer    i*86:*DOS:*:*)
10813eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10823eed67faSmbalmer	exit ;;
10833eed67faSmbalmer    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
10843eed67faSmbalmer	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
10853eed67faSmbalmer	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
10863eed67faSmbalmer		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
10873eed67faSmbalmer	else
10883eed67faSmbalmer		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
10893eed67faSmbalmer	fi
10903eed67faSmbalmer	exit ;;
10913eed67faSmbalmer    i*86:*:5:[678]*)
10923eed67faSmbalmer    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10933eed67faSmbalmer	case `/bin/uname -X | grep "^Machine"` in
10943eed67faSmbalmer	    *486*)	     UNAME_MACHINE=i486 ;;
10953eed67faSmbalmer	    *Pentium)	     UNAME_MACHINE=i586 ;;
10963eed67faSmbalmer	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10973eed67faSmbalmer	esac
10983eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10993eed67faSmbalmer	exit ;;
11003eed67faSmbalmer    i*86:*:3.2:*)
11013eed67faSmbalmer	if test -f /usr/options/cb.name; then
11023eed67faSmbalmer		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
11033eed67faSmbalmer		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
11043eed67faSmbalmer	elif /bin/uname -X 2>/dev/null >/dev/null ; then
11053eed67faSmbalmer		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
11063eed67faSmbalmer		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
11073eed67faSmbalmer		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
11083eed67faSmbalmer			&& UNAME_MACHINE=i586
11093eed67faSmbalmer		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
11103eed67faSmbalmer			&& UNAME_MACHINE=i686
11113eed67faSmbalmer		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
11123eed67faSmbalmer			&& UNAME_MACHINE=i686
11133eed67faSmbalmer		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
11143eed67faSmbalmer	else
11153eed67faSmbalmer		echo ${UNAME_MACHINE}-pc-sysv32
11163eed67faSmbalmer	fi
11173eed67faSmbalmer	exit ;;
11183eed67faSmbalmer    pc:*:*:*)
11193eed67faSmbalmer	# Left here for compatibility:
11203eed67faSmbalmer        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1121dc407927Smrg        # the processor, so we play safe by assuming i586.
1122dc407927Smrg	# Note: whatever this is, it MUST be the same as what config.sub
1123dc407927Smrg	# prints for the "djgpp" host, or else GDB configury will decide that
1124dc407927Smrg	# this is a cross-build.
1125dc407927Smrg	echo i586-pc-msdosdjgpp
11263eed67faSmbalmer        exit ;;
11273eed67faSmbalmer    Intel:Mach:3*:*)
11283eed67faSmbalmer	echo i386-pc-mach3
11293eed67faSmbalmer	exit ;;
11303eed67faSmbalmer    paragon:*:*:*)
11313eed67faSmbalmer	echo i860-intel-osf1
11323eed67faSmbalmer	exit ;;
11333eed67faSmbalmer    i860:*:4.*:*) # i860-SVR4
11343eed67faSmbalmer	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
11353eed67faSmbalmer	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
11363eed67faSmbalmer	else # Add other i860-SVR4 vendors below as they are discovered.
11373eed67faSmbalmer	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
11383eed67faSmbalmer	fi
11393eed67faSmbalmer	exit ;;
11403eed67faSmbalmer    mini*:CTIX:SYS*5:*)
11413eed67faSmbalmer	# "miniframe"
11423eed67faSmbalmer	echo m68010-convergent-sysv
11433eed67faSmbalmer	exit ;;
11443eed67faSmbalmer    mc68k:UNIX:SYSTEM5:3.51m)
11453eed67faSmbalmer	echo m68k-convergent-sysv
11463eed67faSmbalmer	exit ;;
11473eed67faSmbalmer    M680?0:D-NIX:5.3:*)
11483eed67faSmbalmer	echo m68k-diab-dnix
11493eed67faSmbalmer	exit ;;
11503eed67faSmbalmer    M68*:*:R3V[5678]*:*)
11513eed67faSmbalmer	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11523eed67faSmbalmer    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)
11533eed67faSmbalmer	OS_REL=''
11543eed67faSmbalmer	test -r /etc/.relid \
11553eed67faSmbalmer	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11563eed67faSmbalmer	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11573eed67faSmbalmer	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11583eed67faSmbalmer	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11593eed67faSmbalmer	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11603eed67faSmbalmer    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11613eed67faSmbalmer        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11623eed67faSmbalmer          && { echo i486-ncr-sysv4; exit; } ;;
1163dc407927Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1164dc407927Smrg	OS_REL='.3'
1165dc407927Smrg	test -r /etc/.relid \
1166dc407927Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1167dc407927Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1168dc407927Smrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1169dc407927Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1170dc407927Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1171dc407927Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1172dc407927Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11733eed67faSmbalmer    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11743eed67faSmbalmer	echo m68k-unknown-lynxos${UNAME_RELEASE}
11753eed67faSmbalmer	exit ;;
11763eed67faSmbalmer    mc68030:UNIX_System_V:4.*:*)
11773eed67faSmbalmer	echo m68k-atari-sysv4
11783eed67faSmbalmer	exit ;;
11793eed67faSmbalmer    TSUNAMI:LynxOS:2.*:*)
11803eed67faSmbalmer	echo sparc-unknown-lynxos${UNAME_RELEASE}
11813eed67faSmbalmer	exit ;;
11823eed67faSmbalmer    rs6000:LynxOS:2.*:*)
11833eed67faSmbalmer	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11843eed67faSmbalmer	exit ;;
11853eed67faSmbalmer    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
11863eed67faSmbalmer	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11873eed67faSmbalmer	exit ;;
11883eed67faSmbalmer    SM[BE]S:UNIX_SV:*:*)
11893eed67faSmbalmer	echo mips-dde-sysv${UNAME_RELEASE}
11903eed67faSmbalmer	exit ;;
11913eed67faSmbalmer    RM*:ReliantUNIX-*:*:*)
11923eed67faSmbalmer	echo mips-sni-sysv4
11933eed67faSmbalmer	exit ;;
11943eed67faSmbalmer    RM*:SINIX-*:*:*)
11953eed67faSmbalmer	echo mips-sni-sysv4
11963eed67faSmbalmer	exit ;;
11973eed67faSmbalmer    *:SINIX-*:*:*)
11983eed67faSmbalmer	if uname -p 2>/dev/null >/dev/null ; then
11993eed67faSmbalmer		UNAME_MACHINE=`(uname -p) 2>/dev/null`
12003eed67faSmbalmer		echo ${UNAME_MACHINE}-sni-sysv4
12013eed67faSmbalmer	else
12023eed67faSmbalmer		echo ns32k-sni-sysv
12033eed67faSmbalmer	fi
12043eed67faSmbalmer	exit ;;
12053eed67faSmbalmer    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
12063eed67faSmbalmer                      # says <Richard.M.Bartel@ccMail.Census.GOV>
12073eed67faSmbalmer        echo i586-unisys-sysv4
12083eed67faSmbalmer        exit ;;
12093eed67faSmbalmer    *:UNIX_System_V:4*:FTX*)
12103eed67faSmbalmer	# From Gerald Hewes <hewes@openmarket.com>.
12113eed67faSmbalmer	# How about differentiating between stratus architectures? -djm
12123eed67faSmbalmer	echo hppa1.1-stratus-sysv4
12133eed67faSmbalmer	exit ;;
12143eed67faSmbalmer    *:*:*:FTX*)
12153eed67faSmbalmer	# From seanf@swdc.stratus.com.
12163eed67faSmbalmer	echo i860-stratus-sysv4
12173eed67faSmbalmer	exit ;;
12183eed67faSmbalmer    i*86:VOS:*:*)
12193eed67faSmbalmer	# From Paul.Green@stratus.com.
12203eed67faSmbalmer	echo ${UNAME_MACHINE}-stratus-vos
12213eed67faSmbalmer	exit ;;
12223eed67faSmbalmer    *:VOS:*:*)
12233eed67faSmbalmer	# From Paul.Green@stratus.com.
12243eed67faSmbalmer	echo hppa1.1-stratus-vos
12253eed67faSmbalmer	exit ;;
12263eed67faSmbalmer    mc68*:A/UX:*:*)
12273eed67faSmbalmer	echo m68k-apple-aux${UNAME_RELEASE}
12283eed67faSmbalmer	exit ;;
12293eed67faSmbalmer    news*:NEWS-OS:6*:*)
12303eed67faSmbalmer	echo mips-sony-newsos6
12313eed67faSmbalmer	exit ;;
12323eed67faSmbalmer    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12333eed67faSmbalmer	if [ -d /usr/nec ]; then
12343eed67faSmbalmer	        echo mips-nec-sysv${UNAME_RELEASE}
12353eed67faSmbalmer	else
12363eed67faSmbalmer	        echo mips-unknown-sysv${UNAME_RELEASE}
12373eed67faSmbalmer	fi
12383eed67faSmbalmer        exit ;;
12393eed67faSmbalmer    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
12403eed67faSmbalmer	echo powerpc-be-beos
12413eed67faSmbalmer	exit ;;
12423eed67faSmbalmer    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
12433eed67faSmbalmer	echo powerpc-apple-beos
12443eed67faSmbalmer	exit ;;
12453eed67faSmbalmer    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
12463eed67faSmbalmer	echo i586-pc-beos
12473eed67faSmbalmer	exit ;;
1248dc407927Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1249dc407927Smrg	echo i586-pc-haiku
1250dc407927Smrg	exit ;;
12513eed67faSmbalmer    SX-4:SUPER-UX:*:*)
12523eed67faSmbalmer	echo sx4-nec-superux${UNAME_RELEASE}
12533eed67faSmbalmer	exit ;;
12543eed67faSmbalmer    SX-5:SUPER-UX:*:*)
12553eed67faSmbalmer	echo sx5-nec-superux${UNAME_RELEASE}
12563eed67faSmbalmer	exit ;;
12573eed67faSmbalmer    SX-6:SUPER-UX:*:*)
12583eed67faSmbalmer	echo sx6-nec-superux${UNAME_RELEASE}
12593eed67faSmbalmer	exit ;;
1260dc407927Smrg    SX-7:SUPER-UX:*:*)
1261dc407927Smrg	echo sx7-nec-superux${UNAME_RELEASE}
1262dc407927Smrg	exit ;;
1263dc407927Smrg    SX-8:SUPER-UX:*:*)
1264dc407927Smrg	echo sx8-nec-superux${UNAME_RELEASE}
1265dc407927Smrg	exit ;;
1266dc407927Smrg    SX-8R:SUPER-UX:*:*)
1267dc407927Smrg	echo sx8r-nec-superux${UNAME_RELEASE}
1268dc407927Smrg	exit ;;
12693eed67faSmbalmer    Power*:Rhapsody:*:*)
12703eed67faSmbalmer	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12713eed67faSmbalmer	exit ;;
12723eed67faSmbalmer    *:Rhapsody:*:*)
12733eed67faSmbalmer	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12743eed67faSmbalmer	exit ;;
12753eed67faSmbalmer    *:Darwin:*:*)
12763eed67faSmbalmer	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12773eed67faSmbalmer	case $UNAME_PROCESSOR in
12783eed67faSmbalmer	    unknown) UNAME_PROCESSOR=powerpc ;;
12793eed67faSmbalmer	esac
12803eed67faSmbalmer	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12813eed67faSmbalmer	exit ;;
12823eed67faSmbalmer    *:procnto*:*:* | *:QNX:[0123456789]*:*)
12833eed67faSmbalmer	UNAME_PROCESSOR=`uname -p`
12843eed67faSmbalmer	if test "$UNAME_PROCESSOR" = "x86"; then
12853eed67faSmbalmer		UNAME_PROCESSOR=i386
12863eed67faSmbalmer		UNAME_MACHINE=pc
12873eed67faSmbalmer	fi
12883eed67faSmbalmer	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12893eed67faSmbalmer	exit ;;
12903eed67faSmbalmer    *:QNX:*:4*)
12913eed67faSmbalmer	echo i386-pc-qnx
12923eed67faSmbalmer	exit ;;
12933eed67faSmbalmer    NSE-?:NONSTOP_KERNEL:*:*)
12943eed67faSmbalmer	echo nse-tandem-nsk${UNAME_RELEASE}
12953eed67faSmbalmer	exit ;;
12963eed67faSmbalmer    NSR-?:NONSTOP_KERNEL:*:*)
12973eed67faSmbalmer	echo nsr-tandem-nsk${UNAME_RELEASE}
12983eed67faSmbalmer	exit ;;
12993eed67faSmbalmer    *:NonStop-UX:*:*)
13003eed67faSmbalmer	echo mips-compaq-nonstopux
13013eed67faSmbalmer	exit ;;
13023eed67faSmbalmer    BS2000:POSIX*:*:*)
13033eed67faSmbalmer	echo bs2000-siemens-sysv
13043eed67faSmbalmer	exit ;;
13053eed67faSmbalmer    DS/*:UNIX_System_V:*:*)
13063eed67faSmbalmer	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
13073eed67faSmbalmer	exit ;;
13083eed67faSmbalmer    *:Plan9:*:*)
13093eed67faSmbalmer	# "uname -m" is not consistent, so use $cputype instead. 386
13103eed67faSmbalmer	# is converted to i386 for consistency with other x86
13113eed67faSmbalmer	# operating systems.
13123eed67faSmbalmer	if test "$cputype" = "386"; then
13133eed67faSmbalmer	    UNAME_MACHINE=i386
13143eed67faSmbalmer	else
13153eed67faSmbalmer	    UNAME_MACHINE="$cputype"
13163eed67faSmbalmer	fi
13173eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-plan9
13183eed67faSmbalmer	exit ;;
13193eed67faSmbalmer    *:TOPS-10:*:*)
13203eed67faSmbalmer	echo pdp10-unknown-tops10
13213eed67faSmbalmer	exit ;;
13223eed67faSmbalmer    *:TENEX:*:*)
13233eed67faSmbalmer	echo pdp10-unknown-tenex
13243eed67faSmbalmer	exit ;;
13253eed67faSmbalmer    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
13263eed67faSmbalmer	echo pdp10-dec-tops20
13273eed67faSmbalmer	exit ;;
13283eed67faSmbalmer    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
13293eed67faSmbalmer	echo pdp10-xkl-tops20
13303eed67faSmbalmer	exit ;;
13313eed67faSmbalmer    *:TOPS-20:*:*)
13323eed67faSmbalmer	echo pdp10-unknown-tops20
13333eed67faSmbalmer	exit ;;
13343eed67faSmbalmer    *:ITS:*:*)
13353eed67faSmbalmer	echo pdp10-unknown-its
13363eed67faSmbalmer	exit ;;
13373eed67faSmbalmer    SEI:*:*:SEIUX)
13383eed67faSmbalmer        echo mips-sei-seiux${UNAME_RELEASE}
13393eed67faSmbalmer	exit ;;
13403eed67faSmbalmer    *:DragonFly:*:*)
13413eed67faSmbalmer	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13423eed67faSmbalmer	exit ;;
13433eed67faSmbalmer    *:*VMS:*:*)
13443eed67faSmbalmer    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13453eed67faSmbalmer	case "${UNAME_MACHINE}" in
13463eed67faSmbalmer	    A*) echo alpha-dec-vms ; exit ;;
13473eed67faSmbalmer	    I*) echo ia64-dec-vms ; exit ;;
13483eed67faSmbalmer	    V*) echo vax-dec-vms ; exit ;;
13493eed67faSmbalmer	esac ;;
13503eed67faSmbalmer    *:XENIX:*:SysV)
13513eed67faSmbalmer	echo i386-pc-xenix
13523eed67faSmbalmer	exit ;;
13533eed67faSmbalmer    i*86:skyos:*:*)
13543eed67faSmbalmer	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13553eed67faSmbalmer	exit ;;
1356dc407927Smrg    i*86:rdos:*:*)
1357dc407927Smrg	echo ${UNAME_MACHINE}-pc-rdos
1358dc407927Smrg	exit ;;
1359dc407927Smrg    i*86:AROS:*:*)
1360dc407927Smrg	echo ${UNAME_MACHINE}-pc-aros
1361dc407927Smrg	exit ;;
13623eed67faSmbalmeresac
13633eed67faSmbalmer
13643eed67faSmbalmer#echo '(No uname command or uname output not recognized.)' 1>&2
13653eed67faSmbalmer#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
13663eed67faSmbalmer
13673eed67faSmbalmereval $set_cc_for_build
13683eed67faSmbalmercat >$dummy.c <<EOF
13693eed67faSmbalmer#ifdef _SEQUENT_
13703eed67faSmbalmer# include <sys/types.h>
13713eed67faSmbalmer# include <sys/utsname.h>
13723eed67faSmbalmer#endif
13733eed67faSmbalmermain ()
13743eed67faSmbalmer{
13753eed67faSmbalmer#if defined (sony)
13763eed67faSmbalmer#if defined (MIPSEB)
13773eed67faSmbalmer  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
13783eed67faSmbalmer     I don't know....  */
13793eed67faSmbalmer  printf ("mips-sony-bsd\n"); exit (0);
13803eed67faSmbalmer#else
13813eed67faSmbalmer#include <sys/param.h>
13823eed67faSmbalmer  printf ("m68k-sony-newsos%s\n",
13833eed67faSmbalmer#ifdef NEWSOS4
13843eed67faSmbalmer          "4"
13853eed67faSmbalmer#else
13863eed67faSmbalmer	  ""
13873eed67faSmbalmer#endif
13883eed67faSmbalmer         ); exit (0);
13893eed67faSmbalmer#endif
13903eed67faSmbalmer#endif
13913eed67faSmbalmer
13923eed67faSmbalmer#if defined (__arm) && defined (__acorn) && defined (__unix)
13933eed67faSmbalmer  printf ("arm-acorn-riscix\n"); exit (0);
13943eed67faSmbalmer#endif
13953eed67faSmbalmer
13963eed67faSmbalmer#if defined (hp300) && !defined (hpux)
13973eed67faSmbalmer  printf ("m68k-hp-bsd\n"); exit (0);
13983eed67faSmbalmer#endif
13993eed67faSmbalmer
14003eed67faSmbalmer#if defined (NeXT)
14013eed67faSmbalmer#if !defined (__ARCHITECTURE__)
14023eed67faSmbalmer#define __ARCHITECTURE__ "m68k"
14033eed67faSmbalmer#endif
14043eed67faSmbalmer  int version;
14053eed67faSmbalmer  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
14063eed67faSmbalmer  if (version < 4)
14073eed67faSmbalmer    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
14083eed67faSmbalmer  else
14093eed67faSmbalmer    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
14103eed67faSmbalmer  exit (0);
14113eed67faSmbalmer#endif
14123eed67faSmbalmer
14133eed67faSmbalmer#if defined (MULTIMAX) || defined (n16)
14143eed67faSmbalmer#if defined (UMAXV)
14153eed67faSmbalmer  printf ("ns32k-encore-sysv\n"); exit (0);
14163eed67faSmbalmer#else
14173eed67faSmbalmer#if defined (CMU)
14183eed67faSmbalmer  printf ("ns32k-encore-mach\n"); exit (0);
14193eed67faSmbalmer#else
14203eed67faSmbalmer  printf ("ns32k-encore-bsd\n"); exit (0);
14213eed67faSmbalmer#endif
14223eed67faSmbalmer#endif
14233eed67faSmbalmer#endif
14243eed67faSmbalmer
14253eed67faSmbalmer#if defined (__386BSD__)
14263eed67faSmbalmer  printf ("i386-pc-bsd\n"); exit (0);
14273eed67faSmbalmer#endif
14283eed67faSmbalmer
14293eed67faSmbalmer#if defined (sequent)
14303eed67faSmbalmer#if defined (i386)
14313eed67faSmbalmer  printf ("i386-sequent-dynix\n"); exit (0);
14323eed67faSmbalmer#endif
14333eed67faSmbalmer#if defined (ns32000)
14343eed67faSmbalmer  printf ("ns32k-sequent-dynix\n"); exit (0);
14353eed67faSmbalmer#endif
14363eed67faSmbalmer#endif
14373eed67faSmbalmer
14383eed67faSmbalmer#if defined (_SEQUENT_)
14393eed67faSmbalmer    struct utsname un;
14403eed67faSmbalmer
14413eed67faSmbalmer    uname(&un);
14423eed67faSmbalmer
14433eed67faSmbalmer    if (strncmp(un.version, "V2", 2) == 0) {
14443eed67faSmbalmer	printf ("i386-sequent-ptx2\n"); exit (0);
14453eed67faSmbalmer    }
14463eed67faSmbalmer    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
14473eed67faSmbalmer	printf ("i386-sequent-ptx1\n"); exit (0);
14483eed67faSmbalmer    }
14493eed67faSmbalmer    printf ("i386-sequent-ptx\n"); exit (0);
14503eed67faSmbalmer
14513eed67faSmbalmer#endif
14523eed67faSmbalmer
14533eed67faSmbalmer#if defined (vax)
14543eed67faSmbalmer# if !defined (ultrix)
14553eed67faSmbalmer#  include <sys/param.h>
14563eed67faSmbalmer#  if defined (BSD)
14573eed67faSmbalmer#   if BSD == 43
14583eed67faSmbalmer      printf ("vax-dec-bsd4.3\n"); exit (0);
14593eed67faSmbalmer#   else
14603eed67faSmbalmer#    if BSD == 199006
14613eed67faSmbalmer      printf ("vax-dec-bsd4.3reno\n"); exit (0);
14623eed67faSmbalmer#    else
14633eed67faSmbalmer      printf ("vax-dec-bsd\n"); exit (0);
14643eed67faSmbalmer#    endif
14653eed67faSmbalmer#   endif
14663eed67faSmbalmer#  else
14673eed67faSmbalmer    printf ("vax-dec-bsd\n"); exit (0);
14683eed67faSmbalmer#  endif
14693eed67faSmbalmer# else
14703eed67faSmbalmer    printf ("vax-dec-ultrix\n"); exit (0);
14713eed67faSmbalmer# endif
14723eed67faSmbalmer#endif
14733eed67faSmbalmer
14743eed67faSmbalmer#if defined (alliant) && defined (i860)
14753eed67faSmbalmer  printf ("i860-alliant-bsd\n"); exit (0);
14763eed67faSmbalmer#endif
14773eed67faSmbalmer
14783eed67faSmbalmer  exit (1);
14793eed67faSmbalmer}
14803eed67faSmbalmerEOF
14813eed67faSmbalmer
14823eed67faSmbalmer$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14833eed67faSmbalmer	{ echo "$SYSTEM_NAME"; exit; }
14843eed67faSmbalmer
14853eed67faSmbalmer# Apollos put the system type in the environment.
14863eed67faSmbalmer
14873eed67faSmbalmertest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
14883eed67faSmbalmer
14893eed67faSmbalmer# Convex versions that predate uname can use getsysinfo(1)
14903eed67faSmbalmer
14913eed67faSmbalmerif [ -x /usr/convex/getsysinfo ]
14923eed67faSmbalmerthen
14933eed67faSmbalmer    case `getsysinfo -f cpu_type` in
14943eed67faSmbalmer    c1*)
14953eed67faSmbalmer	echo c1-convex-bsd
14963eed67faSmbalmer	exit ;;
14973eed67faSmbalmer    c2*)
14983eed67faSmbalmer	if getsysinfo -f scalar_acc
14993eed67faSmbalmer	then echo c32-convex-bsd
15003eed67faSmbalmer	else echo c2-convex-bsd
15013eed67faSmbalmer	fi
15023eed67faSmbalmer	exit ;;
15033eed67faSmbalmer    c34*)
15043eed67faSmbalmer	echo c34-convex-bsd
15053eed67faSmbalmer	exit ;;
15063eed67faSmbalmer    c38*)
15073eed67faSmbalmer	echo c38-convex-bsd
15083eed67faSmbalmer	exit ;;
15093eed67faSmbalmer    c4*)
15103eed67faSmbalmer	echo c4-convex-bsd
15113eed67faSmbalmer	exit ;;
15123eed67faSmbalmer    esac
15133eed67faSmbalmerfi
15143eed67faSmbalmer
15153eed67faSmbalmercat >&2 <<EOF
15163eed67faSmbalmer$0: unable to guess system type
15173eed67faSmbalmer
15183eed67faSmbalmerThis script, last modified $timestamp, has failed to recognize
15193eed67faSmbalmerthe operating system you are using. It is advised that you
15203eed67faSmbalmerdownload the most up to date version of the config scripts from
15213eed67faSmbalmer
1522dc407927Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
15233eed67faSmbalmerand
1524dc407927Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
15253eed67faSmbalmer
15263eed67faSmbalmerIf the version you run ($0) is already up to date, please
15273eed67faSmbalmersend the following data and any information you think might be
15283eed67faSmbalmerpertinent to <config-patches@gnu.org> in order to provide the needed
15293eed67faSmbalmerinformation to handle your system.
15303eed67faSmbalmer
15313eed67faSmbalmerconfig.guess timestamp = $timestamp
15323eed67faSmbalmer
15333eed67faSmbalmeruname -m = `(uname -m) 2>/dev/null || echo unknown`
15343eed67faSmbalmeruname -r = `(uname -r) 2>/dev/null || echo unknown`
15353eed67faSmbalmeruname -s = `(uname -s) 2>/dev/null || echo unknown`
15363eed67faSmbalmeruname -v = `(uname -v) 2>/dev/null || echo unknown`
15373eed67faSmbalmer
15383eed67faSmbalmer/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
15393eed67faSmbalmer/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
15403eed67faSmbalmer
15413eed67faSmbalmerhostinfo               = `(hostinfo) 2>/dev/null`
15423eed67faSmbalmer/bin/universe          = `(/bin/universe) 2>/dev/null`
15433eed67faSmbalmer/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
15443eed67faSmbalmer/bin/arch              = `(/bin/arch) 2>/dev/null`
15453eed67faSmbalmer/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
15463eed67faSmbalmer/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
15473eed67faSmbalmer
15483eed67faSmbalmerUNAME_MACHINE = ${UNAME_MACHINE}
15493eed67faSmbalmerUNAME_RELEASE = ${UNAME_RELEASE}
15503eed67faSmbalmerUNAME_SYSTEM  = ${UNAME_SYSTEM}
15513eed67faSmbalmerUNAME_VERSION = ${UNAME_VERSION}
15523eed67faSmbalmerEOF
15533eed67faSmbalmer
15543eed67faSmbalmerexit 1
15553eed67faSmbalmer
15563eed67faSmbalmer# Local variables:
15573eed67faSmbalmer# eval: (add-hook 'write-file-hooks 'time-stamp)
15583eed67faSmbalmer# time-stamp-start: "timestamp='"
15593eed67faSmbalmer# time-stamp-format: "%:y-%02m-%02d"
15603eed67faSmbalmer# time-stamp-end: "'"
15613eed67faSmbalmer# End:
1562