xref: /freebsd/crypto/heimdal/config.guess (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1b528cefcSMark Murray#! /bin/sh
2b528cefcSMark Murray# Attempt to guess a canonical system name.
38373020dSJacques Vidrine#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4*ae771770SStanislav Sedov#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5*ae771770SStanislav Sedov#   Free Software Foundation, Inc.
65e9cd1aeSAssar Westerlund
7*ae771770SStanislav Sedovtimestamp='2009-11-20'
85e9cd1aeSAssar Westerlund
9b528cefcSMark Murray# This file is free software; you can redistribute it and/or modify it
10b528cefcSMark Murray# under the terms of the GNU General Public License as published by
11b528cefcSMark Murray# the Free Software Foundation; either version 2 of the License, or
12b528cefcSMark Murray# (at your option) any later version.
13b528cefcSMark Murray#
14b528cefcSMark Murray# This program is distributed in the hope that it will be useful, but
15b528cefcSMark Murray# WITHOUT ANY WARRANTY; without even the implied warranty of
16b528cefcSMark Murray# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17b528cefcSMark Murray# General Public License for more details.
18b528cefcSMark Murray#
19b528cefcSMark Murray# You should have received a copy of the GNU General Public License
20b528cefcSMark Murray# along with this program; if not, write to the Free Software
21c19800e8SDoug Rabson# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22c19800e8SDoug Rabson# 02110-1301, USA.
23b528cefcSMark Murray#
24b528cefcSMark Murray# As a special exception to the GNU General Public License, if you
25b528cefcSMark Murray# distribute this file as part of a program that contains a
26b528cefcSMark Murray# configuration script generated by Autoconf, you may include it under
27b528cefcSMark Murray# the same distribution terms that you use for the rest of that program.
28b528cefcSMark Murray
29c19800e8SDoug Rabson
30*ae771770SStanislav Sedov# Originally written by Per Bothner.  Please send patches (context
31*ae771770SStanislav Sedov# diff format) to <config-patches@gnu.org> and include a ChangeLog
32*ae771770SStanislav Sedov# entry.
33b528cefcSMark Murray#
34b528cefcSMark Murray# This script attempts to guess a canonical system name similar to
35b528cefcSMark Murray# config.sub.  If it succeeds, it prints the system name on stdout, and
36b528cefcSMark Murray# exits with 0.  Otherwise, it exits with 1.
37b528cefcSMark Murray#
38*ae771770SStanislav Sedov# You can get the latest version of this script from:
39*ae771770SStanislav Sedov# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40b528cefcSMark Murray
415e9cd1aeSAssar Westerlundme=`echo "$0" | sed -e 's,.*/,,'`
425e9cd1aeSAssar Westerlund
435e9cd1aeSAssar Westerlundusage="\
445e9cd1aeSAssar WesterlundUsage: $0 [OPTION]
455e9cd1aeSAssar Westerlund
464137ff4cSJacques VidrineOutput the configuration name of the system \`$me' is run on.
475e9cd1aeSAssar Westerlund
485e9cd1aeSAssar WesterlundOperation modes:
495e9cd1aeSAssar Westerlund  -h, --help         print this help, then exit
504137ff4cSJacques Vidrine  -t, --time-stamp   print date of last modification, then exit
514137ff4cSJacques Vidrine  -v, --version      print version number, then exit
524137ff4cSJacques Vidrine
534137ff4cSJacques VidrineReport bugs and patches to <config-patches@gnu.org>."
544137ff4cSJacques Vidrine
554137ff4cSJacques Vidrineversion="\
564137ff4cSJacques VidrineGNU config.guess ($timestamp)
574137ff4cSJacques Vidrine
584137ff4cSJacques VidrineOriginally written by Per Bothner.
59*ae771770SStanislav SedovCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60*ae771770SStanislav Sedov2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
614137ff4cSJacques Vidrine
624137ff4cSJacques VidrineThis is free software; see the source for copying conditions.  There is NO
634137ff4cSJacques Vidrinewarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
645e9cd1aeSAssar Westerlund
655e9cd1aeSAssar Westerlundhelp="
665e9cd1aeSAssar WesterlundTry \`$me --help' for more information."
675e9cd1aeSAssar Westerlund
685e9cd1aeSAssar Westerlund# Parse command line
695e9cd1aeSAssar Westerlundwhile test $# -gt 0 ; do
704137ff4cSJacques Vidrine  case $1 in
714137ff4cSJacques Vidrine    --time-stamp | --time* | -t )
72c19800e8SDoug Rabson       echo "$timestamp" ; exit ;;
734137ff4cSJacques Vidrine    --version | -v )
74c19800e8SDoug Rabson       echo "$version" ; exit ;;
755e9cd1aeSAssar Westerlund    --help | --h* | -h )
76c19800e8SDoug Rabson       echo "$usage"; exit ;;
775e9cd1aeSAssar Westerlund    -- )     # Stop option processing
785e9cd1aeSAssar Westerlund       shift; break ;;
795e9cd1aeSAssar Westerlund    - )	# Use stdin as input.
805e9cd1aeSAssar Westerlund       break ;;
815e9cd1aeSAssar Westerlund    -* )
824137ff4cSJacques Vidrine       echo "$me: invalid option $1$help" >&2
835e9cd1aeSAssar Westerlund       exit 1 ;;
845e9cd1aeSAssar Westerlund    * )
855e9cd1aeSAssar Westerlund       break ;;
865e9cd1aeSAssar Westerlund  esac
875e9cd1aeSAssar Westerlunddone
885e9cd1aeSAssar Westerlund
895e9cd1aeSAssar Westerlundif test $# != 0; then
905e9cd1aeSAssar Westerlund  echo "$me: too many arguments$help" >&2
915e9cd1aeSAssar Westerlund  exit 1
925e9cd1aeSAssar Westerlundfi
935e9cd1aeSAssar Westerlund
941c43270aSJacques Vidrinetrap 'exit 1' 1 2 15
955e9cd1aeSAssar Westerlund
961c43270aSJacques Vidrine# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
971c43270aSJacques Vidrine# compiler to aid in system detection is discouraged as it requires
981c43270aSJacques Vidrine# temporary files to be created and, as you can see below, it is a
991c43270aSJacques Vidrine# headache to deal with in a portable fashion.
1004137ff4cSJacques Vidrine
1014137ff4cSJacques Vidrine# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1024137ff4cSJacques Vidrine# use `HOST_CC' if defined, but it is deprecated.
1034137ff4cSJacques Vidrine
1041c43270aSJacques Vidrine# Portable tmp directory creation inspired by the Autoconf team.
1051c43270aSJacques Vidrine
1061c43270aSJacques Vidrineset_cc_for_build='
1071c43270aSJacques Vidrinetrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1081c43270aSJacques Vidrinetrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1091c43270aSJacques Vidrine: ${TMPDIR=/tmp} ;
110c19800e8SDoug Rabson { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1111c43270aSJacques Vidrine { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1121c43270aSJacques Vidrine { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1131c43270aSJacques Vidrine { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1141c43270aSJacques Vidrinedummy=$tmp/dummy ;
1151c43270aSJacques Vidrinetmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1161c43270aSJacques Vidrinecase $CC_FOR_BUILD,$HOST_CC,$CC in
1171c43270aSJacques Vidrine ,,)    echo "int x;" > $dummy.c ;
1188373020dSJacques Vidrine	for c in cc gcc c89 c99 ; do
1191c43270aSJacques Vidrine	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1204137ff4cSJacques Vidrine	     CC_FOR_BUILD="$c"; break ;
1214137ff4cSJacques Vidrine	  fi ;
1224137ff4cSJacques Vidrine	done ;
1234137ff4cSJacques Vidrine	if test x"$CC_FOR_BUILD" = x ; then
1244137ff4cSJacques Vidrine	  CC_FOR_BUILD=no_compiler_found ;
1254137ff4cSJacques Vidrine	fi
1264137ff4cSJacques Vidrine	;;
1274137ff4cSJacques Vidrine ,,*)   CC_FOR_BUILD=$CC ;;
1284137ff4cSJacques Vidrine ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129c19800e8SDoug Rabsonesac ; set_cc_for_build= ;'
1305e9cd1aeSAssar Westerlund
131b528cefcSMark Murray# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1324137ff4cSJacques Vidrine# (ghazi@noc.rutgers.edu 1994-08-24)
133b528cefcSMark Murrayif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134b528cefcSMark Murray	PATH=$PATH:/.attbin ; export PATH
135b528cefcSMark Murrayfi
136b528cefcSMark Murray
137b528cefcSMark MurrayUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138b528cefcSMark MurrayUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139b528cefcSMark MurrayUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140b528cefcSMark MurrayUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141b528cefcSMark Murray
142b528cefcSMark Murray# Note: order is significant - the case branches are not exclusive.
143b528cefcSMark Murray
144b528cefcSMark Murraycase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
1455e9cd1aeSAssar Westerlund    *:NetBSD:*:*)
1468373020dSJacques Vidrine	# NetBSD (nbsd) targets should (where applicable) match one or
1475e9cd1aeSAssar Westerlund	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
1485e9cd1aeSAssar Westerlund	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1495e9cd1aeSAssar Westerlund	# switched to ELF, *-*-netbsd* would select the old
1505e9cd1aeSAssar Westerlund	# object file format.  This provides both forward
1515e9cd1aeSAssar Westerlund	# compatibility and a consistent mechanism for selecting the
1525e9cd1aeSAssar Westerlund	# object file format.
1538373020dSJacques Vidrine	#
1548373020dSJacques Vidrine	# Note: NetBSD doesn't particularly care about the vendor
1558373020dSJacques Vidrine	# portion of the name.  We always set it to "unknown".
1568373020dSJacques Vidrine	sysctl="sysctl -n hw.machine_arch"
1578373020dSJacques Vidrine	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1588373020dSJacques Vidrine	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1598373020dSJacques Vidrine	case "${UNAME_MACHINE_ARCH}" in
1601c43270aSJacques Vidrine	    armeb) machine=armeb-unknown ;;
1618373020dSJacques Vidrine	    arm*) machine=arm-unknown ;;
1628373020dSJacques Vidrine	    sh3el) machine=shl-unknown ;;
1638373020dSJacques Vidrine	    sh3eb) machine=sh-unknown ;;
164*ae771770SStanislav Sedov	    sh5el) machine=sh5le-unknown ;;
1658373020dSJacques Vidrine	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
1665e9cd1aeSAssar Westerlund	esac
1674137ff4cSJacques Vidrine	# The Operating System including object format, if it has switched
1684137ff4cSJacques Vidrine	# to ELF recently, or will in the future.
1698373020dSJacques Vidrine	case "${UNAME_MACHINE_ARCH}" in
1708373020dSJacques Vidrine	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1714137ff4cSJacques Vidrine		eval $set_cc_for_build
1725e9cd1aeSAssar Westerlund		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173*ae771770SStanislav Sedov			| grep -q __ELF__
1745e9cd1aeSAssar Westerlund		then
1755e9cd1aeSAssar Westerlund		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
1765e9cd1aeSAssar Westerlund		    # Return netbsd for either.  FIX?
1775e9cd1aeSAssar Westerlund		    os=netbsd
1785e9cd1aeSAssar Westerlund		else
1795e9cd1aeSAssar Westerlund		    os=netbsdelf
1805e9cd1aeSAssar Westerlund		fi
1814137ff4cSJacques Vidrine		;;
1824137ff4cSJacques Vidrine	    *)
1834137ff4cSJacques Vidrine	        os=netbsd
1844137ff4cSJacques Vidrine		;;
1854137ff4cSJacques Vidrine	esac
1865e9cd1aeSAssar Westerlund	# The OS release
1871c43270aSJacques Vidrine	# Debian GNU/NetBSD machines have a different userland, and
1881c43270aSJacques Vidrine	# thus, need a distinct triplet. However, they do not need
1891c43270aSJacques Vidrine	# kernel version information, so it can be replaced with a
1901c43270aSJacques Vidrine	# suitable tag, in the style of linux-gnu.
1911c43270aSJacques Vidrine	case "${UNAME_VERSION}" in
1921c43270aSJacques Vidrine	    Debian*)
1931c43270aSJacques Vidrine		release='-gnu'
1941c43270aSJacques Vidrine		;;
1951c43270aSJacques Vidrine	    *)
1965e9cd1aeSAssar Westerlund		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1971c43270aSJacques Vidrine		;;
1981c43270aSJacques Vidrine	esac
1995e9cd1aeSAssar Westerlund	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2005e9cd1aeSAssar Westerlund	# contains redundant information, the shorter form:
2015e9cd1aeSAssar Westerlund	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2025e9cd1aeSAssar Westerlund	echo "${machine}-${os}${release}"
203c19800e8SDoug Rabson	exit ;;
2048373020dSJacques Vidrine    *:OpenBSD:*:*)
205c19800e8SDoug Rabson	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206c19800e8SDoug Rabson	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207c19800e8SDoug Rabson	exit ;;
2088d4ba808SJacques Vidrine    *:ekkoBSD:*:*)
2098d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210c19800e8SDoug Rabson	exit ;;
211c19800e8SDoug Rabson    *:SolidBSD:*:*)
212c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213c19800e8SDoug Rabson	exit ;;
2148d4ba808SJacques Vidrine    macppc:MirBSD:*:*)
215c19800e8SDoug Rabson	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216c19800e8SDoug Rabson	exit ;;
2178d4ba808SJacques Vidrine    *:MirBSD:*:*)
2188d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219c19800e8SDoug Rabson	exit ;;
220b528cefcSMark Murray    alpha:OSF1:*:*)
2218d4ba808SJacques Vidrine	case $UNAME_RELEASE in
2228d4ba808SJacques Vidrine	*4.0)
223b528cefcSMark Murray		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2248d4ba808SJacques Vidrine		;;
2258d4ba808SJacques Vidrine	*5.*)
2268d4ba808SJacques Vidrine	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2278d4ba808SJacques Vidrine		;;
2288d4ba808SJacques Vidrine	esac
2291c43270aSJacques Vidrine	# According to Compaq, /usr/sbin/psrinfo has been available on
2301c43270aSJacques Vidrine	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2311c43270aSJacques Vidrine	# covers most systems running today.  This code pipes the CPU
2321c43270aSJacques Vidrine	# types through head -n 1, so we only detect the type of CPU 0.
2331c43270aSJacques Vidrine	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2341c43270aSJacques Vidrine	case "$ALPHA_CPU_TYPE" in
2351c43270aSJacques Vidrine	    "EV4 (21064)")
2361c43270aSJacques Vidrine		UNAME_MACHINE="alpha" ;;
2371c43270aSJacques Vidrine	    "EV4.5 (21064)")
2381c43270aSJacques Vidrine		UNAME_MACHINE="alpha" ;;
2391c43270aSJacques Vidrine	    "LCA4 (21066/21068)")
2401c43270aSJacques Vidrine		UNAME_MACHINE="alpha" ;;
2411c43270aSJacques Vidrine	    "EV5 (21164)")
2421c43270aSJacques Vidrine		UNAME_MACHINE="alphaev5" ;;
2431c43270aSJacques Vidrine	    "EV5.6 (21164A)")
2441c43270aSJacques Vidrine		UNAME_MACHINE="alphaev56" ;;
2451c43270aSJacques Vidrine	    "EV5.6 (21164PC)")
2461c43270aSJacques Vidrine		UNAME_MACHINE="alphapca56" ;;
2471c43270aSJacques Vidrine	    "EV5.7 (21164PC)")
2481c43270aSJacques Vidrine		UNAME_MACHINE="alphapca57" ;;
2491c43270aSJacques Vidrine	    "EV6 (21264)")
2501c43270aSJacques Vidrine		UNAME_MACHINE="alphaev6" ;;
2511c43270aSJacques Vidrine	    "EV6.7 (21264A)")
2521c43270aSJacques Vidrine		UNAME_MACHINE="alphaev67" ;;
2531c43270aSJacques Vidrine	    "EV6.8CB (21264C)")
2541c43270aSJacques Vidrine		UNAME_MACHINE="alphaev68" ;;
2551c43270aSJacques Vidrine	    "EV6.8AL (21264B)")
2561c43270aSJacques Vidrine		UNAME_MACHINE="alphaev68" ;;
2571c43270aSJacques Vidrine	    "EV6.8CX (21264D)")
2581c43270aSJacques Vidrine		UNAME_MACHINE="alphaev68" ;;
2591c43270aSJacques Vidrine	    "EV6.9A (21264/EV69A)")
2601c43270aSJacques Vidrine		UNAME_MACHINE="alphaev69" ;;
2611c43270aSJacques Vidrine	    "EV7 (21364)")
2621c43270aSJacques Vidrine		UNAME_MACHINE="alphaev7" ;;
2631c43270aSJacques Vidrine	    "EV7.9 (21364A)")
2641c43270aSJacques Vidrine		UNAME_MACHINE="alphaev79" ;;
2651c43270aSJacques Vidrine	esac
2668d4ba808SJacques Vidrine	# A Pn.n version is a patched version.
267b528cefcSMark Murray	# A Vn.n version is a released version.
268b528cefcSMark Murray	# A Tn.n version is a released field test version.
269b528cefcSMark Murray	# A Xn.n version is an unreleased experimental baselevel.
270b528cefcSMark Murray	# 1.2 uses "1.2" for uname -r.
2718d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272c19800e8SDoug Rabson	exit ;;
2735e9cd1aeSAssar Westerlund    Alpha\ *:Windows_NT*:*)
2745e9cd1aeSAssar Westerlund	# How do we know it's Interix rather than the generic POSIX subsystem?
2755e9cd1aeSAssar Westerlund	# Should we change UNAME_MACHINE based on the output of uname instead
2765e9cd1aeSAssar Westerlund	# of the specific Alpha model?
2775e9cd1aeSAssar Westerlund	echo alpha-pc-interix
278c19800e8SDoug Rabson	exit ;;
279b528cefcSMark Murray    21064:Windows_NT:50:3)
280b528cefcSMark Murray	echo alpha-dec-winnt3.5
281c19800e8SDoug Rabson	exit ;;
282b528cefcSMark Murray    Amiga*:UNIX_System_V:4.0:*)
2835e9cd1aeSAssar Westerlund	echo m68k-unknown-sysv4
284c19800e8SDoug Rabson	exit ;;
285b528cefcSMark Murray    *:[Aa]miga[Oo][Ss]:*:*)
286b528cefcSMark Murray	echo ${UNAME_MACHINE}-unknown-amigaos
287c19800e8SDoug Rabson	exit ;;
2888373020dSJacques Vidrine    *:[Mm]orph[Oo][Ss]:*:*)
2898373020dSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-morphos
290c19800e8SDoug Rabson	exit ;;
2915e9cd1aeSAssar Westerlund    *:OS/390:*:*)
2925e9cd1aeSAssar Westerlund	echo i370-ibm-openedition
293c19800e8SDoug Rabson	exit ;;
294c19800e8SDoug Rabson    *:z/VM:*:*)
295c19800e8SDoug Rabson	echo s390-ibm-zvmoe
296c19800e8SDoug Rabson	exit ;;
2978d4ba808SJacques Vidrine    *:OS400:*:*)
2988d4ba808SJacques Vidrine        echo powerpc-ibm-os400
299c19800e8SDoug Rabson	exit ;;
300b528cefcSMark Murray    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301b528cefcSMark Murray	echo arm-acorn-riscix${UNAME_RELEASE}
302c19800e8SDoug Rabson	exit ;;
303c19800e8SDoug Rabson    arm:riscos:*:*|arm:RISCOS:*:*)
304c19800e8SDoug Rabson	echo arm-unknown-riscos
305c19800e8SDoug Rabson	exit ;;
3064137ff4cSJacques Vidrine    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
307b528cefcSMark Murray	echo hppa1.1-hitachi-hiuxmpp
308c19800e8SDoug Rabson	exit ;;
309b528cefcSMark Murray    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
310b528cefcSMark Murray	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311b528cefcSMark Murray	if test "`(/bin/universe) 2>/dev/null`" = att ; then
312b528cefcSMark Murray		echo pyramid-pyramid-sysv3
313b528cefcSMark Murray	else
314b528cefcSMark Murray		echo pyramid-pyramid-bsd
315b528cefcSMark Murray	fi
316c19800e8SDoug Rabson	exit ;;
3175e9cd1aeSAssar Westerlund    NILE*:*:*:dcosx)
318b528cefcSMark Murray	echo pyramid-pyramid-svr4
319c19800e8SDoug Rabson	exit ;;
3201c43270aSJacques Vidrine    DRS?6000:unix:4.0:6*)
3211c43270aSJacques Vidrine	echo sparc-icl-nx6
322c19800e8SDoug Rabson	exit ;;
323c19800e8SDoug Rabson    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3241c43270aSJacques Vidrine	case `/usr/bin/uname -p` in
325c19800e8SDoug Rabson	    sparc) echo sparc-icl-nx7; exit ;;
3261c43270aSJacques Vidrine	esac ;;
327*ae771770SStanislav Sedov    s390x:SunOS:*:*)
328*ae771770SStanislav Sedov	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329*ae771770SStanislav Sedov	exit ;;
330b528cefcSMark Murray    sun4H:SunOS:5.*:*)
331b528cefcSMark Murray	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332c19800e8SDoug Rabson	exit ;;
333b528cefcSMark Murray    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
334b528cefcSMark Murray	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335c19800e8SDoug Rabson	exit ;;
336*ae771770SStanislav Sedov    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
337*ae771770SStanislav Sedov	echo i386-pc-auroraux${UNAME_RELEASE}
338*ae771770SStanislav Sedov	exit ;;
339*ae771770SStanislav Sedov    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
340*ae771770SStanislav Sedov	eval $set_cc_for_build
341*ae771770SStanislav Sedov	SUN_ARCH="i386"
342*ae771770SStanislav Sedov	# If there is a compiler, see if it is configured for 64-bit objects.
343*ae771770SStanislav Sedov	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
344*ae771770SStanislav Sedov	# This test works for both compilers.
345*ae771770SStanislav Sedov	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
346*ae771770SStanislav Sedov	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
347*ae771770SStanislav Sedov		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
348*ae771770SStanislav Sedov		grep IS_64BIT_ARCH >/dev/null
349*ae771770SStanislav Sedov	    then
350*ae771770SStanislav Sedov		SUN_ARCH="x86_64"
351*ae771770SStanislav Sedov	    fi
352*ae771770SStanislav Sedov	fi
353*ae771770SStanislav Sedov	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354c19800e8SDoug Rabson	exit ;;
355b528cefcSMark Murray    sun4*:SunOS:6*:*)
356b528cefcSMark Murray	# According to config.sub, this is the proper way to canonicalize
357b528cefcSMark Murray	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
358b528cefcSMark Murray	# it's likely to be more like Solaris than SunOS4.
359b528cefcSMark Murray	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
360c19800e8SDoug Rabson	exit ;;
361b528cefcSMark Murray    sun4*:SunOS:*:*)
362b528cefcSMark Murray	case "`/usr/bin/arch -k`" in
363b528cefcSMark Murray	    Series*|S4*)
364b528cefcSMark Murray		UNAME_RELEASE=`uname -v`
365b528cefcSMark Murray		;;
366b528cefcSMark Murray	esac
367b528cefcSMark Murray	# Japanese Language versions have a version number like `4.1.3-JL'.
368b528cefcSMark Murray	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
369c19800e8SDoug Rabson	exit ;;
370b528cefcSMark Murray    sun3*:SunOS:*:*)
371b528cefcSMark Murray	echo m68k-sun-sunos${UNAME_RELEASE}
372c19800e8SDoug Rabson	exit ;;
373b528cefcSMark Murray    sun*:*:4.2BSD:*)
3748373020dSJacques Vidrine	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
375b528cefcSMark Murray	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
376b528cefcSMark Murray	case "`/bin/arch`" in
377b528cefcSMark Murray	    sun3)
378b528cefcSMark Murray		echo m68k-sun-sunos${UNAME_RELEASE}
379b528cefcSMark Murray		;;
380b528cefcSMark Murray	    sun4)
381b528cefcSMark Murray		echo sparc-sun-sunos${UNAME_RELEASE}
382b528cefcSMark Murray		;;
383b528cefcSMark Murray	esac
384c19800e8SDoug Rabson	exit ;;
385b528cefcSMark Murray    aushp:SunOS:*:*)
386b528cefcSMark Murray	echo sparc-auspex-sunos${UNAME_RELEASE}
387c19800e8SDoug Rabson	exit ;;
3885e9cd1aeSAssar Westerlund    # The situation for MiNT is a little confusing.  The machine name
3895e9cd1aeSAssar Westerlund    # can be virtually everything (everything which is not
3905e9cd1aeSAssar Westerlund    # "atarist" or "atariste" at least should have a processor
3915e9cd1aeSAssar Westerlund    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
3925e9cd1aeSAssar Westerlund    # to the lowercase version "mint" (or "freemint").  Finally
3935e9cd1aeSAssar Westerlund    # the system name "TOS" denotes a system which is actually not
3945e9cd1aeSAssar Westerlund    # MiNT.  But MiNT is downward compatible to TOS, so this should
3955e9cd1aeSAssar Westerlund    # be no problem.
3965e9cd1aeSAssar Westerlund    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
3975e9cd1aeSAssar Westerlund        echo m68k-atari-mint${UNAME_RELEASE}
398c19800e8SDoug Rabson	exit ;;
3995e9cd1aeSAssar Westerlund    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4005e9cd1aeSAssar Westerlund	echo m68k-atari-mint${UNAME_RELEASE}
401c19800e8SDoug Rabson        exit ;;
4025e9cd1aeSAssar Westerlund    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4035e9cd1aeSAssar Westerlund        echo m68k-atari-mint${UNAME_RELEASE}
404c19800e8SDoug Rabson	exit ;;
4055e9cd1aeSAssar Westerlund    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
4065e9cd1aeSAssar Westerlund        echo m68k-milan-mint${UNAME_RELEASE}
407c19800e8SDoug Rabson        exit ;;
4085e9cd1aeSAssar Westerlund    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
4095e9cd1aeSAssar Westerlund        echo m68k-hades-mint${UNAME_RELEASE}
410c19800e8SDoug Rabson        exit ;;
4115e9cd1aeSAssar Westerlund    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
4125e9cd1aeSAssar Westerlund        echo m68k-unknown-mint${UNAME_RELEASE}
413c19800e8SDoug Rabson        exit ;;
4148d4ba808SJacques Vidrine    m68k:machten:*:*)
4158d4ba808SJacques Vidrine	echo m68k-apple-machten${UNAME_RELEASE}
416c19800e8SDoug Rabson	exit ;;
417b528cefcSMark Murray    powerpc:machten:*:*)
418b528cefcSMark Murray	echo powerpc-apple-machten${UNAME_RELEASE}
419c19800e8SDoug Rabson	exit ;;
420b528cefcSMark Murray    RISC*:Mach:*:*)
421b528cefcSMark Murray	echo mips-dec-mach_bsd4.3
422c19800e8SDoug Rabson	exit ;;
423b528cefcSMark Murray    RISC*:ULTRIX:*:*)
424b528cefcSMark Murray	echo mips-dec-ultrix${UNAME_RELEASE}
425c19800e8SDoug Rabson	exit ;;
426b528cefcSMark Murray    VAX*:ULTRIX*:*:*)
427b528cefcSMark Murray	echo vax-dec-ultrix${UNAME_RELEASE}
428c19800e8SDoug Rabson	exit ;;
4295e9cd1aeSAssar Westerlund    2020:CLIX:*:* | 2430:CLIX:*:*)
430b528cefcSMark Murray	echo clipper-intergraph-clix${UNAME_RELEASE}
431c19800e8SDoug Rabson	exit ;;
432b528cefcSMark Murray    mips:*:*:UMIPS | mips:*:*:RISCos)
4334137ff4cSJacques Vidrine	eval $set_cc_for_build
434b528cefcSMark Murray	sed 's/^	//' << EOF >$dummy.c
4355e9cd1aeSAssar Westerlund#ifdef __cplusplus
4365e9cd1aeSAssar Westerlund#include <stdio.h>  /* for printf() prototype */
4375e9cd1aeSAssar Westerlund	int main (int argc, char *argv[]) {
4385e9cd1aeSAssar Westerlund#else
4395e9cd1aeSAssar Westerlund	int main (argc, argv) int argc; char *argv[]; {
4405e9cd1aeSAssar Westerlund#endif
441b528cefcSMark Murray	#if defined (host_mips) && defined (MIPSEB)
442b528cefcSMark Murray	#if defined (SYSTYPE_SYSV)
443b528cefcSMark Murray	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
444b528cefcSMark Murray	#endif
445b528cefcSMark Murray	#if defined (SYSTYPE_SVR4)
446b528cefcSMark Murray	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
447b528cefcSMark Murray	#endif
448b528cefcSMark Murray	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
449b528cefcSMark Murray	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
450b528cefcSMark Murray	#endif
451b528cefcSMark Murray	#endif
452b528cefcSMark Murray	  exit (-1);
453b528cefcSMark Murray	}
454b528cefcSMark MurrayEOF
455c19800e8SDoug Rabson	$CC_FOR_BUILD -o $dummy $dummy.c &&
456c19800e8SDoug Rabson	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
457c19800e8SDoug Rabson	  SYSTEM_NAME=`$dummy $dummyarg` &&
458c19800e8SDoug Rabson	    { echo "$SYSTEM_NAME"; exit; }
459b528cefcSMark Murray	echo mips-mips-riscos${UNAME_RELEASE}
460c19800e8SDoug Rabson	exit ;;
4614137ff4cSJacques Vidrine    Motorola:PowerMAX_OS:*:*)
4624137ff4cSJacques Vidrine	echo powerpc-motorola-powermax
463c19800e8SDoug Rabson	exit ;;
4641c43270aSJacques Vidrine    Motorola:*:4.3:PL8-*)
4651c43270aSJacques Vidrine	echo powerpc-harris-powermax
466c19800e8SDoug Rabson	exit ;;
4671c43270aSJacques Vidrine    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4681c43270aSJacques Vidrine	echo powerpc-harris-powermax
469c19800e8SDoug Rabson	exit ;;
470b528cefcSMark Murray    Night_Hawk:Power_UNIX:*:*)
471b528cefcSMark Murray	echo powerpc-harris-powerunix
472c19800e8SDoug Rabson	exit ;;
473b528cefcSMark Murray    m88k:CX/UX:7*:*)
474b528cefcSMark Murray	echo m88k-harris-cxux7
475c19800e8SDoug Rabson	exit ;;
476b528cefcSMark Murray    m88k:*:4*:R4*)
477b528cefcSMark Murray	echo m88k-motorola-sysv4
478c19800e8SDoug Rabson	exit ;;
479b528cefcSMark Murray    m88k:*:3*:R3*)
480b528cefcSMark Murray	echo m88k-motorola-sysv3
481c19800e8SDoug Rabson	exit ;;
482b528cefcSMark Murray    AViiON:dgux:*:*)
483b528cefcSMark Murray        # DG/UX returns AViiON for all architectures
484b528cefcSMark Murray        UNAME_PROCESSOR=`/usr/bin/uname -p`
4855e9cd1aeSAssar Westerlund	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
4865e9cd1aeSAssar Westerlund	then
4875e9cd1aeSAssar Westerlund	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
4885e9cd1aeSAssar Westerlund	       [ ${TARGET_BINARY_INTERFACE}x = x ]
4895e9cd1aeSAssar Westerlund	    then
490b528cefcSMark Murray		echo m88k-dg-dgux${UNAME_RELEASE}
491b528cefcSMark Murray	    else
492b528cefcSMark Murray		echo m88k-dg-dguxbcs${UNAME_RELEASE}
493b528cefcSMark Murray	    fi
4945e9cd1aeSAssar Westerlund	else
4955e9cd1aeSAssar Westerlund	    echo i586-dg-dgux${UNAME_RELEASE}
496b528cefcSMark Murray	fi
497c19800e8SDoug Rabson 	exit ;;
498b528cefcSMark Murray    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
499b528cefcSMark Murray	echo m88k-dolphin-sysv3
500c19800e8SDoug Rabson	exit ;;
501b528cefcSMark Murray    M88*:*:R3*:*)
502b528cefcSMark Murray	# Delta 88k system running SVR3
503b528cefcSMark Murray	echo m88k-motorola-sysv3
504c19800e8SDoug Rabson	exit ;;
505b528cefcSMark Murray    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
506b528cefcSMark Murray	echo m88k-tektronix-sysv3
507c19800e8SDoug Rabson	exit ;;
508b528cefcSMark Murray    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
509b528cefcSMark Murray	echo m68k-tektronix-bsd
510c19800e8SDoug Rabson	exit ;;
511b528cefcSMark Murray    *:IRIX*:*:*)
512b528cefcSMark Murray	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
513c19800e8SDoug Rabson	exit ;;
514b528cefcSMark Murray    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
515b528cefcSMark Murray	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
516c19800e8SDoug Rabson	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
5174137ff4cSJacques Vidrine    i*86:AIX:*:*)
518b528cefcSMark Murray	echo i386-ibm-aix
519c19800e8SDoug Rabson	exit ;;
5204137ff4cSJacques Vidrine    ia64:AIX:*:*)
5214137ff4cSJacques Vidrine	if [ -x /usr/bin/oslevel ] ; then
5224137ff4cSJacques Vidrine		IBM_REV=`/usr/bin/oslevel`
5234137ff4cSJacques Vidrine	else
5244137ff4cSJacques Vidrine		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5254137ff4cSJacques Vidrine	fi
5264137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
527c19800e8SDoug Rabson	exit ;;
528b528cefcSMark Murray    *:AIX:2:3)
529b528cefcSMark Murray	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5304137ff4cSJacques Vidrine		eval $set_cc_for_build
531b528cefcSMark Murray		sed 's/^		//' << EOF >$dummy.c
532b528cefcSMark Murray		#include <sys/systemcfg.h>
533b528cefcSMark Murray
534b528cefcSMark Murray		main()
535b528cefcSMark Murray			{
536b528cefcSMark Murray			if (!__power_pc())
537b528cefcSMark Murray				exit(1);
538b528cefcSMark Murray			puts("powerpc-ibm-aix3.2.5");
539b528cefcSMark Murray			exit(0);
540b528cefcSMark Murray			}
541b528cefcSMark MurrayEOF
542c19800e8SDoug Rabson		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
543c19800e8SDoug Rabson		then
544c19800e8SDoug Rabson			echo "$SYSTEM_NAME"
545c19800e8SDoug Rabson		else
546b528cefcSMark Murray			echo rs6000-ibm-aix3.2.5
547c19800e8SDoug Rabson		fi
548b528cefcSMark Murray	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
549b528cefcSMark Murray		echo rs6000-ibm-aix3.2.4
550b528cefcSMark Murray	else
551b528cefcSMark Murray		echo rs6000-ibm-aix3.2
552b528cefcSMark Murray	fi
553c19800e8SDoug Rabson	exit ;;
554*ae771770SStanislav Sedov    *:AIX:*:[456])
5558373020dSJacques Vidrine	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
5564137ff4cSJacques Vidrine	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
557b528cefcSMark Murray		IBM_ARCH=rs6000
558b528cefcSMark Murray	else
559b528cefcSMark Murray		IBM_ARCH=powerpc
560b528cefcSMark Murray	fi
561b528cefcSMark Murray	if [ -x /usr/bin/oslevel ] ; then
562b528cefcSMark Murray		IBM_REV=`/usr/bin/oslevel`
563b528cefcSMark Murray	else
5644137ff4cSJacques Vidrine		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
565b528cefcSMark Murray	fi
566b528cefcSMark Murray	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
567c19800e8SDoug Rabson	exit ;;
568b528cefcSMark Murray    *:AIX:*:*)
569b528cefcSMark Murray	echo rs6000-ibm-aix
570c19800e8SDoug Rabson	exit ;;
571b528cefcSMark Murray    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
572b528cefcSMark Murray	echo romp-ibm-bsd4.4
573c19800e8SDoug Rabson	exit ;;
5745e9cd1aeSAssar Westerlund    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
575b528cefcSMark Murray	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
576c19800e8SDoug Rabson	exit ;;                             # report: romp-ibm BSD 4.3
577b528cefcSMark Murray    *:BOSX:*:*)
578b528cefcSMark Murray	echo rs6000-bull-bosx
579c19800e8SDoug Rabson	exit ;;
580b528cefcSMark Murray    DPX/2?00:B.O.S.:*:*)
581b528cefcSMark Murray	echo m68k-bull-sysv3
582c19800e8SDoug Rabson	exit ;;
583b528cefcSMark Murray    9000/[34]??:4.3bsd:1.*:*)
584b528cefcSMark Murray	echo m68k-hp-bsd
585c19800e8SDoug Rabson	exit ;;
586b528cefcSMark Murray    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
587b528cefcSMark Murray	echo m68k-hp-bsd4.4
588c19800e8SDoug Rabson	exit ;;
589b528cefcSMark Murray    9000/[34678]??:HP-UX:*:*)
5904137ff4cSJacques Vidrine	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
591b528cefcSMark Murray	case "${UNAME_MACHINE}" in
592b528cefcSMark Murray	    9000/31? )            HP_ARCH=m68000 ;;
593b528cefcSMark Murray	    9000/[34]?? )         HP_ARCH=m68k ;;
5945e9cd1aeSAssar Westerlund	    9000/[678][0-9][0-9])
5954137ff4cSJacques Vidrine		if [ -x /usr/bin/getconf ]; then
5964137ff4cSJacques Vidrine		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
5974137ff4cSJacques Vidrine                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
5984137ff4cSJacques Vidrine                    case "${sc_cpu_version}" in
5994137ff4cSJacques Vidrine                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
6004137ff4cSJacques Vidrine                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
6014137ff4cSJacques Vidrine                      532)                      # CPU_PA_RISC2_0
6024137ff4cSJacques Vidrine                        case "${sc_kernel_bits}" in
6034137ff4cSJacques Vidrine                          32) HP_ARCH="hppa2.0n" ;;
6044137ff4cSJacques Vidrine                          64) HP_ARCH="hppa2.0w" ;;
6058373020dSJacques Vidrine			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
6064137ff4cSJacques Vidrine                        esac ;;
6074137ff4cSJacques Vidrine                    esac
6088373020dSJacques Vidrine		fi
6094137ff4cSJacques Vidrine		if [ "${HP_ARCH}" = "" ]; then
6104137ff4cSJacques Vidrine		    eval $set_cc_for_build
611b528cefcSMark Murray		    sed 's/^              //' << EOF >$dummy.c
6125e9cd1aeSAssar Westerlund
6135e9cd1aeSAssar Westerlund              #define _HPUX_SOURCE
614b528cefcSMark Murray              #include <stdlib.h>
615b528cefcSMark Murray              #include <unistd.h>
616b528cefcSMark Murray
617b528cefcSMark Murray              int main ()
618b528cefcSMark Murray              {
619b528cefcSMark Murray              #if defined(_SC_KERNEL_BITS)
620b528cefcSMark Murray                  long bits = sysconf(_SC_KERNEL_BITS);
621b528cefcSMark Murray              #endif
622b528cefcSMark Murray                  long cpu  = sysconf (_SC_CPU_VERSION);
623b528cefcSMark Murray
624b528cefcSMark Murray                  switch (cpu)
625b528cefcSMark Murray              	{
626b528cefcSMark Murray              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
627b528cefcSMark Murray              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
628b528cefcSMark Murray              	case CPU_PA_RISC2_0:
629b528cefcSMark Murray              #if defined(_SC_KERNEL_BITS)
630b528cefcSMark Murray              	    switch (bits)
631b528cefcSMark Murray              		{
632b528cefcSMark Murray              		case 64: puts ("hppa2.0w"); break;
633b528cefcSMark Murray              		case 32: puts ("hppa2.0n"); break;
634b528cefcSMark Murray              		default: puts ("hppa2.0"); break;
635b528cefcSMark Murray              		} break;
636b528cefcSMark Murray              #else  /* !defined(_SC_KERNEL_BITS) */
637b528cefcSMark Murray              	    puts ("hppa2.0"); break;
638b528cefcSMark Murray              #endif
639b528cefcSMark Murray              	default: puts ("hppa1.0"); break;
640b528cefcSMark Murray              	}
641b528cefcSMark Murray                  exit (0);
642b528cefcSMark Murray              }
643b528cefcSMark MurrayEOF
6441c43270aSJacques Vidrine		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6451c43270aSJacques Vidrine		    test -z "$HP_ARCH" && HP_ARCH=hppa
6464137ff4cSJacques Vidrine		fi ;;
647b528cefcSMark Murray	esac
6481c43270aSJacques Vidrine	if [ ${HP_ARCH} = "hppa2.0w" ]
6491c43270aSJacques Vidrine	then
650c19800e8SDoug Rabson	    eval $set_cc_for_build
651c19800e8SDoug Rabson
652c19800e8SDoug Rabson	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
653c19800e8SDoug Rabson	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
654c19800e8SDoug Rabson	    # generating 64-bit code.  GNU and HP use different nomenclature:
655c19800e8SDoug Rabson	    #
656c19800e8SDoug Rabson	    # $ CC_FOR_BUILD=cc ./config.guess
657c19800e8SDoug Rabson	    # => hppa2.0w-hp-hpux11.23
658c19800e8SDoug Rabson	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
659c19800e8SDoug Rabson	    # => hppa64-hp-hpux11.23
660c19800e8SDoug Rabson
661c19800e8SDoug Rabson	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
662*ae771770SStanislav Sedov		grep -q __LP64__
6631c43270aSJacques Vidrine	    then
6641c43270aSJacques Vidrine		HP_ARCH="hppa2.0w"
6651c43270aSJacques Vidrine	    else
6661c43270aSJacques Vidrine		HP_ARCH="hppa64"
6671c43270aSJacques Vidrine	    fi
6681c43270aSJacques Vidrine	fi
669b528cefcSMark Murray	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
670c19800e8SDoug Rabson	exit ;;
6714137ff4cSJacques Vidrine    ia64:HP-UX:*:*)
6724137ff4cSJacques Vidrine	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6734137ff4cSJacques Vidrine	echo ia64-hp-hpux${HPUX_REV}
674c19800e8SDoug Rabson	exit ;;
675b528cefcSMark Murray    3050*:HI-UX:*:*)
6764137ff4cSJacques Vidrine	eval $set_cc_for_build
677b528cefcSMark Murray	sed 's/^	//' << EOF >$dummy.c
678b528cefcSMark Murray	#include <unistd.h>
679b528cefcSMark Murray	int
680b528cefcSMark Murray	main ()
681b528cefcSMark Murray	{
682b528cefcSMark Murray	  long cpu = sysconf (_SC_CPU_VERSION);
683b528cefcSMark Murray	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
684b528cefcSMark Murray	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
685b528cefcSMark Murray	     results, however.  */
686b528cefcSMark Murray	  if (CPU_IS_PA_RISC (cpu))
687b528cefcSMark Murray	    {
688b528cefcSMark Murray	      switch (cpu)
689b528cefcSMark Murray		{
690b528cefcSMark Murray		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
691b528cefcSMark Murray		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
692b528cefcSMark Murray		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
693b528cefcSMark Murray		  default: puts ("hppa-hitachi-hiuxwe2"); break;
694b528cefcSMark Murray		}
695b528cefcSMark Murray	    }
696b528cefcSMark Murray	  else if (CPU_IS_HP_MC68K (cpu))
697b528cefcSMark Murray	    puts ("m68k-hitachi-hiuxwe2");
698b528cefcSMark Murray	  else puts ("unknown-hitachi-hiuxwe2");
699b528cefcSMark Murray	  exit (0);
700b528cefcSMark Murray	}
701b528cefcSMark MurrayEOF
702c19800e8SDoug Rabson	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
703c19800e8SDoug Rabson		{ echo "$SYSTEM_NAME"; exit; }
704b528cefcSMark Murray	echo unknown-hitachi-hiuxwe2
705c19800e8SDoug Rabson	exit ;;
706b528cefcSMark Murray    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
707b528cefcSMark Murray	echo hppa1.1-hp-bsd
708c19800e8SDoug Rabson	exit ;;
709b528cefcSMark Murray    9000/8??:4.3bsd:*:*)
710b528cefcSMark Murray	echo hppa1.0-hp-bsd
711c19800e8SDoug Rabson	exit ;;
7124137ff4cSJacques Vidrine    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
7135e9cd1aeSAssar Westerlund	echo hppa1.0-hp-mpeix
714c19800e8SDoug Rabson	exit ;;
715b528cefcSMark Murray    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
716b528cefcSMark Murray	echo hppa1.1-hp-osf
717c19800e8SDoug Rabson	exit ;;
718b528cefcSMark Murray    hp8??:OSF1:*:*)
719b528cefcSMark Murray	echo hppa1.0-hp-osf
720c19800e8SDoug Rabson	exit ;;
7214137ff4cSJacques Vidrine    i*86:OSF1:*:*)
722b528cefcSMark Murray	if [ -x /usr/sbin/sysversion ] ; then
723b528cefcSMark Murray	    echo ${UNAME_MACHINE}-unknown-osf1mk
724b528cefcSMark Murray	else
725b528cefcSMark Murray	    echo ${UNAME_MACHINE}-unknown-osf1
726b528cefcSMark Murray	fi
727c19800e8SDoug Rabson	exit ;;
728b528cefcSMark Murray    parisc*:Lites*:*:*)
729b528cefcSMark Murray	echo hppa1.1-hp-lites
730c19800e8SDoug Rabson	exit ;;
731b528cefcSMark Murray    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
732b528cefcSMark Murray	echo c1-convex-bsd
733c19800e8SDoug Rabson        exit ;;
734b528cefcSMark Murray    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
735b528cefcSMark Murray	if getsysinfo -f scalar_acc
736b528cefcSMark Murray	then echo c32-convex-bsd
737b528cefcSMark Murray	else echo c2-convex-bsd
738b528cefcSMark Murray	fi
739c19800e8SDoug Rabson        exit ;;
740b528cefcSMark Murray    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
741b528cefcSMark Murray	echo c34-convex-bsd
742c19800e8SDoug Rabson        exit ;;
743b528cefcSMark Murray    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
744b528cefcSMark Murray	echo c38-convex-bsd
745c19800e8SDoug Rabson        exit ;;
746b528cefcSMark Murray    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
747b528cefcSMark Murray	echo c4-convex-bsd
748c19800e8SDoug Rabson        exit ;;
749b528cefcSMark Murray    CRAY*Y-MP:*:*:*)
7504137ff4cSJacques Vidrine	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751c19800e8SDoug Rabson	exit ;;
752b528cefcSMark Murray    CRAY*[A-Z]90:*:*:*)
753b528cefcSMark Murray	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
754b528cefcSMark Murray	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7554137ff4cSJacques Vidrine	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7564137ff4cSJacques Vidrine	      -e 's/\.[^.]*$/.X/'
757c19800e8SDoug Rabson	exit ;;
758b528cefcSMark Murray    CRAY*TS:*:*:*)
7595e9cd1aeSAssar Westerlund	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760c19800e8SDoug Rabson	exit ;;
7614137ff4cSJacques Vidrine    CRAY*T3E:*:*:*)
7624137ff4cSJacques Vidrine	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763c19800e8SDoug Rabson	exit ;;
7645e9cd1aeSAssar Westerlund    CRAY*SV1:*:*:*)
7655e9cd1aeSAssar Westerlund	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766c19800e8SDoug Rabson	exit ;;
7671c43270aSJacques Vidrine    *:UNICOS/mp:*:*)
768c19800e8SDoug Rabson	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
769c19800e8SDoug Rabson	exit ;;
7704137ff4cSJacques Vidrine    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
7714137ff4cSJacques Vidrine	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
7725e9cd1aeSAssar Westerlund        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
773b528cefcSMark Murray        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7744137ff4cSJacques Vidrine        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
775c19800e8SDoug Rabson        exit ;;
7768d4ba808SJacques Vidrine    5000:UNIX_System_V:4.*:*)
7778d4ba808SJacques Vidrine        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7788d4ba808SJacques Vidrine        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7798d4ba808SJacques Vidrine        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
780c19800e8SDoug Rabson	exit ;;
7814137ff4cSJacques Vidrine    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
7825e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
783c19800e8SDoug Rabson	exit ;;
784b528cefcSMark Murray    sparc*:BSD/OS:*:*)
785b528cefcSMark Murray	echo sparc-unknown-bsdi${UNAME_RELEASE}
786c19800e8SDoug Rabson	exit ;;
787b528cefcSMark Murray    *:BSD/OS:*:*)
788b528cefcSMark Murray	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
789c19800e8SDoug Rabson	exit ;;
7908d4ba808SJacques Vidrine    *:FreeBSD:*:*)
791c19800e8SDoug Rabson	case ${UNAME_MACHINE} in
792c19800e8SDoug Rabson	    pc98)
793c19800e8SDoug Rabson		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
794c19800e8SDoug Rabson	    amd64)
795c19800e8SDoug Rabson		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796c19800e8SDoug Rabson	    *)
797c19800e8SDoug Rabson		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798c19800e8SDoug Rabson	esac
799c19800e8SDoug Rabson	exit ;;
800b528cefcSMark Murray    i*:CYGWIN*:*)
801b528cefcSMark Murray	echo ${UNAME_MACHINE}-pc-cygwin
802c19800e8SDoug Rabson	exit ;;
803*ae771770SStanislav Sedov    *:MINGW*:*)
804b528cefcSMark Murray	echo ${UNAME_MACHINE}-pc-mingw32
805c19800e8SDoug Rabson	exit ;;
806c19800e8SDoug Rabson    i*:windows32*:*)
807c19800e8SDoug Rabson    	# uname -m includes "-pc" on this system.
808c19800e8SDoug Rabson    	echo ${UNAME_MACHINE}-mingw32
809c19800e8SDoug Rabson	exit ;;
8105e9cd1aeSAssar Westerlund    i*:PW*:*)
8115e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-pc-pw32
812c19800e8SDoug Rabson	exit ;;
813*ae771770SStanislav Sedov    *:Interix*:*)
814*ae771770SStanislav Sedov    	case ${UNAME_MACHINE} in
815*ae771770SStanislav Sedov	    x86)
816c19800e8SDoug Rabson		echo i586-pc-interix${UNAME_RELEASE}
817c19800e8SDoug Rabson		exit ;;
818*ae771770SStanislav Sedov	    authenticamd | genuineintel | EM64T)
819c19800e8SDoug Rabson		echo x86_64-unknown-interix${UNAME_RELEASE}
820c19800e8SDoug Rabson		exit ;;
821*ae771770SStanislav Sedov	    IA64)
822*ae771770SStanislav Sedov		echo ia64-unknown-interix${UNAME_RELEASE}
823*ae771770SStanislav Sedov		exit ;;
824*ae771770SStanislav Sedov	esac ;;
8251c43270aSJacques Vidrine    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8261c43270aSJacques Vidrine	echo i${UNAME_MACHINE}-pc-mks
827c19800e8SDoug Rabson	exit ;;
828*ae771770SStanislav Sedov    8664:Windows_NT:*)
829*ae771770SStanislav Sedov	echo x86_64-pc-mks
830*ae771770SStanislav Sedov	exit ;;
8315e9cd1aeSAssar Westerlund    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
8325e9cd1aeSAssar Westerlund	# How do we know it's Interix rather than the generic POSIX subsystem?
8335e9cd1aeSAssar Westerlund	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
8345e9cd1aeSAssar Westerlund	# UNAME_MACHINE based on the output of uname instead of i386?
8351c43270aSJacques Vidrine	echo i586-pc-interix
836c19800e8SDoug Rabson	exit ;;
8375e9cd1aeSAssar Westerlund    i*:UWIN*:*)
8385e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-pc-uwin
839c19800e8SDoug Rabson	exit ;;
840c19800e8SDoug Rabson    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
841c19800e8SDoug Rabson	echo x86_64-unknown-cygwin
842c19800e8SDoug Rabson	exit ;;
843b528cefcSMark Murray    p*:CYGWIN*:*)
844b528cefcSMark Murray	echo powerpcle-unknown-cygwin
845c19800e8SDoug Rabson	exit ;;
846b528cefcSMark Murray    prep*:SunOS:5.*:*)
847b528cefcSMark Murray	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
848c19800e8SDoug Rabson	exit ;;
849b528cefcSMark Murray    *:GNU:*:*)
8508d4ba808SJacques Vidrine	# the GNU system
851b528cefcSMark Murray	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
852c19800e8SDoug Rabson	exit ;;
8538d4ba808SJacques Vidrine    *:GNU/*:*:*)
8548d4ba808SJacques Vidrine	# other systems with GNU libc and userland
8558d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
856c19800e8SDoug Rabson	exit ;;
8575e9cd1aeSAssar Westerlund    i*86:Minix:*:*)
8585e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-pc-minix
859c19800e8SDoug Rabson	exit ;;
860*ae771770SStanislav Sedov    alpha:Linux:*:*)
861*ae771770SStanislav Sedov	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
862*ae771770SStanislav Sedov	  EV5)   UNAME_MACHINE=alphaev5 ;;
863*ae771770SStanislav Sedov	  EV56)  UNAME_MACHINE=alphaev56 ;;
864*ae771770SStanislav Sedov	  PCA56) UNAME_MACHINE=alphapca56 ;;
865*ae771770SStanislav Sedov	  PCA57) UNAME_MACHINE=alphapca56 ;;
866*ae771770SStanislav Sedov	  EV6)   UNAME_MACHINE=alphaev6 ;;
867*ae771770SStanislav Sedov	  EV67)  UNAME_MACHINE=alphaev67 ;;
868*ae771770SStanislav Sedov	  EV68*) UNAME_MACHINE=alphaev68 ;;
869*ae771770SStanislav Sedov        esac
870*ae771770SStanislav Sedov	objdump --private-headers /bin/sh | grep -q ld.so.1
871*ae771770SStanislav Sedov	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
872*ae771770SStanislav Sedov	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
873*ae771770SStanislav Sedov	exit ;;
8744137ff4cSJacques Vidrine    arm*:Linux:*:*)
875*ae771770SStanislav Sedov	eval $set_cc_for_build
876*ae771770SStanislav Sedov	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
877*ae771770SStanislav Sedov	    | grep -q __ARM_EABI__
878*ae771770SStanislav Sedov	then
8794137ff4cSJacques Vidrine	    echo ${UNAME_MACHINE}-unknown-linux-gnu
880*ae771770SStanislav Sedov	else
881*ae771770SStanislav Sedov	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
882*ae771770SStanislav Sedov	fi
883c19800e8SDoug Rabson	exit ;;
884c19800e8SDoug Rabson    avr32*:Linux:*:*)
885c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-unknown-linux-gnu
886c19800e8SDoug Rabson	exit ;;
8871c43270aSJacques Vidrine    cris:Linux:*:*)
8881c43270aSJacques Vidrine	echo cris-axis-linux-gnu
889c19800e8SDoug Rabson	exit ;;
890c19800e8SDoug Rabson    crisv32:Linux:*:*)
891c19800e8SDoug Rabson	echo crisv32-axis-linux-gnu
892c19800e8SDoug Rabson	exit ;;
893c19800e8SDoug Rabson    frv:Linux:*:*)
894c19800e8SDoug Rabson    	echo frv-unknown-linux-gnu
895c19800e8SDoug Rabson	exit ;;
896*ae771770SStanislav Sedov    i*86:Linux:*:*)
897*ae771770SStanislav Sedov	LIBC=gnu
898*ae771770SStanislav Sedov	eval $set_cc_for_build
899*ae771770SStanislav Sedov	sed 's/^	//' << EOF >$dummy.c
900*ae771770SStanislav Sedov	#ifdef __dietlibc__
901*ae771770SStanislav Sedov	LIBC=dietlibc
902*ae771770SStanislav Sedov	#endif
903*ae771770SStanislav SedovEOF
904*ae771770SStanislav Sedov	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
905*ae771770SStanislav Sedov	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
906*ae771770SStanislav Sedov	exit ;;
9074137ff4cSJacques Vidrine    ia64:Linux:*:*)
9088373020dSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-linux-gnu
909c19800e8SDoug Rabson	exit ;;
910c19800e8SDoug Rabson    m32r*:Linux:*:*)
911c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-unknown-linux-gnu
912c19800e8SDoug Rabson	exit ;;
9134137ff4cSJacques Vidrine    m68*:Linux:*:*)
9144137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-linux-gnu
915c19800e8SDoug Rabson	exit ;;
916*ae771770SStanislav Sedov    mips:Linux:*:* | mips64:Linux:*:*)
9178373020dSJacques Vidrine	eval $set_cc_for_build
9188373020dSJacques Vidrine	sed 's/^	//' << EOF >$dummy.c
9198373020dSJacques Vidrine	#undef CPU
920*ae771770SStanislav Sedov	#undef ${UNAME_MACHINE}
921*ae771770SStanislav Sedov	#undef ${UNAME_MACHINE}el
9228373020dSJacques Vidrine	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
923*ae771770SStanislav Sedov	CPU=${UNAME_MACHINE}el
9248373020dSJacques Vidrine	#else
9258373020dSJacques Vidrine	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
926*ae771770SStanislav Sedov	CPU=${UNAME_MACHINE}
9278373020dSJacques Vidrine	#else
9288373020dSJacques Vidrine	CPU=
9298373020dSJacques Vidrine	#endif
9308373020dSJacques Vidrine	#endif
9318373020dSJacques VidrineEOF
932*ae771770SStanislav Sedov	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
933c19800e8SDoug Rabson	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
9344137ff4cSJacques Vidrine	;;
935c19800e8SDoug Rabson    or32:Linux:*:*)
936c19800e8SDoug Rabson	echo or32-unknown-linux-gnu
937c19800e8SDoug Rabson	exit ;;
938*ae771770SStanislav Sedov    padre:Linux:*:*)
939*ae771770SStanislav Sedov	echo sparc-unknown-linux-gnu
940c19800e8SDoug Rabson	exit ;;
941*ae771770SStanislav Sedov    parisc64:Linux:*:* | hppa64:Linux:*:*)
942*ae771770SStanislav Sedov	echo hppa64-unknown-linux-gnu
943c19800e8SDoug Rabson	exit ;;
9444137ff4cSJacques Vidrine    parisc:Linux:*:* | hppa:Linux:*:*)
9454137ff4cSJacques Vidrine	# Look for CPU level
9464137ff4cSJacques Vidrine	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
9474137ff4cSJacques Vidrine	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
9484137ff4cSJacques Vidrine	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
9494137ff4cSJacques Vidrine	  *)    echo hppa-unknown-linux-gnu ;;
9504137ff4cSJacques Vidrine	esac
951c19800e8SDoug Rabson	exit ;;
952*ae771770SStanislav Sedov    ppc64:Linux:*:*)
953*ae771770SStanislav Sedov	echo powerpc64-unknown-linux-gnu
954*ae771770SStanislav Sedov	exit ;;
955*ae771770SStanislav Sedov    ppc:Linux:*:*)
956*ae771770SStanislav Sedov	echo powerpc-unknown-linux-gnu
957c19800e8SDoug Rabson	exit ;;
9584137ff4cSJacques Vidrine    s390:Linux:*:* | s390x:Linux:*:*)
9594137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-ibm-linux
960c19800e8SDoug Rabson	exit ;;
9611c43270aSJacques Vidrine    sh64*:Linux:*:*)
9621c43270aSJacques Vidrine    	echo ${UNAME_MACHINE}-unknown-linux-gnu
963c19800e8SDoug Rabson	exit ;;
9644137ff4cSJacques Vidrine    sh*:Linux:*:*)
9654137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-linux-gnu
966c19800e8SDoug Rabson	exit ;;
9674137ff4cSJacques Vidrine    sparc:Linux:*:* | sparc64:Linux:*:*)
9684137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-linux-gnu
969c19800e8SDoug Rabson	exit ;;
970c19800e8SDoug Rabson    vax:Linux:*:*)
971c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-dec-linux-gnu
972c19800e8SDoug Rabson	exit ;;
9734137ff4cSJacques Vidrine    x86_64:Linux:*:*)
9744137ff4cSJacques Vidrine	echo x86_64-unknown-linux-gnu
975c19800e8SDoug Rabson	exit ;;
976*ae771770SStanislav Sedov    xtensa*:Linux:*:*)
977*ae771770SStanislav Sedov    	echo ${UNAME_MACHINE}-unknown-linux-gnu
978c19800e8SDoug Rabson	exit ;;
9794137ff4cSJacques Vidrine    i*86:DYNIX/ptx:4*:*)
9804137ff4cSJacques Vidrine	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
9814137ff4cSJacques Vidrine	# earlier versions are messed up and put the nodename in both
9824137ff4cSJacques Vidrine	# sysname and nodename.
983b528cefcSMark Murray	echo i386-sequent-sysv4
984c19800e8SDoug Rabson	exit ;;
9854137ff4cSJacques Vidrine    i*86:UNIX_SV:4.2MP:2.*)
986b528cefcSMark Murray        # Unixware is an offshoot of SVR4, but it has its own version
987b528cefcSMark Murray        # number series starting with 2...
988b528cefcSMark Murray        # I am not positive that other SVR4 systems won't match this,
989b528cefcSMark Murray	# I just have to hope.  -- rms.
990b528cefcSMark Murray        # Use sysv4.2uw... so that sysv4* matches it.
991b528cefcSMark Murray	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
992c19800e8SDoug Rabson	exit ;;
9931c43270aSJacques Vidrine    i*86:OS/2:*:*)
9941c43270aSJacques Vidrine	# If we were able to find `uname', then EMX Unix compatibility
9951c43270aSJacques Vidrine	# is probably installed.
9961c43270aSJacques Vidrine	echo ${UNAME_MACHINE}-pc-os2-emx
997c19800e8SDoug Rabson	exit ;;
9981c43270aSJacques Vidrine    i*86:XTS-300:*:STOP)
9991c43270aSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-stop
1000c19800e8SDoug Rabson	exit ;;
10011c43270aSJacques Vidrine    i*86:atheos:*:*)
10021c43270aSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-atheos
1003c19800e8SDoug Rabson	exit ;;
10048d4ba808SJacques Vidrine    i*86:syllable:*:*)
10058d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-pc-syllable
1006c19800e8SDoug Rabson	exit ;;
1007*ae771770SStanislav Sedov    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10081c43270aSJacques Vidrine	echo i386-unknown-lynxos${UNAME_RELEASE}
1009c19800e8SDoug Rabson	exit ;;
10101c43270aSJacques Vidrine    i*86:*DOS:*:*)
10111c43270aSJacques Vidrine	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1012c19800e8SDoug Rabson	exit ;;
10134137ff4cSJacques Vidrine    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
10145e9cd1aeSAssar Westerlund	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1015b528cefcSMark Murray	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
10165e9cd1aeSAssar Westerlund		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
10175e9cd1aeSAssar Westerlund	else
10185e9cd1aeSAssar Westerlund		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
10195e9cd1aeSAssar Westerlund	fi
1020c19800e8SDoug Rabson	exit ;;
1021c19800e8SDoug Rabson    i*86:*:5:[678]*)
1022c19800e8SDoug Rabson    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10234137ff4cSJacques Vidrine	case `/bin/uname -X | grep "^Machine"` in
10244137ff4cSJacques Vidrine	    *486*)	     UNAME_MACHINE=i486 ;;
10254137ff4cSJacques Vidrine	    *Pentium)	     UNAME_MACHINE=i586 ;;
10264137ff4cSJacques Vidrine	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10274137ff4cSJacques Vidrine	esac
10284137ff4cSJacques Vidrine	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1029c19800e8SDoug Rabson	exit ;;
10304137ff4cSJacques Vidrine    i*86:*:3.2:*)
1031b528cefcSMark Murray	if test -f /usr/options/cb.name; then
1032b528cefcSMark Murray		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1033b528cefcSMark Murray		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1034b528cefcSMark Murray	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10351c43270aSJacques Vidrine		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
10361c43270aSJacques Vidrine		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
10371c43270aSJacques Vidrine		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1038b528cefcSMark Murray			&& UNAME_MACHINE=i586
10391c43270aSJacques Vidrine		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
10405e9cd1aeSAssar Westerlund			&& UNAME_MACHINE=i686
10411c43270aSJacques Vidrine		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
10425e9cd1aeSAssar Westerlund			&& UNAME_MACHINE=i686
1043b528cefcSMark Murray		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1044b528cefcSMark Murray	else
1045b528cefcSMark Murray		echo ${UNAME_MACHINE}-pc-sysv32
1046b528cefcSMark Murray	fi
1047c19800e8SDoug Rabson	exit ;;
1048b528cefcSMark Murray    pc:*:*:*)
10495e9cd1aeSAssar Westerlund	# Left here for compatibility:
1050b528cefcSMark Murray        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1051*ae771770SStanislav Sedov        # the processor, so we play safe by assuming i586.
1052*ae771770SStanislav Sedov	# Note: whatever this is, it MUST be the same as what config.sub
1053*ae771770SStanislav Sedov	# prints for the "djgpp" host, or else GDB configury will decide that
1054*ae771770SStanislav Sedov	# this is a cross-build.
1055*ae771770SStanislav Sedov	echo i586-pc-msdosdjgpp
1056c19800e8SDoug Rabson        exit ;;
1057b528cefcSMark Murray    Intel:Mach:3*:*)
1058b528cefcSMark Murray	echo i386-pc-mach3
1059c19800e8SDoug Rabson	exit ;;
1060b528cefcSMark Murray    paragon:*:*:*)
1061b528cefcSMark Murray	echo i860-intel-osf1
1062c19800e8SDoug Rabson	exit ;;
1063b528cefcSMark Murray    i860:*:4.*:*) # i860-SVR4
1064b528cefcSMark Murray	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1065b528cefcSMark Murray	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1066b528cefcSMark Murray	else # Add other i860-SVR4 vendors below as they are discovered.
1067b528cefcSMark Murray	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1068b528cefcSMark Murray	fi
1069c19800e8SDoug Rabson	exit ;;
1070b528cefcSMark Murray    mini*:CTIX:SYS*5:*)
1071b528cefcSMark Murray	# "miniframe"
1072b528cefcSMark Murray	echo m68010-convergent-sysv
1073c19800e8SDoug Rabson	exit ;;
10741c43270aSJacques Vidrine    mc68k:UNIX:SYSTEM5:3.51m)
10751c43270aSJacques Vidrine	echo m68k-convergent-sysv
1076c19800e8SDoug Rabson	exit ;;
10771c43270aSJacques Vidrine    M680?0:D-NIX:5.3:*)
10781c43270aSJacques Vidrine	echo m68k-diab-dnix
1079c19800e8SDoug Rabson	exit ;;
1080c19800e8SDoug Rabson    M68*:*:R3V[5678]*:*)
1081c19800e8SDoug Rabson	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1082c19800e8SDoug Rabson    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)
1083b528cefcSMark Murray	OS_REL=''
1084b528cefcSMark Murray	test -r /etc/.relid \
1085b528cefcSMark Murray	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1086b528cefcSMark Murray	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1087c19800e8SDoug Rabson	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1088b528cefcSMark Murray	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1089c19800e8SDoug Rabson	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1090b528cefcSMark Murray    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1091b528cefcSMark Murray        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1092c19800e8SDoug Rabson          && { echo i486-ncr-sysv4; exit; } ;;
1093*ae771770SStanislav Sedov    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1094*ae771770SStanislav Sedov	OS_REL='.3'
1095*ae771770SStanislav Sedov	test -r /etc/.relid \
1096*ae771770SStanislav Sedov	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097*ae771770SStanislav Sedov	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098*ae771770SStanislav Sedov	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099*ae771770SStanislav Sedov	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100*ae771770SStanislav Sedov	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1101*ae771770SStanislav Sedov	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1102*ae771770SStanislav Sedov	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11034137ff4cSJacques Vidrine    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1104b528cefcSMark Murray	echo m68k-unknown-lynxos${UNAME_RELEASE}
1105c19800e8SDoug Rabson	exit ;;
1106b528cefcSMark Murray    mc68030:UNIX_System_V:4.*:*)
1107b528cefcSMark Murray	echo m68k-atari-sysv4
1108c19800e8SDoug Rabson	exit ;;
1109b528cefcSMark Murray    TSUNAMI:LynxOS:2.*:*)
1110b528cefcSMark Murray	echo sparc-unknown-lynxos${UNAME_RELEASE}
1111c19800e8SDoug Rabson	exit ;;
11124137ff4cSJacques Vidrine    rs6000:LynxOS:2.*:*)
1113b528cefcSMark Murray	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1114c19800e8SDoug Rabson	exit ;;
1115*ae771770SStanislav Sedov    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
11164137ff4cSJacques Vidrine	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1117c19800e8SDoug Rabson	exit ;;
1118b528cefcSMark Murray    SM[BE]S:UNIX_SV:*:*)
1119b528cefcSMark Murray	echo mips-dde-sysv${UNAME_RELEASE}
1120c19800e8SDoug Rabson	exit ;;
11215e9cd1aeSAssar Westerlund    RM*:ReliantUNIX-*:*:*)
11225e9cd1aeSAssar Westerlund	echo mips-sni-sysv4
1123c19800e8SDoug Rabson	exit ;;
1124b528cefcSMark Murray    RM*:SINIX-*:*:*)
1125b528cefcSMark Murray	echo mips-sni-sysv4
1126c19800e8SDoug Rabson	exit ;;
1127b528cefcSMark Murray    *:SINIX-*:*:*)
1128b528cefcSMark Murray	if uname -p 2>/dev/null >/dev/null ; then
1129b528cefcSMark Murray		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1130b528cefcSMark Murray		echo ${UNAME_MACHINE}-sni-sysv4
1131b528cefcSMark Murray	else
1132b528cefcSMark Murray		echo ns32k-sni-sysv
1133b528cefcSMark Murray	fi
1134c19800e8SDoug Rabson	exit ;;
11354137ff4cSJacques Vidrine    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1136b528cefcSMark Murray                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1137b528cefcSMark Murray        echo i586-unisys-sysv4
1138c19800e8SDoug Rabson        exit ;;
1139b528cefcSMark Murray    *:UNIX_System_V:4*:FTX*)
1140b528cefcSMark Murray	# From Gerald Hewes <hewes@openmarket.com>.
1141b528cefcSMark Murray	# How about differentiating between stratus architectures? -djm
1142b528cefcSMark Murray	echo hppa1.1-stratus-sysv4
1143c19800e8SDoug Rabson	exit ;;
1144b528cefcSMark Murray    *:*:*:FTX*)
1145b528cefcSMark Murray	# From seanf@swdc.stratus.com.
1146b528cefcSMark Murray	echo i860-stratus-sysv4
1147c19800e8SDoug Rabson	exit ;;
1148c19800e8SDoug Rabson    i*86:VOS:*:*)
1149c19800e8SDoug Rabson	# From Paul.Green@stratus.com.
1150c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-stratus-vos
1151c19800e8SDoug Rabson	exit ;;
11524137ff4cSJacques Vidrine    *:VOS:*:*)
11534137ff4cSJacques Vidrine	# From Paul.Green@stratus.com.
11544137ff4cSJacques Vidrine	echo hppa1.1-stratus-vos
1155c19800e8SDoug Rabson	exit ;;
1156b528cefcSMark Murray    mc68*:A/UX:*:*)
1157b528cefcSMark Murray	echo m68k-apple-aux${UNAME_RELEASE}
1158c19800e8SDoug Rabson	exit ;;
11595e9cd1aeSAssar Westerlund    news*:NEWS-OS:6*:*)
1160b528cefcSMark Murray	echo mips-sony-newsos6
1161c19800e8SDoug Rabson	exit ;;
11625e9cd1aeSAssar Westerlund    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1163b528cefcSMark Murray	if [ -d /usr/nec ]; then
1164b528cefcSMark Murray	        echo mips-nec-sysv${UNAME_RELEASE}
1165b528cefcSMark Murray	else
1166b528cefcSMark Murray	        echo mips-unknown-sysv${UNAME_RELEASE}
1167b528cefcSMark Murray	fi
1168c19800e8SDoug Rabson        exit ;;
1169b528cefcSMark Murray    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1170b528cefcSMark Murray	echo powerpc-be-beos
1171c19800e8SDoug Rabson	exit ;;
1172b528cefcSMark Murray    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1173b528cefcSMark Murray	echo powerpc-apple-beos
1174c19800e8SDoug Rabson	exit ;;
1175b528cefcSMark Murray    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1176b528cefcSMark Murray	echo i586-pc-beos
1177c19800e8SDoug Rabson	exit ;;
1178*ae771770SStanislav Sedov    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1179*ae771770SStanislav Sedov	echo i586-pc-haiku
1180*ae771770SStanislav Sedov	exit ;;
1181b528cefcSMark Murray    SX-4:SUPER-UX:*:*)
1182b528cefcSMark Murray	echo sx4-nec-superux${UNAME_RELEASE}
1183c19800e8SDoug Rabson	exit ;;
1184b528cefcSMark Murray    SX-5:SUPER-UX:*:*)
1185b528cefcSMark Murray	echo sx5-nec-superux${UNAME_RELEASE}
1186c19800e8SDoug Rabson	exit ;;
11871c43270aSJacques Vidrine    SX-6:SUPER-UX:*:*)
11881c43270aSJacques Vidrine	echo sx6-nec-superux${UNAME_RELEASE}
1189c19800e8SDoug Rabson	exit ;;
1190*ae771770SStanislav Sedov    SX-7:SUPER-UX:*:*)
1191*ae771770SStanislav Sedov	echo sx7-nec-superux${UNAME_RELEASE}
1192*ae771770SStanislav Sedov	exit ;;
1193*ae771770SStanislav Sedov    SX-8:SUPER-UX:*:*)
1194*ae771770SStanislav Sedov	echo sx8-nec-superux${UNAME_RELEASE}
1195*ae771770SStanislav Sedov	exit ;;
1196*ae771770SStanislav Sedov    SX-8R:SUPER-UX:*:*)
1197*ae771770SStanislav Sedov	echo sx8r-nec-superux${UNAME_RELEASE}
1198*ae771770SStanislav Sedov	exit ;;
1199b528cefcSMark Murray    Power*:Rhapsody:*:*)
1200b528cefcSMark Murray	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1201c19800e8SDoug Rabson	exit ;;
1202b528cefcSMark Murray    *:Rhapsody:*:*)
1203b528cefcSMark Murray	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1204c19800e8SDoug Rabson	exit ;;
12055e9cd1aeSAssar Westerlund    *:Darwin:*:*)
1206c19800e8SDoug Rabson	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1207c19800e8SDoug Rabson	case $UNAME_PROCESSOR in
1208*ae771770SStanislav Sedov	    i386)
1209*ae771770SStanislav Sedov		eval $set_cc_for_build
1210*ae771770SStanislav Sedov		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1211*ae771770SStanislav Sedov		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1212*ae771770SStanislav Sedov		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1213*ae771770SStanislav Sedov		      grep IS_64BIT_ARCH >/dev/null
1214*ae771770SStanislav Sedov		  then
1215*ae771770SStanislav Sedov		      UNAME_PROCESSOR="x86_64"
1216*ae771770SStanislav Sedov		  fi
1217*ae771770SStanislav Sedov		fi ;;
1218c19800e8SDoug Rabson	    unknown) UNAME_PROCESSOR=powerpc ;;
12191c43270aSJacques Vidrine	esac
12201c43270aSJacques Vidrine	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1221c19800e8SDoug Rabson	exit ;;
12225e9cd1aeSAssar Westerlund    *:procnto*:*:* | *:QNX:[0123456789]*:*)
12238373020dSJacques Vidrine	UNAME_PROCESSOR=`uname -p`
12248373020dSJacques Vidrine	if test "$UNAME_PROCESSOR" = "x86"; then
12258373020dSJacques Vidrine		UNAME_PROCESSOR=i386
12265e9cd1aeSAssar Westerlund		UNAME_MACHINE=pc
12275e9cd1aeSAssar Westerlund	fi
12288373020dSJacques Vidrine	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1229c19800e8SDoug Rabson	exit ;;
12305e9cd1aeSAssar Westerlund    *:QNX:*:4*)
12315e9cd1aeSAssar Westerlund	echo i386-pc-qnx
1232c19800e8SDoug Rabson	exit ;;
1233c19800e8SDoug Rabson    NSE-?:NONSTOP_KERNEL:*:*)
1234c19800e8SDoug Rabson	echo nse-tandem-nsk${UNAME_RELEASE}
1235c19800e8SDoug Rabson	exit ;;
12368d4ba808SJacques Vidrine    NSR-?:NONSTOP_KERNEL:*:*)
12375e9cd1aeSAssar Westerlund	echo nsr-tandem-nsk${UNAME_RELEASE}
1238c19800e8SDoug Rabson	exit ;;
12394137ff4cSJacques Vidrine    *:NonStop-UX:*:*)
12404137ff4cSJacques Vidrine	echo mips-compaq-nonstopux
1241c19800e8SDoug Rabson	exit ;;
12425e9cd1aeSAssar Westerlund    BS2000:POSIX*:*:*)
12435e9cd1aeSAssar Westerlund	echo bs2000-siemens-sysv
1244c19800e8SDoug Rabson	exit ;;
12455e9cd1aeSAssar Westerlund    DS/*:UNIX_System_V:*:*)
12465e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1247c19800e8SDoug Rabson	exit ;;
12485e9cd1aeSAssar Westerlund    *:Plan9:*:*)
12495e9cd1aeSAssar Westerlund	# "uname -m" is not consistent, so use $cputype instead. 386
12505e9cd1aeSAssar Westerlund	# is converted to i386 for consistency with other x86
12515e9cd1aeSAssar Westerlund	# operating systems.
12525e9cd1aeSAssar Westerlund	if test "$cputype" = "386"; then
12535e9cd1aeSAssar Westerlund	    UNAME_MACHINE=i386
12545e9cd1aeSAssar Westerlund	else
12555e9cd1aeSAssar Westerlund	    UNAME_MACHINE="$cputype"
12565e9cd1aeSAssar Westerlund	fi
12575e9cd1aeSAssar Westerlund	echo ${UNAME_MACHINE}-unknown-plan9
1258c19800e8SDoug Rabson	exit ;;
12594137ff4cSJacques Vidrine    *:TOPS-10:*:*)
12604137ff4cSJacques Vidrine	echo pdp10-unknown-tops10
1261c19800e8SDoug Rabson	exit ;;
12624137ff4cSJacques Vidrine    *:TENEX:*:*)
12634137ff4cSJacques Vidrine	echo pdp10-unknown-tenex
1264c19800e8SDoug Rabson	exit ;;
12654137ff4cSJacques Vidrine    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
12664137ff4cSJacques Vidrine	echo pdp10-dec-tops20
1267c19800e8SDoug Rabson	exit ;;
12684137ff4cSJacques Vidrine    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
12694137ff4cSJacques Vidrine	echo pdp10-xkl-tops20
1270c19800e8SDoug Rabson	exit ;;
12714137ff4cSJacques Vidrine    *:TOPS-20:*:*)
12724137ff4cSJacques Vidrine	echo pdp10-unknown-tops20
1273c19800e8SDoug Rabson	exit ;;
12744137ff4cSJacques Vidrine    *:ITS:*:*)
12754137ff4cSJacques Vidrine	echo pdp10-unknown-its
1276c19800e8SDoug Rabson	exit ;;
12771c43270aSJacques Vidrine    SEI:*:*:SEIUX)
12781c43270aSJacques Vidrine        echo mips-sei-seiux${UNAME_RELEASE}
1279c19800e8SDoug Rabson	exit ;;
12808d4ba808SJacques Vidrine    *:DragonFly:*:*)
12818d4ba808SJacques Vidrine	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1282c19800e8SDoug Rabson	exit ;;
1283c19800e8SDoug Rabson    *:*VMS:*:*)
1284c19800e8SDoug Rabson    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1285c19800e8SDoug Rabson	case "${UNAME_MACHINE}" in
1286c19800e8SDoug Rabson	    A*) echo alpha-dec-vms ; exit ;;
1287c19800e8SDoug Rabson	    I*) echo ia64-dec-vms ; exit ;;
1288c19800e8SDoug Rabson	    V*) echo vax-dec-vms ; exit ;;
1289c19800e8SDoug Rabson	esac ;;
1290c19800e8SDoug Rabson    *:XENIX:*:SysV)
1291c19800e8SDoug Rabson	echo i386-pc-xenix
1292c19800e8SDoug Rabson	exit ;;
1293c19800e8SDoug Rabson    i*86:skyos:*:*)
1294c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1295c19800e8SDoug Rabson	exit ;;
1296c19800e8SDoug Rabson    i*86:rdos:*:*)
1297c19800e8SDoug Rabson	echo ${UNAME_MACHINE}-pc-rdos
1298c19800e8SDoug Rabson	exit ;;
1299*ae771770SStanislav Sedov    i*86:AROS:*:*)
1300*ae771770SStanislav Sedov	echo ${UNAME_MACHINE}-pc-aros
1301*ae771770SStanislav Sedov	exit ;;
1302b528cefcSMark Murrayesac
1303b528cefcSMark Murray
1304b528cefcSMark Murray#echo '(No uname command or uname output not recognized.)' 1>&2
1305b528cefcSMark Murray#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1306b528cefcSMark Murray
13074137ff4cSJacques Vidrineeval $set_cc_for_build
1308b528cefcSMark Murraycat >$dummy.c <<EOF
1309b528cefcSMark Murray#ifdef _SEQUENT_
1310b528cefcSMark Murray# include <sys/types.h>
1311b528cefcSMark Murray# include <sys/utsname.h>
1312b528cefcSMark Murray#endif
1313b528cefcSMark Murraymain ()
1314b528cefcSMark Murray{
1315b528cefcSMark Murray#if defined (sony)
1316b528cefcSMark Murray#if defined (MIPSEB)
1317b528cefcSMark Murray  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1318b528cefcSMark Murray     I don't know....  */
1319b528cefcSMark Murray  printf ("mips-sony-bsd\n"); exit (0);
1320b528cefcSMark Murray#else
1321b528cefcSMark Murray#include <sys/param.h>
1322b528cefcSMark Murray  printf ("m68k-sony-newsos%s\n",
1323b528cefcSMark Murray#ifdef NEWSOS4
1324b528cefcSMark Murray          "4"
1325b528cefcSMark Murray#else
1326b528cefcSMark Murray	  ""
1327b528cefcSMark Murray#endif
1328b528cefcSMark Murray         ); exit (0);
1329b528cefcSMark Murray#endif
1330b528cefcSMark Murray#endif
1331b528cefcSMark Murray
1332b528cefcSMark Murray#if defined (__arm) && defined (__acorn) && defined (__unix)
1333c19800e8SDoug Rabson  printf ("arm-acorn-riscix\n"); exit (0);
1334b528cefcSMark Murray#endif
1335b528cefcSMark Murray
1336b528cefcSMark Murray#if defined (hp300) && !defined (hpux)
1337b528cefcSMark Murray  printf ("m68k-hp-bsd\n"); exit (0);
1338b528cefcSMark Murray#endif
1339b528cefcSMark Murray
1340b528cefcSMark Murray#if defined (NeXT)
1341b528cefcSMark Murray#if !defined (__ARCHITECTURE__)
1342b528cefcSMark Murray#define __ARCHITECTURE__ "m68k"
1343b528cefcSMark Murray#endif
1344b528cefcSMark Murray  int version;
1345b528cefcSMark Murray  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1346b528cefcSMark Murray  if (version < 4)
1347b528cefcSMark Murray    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1348b528cefcSMark Murray  else
1349b528cefcSMark Murray    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1350b528cefcSMark Murray  exit (0);
1351b528cefcSMark Murray#endif
1352b528cefcSMark Murray
1353b528cefcSMark Murray#if defined (MULTIMAX) || defined (n16)
1354b528cefcSMark Murray#if defined (UMAXV)
1355b528cefcSMark Murray  printf ("ns32k-encore-sysv\n"); exit (0);
1356b528cefcSMark Murray#else
1357b528cefcSMark Murray#if defined (CMU)
1358b528cefcSMark Murray  printf ("ns32k-encore-mach\n"); exit (0);
1359b528cefcSMark Murray#else
1360b528cefcSMark Murray  printf ("ns32k-encore-bsd\n"); exit (0);
1361b528cefcSMark Murray#endif
1362b528cefcSMark Murray#endif
1363b528cefcSMark Murray#endif
1364b528cefcSMark Murray
1365b528cefcSMark Murray#if defined (__386BSD__)
1366b528cefcSMark Murray  printf ("i386-pc-bsd\n"); exit (0);
1367b528cefcSMark Murray#endif
1368b528cefcSMark Murray
1369b528cefcSMark Murray#if defined (sequent)
1370b528cefcSMark Murray#if defined (i386)
1371b528cefcSMark Murray  printf ("i386-sequent-dynix\n"); exit (0);
1372b528cefcSMark Murray#endif
1373b528cefcSMark Murray#if defined (ns32000)
1374b528cefcSMark Murray  printf ("ns32k-sequent-dynix\n"); exit (0);
1375b528cefcSMark Murray#endif
1376b528cefcSMark Murray#endif
1377b528cefcSMark Murray
1378b528cefcSMark Murray#if defined (_SEQUENT_)
1379b528cefcSMark Murray    struct utsname un;
1380b528cefcSMark Murray
1381b528cefcSMark Murray    uname(&un);
1382b528cefcSMark Murray
1383b528cefcSMark Murray    if (strncmp(un.version, "V2", 2) == 0) {
1384b528cefcSMark Murray	printf ("i386-sequent-ptx2\n"); exit (0);
1385b528cefcSMark Murray    }
1386b528cefcSMark Murray    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1387b528cefcSMark Murray	printf ("i386-sequent-ptx1\n"); exit (0);
1388b528cefcSMark Murray    }
1389b528cefcSMark Murray    printf ("i386-sequent-ptx\n"); exit (0);
1390b528cefcSMark Murray
1391b528cefcSMark Murray#endif
1392b528cefcSMark Murray
1393b528cefcSMark Murray#if defined (vax)
1394b528cefcSMark Murray# if !defined (ultrix)
13954137ff4cSJacques Vidrine#  include <sys/param.h>
13964137ff4cSJacques Vidrine#  if defined (BSD)
13974137ff4cSJacques Vidrine#   if BSD == 43
13984137ff4cSJacques Vidrine      printf ("vax-dec-bsd4.3\n"); exit (0);
13994137ff4cSJacques Vidrine#   else
14004137ff4cSJacques Vidrine#    if BSD == 199006
14014137ff4cSJacques Vidrine      printf ("vax-dec-bsd4.3reno\n"); exit (0);
14024137ff4cSJacques Vidrine#    else
1403b528cefcSMark Murray      printf ("vax-dec-bsd\n"); exit (0);
14044137ff4cSJacques Vidrine#    endif
14054137ff4cSJacques Vidrine#   endif
14064137ff4cSJacques Vidrine#  else
14074137ff4cSJacques Vidrine    printf ("vax-dec-bsd\n"); exit (0);
14084137ff4cSJacques Vidrine#  endif
1409b528cefcSMark Murray# else
1410b528cefcSMark Murray    printf ("vax-dec-ultrix\n"); exit (0);
1411b528cefcSMark Murray# endif
1412b528cefcSMark Murray#endif
1413b528cefcSMark Murray
1414b528cefcSMark Murray#if defined (alliant) && defined (i860)
1415b528cefcSMark Murray  printf ("i860-alliant-bsd\n"); exit (0);
1416b528cefcSMark Murray#endif
1417b528cefcSMark Murray
1418b528cefcSMark Murray  exit (1);
1419b528cefcSMark Murray}
1420b528cefcSMark MurrayEOF
1421b528cefcSMark Murray
1422c19800e8SDoug Rabson$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1423c19800e8SDoug Rabson	{ echo "$SYSTEM_NAME"; exit; }
1424b528cefcSMark Murray
1425b528cefcSMark Murray# Apollos put the system type in the environment.
1426b528cefcSMark Murray
1427c19800e8SDoug Rabsontest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1428b528cefcSMark Murray
1429b528cefcSMark Murray# Convex versions that predate uname can use getsysinfo(1)
1430b528cefcSMark Murray
1431b528cefcSMark Murrayif [ -x /usr/convex/getsysinfo ]
1432b528cefcSMark Murraythen
1433b528cefcSMark Murray    case `getsysinfo -f cpu_type` in
1434b528cefcSMark Murray    c1*)
1435b528cefcSMark Murray	echo c1-convex-bsd
1436c19800e8SDoug Rabson	exit ;;
1437b528cefcSMark Murray    c2*)
1438b528cefcSMark Murray	if getsysinfo -f scalar_acc
1439b528cefcSMark Murray	then echo c32-convex-bsd
1440b528cefcSMark Murray	else echo c2-convex-bsd
1441b528cefcSMark Murray	fi
1442c19800e8SDoug Rabson	exit ;;
1443b528cefcSMark Murray    c34*)
1444b528cefcSMark Murray	echo c34-convex-bsd
1445c19800e8SDoug Rabson	exit ;;
1446b528cefcSMark Murray    c38*)
1447b528cefcSMark Murray	echo c38-convex-bsd
1448c19800e8SDoug Rabson	exit ;;
1449b528cefcSMark Murray    c4*)
1450b528cefcSMark Murray	echo c4-convex-bsd
1451c19800e8SDoug Rabson	exit ;;
1452b528cefcSMark Murray    esac
1453b528cefcSMark Murrayfi
1454b528cefcSMark Murray
14555e9cd1aeSAssar Westerlundcat >&2 <<EOF
14565e9cd1aeSAssar Westerlund$0: unable to guess system type
14575e9cd1aeSAssar Westerlund
14584137ff4cSJacques VidrineThis script, last modified $timestamp, has failed to recognize
14594137ff4cSJacques Vidrinethe operating system you are using. It is advised that you
14604137ff4cSJacques Vidrinedownload the most up to date version of the config scripts from
14615e9cd1aeSAssar Westerlund
1462*ae771770SStanislav Sedov  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1463c19800e8SDoug Rabsonand
1464*ae771770SStanislav Sedov  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
14655e9cd1aeSAssar Westerlund
14665e9cd1aeSAssar WesterlundIf the version you run ($0) is already up to date, please
14675e9cd1aeSAssar Westerlundsend the following data and any information you think might be
14685e9cd1aeSAssar Westerlundpertinent to <config-patches@gnu.org> in order to provide the needed
14695e9cd1aeSAssar Westerlundinformation to handle your system.
14705e9cd1aeSAssar Westerlund
14714137ff4cSJacques Vidrineconfig.guess timestamp = $timestamp
14725e9cd1aeSAssar Westerlund
14735e9cd1aeSAssar Westerlunduname -m = `(uname -m) 2>/dev/null || echo unknown`
14745e9cd1aeSAssar Westerlunduname -r = `(uname -r) 2>/dev/null || echo unknown`
14755e9cd1aeSAssar Westerlunduname -s = `(uname -s) 2>/dev/null || echo unknown`
14765e9cd1aeSAssar Westerlunduname -v = `(uname -v) 2>/dev/null || echo unknown`
14775e9cd1aeSAssar Westerlund
14785e9cd1aeSAssar Westerlund/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
14795e9cd1aeSAssar Westerlund/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
14805e9cd1aeSAssar Westerlund
14815e9cd1aeSAssar Westerlundhostinfo               = `(hostinfo) 2>/dev/null`
14825e9cd1aeSAssar Westerlund/bin/universe          = `(/bin/universe) 2>/dev/null`
14835e9cd1aeSAssar Westerlund/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
14845e9cd1aeSAssar Westerlund/bin/arch              = `(/bin/arch) 2>/dev/null`
14855e9cd1aeSAssar Westerlund/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
14865e9cd1aeSAssar Westerlund/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
14875e9cd1aeSAssar Westerlund
14885e9cd1aeSAssar WesterlundUNAME_MACHINE = ${UNAME_MACHINE}
14895e9cd1aeSAssar WesterlundUNAME_RELEASE = ${UNAME_RELEASE}
14905e9cd1aeSAssar WesterlundUNAME_SYSTEM  = ${UNAME_SYSTEM}
14915e9cd1aeSAssar WesterlundUNAME_VERSION = ${UNAME_VERSION}
14925e9cd1aeSAssar WesterlundEOF
1493b528cefcSMark Murray
1494b528cefcSMark Murrayexit 1
14955e9cd1aeSAssar Westerlund
14965e9cd1aeSAssar Westerlund# Local variables:
14975e9cd1aeSAssar Westerlund# eval: (add-hook 'write-file-hooks 'time-stamp)
14984137ff4cSJacques Vidrine# time-stamp-start: "timestamp='"
14995e9cd1aeSAssar Westerlund# time-stamp-format: "%:y-%02m-%02d"
15005e9cd1aeSAssar Westerlund# time-stamp-end: "'"
15015e9cd1aeSAssar Westerlund# End:
1502