xref: /freebsd/contrib/tcpdump/config.guess (revision 8bdc5a6251ddffc81a013f36b4384c8ace9c4bec)
14edb46e9SPaul Traina#! /bin/sh
24edb46e9SPaul Traina# Attempt to guess a canonical system name.
3*8bdc5a62SPatrick Kelsey#   Copyright 1992-2015 Free Software Foundation, Inc.
4685295f4SBill Fenner
5*8bdc5a62SPatrick Kelseytimestamp='2015-02-23'
6685295f4SBill Fenner
74edb46e9SPaul Traina# This file is free software; you can redistribute it and/or modify it
84edb46e9SPaul Traina# under the terms of the GNU General Public License as published by
9*8bdc5a62SPatrick Kelsey# the Free Software Foundation; either version 3 of the License, or
104edb46e9SPaul Traina# (at your option) any later version.
114edb46e9SPaul Traina#
124edb46e9SPaul Traina# This program is distributed in the hope that it will be useful, but
134edb46e9SPaul Traina# WITHOUT ANY WARRANTY; without even the implied warranty of
144edb46e9SPaul Traina# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
154edb46e9SPaul Traina# General Public License for more details.
164edb46e9SPaul Traina#
174edb46e9SPaul Traina# You should have received a copy of the GNU General Public License
183c602fabSXin LI# along with this program; if not, see <http://www.gnu.org/licenses/>.
194edb46e9SPaul Traina#
204edb46e9SPaul Traina# As a special exception to the GNU General Public License, if you
214edb46e9SPaul Traina# distribute this file as part of a program that contains a
224edb46e9SPaul Traina# configuration script generated by Autoconf, you may include it under
23*8bdc5a62SPatrick Kelsey# the same distribution terms that you use for the rest of that
24*8bdc5a62SPatrick Kelsey# program.  This Exception is an additional permission under section 7
25*8bdc5a62SPatrick Kelsey# of the GNU General Public License, version 3 ("GPLv3").
264edb46e9SPaul Traina#
27*8bdc5a62SPatrick Kelsey# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
284edb46e9SPaul Traina#
2927df3f5dSRui Paulo# You can get the latest version of this script from:
3027df3f5dSRui Paulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
31*8bdc5a62SPatrick Kelsey#
32*8bdc5a62SPatrick Kelsey# Please send patches to <config-patches@gnu.org>.
33*8bdc5a62SPatrick Kelsey
344edb46e9SPaul Traina
35685295f4SBill Fennerme=`echo "$0" | sed -e 's,.*/,,'`
36685295f4SBill Fenner
37685295f4SBill Fennerusage="\
38685295f4SBill FennerUsage: $0 [OPTION]
39685295f4SBill Fenner
40685295f4SBill FennerOutput the configuration name of the system \`$me' is run on.
41685295f4SBill Fenner
42685295f4SBill FennerOperation modes:
43685295f4SBill Fenner  -h, --help         print this help, then exit
44685295f4SBill Fenner  -t, --time-stamp   print date of last modification, then exit
45685295f4SBill Fenner  -v, --version      print version number, then exit
46685295f4SBill Fenner
47685295f4SBill FennerReport bugs and patches to <config-patches@gnu.org>."
48685295f4SBill Fenner
49685295f4SBill Fennerversion="\
50685295f4SBill FennerGNU config.guess ($timestamp)
51685295f4SBill Fenner
52685295f4SBill FennerOriginally written by Per Bothner.
53*8bdc5a62SPatrick KelseyCopyright 1992-2015 Free Software Foundation, Inc.
54685295f4SBill Fenner
55685295f4SBill FennerThis is free software; see the source for copying conditions.  There is NO
56685295f4SBill Fennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57685295f4SBill Fenner
58685295f4SBill Fennerhelp="
59685295f4SBill FennerTry \`$me --help' for more information."
60685295f4SBill Fenner
61685295f4SBill Fenner# Parse command line
62685295f4SBill Fennerwhile test $# -gt 0 ; do
63685295f4SBill Fenner  case $1 in
64685295f4SBill Fenner    --time-stamp | --time* | -t )
6527df3f5dSRui Paulo       echo "$timestamp" ; exit ;;
66685295f4SBill Fenner    --version | -v )
6727df3f5dSRui Paulo       echo "$version" ; exit ;;
68685295f4SBill Fenner    --help | --h* | -h )
6927df3f5dSRui Paulo       echo "$usage"; exit ;;
70685295f4SBill Fenner    -- )     # Stop option processing
71685295f4SBill Fenner       shift; break ;;
72685295f4SBill Fenner    - )	# Use stdin as input.
73685295f4SBill Fenner       break ;;
74685295f4SBill Fenner    -* )
75685295f4SBill Fenner       echo "$me: invalid option $1$help" >&2
76685295f4SBill Fenner       exit 1 ;;
77685295f4SBill Fenner    * )
78685295f4SBill Fenner       break ;;
79685295f4SBill Fenner  esac
80685295f4SBill Fennerdone
81685295f4SBill Fenner
82685295f4SBill Fennerif test $# != 0; then
83685295f4SBill Fenner  echo "$me: too many arguments$help" >&2
84685295f4SBill Fenner  exit 1
85685295f4SBill Fennerfi
86685295f4SBill Fenner
875b0fe478SBruce M Simpsontrap 'exit 1' 1 2 15
88685295f4SBill Fenner
895b0fe478SBruce M Simpson# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
905b0fe478SBruce M Simpson# compiler to aid in system detection is discouraged as it requires
915b0fe478SBruce M Simpson# temporary files to be created and, as you can see below, it is a
925b0fe478SBruce M Simpson# headache to deal with in a portable fashion.
93685295f4SBill Fenner
94685295f4SBill Fenner# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95685295f4SBill Fenner# use `HOST_CC' if defined, but it is deprecated.
96685295f4SBill Fenner
975b0fe478SBruce M Simpson# Portable tmp directory creation inspired by the Autoconf team.
985b0fe478SBruce M Simpson
995b0fe478SBruce M Simpsonset_cc_for_build='
1005b0fe478SBruce M Simpsontrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1015b0fe478SBruce M Simpsontrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1025b0fe478SBruce M Simpson: ${TMPDIR=/tmp} ;
10327df3f5dSRui Paulo { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1045b0fe478SBruce M Simpson { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1055b0fe478SBruce M Simpson { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1065b0fe478SBruce M Simpson { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1075b0fe478SBruce M Simpsondummy=$tmp/dummy ;
1085b0fe478SBruce M Simpsontmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109685295f4SBill Fennercase $CC_FOR_BUILD,$HOST_CC,$CC in
1105b0fe478SBruce M Simpson ,,)    echo "int x;" > $dummy.c ;
1115b0fe478SBruce M Simpson	for c in cc gcc c89 c99 ; do
1125b0fe478SBruce M Simpson	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1135b0fe478SBruce M Simpson	     CC_FOR_BUILD="$c"; break ;
1145b0fe478SBruce M Simpson	  fi ;
1155b0fe478SBruce M Simpson	done ;
116685295f4SBill Fenner	if test x"$CC_FOR_BUILD" = x ; then
1175b0fe478SBruce M Simpson	  CC_FOR_BUILD=no_compiler_found ;
118685295f4SBill Fenner	fi
119685295f4SBill Fenner	;;
120685295f4SBill Fenner ,,*)   CC_FOR_BUILD=$CC ;;
121685295f4SBill Fenner ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
12227df3f5dSRui Pauloesac ; set_cc_for_build= ;'
123685295f4SBill Fenner
1244edb46e9SPaul Traina# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1255b0fe478SBruce M Simpson# (ghazi@noc.rutgers.edu 1994-08-24)
1264edb46e9SPaul Trainaif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1274edb46e9SPaul Traina	PATH=$PATH:/.attbin ; export PATH
1284edb46e9SPaul Trainafi
1294edb46e9SPaul Traina
1304edb46e9SPaul TrainaUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1314edb46e9SPaul TrainaUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1324edb46e9SPaul TrainaUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1334edb46e9SPaul TrainaUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1344edb46e9SPaul Traina
135*8bdc5a62SPatrick Kelseycase "${UNAME_SYSTEM}" in
136*8bdc5a62SPatrick KelseyLinux|GNU|GNU/*)
137*8bdc5a62SPatrick Kelsey	# If the system lacks a compiler, then just pick glibc.
138*8bdc5a62SPatrick Kelsey	# We could probably try harder.
139*8bdc5a62SPatrick Kelsey	LIBC=gnu
140*8bdc5a62SPatrick Kelsey
141*8bdc5a62SPatrick Kelsey	eval $set_cc_for_build
142*8bdc5a62SPatrick Kelsey	cat <<-EOF > $dummy.c
143*8bdc5a62SPatrick Kelsey	#include <features.h>
144*8bdc5a62SPatrick Kelsey	#if defined(__UCLIBC__)
145*8bdc5a62SPatrick Kelsey	LIBC=uclibc
146*8bdc5a62SPatrick Kelsey	#elif defined(__dietlibc__)
147*8bdc5a62SPatrick Kelsey	LIBC=dietlibc
148*8bdc5a62SPatrick Kelsey	#else
149*8bdc5a62SPatrick Kelsey	LIBC=gnu
150*8bdc5a62SPatrick Kelsey	#endif
151*8bdc5a62SPatrick Kelsey	EOF
152*8bdc5a62SPatrick Kelsey	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
153*8bdc5a62SPatrick Kelsey	;;
154*8bdc5a62SPatrick Kelseyesac
155*8bdc5a62SPatrick Kelsey
1564edb46e9SPaul Traina# Note: order is significant - the case branches are not exclusive.
1574edb46e9SPaul Traina
1584edb46e9SPaul Trainacase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159685295f4SBill Fenner    *:NetBSD:*:*)
1605b0fe478SBruce M Simpson	# NetBSD (nbsd) targets should (where applicable) match one or
1613c602fabSXin LI	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162685295f4SBill Fenner	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
163685295f4SBill Fenner	# switched to ELF, *-*-netbsd* would select the old
164685295f4SBill Fenner	# object file format.  This provides both forward
165685295f4SBill Fenner	# compatibility and a consistent mechanism for selecting the
166685295f4SBill Fenner	# object file format.
1675b0fe478SBruce M Simpson	#
1685b0fe478SBruce M Simpson	# Note: NetBSD doesn't particularly care about the vendor
1695b0fe478SBruce M Simpson	# portion of the name.  We always set it to "unknown".
1705b0fe478SBruce M Simpson	sysctl="sysctl -n hw.machine_arch"
171*8bdc5a62SPatrick Kelsey	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172*8bdc5a62SPatrick Kelsey	    /sbin/$sysctl 2>/dev/null || \
173*8bdc5a62SPatrick Kelsey	    /usr/sbin/$sysctl 2>/dev/null || \
174*8bdc5a62SPatrick Kelsey	    echo unknown)`
1755b0fe478SBruce M Simpson	case "${UNAME_MACHINE_ARCH}" in
1765b0fe478SBruce M Simpson	    armeb) machine=armeb-unknown ;;
1775b0fe478SBruce M Simpson	    arm*) machine=arm-unknown ;;
1785b0fe478SBruce M Simpson	    sh3el) machine=shl-unknown ;;
1795b0fe478SBruce M Simpson	    sh3eb) machine=sh-unknown ;;
18027df3f5dSRui Paulo	    sh5el) machine=sh5le-unknown ;;
181*8bdc5a62SPatrick Kelsey	    earmv*)
182*8bdc5a62SPatrick Kelsey		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183*8bdc5a62SPatrick Kelsey		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
184*8bdc5a62SPatrick Kelsey		machine=${arch}${endian}-unknown
185*8bdc5a62SPatrick Kelsey		;;
1865b0fe478SBruce M Simpson	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
187685295f4SBill Fenner	esac
188685295f4SBill Fenner	# The Operating System including object format, if it has switched
189685295f4SBill Fenner	# to ELF recently, or will in the future.
1905b0fe478SBruce M Simpson	case "${UNAME_MACHINE_ARCH}" in
191*8bdc5a62SPatrick Kelsey	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
1925b0fe478SBruce M Simpson		eval $set_cc_for_build
193685295f4SBill Fenner		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
19427df3f5dSRui Paulo			| grep -q __ELF__
195685295f4SBill Fenner		then
196685295f4SBill Fenner		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
197685295f4SBill Fenner		    # Return netbsd for either.  FIX?
198685295f4SBill Fenner		    os=netbsd
199685295f4SBill Fenner		else
200685295f4SBill Fenner		    os=netbsdelf
201685295f4SBill Fenner		fi
202685295f4SBill Fenner		;;
203685295f4SBill Fenner	    *)
204685295f4SBill Fenner		os=netbsd
205685295f4SBill Fenner		;;
206685295f4SBill Fenner	esac
207*8bdc5a62SPatrick Kelsey	# Determine ABI tags.
208*8bdc5a62SPatrick Kelsey	case "${UNAME_MACHINE_ARCH}" in
209*8bdc5a62SPatrick Kelsey	    earm*)
210*8bdc5a62SPatrick Kelsey		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
211*8bdc5a62SPatrick Kelsey		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
212*8bdc5a62SPatrick Kelsey		;;
213*8bdc5a62SPatrick Kelsey	esac
214685295f4SBill Fenner	# The OS release
2155b0fe478SBruce M Simpson	# Debian GNU/NetBSD machines have a different userland, and
2165b0fe478SBruce M Simpson	# thus, need a distinct triplet. However, they do not need
2175b0fe478SBruce M Simpson	# kernel version information, so it can be replaced with a
2185b0fe478SBruce M Simpson	# suitable tag, in the style of linux-gnu.
2195b0fe478SBruce M Simpson	case "${UNAME_VERSION}" in
2205b0fe478SBruce M Simpson	    Debian*)
2215b0fe478SBruce M Simpson		release='-gnu'
2225b0fe478SBruce M Simpson		;;
2235b0fe478SBruce M Simpson	    *)
224685295f4SBill Fenner		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
2255b0fe478SBruce M Simpson		;;
2265b0fe478SBruce M Simpson	esac
227685295f4SBill Fenner	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
228685295f4SBill Fenner	# contains redundant information, the shorter form:
229685295f4SBill Fenner	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
230*8bdc5a62SPatrick Kelsey	echo "${machine}-${os}${release}${abi}"
231*8bdc5a62SPatrick Kelsey	exit ;;
232*8bdc5a62SPatrick Kelsey    *:Bitrig:*:*)
233*8bdc5a62SPatrick Kelsey	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
234*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
23527df3f5dSRui Paulo	exit ;;
2365b0fe478SBruce M Simpson    *:OpenBSD:*:*)
23727df3f5dSRui Paulo	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
23827df3f5dSRui Paulo	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
23927df3f5dSRui Paulo	exit ;;
24027df3f5dSRui Paulo    *:ekkoBSD:*:*)
24127df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
24227df3f5dSRui Paulo	exit ;;
24327df3f5dSRui Paulo    *:SolidBSD:*:*)
24427df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
24527df3f5dSRui Paulo	exit ;;
24627df3f5dSRui Paulo    macppc:MirBSD:*:*)
24727df3f5dSRui Paulo	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
24827df3f5dSRui Paulo	exit ;;
24927df3f5dSRui Paulo    *:MirBSD:*:*)
25027df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
25127df3f5dSRui Paulo	exit ;;
2524edb46e9SPaul Traina    alpha:OSF1:*:*)
25327df3f5dSRui Paulo	case $UNAME_RELEASE in
25427df3f5dSRui Paulo	*4.0)
255685295f4SBill Fenner		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
25627df3f5dSRui Paulo		;;
25727df3f5dSRui Paulo	*5.*)
25827df3f5dSRui Paulo		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
25927df3f5dSRui Paulo		;;
26027df3f5dSRui Paulo	esac
2615b0fe478SBruce M Simpson	# According to Compaq, /usr/sbin/psrinfo has been available on
2625b0fe478SBruce M Simpson	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2635b0fe478SBruce M Simpson	# covers most systems running today.  This code pipes the CPU
2645b0fe478SBruce M Simpson	# types through head -n 1, so we only detect the type of CPU 0.
2655b0fe478SBruce M Simpson	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2665b0fe478SBruce M Simpson	case "$ALPHA_CPU_TYPE" in
2675b0fe478SBruce M Simpson	    "EV4 (21064)")
2685b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2695b0fe478SBruce M Simpson	    "EV4.5 (21064)")
2705b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2715b0fe478SBruce M Simpson	    "LCA4 (21066/21068)")
2725b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2735b0fe478SBruce M Simpson	    "EV5 (21164)")
2745b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev5" ;;
2755b0fe478SBruce M Simpson	    "EV5.6 (21164A)")
2765b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev56" ;;
2775b0fe478SBruce M Simpson	    "EV5.6 (21164PC)")
2785b0fe478SBruce M Simpson		UNAME_MACHINE="alphapca56" ;;
2795b0fe478SBruce M Simpson	    "EV5.7 (21164PC)")
2805b0fe478SBruce M Simpson		UNAME_MACHINE="alphapca57" ;;
2815b0fe478SBruce M Simpson	    "EV6 (21264)")
2825b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev6" ;;
2835b0fe478SBruce M Simpson	    "EV6.7 (21264A)")
2845b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev67" ;;
2855b0fe478SBruce M Simpson	    "EV6.8CB (21264C)")
2865b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2875b0fe478SBruce M Simpson	    "EV6.8AL (21264B)")
2885b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2895b0fe478SBruce M Simpson	    "EV6.8CX (21264D)")
2905b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2915b0fe478SBruce M Simpson	    "EV6.9A (21264/EV69A)")
2925b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev69" ;;
2935b0fe478SBruce M Simpson	    "EV7 (21364)")
2945b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev7" ;;
2955b0fe478SBruce M Simpson	    "EV7.9 (21364A)")
2965b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev79" ;;
2975b0fe478SBruce M Simpson	esac
29827df3f5dSRui Paulo	# A Pn.n version is a patched version.
2994edb46e9SPaul Traina	# A Vn.n version is a released version.
3004edb46e9SPaul Traina	# A Tn.n version is a released field test version.
3014edb46e9SPaul Traina	# A Xn.n version is an unreleased experimental baselevel.
3024edb46e9SPaul Traina	# 1.2 uses "1.2" for uname -r.
30327df3f5dSRui Paulo	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
3043c602fabSXin LI	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
3053c602fabSXin LI	exitcode=$?
3063c602fabSXin LI	trap '' 0
3073c602fabSXin LI	exit $exitcode ;;
308685295f4SBill Fenner    Alpha\ *:Windows_NT*:*)
309685295f4SBill Fenner	# How do we know it's Interix rather than the generic POSIX subsystem?
310685295f4SBill Fenner	# Should we change UNAME_MACHINE based on the output of uname instead
311685295f4SBill Fenner	# of the specific Alpha model?
312685295f4SBill Fenner	echo alpha-pc-interix
31327df3f5dSRui Paulo	exit ;;
3144edb46e9SPaul Traina    21064:Windows_NT:50:3)
3154edb46e9SPaul Traina	echo alpha-dec-winnt3.5
31627df3f5dSRui Paulo	exit ;;
3174edb46e9SPaul Traina    Amiga*:UNIX_System_V:4.0:*)
318685295f4SBill Fenner	echo m68k-unknown-sysv4
31927df3f5dSRui Paulo	exit ;;
320685295f4SBill Fenner    *:[Aa]miga[Oo][Ss]:*:*)
321685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-amigaos
32227df3f5dSRui Paulo	exit ;;
3235b0fe478SBruce M Simpson    *:[Mm]orph[Oo][Ss]:*:*)
3245b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-morphos
32527df3f5dSRui Paulo	exit ;;
326685295f4SBill Fenner    *:OS/390:*:*)
327685295f4SBill Fenner	echo i370-ibm-openedition
32827df3f5dSRui Paulo	exit ;;
32927df3f5dSRui Paulo    *:z/VM:*:*)
33027df3f5dSRui Paulo	echo s390-ibm-zvmoe
33127df3f5dSRui Paulo	exit ;;
3325b0fe478SBruce M Simpson    *:OS400:*:*)
3335b0fe478SBruce M Simpson	echo powerpc-ibm-os400
33427df3f5dSRui Paulo	exit ;;
3354edb46e9SPaul Traina    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3364edb46e9SPaul Traina	echo arm-acorn-riscix${UNAME_RELEASE}
33727df3f5dSRui Paulo	exit ;;
338*8bdc5a62SPatrick Kelsey    arm*:riscos:*:*|arm*:RISCOS:*:*)
33927df3f5dSRui Paulo	echo arm-unknown-riscos
34027df3f5dSRui Paulo	exit ;;
341a90e161bSBill Fenner    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
342685295f4SBill Fenner	echo hppa1.1-hitachi-hiuxmpp
34327df3f5dSRui Paulo	exit ;;
344685295f4SBill Fenner    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3454de76e31SBill Fenner	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3464edb46e9SPaul Traina	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3474edb46e9SPaul Traina		echo pyramid-pyramid-sysv3
3484edb46e9SPaul Traina	else
3494edb46e9SPaul Traina		echo pyramid-pyramid-bsd
3504edb46e9SPaul Traina	fi
35127df3f5dSRui Paulo	exit ;;
352685295f4SBill Fenner    NILE*:*:*:dcosx)
3534de76e31SBill Fenner	echo pyramid-pyramid-svr4
35427df3f5dSRui Paulo	exit ;;
3555b0fe478SBruce M Simpson    DRS?6000:unix:4.0:6*)
3565b0fe478SBruce M Simpson	echo sparc-icl-nx6
35727df3f5dSRui Paulo	exit ;;
35827df3f5dSRui Paulo    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3595b0fe478SBruce M Simpson	case `/usr/bin/uname -p` in
36027df3f5dSRui Paulo	    sparc) echo sparc-icl-nx7; exit ;;
3615b0fe478SBruce M Simpson	esac ;;
36227df3f5dSRui Paulo    s390x:SunOS:*:*)
36327df3f5dSRui Paulo	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
36427df3f5dSRui Paulo	exit ;;
365685295f4SBill Fenner    sun4H:SunOS:5.*:*)
366685295f4SBill Fenner	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
36727df3f5dSRui Paulo	exit ;;
3684de76e31SBill Fenner    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3694edb46e9SPaul Traina	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
37027df3f5dSRui Paulo	exit ;;
37127df3f5dSRui Paulo    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
37227df3f5dSRui Paulo	echo i386-pc-auroraux${UNAME_RELEASE}
37327df3f5dSRui Paulo	exit ;;
37427df3f5dSRui Paulo    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
37527df3f5dSRui Paulo	eval $set_cc_for_build
37627df3f5dSRui Paulo	SUN_ARCH="i386"
37727df3f5dSRui Paulo	# If there is a compiler, see if it is configured for 64-bit objects.
37827df3f5dSRui Paulo	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
37927df3f5dSRui Paulo	# This test works for both compilers.
38027df3f5dSRui Paulo	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
38127df3f5dSRui Paulo	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
38227df3f5dSRui Paulo		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
38327df3f5dSRui Paulo		grep IS_64BIT_ARCH >/dev/null
38427df3f5dSRui Paulo	    then
38527df3f5dSRui Paulo		SUN_ARCH="x86_64"
38627df3f5dSRui Paulo	    fi
38727df3f5dSRui Paulo	fi
38827df3f5dSRui Paulo	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
38927df3f5dSRui Paulo	exit ;;
3904edb46e9SPaul Traina    sun4*:SunOS:6*:*)
3914edb46e9SPaul Traina	# According to config.sub, this is the proper way to canonicalize
3924edb46e9SPaul Traina	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3934edb46e9SPaul Traina	# it's likely to be more like Solaris than SunOS4.
3944edb46e9SPaul Traina	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
39527df3f5dSRui Paulo	exit ;;
3964edb46e9SPaul Traina    sun4*:SunOS:*:*)
3974edb46e9SPaul Traina	case "`/usr/bin/arch -k`" in
3984edb46e9SPaul Traina	    Series*|S4*)
3994edb46e9SPaul Traina		UNAME_RELEASE=`uname -v`
4004edb46e9SPaul Traina		;;
4014edb46e9SPaul Traina	esac
4024edb46e9SPaul Traina	# Japanese Language versions have a version number like `4.1.3-JL'.
4034edb46e9SPaul Traina	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
40427df3f5dSRui Paulo	exit ;;
4054edb46e9SPaul Traina    sun3*:SunOS:*:*)
4064edb46e9SPaul Traina	echo m68k-sun-sunos${UNAME_RELEASE}
40727df3f5dSRui Paulo	exit ;;
408685295f4SBill Fenner    sun*:*:4.2BSD:*)
4095b0fe478SBruce M Simpson	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
410685295f4SBill Fenner	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
411685295f4SBill Fenner	case "`/bin/arch`" in
412685295f4SBill Fenner	    sun3)
413685295f4SBill Fenner		echo m68k-sun-sunos${UNAME_RELEASE}
414685295f4SBill Fenner		;;
415685295f4SBill Fenner	    sun4)
416685295f4SBill Fenner		echo sparc-sun-sunos${UNAME_RELEASE}
417685295f4SBill Fenner		;;
418685295f4SBill Fenner	esac
41927df3f5dSRui Paulo	exit ;;
4204de76e31SBill Fenner    aushp:SunOS:*:*)
4214de76e31SBill Fenner	echo sparc-auspex-sunos${UNAME_RELEASE}
42227df3f5dSRui Paulo	exit ;;
423685295f4SBill Fenner    # The situation for MiNT is a little confusing.  The machine name
424685295f4SBill Fenner    # can be virtually everything (everything which is not
425685295f4SBill Fenner    # "atarist" or "atariste" at least should have a processor
426685295f4SBill Fenner    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
427685295f4SBill Fenner    # to the lowercase version "mint" (or "freemint").  Finally
428685295f4SBill Fenner    # the system name "TOS" denotes a system which is actually not
429685295f4SBill Fenner    # MiNT.  But MiNT is downward compatible to TOS, so this should
430685295f4SBill Fenner    # be no problem.
431685295f4SBill Fenner    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
432685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
43327df3f5dSRui Paulo	exit ;;
434685295f4SBill Fenner    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
435685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
43627df3f5dSRui Paulo	exit ;;
437685295f4SBill Fenner    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
438685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
43927df3f5dSRui Paulo	exit ;;
440685295f4SBill Fenner    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
441685295f4SBill Fenner	echo m68k-milan-mint${UNAME_RELEASE}
44227df3f5dSRui Paulo	exit ;;
443685295f4SBill Fenner    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
444685295f4SBill Fenner	echo m68k-hades-mint${UNAME_RELEASE}
44527df3f5dSRui Paulo	exit ;;
446685295f4SBill Fenner    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
447685295f4SBill Fenner	echo m68k-unknown-mint${UNAME_RELEASE}
44827df3f5dSRui Paulo	exit ;;
44927df3f5dSRui Paulo    m68k:machten:*:*)
45027df3f5dSRui Paulo	echo m68k-apple-machten${UNAME_RELEASE}
45127df3f5dSRui Paulo	exit ;;
4524de76e31SBill Fenner    powerpc:machten:*:*)
4534de76e31SBill Fenner	echo powerpc-apple-machten${UNAME_RELEASE}
45427df3f5dSRui Paulo	exit ;;
4554de76e31SBill Fenner    RISC*:Mach:*:*)
4564de76e31SBill Fenner	echo mips-dec-mach_bsd4.3
45727df3f5dSRui Paulo	exit ;;
4584edb46e9SPaul Traina    RISC*:ULTRIX:*:*)
4594edb46e9SPaul Traina	echo mips-dec-ultrix${UNAME_RELEASE}
46027df3f5dSRui Paulo	exit ;;
4614edb46e9SPaul Traina    VAX*:ULTRIX*:*:*)
4624edb46e9SPaul Traina	echo vax-dec-ultrix${UNAME_RELEASE}
46327df3f5dSRui Paulo	exit ;;
464685295f4SBill Fenner    2020:CLIX:*:* | 2430:CLIX:*:*)
465685295f4SBill Fenner	echo clipper-intergraph-clix${UNAME_RELEASE}
46627df3f5dSRui Paulo	exit ;;
4674de76e31SBill Fenner    mips:*:*:UMIPS | mips:*:*:RISCos)
4685b0fe478SBruce M Simpson	eval $set_cc_for_build
469685295f4SBill Fenner	sed 's/^	//' << EOF >$dummy.c
470685295f4SBill Fenner#ifdef __cplusplus
471685295f4SBill Fenner#include <stdio.h>  /* for printf() prototype */
472685295f4SBill Fenner	int main (int argc, char *argv[]) {
473685295f4SBill Fenner#else
474685295f4SBill Fenner	int main (argc, argv) int argc; char *argv[]; {
475685295f4SBill Fenner#endif
4764de76e31SBill Fenner	#if defined (host_mips) && defined (MIPSEB)
4774de76e31SBill Fenner	#if defined (SYSTYPE_SYSV)
4784de76e31SBill Fenner	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4794de76e31SBill Fenner	#endif
4804de76e31SBill Fenner	#if defined (SYSTYPE_SVR4)
4814de76e31SBill Fenner	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4824de76e31SBill Fenner	#endif
4834de76e31SBill Fenner	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4844de76e31SBill Fenner	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4854de76e31SBill Fenner	#endif
4864de76e31SBill Fenner	#endif
4874de76e31SBill Fenner	  exit (-1);
4884de76e31SBill Fenner	}
4894de76e31SBill FennerEOF
49027df3f5dSRui Paulo	$CC_FOR_BUILD -o $dummy $dummy.c &&
49127df3f5dSRui Paulo	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
49227df3f5dSRui Paulo	  SYSTEM_NAME=`$dummy $dummyarg` &&
49327df3f5dSRui Paulo	    { echo "$SYSTEM_NAME"; exit; }
4944edb46e9SPaul Traina	echo mips-mips-riscos${UNAME_RELEASE}
49527df3f5dSRui Paulo	exit ;;
496a90e161bSBill Fenner    Motorola:PowerMAX_OS:*:*)
497a90e161bSBill Fenner	echo powerpc-motorola-powermax
49827df3f5dSRui Paulo	exit ;;
4995b0fe478SBruce M Simpson    Motorola:*:4.3:PL8-*)
5005b0fe478SBruce M Simpson	echo powerpc-harris-powermax
50127df3f5dSRui Paulo	exit ;;
5025b0fe478SBruce M Simpson    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
5035b0fe478SBruce M Simpson	echo powerpc-harris-powermax
50427df3f5dSRui Paulo	exit ;;
5054edb46e9SPaul Traina    Night_Hawk:Power_UNIX:*:*)
5064edb46e9SPaul Traina	echo powerpc-harris-powerunix
50727df3f5dSRui Paulo	exit ;;
5084edb46e9SPaul Traina    m88k:CX/UX:7*:*)
5094edb46e9SPaul Traina	echo m88k-harris-cxux7
51027df3f5dSRui Paulo	exit ;;
5114edb46e9SPaul Traina    m88k:*:4*:R4*)
5124edb46e9SPaul Traina	echo m88k-motorola-sysv4
51327df3f5dSRui Paulo	exit ;;
5144edb46e9SPaul Traina    m88k:*:3*:R3*)
5154edb46e9SPaul Traina	echo m88k-motorola-sysv3
51627df3f5dSRui Paulo	exit ;;
5174edb46e9SPaul Traina    AViiON:dgux:*:*)
5184edb46e9SPaul Traina	# DG/UX returns AViiON for all architectures
5194edb46e9SPaul Traina	UNAME_PROCESSOR=`/usr/bin/uname -p`
520685295f4SBill Fenner	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
521685295f4SBill Fenner	then
522685295f4SBill Fenner	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
523685295f4SBill Fenner	       [ ${TARGET_BINARY_INTERFACE}x = x ]
524685295f4SBill Fenner	    then
5254edb46e9SPaul Traina		echo m88k-dg-dgux${UNAME_RELEASE}
5264edb46e9SPaul Traina	    else
5274edb46e9SPaul Traina		echo m88k-dg-dguxbcs${UNAME_RELEASE}
5284edb46e9SPaul Traina	    fi
529685295f4SBill Fenner	else
530685295f4SBill Fenner	    echo i586-dg-dgux${UNAME_RELEASE}
5314edb46e9SPaul Traina	fi
53227df3f5dSRui Paulo	exit ;;
5334edb46e9SPaul Traina    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5344edb46e9SPaul Traina	echo m88k-dolphin-sysv3
53527df3f5dSRui Paulo	exit ;;
5364edb46e9SPaul Traina    M88*:*:R3*:*)
5374edb46e9SPaul Traina	# Delta 88k system running SVR3
5384edb46e9SPaul Traina	echo m88k-motorola-sysv3
53927df3f5dSRui Paulo	exit ;;
5404edb46e9SPaul Traina    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5414edb46e9SPaul Traina	echo m88k-tektronix-sysv3
54227df3f5dSRui Paulo	exit ;;
5434edb46e9SPaul Traina    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5444edb46e9SPaul Traina	echo m68k-tektronix-bsd
54527df3f5dSRui Paulo	exit ;;
5464edb46e9SPaul Traina    *:IRIX*:*:*)
5474edb46e9SPaul Traina	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
54827df3f5dSRui Paulo	exit ;;
5494edb46e9SPaul Traina    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5504edb46e9SPaul Traina	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
55127df3f5dSRui Paulo	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
552a90e161bSBill Fenner    i*86:AIX:*:*)
5534edb46e9SPaul Traina	echo i386-ibm-aix
55427df3f5dSRui Paulo	exit ;;
555a90e161bSBill Fenner    ia64:AIX:*:*)
556a90e161bSBill Fenner	if [ -x /usr/bin/oslevel ] ; then
557a90e161bSBill Fenner		IBM_REV=`/usr/bin/oslevel`
558a90e161bSBill Fenner	else
559a90e161bSBill Fenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
560a90e161bSBill Fenner	fi
561a90e161bSBill Fenner	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
56227df3f5dSRui Paulo	exit ;;
5634edb46e9SPaul Traina    *:AIX:2:3)
5644edb46e9SPaul Traina	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5655b0fe478SBruce M Simpson		eval $set_cc_for_build
566685295f4SBill Fenner		sed 's/^		//' << EOF >$dummy.c
5674edb46e9SPaul Traina		#include <sys/systemcfg.h>
5684edb46e9SPaul Traina
5694edb46e9SPaul Traina		main()
5704edb46e9SPaul Traina			{
5714edb46e9SPaul Traina			if (!__power_pc())
5724edb46e9SPaul Traina				exit(1);
5734edb46e9SPaul Traina			puts("powerpc-ibm-aix3.2.5");
5744edb46e9SPaul Traina			exit(0);
5754edb46e9SPaul Traina			}
5764edb46e9SPaul TrainaEOF
57727df3f5dSRui Paulo		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
57827df3f5dSRui Paulo		then
57927df3f5dSRui Paulo			echo "$SYSTEM_NAME"
58027df3f5dSRui Paulo		else
5814edb46e9SPaul Traina			echo rs6000-ibm-aix3.2.5
58227df3f5dSRui Paulo		fi
5834edb46e9SPaul Traina	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5844edb46e9SPaul Traina		echo rs6000-ibm-aix3.2.4
5854edb46e9SPaul Traina	else
5864edb46e9SPaul Traina		echo rs6000-ibm-aix3.2
5874edb46e9SPaul Traina	fi
58827df3f5dSRui Paulo	exit ;;
5893c602fabSXin LI    *:AIX:*:[4567])
5905b0fe478SBruce M Simpson	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
591a90e161bSBill Fenner	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5924edb46e9SPaul Traina		IBM_ARCH=rs6000
5934edb46e9SPaul Traina	else
5944edb46e9SPaul Traina		IBM_ARCH=powerpc
5954edb46e9SPaul Traina	fi
596*8bdc5a62SPatrick Kelsey	if [ -x /usr/bin/lslpp ] ; then
597*8bdc5a62SPatrick Kelsey		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
598*8bdc5a62SPatrick Kelsey			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
5994edb46e9SPaul Traina	else
600a90e161bSBill Fenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
6014edb46e9SPaul Traina	fi
6024edb46e9SPaul Traina	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
60327df3f5dSRui Paulo	exit ;;
6044edb46e9SPaul Traina    *:AIX:*:*)
6054edb46e9SPaul Traina	echo rs6000-ibm-aix
60627df3f5dSRui Paulo	exit ;;
6074edb46e9SPaul Traina    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
6084edb46e9SPaul Traina	echo romp-ibm-bsd4.4
60927df3f5dSRui Paulo	exit ;;
610685295f4SBill Fenner    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
6114edb46e9SPaul Traina	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
61227df3f5dSRui Paulo	exit ;;                             # report: romp-ibm BSD 4.3
6134edb46e9SPaul Traina    *:BOSX:*:*)
6144edb46e9SPaul Traina	echo rs6000-bull-bosx
61527df3f5dSRui Paulo	exit ;;
6164edb46e9SPaul Traina    DPX/2?00:B.O.S.:*:*)
6174edb46e9SPaul Traina	echo m68k-bull-sysv3
61827df3f5dSRui Paulo	exit ;;
6194edb46e9SPaul Traina    9000/[34]??:4.3bsd:1.*:*)
6204edb46e9SPaul Traina	echo m68k-hp-bsd
62127df3f5dSRui Paulo	exit ;;
6224edb46e9SPaul Traina    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6234edb46e9SPaul Traina	echo m68k-hp-bsd4.4
62427df3f5dSRui Paulo	exit ;;
625685295f4SBill Fenner    9000/[34678]??:HP-UX:*:*)
626685295f4SBill Fenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6274edb46e9SPaul Traina	case "${UNAME_MACHINE}" in
6284edb46e9SPaul Traina	    9000/31? )            HP_ARCH=m68000 ;;
6294edb46e9SPaul Traina	    9000/[34]?? )         HP_ARCH=m68k ;;
630685295f4SBill Fenner	    9000/[678][0-9][0-9])
631685295f4SBill Fenner		if [ -x /usr/bin/getconf ]; then
632685295f4SBill Fenner		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
633685295f4SBill Fenner		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
634685295f4SBill Fenner		    case "${sc_cpu_version}" in
635685295f4SBill Fenner		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
636685295f4SBill Fenner		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
637685295f4SBill Fenner		      532)                      # CPU_PA_RISC2_0
638685295f4SBill Fenner			case "${sc_kernel_bits}" in
639685295f4SBill Fenner			  32) HP_ARCH="hppa2.0n" ;;
640685295f4SBill Fenner			  64) HP_ARCH="hppa2.0w" ;;
6415b0fe478SBruce M Simpson			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
642685295f4SBill Fenner			esac ;;
6434edb46e9SPaul Traina		    esac
6445b0fe478SBruce M Simpson		fi
645685295f4SBill Fenner		if [ "${HP_ARCH}" = "" ]; then
6465b0fe478SBruce M Simpson		    eval $set_cc_for_build
647685295f4SBill Fenner		    sed 's/^		//' << EOF >$dummy.c
648685295f4SBill Fenner
649685295f4SBill Fenner		#define _HPUX_SOURCE
650685295f4SBill Fenner		#include <stdlib.h>
651685295f4SBill Fenner		#include <unistd.h>
652685295f4SBill Fenner
653685295f4SBill Fenner		int main ()
654685295f4SBill Fenner		{
655685295f4SBill Fenner		#if defined(_SC_KERNEL_BITS)
656685295f4SBill Fenner		    long bits = sysconf(_SC_KERNEL_BITS);
657685295f4SBill Fenner		#endif
658685295f4SBill Fenner		    long cpu  = sysconf (_SC_CPU_VERSION);
659685295f4SBill Fenner
660685295f4SBill Fenner		    switch (cpu)
661685295f4SBill Fenner			{
662685295f4SBill Fenner			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
663685295f4SBill Fenner			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
664685295f4SBill Fenner			case CPU_PA_RISC2_0:
665685295f4SBill Fenner		#if defined(_SC_KERNEL_BITS)
666685295f4SBill Fenner			    switch (bits)
667685295f4SBill Fenner				{
668685295f4SBill Fenner				case 64: puts ("hppa2.0w"); break;
669685295f4SBill Fenner				case 32: puts ("hppa2.0n"); break;
670685295f4SBill Fenner				default: puts ("hppa2.0"); break;
671685295f4SBill Fenner				} break;
672685295f4SBill Fenner		#else  /* !defined(_SC_KERNEL_BITS) */
673685295f4SBill Fenner			    puts ("hppa2.0"); break;
674685295f4SBill Fenner		#endif
675685295f4SBill Fenner			default: puts ("hppa1.0"); break;
676685295f4SBill Fenner			}
677685295f4SBill Fenner		    exit (0);
678685295f4SBill Fenner		}
679685295f4SBill FennerEOF
6805b0fe478SBruce M Simpson		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6815b0fe478SBruce M Simpson		    test -z "$HP_ARCH" && HP_ARCH=hppa
682685295f4SBill Fenner		fi ;;
683685295f4SBill Fenner	esac
6845b0fe478SBruce M Simpson	if [ ${HP_ARCH} = "hppa2.0w" ]
6855b0fe478SBruce M Simpson	then
68627df3f5dSRui Paulo	    eval $set_cc_for_build
68727df3f5dSRui Paulo
68827df3f5dSRui Paulo	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
68927df3f5dSRui Paulo	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
69027df3f5dSRui Paulo	    # generating 64-bit code.  GNU and HP use different nomenclature:
69127df3f5dSRui Paulo	    #
69227df3f5dSRui Paulo	    # $ CC_FOR_BUILD=cc ./config.guess
69327df3f5dSRui Paulo	    # => hppa2.0w-hp-hpux11.23
69427df3f5dSRui Paulo	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
69527df3f5dSRui Paulo	    # => hppa64-hp-hpux11.23
69627df3f5dSRui Paulo
69727df3f5dSRui Paulo	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
69827df3f5dSRui Paulo		grep -q __LP64__
6995b0fe478SBruce M Simpson	    then
7005b0fe478SBruce M Simpson		HP_ARCH="hppa2.0w"
7015b0fe478SBruce M Simpson	    else
7025b0fe478SBruce M Simpson		HP_ARCH="hppa64"
7035b0fe478SBruce M Simpson	    fi
7045b0fe478SBruce M Simpson	fi
7054edb46e9SPaul Traina	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
70627df3f5dSRui Paulo	exit ;;
707a90e161bSBill Fenner    ia64:HP-UX:*:*)
708a90e161bSBill Fenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
709a90e161bSBill Fenner	echo ia64-hp-hpux${HPUX_REV}
71027df3f5dSRui Paulo	exit ;;
7114edb46e9SPaul Traina    3050*:HI-UX:*:*)
7125b0fe478SBruce M Simpson	eval $set_cc_for_build
713685295f4SBill Fenner	sed 's/^	//' << EOF >$dummy.c
7144edb46e9SPaul Traina	#include <unistd.h>
7154edb46e9SPaul Traina	int
7164edb46e9SPaul Traina	main ()
7174edb46e9SPaul Traina	{
7184edb46e9SPaul Traina	  long cpu = sysconf (_SC_CPU_VERSION);
7194edb46e9SPaul Traina	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7204edb46e9SPaul Traina	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7214edb46e9SPaul Traina	     results, however.  */
7224edb46e9SPaul Traina	  if (CPU_IS_PA_RISC (cpu))
7234edb46e9SPaul Traina	    {
7244edb46e9SPaul Traina	      switch (cpu)
7254edb46e9SPaul Traina		{
7264edb46e9SPaul Traina		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7274edb46e9SPaul Traina		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7284edb46e9SPaul Traina		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7294edb46e9SPaul Traina		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7304edb46e9SPaul Traina		}
7314edb46e9SPaul Traina	    }
7324edb46e9SPaul Traina	  else if (CPU_IS_HP_MC68K (cpu))
7334edb46e9SPaul Traina	    puts ("m68k-hitachi-hiuxwe2");
7344edb46e9SPaul Traina	  else puts ("unknown-hitachi-hiuxwe2");
7354edb46e9SPaul Traina	  exit (0);
7364edb46e9SPaul Traina	}
7374edb46e9SPaul TrainaEOF
73827df3f5dSRui Paulo	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
73927df3f5dSRui Paulo		{ echo "$SYSTEM_NAME"; exit; }
7404edb46e9SPaul Traina	echo unknown-hitachi-hiuxwe2
74127df3f5dSRui Paulo	exit ;;
7424edb46e9SPaul Traina    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
7434edb46e9SPaul Traina	echo hppa1.1-hp-bsd
74427df3f5dSRui Paulo	exit ;;
7454edb46e9SPaul Traina    9000/8??:4.3bsd:*:*)
7464edb46e9SPaul Traina	echo hppa1.0-hp-bsd
74727df3f5dSRui Paulo	exit ;;
7485b0fe478SBruce M Simpson    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
749685295f4SBill Fenner	echo hppa1.0-hp-mpeix
75027df3f5dSRui Paulo	exit ;;
7514edb46e9SPaul Traina    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
7524edb46e9SPaul Traina	echo hppa1.1-hp-osf
75327df3f5dSRui Paulo	exit ;;
7544edb46e9SPaul Traina    hp8??:OSF1:*:*)
7554edb46e9SPaul Traina	echo hppa1.0-hp-osf
75627df3f5dSRui Paulo	exit ;;
757a90e161bSBill Fenner    i*86:OSF1:*:*)
7584de76e31SBill Fenner	if [ -x /usr/sbin/sysversion ] ; then
7594de76e31SBill Fenner	    echo ${UNAME_MACHINE}-unknown-osf1mk
7604de76e31SBill Fenner	else
7614de76e31SBill Fenner	    echo ${UNAME_MACHINE}-unknown-osf1
7624de76e31SBill Fenner	fi
76327df3f5dSRui Paulo	exit ;;
7644edb46e9SPaul Traina    parisc*:Lites*:*:*)
7654edb46e9SPaul Traina	echo hppa1.1-hp-lites
76627df3f5dSRui Paulo	exit ;;
7674edb46e9SPaul Traina    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7684edb46e9SPaul Traina	echo c1-convex-bsd
76927df3f5dSRui Paulo	exit ;;
7704edb46e9SPaul Traina    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7714edb46e9SPaul Traina	if getsysinfo -f scalar_acc
7724edb46e9SPaul Traina	then echo c32-convex-bsd
7734edb46e9SPaul Traina	else echo c2-convex-bsd
7744edb46e9SPaul Traina	fi
77527df3f5dSRui Paulo	exit ;;
7764edb46e9SPaul Traina    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7774edb46e9SPaul Traina	echo c34-convex-bsd
77827df3f5dSRui Paulo	exit ;;
7794edb46e9SPaul Traina    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7804edb46e9SPaul Traina	echo c38-convex-bsd
78127df3f5dSRui Paulo	exit ;;
7824edb46e9SPaul Traina    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7834edb46e9SPaul Traina	echo c4-convex-bsd
78427df3f5dSRui Paulo	exit ;;
7854edb46e9SPaul Traina    CRAY*Y-MP:*:*:*)
7865b0fe478SBruce M Simpson	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
78727df3f5dSRui Paulo	exit ;;
7884de76e31SBill Fenner    CRAY*[A-Z]90:*:*:*)
7894de76e31SBill Fenner	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7904de76e31SBill Fenner	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7915b0fe478SBruce M Simpson	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7925b0fe478SBruce M Simpson	      -e 's/\.[^.]*$/.X/'
79327df3f5dSRui Paulo	exit ;;
7944de76e31SBill Fenner    CRAY*TS:*:*:*)
795685295f4SBill Fenner	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
79627df3f5dSRui Paulo	exit ;;
797685295f4SBill Fenner    CRAY*T3E:*:*:*)
798685295f4SBill Fenner	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
79927df3f5dSRui Paulo	exit ;;
800685295f4SBill Fenner    CRAY*SV1:*:*:*)
801685295f4SBill Fenner	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
80227df3f5dSRui Paulo	exit ;;
8035b0fe478SBruce M Simpson    *:UNICOS/mp:*:*)
80427df3f5dSRui Paulo	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
80527df3f5dSRui Paulo	exit ;;
806a90e161bSBill Fenner    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
807a90e161bSBill Fenner	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
808685295f4SBill Fenner	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
8094de76e31SBill Fenner	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
810a90e161bSBill Fenner	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
81127df3f5dSRui Paulo	exit ;;
8125b0fe478SBruce M Simpson    5000:UNIX_System_V:4.*:*)
8135b0fe478SBruce M Simpson	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
8145b0fe478SBruce M Simpson	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
8155b0fe478SBruce M Simpson	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
81627df3f5dSRui Paulo	exit ;;
817a90e161bSBill Fenner    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
8184de76e31SBill Fenner	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
81927df3f5dSRui Paulo	exit ;;
820685295f4SBill Fenner    sparc*:BSD/OS:*:*)
821685295f4SBill Fenner	echo sparc-unknown-bsdi${UNAME_RELEASE}
82227df3f5dSRui Paulo	exit ;;
823685295f4SBill Fenner    *:BSD/OS:*:*)
824685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
82527df3f5dSRui Paulo	exit ;;
8264edb46e9SPaul Traina    *:FreeBSD:*:*)
8273c602fabSXin LI	UNAME_PROCESSOR=`/usr/bin/uname -p`
8283c602fabSXin LI	case ${UNAME_PROCESSOR} in
82927df3f5dSRui Paulo	    amd64)
83027df3f5dSRui Paulo		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
83127df3f5dSRui Paulo	    *)
8323c602fabSXin LI		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
83327df3f5dSRui Paulo	esac
83427df3f5dSRui Paulo	exit ;;
8354edb46e9SPaul Traina    i*:CYGWIN*:*)
836685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-cygwin
83727df3f5dSRui Paulo	exit ;;
838*8bdc5a62SPatrick Kelsey    *:MINGW64*:*)
839*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-pc-mingw64
840*8bdc5a62SPatrick Kelsey	exit ;;
84127df3f5dSRui Paulo    *:MINGW*:*)
842685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-mingw32
84327df3f5dSRui Paulo	exit ;;
844*8bdc5a62SPatrick Kelsey    *:MSYS*:*)
8453c602fabSXin LI	echo ${UNAME_MACHINE}-pc-msys
8463c602fabSXin LI	exit ;;
84727df3f5dSRui Paulo    i*:windows32*:*)
84827df3f5dSRui Paulo	# uname -m includes "-pc" on this system.
84927df3f5dSRui Paulo	echo ${UNAME_MACHINE}-mingw32
85027df3f5dSRui Paulo	exit ;;
851685295f4SBill Fenner    i*:PW*:*)
852685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-pw32
85327df3f5dSRui Paulo	exit ;;
85427df3f5dSRui Paulo    *:Interix*:*)
85527df3f5dSRui Paulo	case ${UNAME_MACHINE} in
85627df3f5dSRui Paulo	    x86)
85727df3f5dSRui Paulo		echo i586-pc-interix${UNAME_RELEASE}
85827df3f5dSRui Paulo		exit ;;
85927df3f5dSRui Paulo	    authenticamd | genuineintel | EM64T)
86027df3f5dSRui Paulo		echo x86_64-unknown-interix${UNAME_RELEASE}
86127df3f5dSRui Paulo		exit ;;
86227df3f5dSRui Paulo	    IA64)
86327df3f5dSRui Paulo		echo ia64-unknown-interix${UNAME_RELEASE}
86427df3f5dSRui Paulo		exit ;;
86527df3f5dSRui Paulo	esac ;;
8665b0fe478SBruce M Simpson    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8675b0fe478SBruce M Simpson	echo i${UNAME_MACHINE}-pc-mks
86827df3f5dSRui Paulo	exit ;;
86927df3f5dSRui Paulo    8664:Windows_NT:*)
87027df3f5dSRui Paulo	echo x86_64-pc-mks
87127df3f5dSRui Paulo	exit ;;
872685295f4SBill Fenner    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
873685295f4SBill Fenner	# How do we know it's Interix rather than the generic POSIX subsystem?
874685295f4SBill Fenner	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
875685295f4SBill Fenner	# UNAME_MACHINE based on the output of uname instead of i386?
8765b0fe478SBruce M Simpson	echo i586-pc-interix
87727df3f5dSRui Paulo	exit ;;
878685295f4SBill Fenner    i*:UWIN*:*)
879685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-uwin
88027df3f5dSRui Paulo	exit ;;
88127df3f5dSRui Paulo    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
88227df3f5dSRui Paulo	echo x86_64-unknown-cygwin
88327df3f5dSRui Paulo	exit ;;
8844edb46e9SPaul Traina    p*:CYGWIN*:*)
885685295f4SBill Fenner	echo powerpcle-unknown-cygwin
88627df3f5dSRui Paulo	exit ;;
8874edb46e9SPaul Traina    prep*:SunOS:5.*:*)
8884edb46e9SPaul Traina	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
88927df3f5dSRui Paulo	exit ;;
8904edb46e9SPaul Traina    *:GNU:*:*)
8915b0fe478SBruce M Simpson	# the GNU system
892*8bdc5a62SPatrick Kelsey	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
89327df3f5dSRui Paulo	exit ;;
8945b0fe478SBruce M Simpson    *:GNU/*:*:*)
8955b0fe478SBruce M Simpson	# other systems with GNU libc and userland
896*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
89727df3f5dSRui Paulo	exit ;;
898685295f4SBill Fenner    i*86:Minix:*:*)
899685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-minix
90027df3f5dSRui Paulo	exit ;;
9013c602fabSXin LI    aarch64:Linux:*:*)
902*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9033c602fabSXin LI	exit ;;
9043c602fabSXin LI    aarch64_be:Linux:*:*)
9053c602fabSXin LI	UNAME_MACHINE=aarch64_be
906*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9073c602fabSXin LI	exit ;;
908a90e161bSBill Fenner    alpha:Linux:*:*)
9095b0fe478SBruce M Simpson	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
9105b0fe478SBruce M Simpson	  EV5)   UNAME_MACHINE=alphaev5 ;;
9115b0fe478SBruce M Simpson	  EV56)  UNAME_MACHINE=alphaev56 ;;
9125b0fe478SBruce M Simpson	  PCA56) UNAME_MACHINE=alphapca56 ;;
9135b0fe478SBruce M Simpson	  PCA57) UNAME_MACHINE=alphapca56 ;;
9145b0fe478SBruce M Simpson	  EV6)   UNAME_MACHINE=alphaev6 ;;
9155b0fe478SBruce M Simpson	  EV67)  UNAME_MACHINE=alphaev67 ;;
9165b0fe478SBruce M Simpson	  EV68*) UNAME_MACHINE=alphaev68 ;;
917685295f4SBill Fenner	esac
91827df3f5dSRui Paulo	objdump --private-headers /bin/sh | grep -q ld.so.1
919*8bdc5a62SPatrick Kelsey	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
920*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
921*8bdc5a62SPatrick Kelsey	exit ;;
922*8bdc5a62SPatrick Kelsey    arc:Linux:*:* | arceb:Linux:*:*)
923*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
92427df3f5dSRui Paulo	exit ;;
92527df3f5dSRui Paulo    arm*:Linux:*:*)
92627df3f5dSRui Paulo	eval $set_cc_for_build
92727df3f5dSRui Paulo	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
92827df3f5dSRui Paulo	    | grep -q __ARM_EABI__
92927df3f5dSRui Paulo	then
930*8bdc5a62SPatrick Kelsey	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
93127df3f5dSRui Paulo	else
9323c602fabSXin LI	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
9333c602fabSXin LI		| grep -q __ARM_PCS_VFP
9343c602fabSXin LI	    then
935*8bdc5a62SPatrick Kelsey		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
9363c602fabSXin LI	    else
937*8bdc5a62SPatrick Kelsey		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
9383c602fabSXin LI	    fi
93927df3f5dSRui Paulo	fi
94027df3f5dSRui Paulo	exit ;;
94127df3f5dSRui Paulo    avr32*:Linux:*:*)
942*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
94327df3f5dSRui Paulo	exit ;;
94427df3f5dSRui Paulo    cris:Linux:*:*)
945*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
94627df3f5dSRui Paulo	exit ;;
94727df3f5dSRui Paulo    crisv32:Linux:*:*)
948*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
94927df3f5dSRui Paulo	exit ;;
95027df3f5dSRui Paulo    frv:Linux:*:*)
951*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9523c602fabSXin LI	exit ;;
9533c602fabSXin LI    hexagon:Linux:*:*)
954*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
95527df3f5dSRui Paulo	exit ;;
95627df3f5dSRui Paulo    i*86:Linux:*:*)
957*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
95827df3f5dSRui Paulo	exit ;;
95927df3f5dSRui Paulo    ia64:Linux:*:*)
960*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
96127df3f5dSRui Paulo	exit ;;
96227df3f5dSRui Paulo    m32r*:Linux:*:*)
963*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
96427df3f5dSRui Paulo	exit ;;
96527df3f5dSRui Paulo    m68*:Linux:*:*)
966*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
96727df3f5dSRui Paulo	exit ;;
96827df3f5dSRui Paulo    mips:Linux:*:* | mips64:Linux:*:*)
96927df3f5dSRui Paulo	eval $set_cc_for_build
97027df3f5dSRui Paulo	sed 's/^	//' << EOF >$dummy.c
97127df3f5dSRui Paulo	#undef CPU
97227df3f5dSRui Paulo	#undef ${UNAME_MACHINE}
97327df3f5dSRui Paulo	#undef ${UNAME_MACHINE}el
97427df3f5dSRui Paulo	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
97527df3f5dSRui Paulo	CPU=${UNAME_MACHINE}el
97627df3f5dSRui Paulo	#else
97727df3f5dSRui Paulo	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
97827df3f5dSRui Paulo	CPU=${UNAME_MACHINE}
97927df3f5dSRui Paulo	#else
98027df3f5dSRui Paulo	CPU=
98127df3f5dSRui Paulo	#endif
98227df3f5dSRui Paulo	#endif
98327df3f5dSRui PauloEOF
98427df3f5dSRui Paulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
985*8bdc5a62SPatrick Kelsey	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
98627df3f5dSRui Paulo	;;
987*8bdc5a62SPatrick Kelsey    openrisc*:Linux:*:*)
988*8bdc5a62SPatrick Kelsey	echo or1k-unknown-linux-${LIBC}
989*8bdc5a62SPatrick Kelsey	exit ;;
990*8bdc5a62SPatrick Kelsey    or32:Linux:*:* | or1k*:Linux:*:*)
991*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
99227df3f5dSRui Paulo	exit ;;
99327df3f5dSRui Paulo    padre:Linux:*:*)
994*8bdc5a62SPatrick Kelsey	echo sparc-unknown-linux-${LIBC}
99527df3f5dSRui Paulo	exit ;;
99627df3f5dSRui Paulo    parisc64:Linux:*:* | hppa64:Linux:*:*)
997*8bdc5a62SPatrick Kelsey	echo hppa64-unknown-linux-${LIBC}
99827df3f5dSRui Paulo	exit ;;
999a90e161bSBill Fenner    parisc:Linux:*:* | hppa:Linux:*:*)
1000685295f4SBill Fenner	# Look for CPU level
1001685295f4SBill Fenner	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1002*8bdc5a62SPatrick Kelsey	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1003*8bdc5a62SPatrick Kelsey	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1004*8bdc5a62SPatrick Kelsey	  *)    echo hppa-unknown-linux-${LIBC} ;;
1005a90e161bSBill Fenner	esac
100627df3f5dSRui Paulo	exit ;;
100727df3f5dSRui Paulo    ppc64:Linux:*:*)
1008*8bdc5a62SPatrick Kelsey	echo powerpc64-unknown-linux-${LIBC}
100927df3f5dSRui Paulo	exit ;;
101027df3f5dSRui Paulo    ppc:Linux:*:*)
1011*8bdc5a62SPatrick Kelsey	echo powerpc-unknown-linux-${LIBC}
1012*8bdc5a62SPatrick Kelsey	exit ;;
1013*8bdc5a62SPatrick Kelsey    ppc64le:Linux:*:*)
1014*8bdc5a62SPatrick Kelsey	echo powerpc64le-unknown-linux-${LIBC}
1015*8bdc5a62SPatrick Kelsey	exit ;;
1016*8bdc5a62SPatrick Kelsey    ppcle:Linux:*:*)
1017*8bdc5a62SPatrick Kelsey	echo powerpcle-unknown-linux-${LIBC}
101827df3f5dSRui Paulo	exit ;;
1019a90e161bSBill Fenner    s390:Linux:*:* | s390x:Linux:*:*)
1020*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
102127df3f5dSRui Paulo	exit ;;
10225b0fe478SBruce M Simpson    sh64*:Linux:*:*)
1023*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
102427df3f5dSRui Paulo	exit ;;
1025a90e161bSBill Fenner    sh*:Linux:*:*)
1026*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
102727df3f5dSRui Paulo	exit ;;
1028a90e161bSBill Fenner    sparc:Linux:*:* | sparc64:Linux:*:*)
1029*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
103027df3f5dSRui Paulo	exit ;;
10313c602fabSXin LI    tile*:Linux:*:*)
1032*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10333c602fabSXin LI	exit ;;
103427df3f5dSRui Paulo    vax:Linux:*:*)
1035*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
103627df3f5dSRui Paulo	exit ;;
1037a90e161bSBill Fenner    x86_64:Linux:*:*)
1038*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
103927df3f5dSRui Paulo	exit ;;
104027df3f5dSRui Paulo    xtensa*:Linux:*:*)
1041*8bdc5a62SPatrick Kelsey	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
104227df3f5dSRui Paulo	exit ;;
1043a90e161bSBill Fenner    i*86:DYNIX/ptx:4*:*)
10445b0fe478SBruce M Simpson	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10455b0fe478SBruce M Simpson	# earlier versions are messed up and put the nodename in both
10465b0fe478SBruce M Simpson	# sysname and nodename.
10474edb46e9SPaul Traina	echo i386-sequent-sysv4
104827df3f5dSRui Paulo	exit ;;
1049a90e161bSBill Fenner    i*86:UNIX_SV:4.2MP:2.*)
1050685295f4SBill Fenner	# Unixware is an offshoot of SVR4, but it has its own version
1051685295f4SBill Fenner	# number series starting with 2...
1052685295f4SBill Fenner	# I am not positive that other SVR4 systems won't match this,
1053685295f4SBill Fenner	# I just have to hope.  -- rms.
1054685295f4SBill Fenner	# Use sysv4.2uw... so that sysv4* matches it.
1055685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
105627df3f5dSRui Paulo	exit ;;
10575b0fe478SBruce M Simpson    i*86:OS/2:*:*)
10585b0fe478SBruce M Simpson	# If we were able to find `uname', then EMX Unix compatibility
10595b0fe478SBruce M Simpson	# is probably installed.
10605b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-pc-os2-emx
106127df3f5dSRui Paulo	exit ;;
10625b0fe478SBruce M Simpson    i*86:XTS-300:*:STOP)
10635b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-stop
106427df3f5dSRui Paulo	exit ;;
10655b0fe478SBruce M Simpson    i*86:atheos:*:*)
10665b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-atheos
106727df3f5dSRui Paulo	exit ;;
106827df3f5dSRui Paulo    i*86:syllable:*:*)
106927df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-syllable
107027df3f5dSRui Paulo	exit ;;
107127df3f5dSRui Paulo    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10725b0fe478SBruce M Simpson	echo i386-unknown-lynxos${UNAME_RELEASE}
107327df3f5dSRui Paulo	exit ;;
10745b0fe478SBruce M Simpson    i*86:*DOS:*:*)
10755b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-pc-msdosdjgpp
107627df3f5dSRui Paulo	exit ;;
1077a90e161bSBill Fenner    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1078685295f4SBill Fenner	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
10794edb46e9SPaul Traina	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1080685295f4SBill Fenner		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1081685295f4SBill Fenner	else
1082685295f4SBill Fenner		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1083685295f4SBill Fenner	fi
108427df3f5dSRui Paulo	exit ;;
108527df3f5dSRui Paulo    i*86:*:5:[678]*)
108627df3f5dSRui Paulo	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10875b0fe478SBruce M Simpson	case `/bin/uname -X | grep "^Machine"` in
10885b0fe478SBruce M Simpson	    *486*)	     UNAME_MACHINE=i486 ;;
10895b0fe478SBruce M Simpson	    *Pentium)	     UNAME_MACHINE=i586 ;;
10905b0fe478SBruce M Simpson	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10915b0fe478SBruce M Simpson	esac
10925b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
109327df3f5dSRui Paulo	exit ;;
1094a90e161bSBill Fenner    i*86:*:3.2:*)
10954edb46e9SPaul Traina	if test -f /usr/options/cb.name; then
10964edb46e9SPaul Traina		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
10974de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
10984edb46e9SPaul Traina	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10995b0fe478SBruce M Simpson		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
11005b0fe478SBruce M Simpson		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
11015b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
11024edb46e9SPaul Traina			&& UNAME_MACHINE=i586
11035b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1104685295f4SBill Fenner			&& UNAME_MACHINE=i686
11055b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1106685295f4SBill Fenner			&& UNAME_MACHINE=i686
11074de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
11084edb46e9SPaul Traina	else
11094de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-sysv32
11104edb46e9SPaul Traina	fi
111127df3f5dSRui Paulo	exit ;;
1112685295f4SBill Fenner    pc:*:*:*)
1113685295f4SBill Fenner	# Left here for compatibility:
1114685295f4SBill Fenner	# uname -m prints for DJGPP always 'pc', but it prints nothing about
111527df3f5dSRui Paulo	# the processor, so we play safe by assuming i586.
111627df3f5dSRui Paulo	# Note: whatever this is, it MUST be the same as what config.sub
111727df3f5dSRui Paulo	# prints for the "djgpp" host, or else GDB configury will decide that
111827df3f5dSRui Paulo	# this is a cross-build.
111927df3f5dSRui Paulo	echo i586-pc-msdosdjgpp
112027df3f5dSRui Paulo	exit ;;
11214edb46e9SPaul Traina    Intel:Mach:3*:*)
11224de76e31SBill Fenner	echo i386-pc-mach3
112327df3f5dSRui Paulo	exit ;;
11244edb46e9SPaul Traina    paragon:*:*:*)
11254edb46e9SPaul Traina	echo i860-intel-osf1
112627df3f5dSRui Paulo	exit ;;
11274edb46e9SPaul Traina    i860:*:4.*:*) # i860-SVR4
11284edb46e9SPaul Traina	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
11294edb46e9SPaul Traina	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
11304edb46e9SPaul Traina	else # Add other i860-SVR4 vendors below as they are discovered.
11314edb46e9SPaul Traina	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
11324edb46e9SPaul Traina	fi
113327df3f5dSRui Paulo	exit ;;
11344edb46e9SPaul Traina    mini*:CTIX:SYS*5:*)
11354edb46e9SPaul Traina	# "miniframe"
11364edb46e9SPaul Traina	echo m68010-convergent-sysv
113727df3f5dSRui Paulo	exit ;;
11385b0fe478SBruce M Simpson    mc68k:UNIX:SYSTEM5:3.51m)
11395b0fe478SBruce M Simpson	echo m68k-convergent-sysv
114027df3f5dSRui Paulo	exit ;;
11415b0fe478SBruce M Simpson    M680?0:D-NIX:5.3:*)
11425b0fe478SBruce M Simpson	echo m68k-diab-dnix
114327df3f5dSRui Paulo	exit ;;
114427df3f5dSRui Paulo    M68*:*:R3V[5678]*:*)
114527df3f5dSRui Paulo	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
114627df3f5dSRui Paulo    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)
11474de76e31SBill Fenner	OS_REL=''
11484de76e31SBill Fenner	test -r /etc/.relid \
11494de76e31SBill Fenner	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11504de76e31SBill Fenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
115127df3f5dSRui Paulo	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11524de76e31SBill Fenner	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
115327df3f5dSRui Paulo	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11544edb46e9SPaul Traina    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11554de76e31SBill Fenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
115627df3f5dSRui Paulo	  && { echo i486-ncr-sysv4; exit; } ;;
115727df3f5dSRui Paulo    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
115827df3f5dSRui Paulo	OS_REL='.3'
115927df3f5dSRui Paulo	test -r /etc/.relid \
116027df3f5dSRui Paulo	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
116127df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
116227df3f5dSRui Paulo	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
116327df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
116427df3f5dSRui Paulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
116527df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
116627df3f5dSRui Paulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1167a90e161bSBill Fenner    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11684de76e31SBill Fenner	echo m68k-unknown-lynxos${UNAME_RELEASE}
116927df3f5dSRui Paulo	exit ;;
11704edb46e9SPaul Traina    mc68030:UNIX_System_V:4.*:*)
11714edb46e9SPaul Traina	echo m68k-atari-sysv4
117227df3f5dSRui Paulo	exit ;;
11734de76e31SBill Fenner    TSUNAMI:LynxOS:2.*:*)
11744de76e31SBill Fenner	echo sparc-unknown-lynxos${UNAME_RELEASE}
117527df3f5dSRui Paulo	exit ;;
1176a90e161bSBill Fenner    rs6000:LynxOS:2.*:*)
11774de76e31SBill Fenner	echo rs6000-unknown-lynxos${UNAME_RELEASE}
117827df3f5dSRui Paulo	exit ;;
117927df3f5dSRui Paulo    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1180a90e161bSBill Fenner	echo powerpc-unknown-lynxos${UNAME_RELEASE}
118127df3f5dSRui Paulo	exit ;;
11824de76e31SBill Fenner    SM[BE]S:UNIX_SV:*:*)
11834de76e31SBill Fenner	echo mips-dde-sysv${UNAME_RELEASE}
118427df3f5dSRui Paulo	exit ;;
1185685295f4SBill Fenner    RM*:ReliantUNIX-*:*:*)
1186685295f4SBill Fenner	echo mips-sni-sysv4
118727df3f5dSRui Paulo	exit ;;
11884edb46e9SPaul Traina    RM*:SINIX-*:*:*)
11894edb46e9SPaul Traina	echo mips-sni-sysv4
119027df3f5dSRui Paulo	exit ;;
11914edb46e9SPaul Traina    *:SINIX-*:*:*)
11924edb46e9SPaul Traina	if uname -p 2>/dev/null >/dev/null ; then
11934edb46e9SPaul Traina		UNAME_MACHINE=`(uname -p) 2>/dev/null`
11944edb46e9SPaul Traina		echo ${UNAME_MACHINE}-sni-sysv4
11954edb46e9SPaul Traina	else
11964edb46e9SPaul Traina		echo ns32k-sni-sysv
11974edb46e9SPaul Traina	fi
119827df3f5dSRui Paulo	exit ;;
11995b0fe478SBruce M Simpson    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1200685295f4SBill Fenner			# says <Richard.M.Bartel@ccMail.Census.GOV>
1201685295f4SBill Fenner	echo i586-unisys-sysv4
120227df3f5dSRui Paulo	exit ;;
12034de76e31SBill Fenner    *:UNIX_System_V:4*:FTX*)
12044de76e31SBill Fenner	# From Gerald Hewes <hewes@openmarket.com>.
12054de76e31SBill Fenner	# How about differentiating between stratus architectures? -djm
12064de76e31SBill Fenner	echo hppa1.1-stratus-sysv4
120727df3f5dSRui Paulo	exit ;;
12084de76e31SBill Fenner    *:*:*:FTX*)
12094de76e31SBill Fenner	# From seanf@swdc.stratus.com.
12104de76e31SBill Fenner	echo i860-stratus-sysv4
121127df3f5dSRui Paulo	exit ;;
121227df3f5dSRui Paulo    i*86:VOS:*:*)
121327df3f5dSRui Paulo	# From Paul.Green@stratus.com.
121427df3f5dSRui Paulo	echo ${UNAME_MACHINE}-stratus-vos
121527df3f5dSRui Paulo	exit ;;
12165b0fe478SBruce M Simpson    *:VOS:*:*)
12175b0fe478SBruce M Simpson	# From Paul.Green@stratus.com.
12185b0fe478SBruce M Simpson	echo hppa1.1-stratus-vos
121927df3f5dSRui Paulo	exit ;;
12204edb46e9SPaul Traina    mc68*:A/UX:*:*)
12214edb46e9SPaul Traina	echo m68k-apple-aux${UNAME_RELEASE}
122227df3f5dSRui Paulo	exit ;;
1223685295f4SBill Fenner    news*:NEWS-OS:6*:*)
1224685295f4SBill Fenner	echo mips-sony-newsos6
122527df3f5dSRui Paulo	exit ;;
1226685295f4SBill Fenner    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12274edb46e9SPaul Traina	if [ -d /usr/nec ]; then
12284edb46e9SPaul Traina		echo mips-nec-sysv${UNAME_RELEASE}
12294edb46e9SPaul Traina	else
12304edb46e9SPaul Traina		echo mips-unknown-sysv${UNAME_RELEASE}
12314edb46e9SPaul Traina	fi
123227df3f5dSRui Paulo	exit ;;
1233685295f4SBill Fenner    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1234685295f4SBill Fenner	echo powerpc-be-beos
123527df3f5dSRui Paulo	exit ;;
1236685295f4SBill Fenner    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1237685295f4SBill Fenner	echo powerpc-apple-beos
123827df3f5dSRui Paulo	exit ;;
1239685295f4SBill Fenner    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1240685295f4SBill Fenner	echo i586-pc-beos
124127df3f5dSRui Paulo	exit ;;
124227df3f5dSRui Paulo    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
124327df3f5dSRui Paulo	echo i586-pc-haiku
124427df3f5dSRui Paulo	exit ;;
1245*8bdc5a62SPatrick Kelsey    x86_64:Haiku:*:*)
1246*8bdc5a62SPatrick Kelsey	echo x86_64-unknown-haiku
1247*8bdc5a62SPatrick Kelsey	exit ;;
1248685295f4SBill Fenner    SX-4:SUPER-UX:*:*)
1249685295f4SBill Fenner	echo sx4-nec-superux${UNAME_RELEASE}
125027df3f5dSRui Paulo	exit ;;
1251685295f4SBill Fenner    SX-5:SUPER-UX:*:*)
1252685295f4SBill Fenner	echo sx5-nec-superux${UNAME_RELEASE}
125327df3f5dSRui Paulo	exit ;;
12545b0fe478SBruce M Simpson    SX-6:SUPER-UX:*:*)
12555b0fe478SBruce M Simpson	echo sx6-nec-superux${UNAME_RELEASE}
125627df3f5dSRui Paulo	exit ;;
125727df3f5dSRui Paulo    SX-7:SUPER-UX:*:*)
125827df3f5dSRui Paulo	echo sx7-nec-superux${UNAME_RELEASE}
125927df3f5dSRui Paulo	exit ;;
126027df3f5dSRui Paulo    SX-8:SUPER-UX:*:*)
126127df3f5dSRui Paulo	echo sx8-nec-superux${UNAME_RELEASE}
126227df3f5dSRui Paulo	exit ;;
126327df3f5dSRui Paulo    SX-8R:SUPER-UX:*:*)
126427df3f5dSRui Paulo	echo sx8r-nec-superux${UNAME_RELEASE}
126527df3f5dSRui Paulo	exit ;;
1266685295f4SBill Fenner    Power*:Rhapsody:*:*)
1267685295f4SBill Fenner	echo powerpc-apple-rhapsody${UNAME_RELEASE}
126827df3f5dSRui Paulo	exit ;;
1269685295f4SBill Fenner    *:Rhapsody:*:*)
1270685295f4SBill Fenner	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
127127df3f5dSRui Paulo	exit ;;
1272685295f4SBill Fenner    *:Darwin:*:*)
127327df3f5dSRui Paulo	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
127427df3f5dSRui Paulo	eval $set_cc_for_build
1275*8bdc5a62SPatrick Kelsey	if test "$UNAME_PROCESSOR" = unknown ; then
1276*8bdc5a62SPatrick Kelsey	    UNAME_PROCESSOR=powerpc
1277*8bdc5a62SPatrick Kelsey	fi
1278*8bdc5a62SPatrick Kelsey	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
127927df3f5dSRui Paulo	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
128027df3f5dSRui Paulo		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
128127df3f5dSRui Paulo		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
128227df3f5dSRui Paulo		    grep IS_64BIT_ARCH >/dev/null
128327df3f5dSRui Paulo		then
1284*8bdc5a62SPatrick Kelsey		    case $UNAME_PROCESSOR in
1285*8bdc5a62SPatrick Kelsey			i386) UNAME_PROCESSOR=x86_64 ;;
1286*8bdc5a62SPatrick Kelsey			powerpc) UNAME_PROCESSOR=powerpc64 ;;
12875b0fe478SBruce M Simpson		    esac
1288*8bdc5a62SPatrick Kelsey		fi
1289*8bdc5a62SPatrick Kelsey	    fi
1290*8bdc5a62SPatrick Kelsey	elif test "$UNAME_PROCESSOR" = i386 ; then
1291*8bdc5a62SPatrick Kelsey	    # Avoid executing cc on OS X 10.9, as it ships with a stub
1292*8bdc5a62SPatrick Kelsey	    # that puts up a graphical alert prompting to install
1293*8bdc5a62SPatrick Kelsey	    # developer tools.  Any system running Mac OS X 10.7 or
1294*8bdc5a62SPatrick Kelsey	    # later (Darwin 11 and later) is required to have a 64-bit
1295*8bdc5a62SPatrick Kelsey	    # processor. This is not true of the ARM version of Darwin
1296*8bdc5a62SPatrick Kelsey	    # that Apple uses in portable devices.
1297*8bdc5a62SPatrick Kelsey	    UNAME_PROCESSOR=x86_64
1298*8bdc5a62SPatrick Kelsey	fi
12995b0fe478SBruce M Simpson	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
130027df3f5dSRui Paulo	exit ;;
1301685295f4SBill Fenner    *:procnto*:*:* | *:QNX:[0123456789]*:*)
13025b0fe478SBruce M Simpson	UNAME_PROCESSOR=`uname -p`
13035b0fe478SBruce M Simpson	if test "$UNAME_PROCESSOR" = "x86"; then
13045b0fe478SBruce M Simpson		UNAME_PROCESSOR=i386
1305685295f4SBill Fenner		UNAME_MACHINE=pc
1306685295f4SBill Fenner	fi
13075b0fe478SBruce M Simpson	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
130827df3f5dSRui Paulo	exit ;;
1309685295f4SBill Fenner    *:QNX:*:4*)
1310685295f4SBill Fenner	echo i386-pc-qnx
131127df3f5dSRui Paulo	exit ;;
13123c602fabSXin LI    NEO-?:NONSTOP_KERNEL:*:*)
13133c602fabSXin LI	echo neo-tandem-nsk${UNAME_RELEASE}
13143c602fabSXin LI	exit ;;
1315*8bdc5a62SPatrick Kelsey    NSE-*:NONSTOP_KERNEL:*:*)
131627df3f5dSRui Paulo	echo nse-tandem-nsk${UNAME_RELEASE}
131727df3f5dSRui Paulo	exit ;;
131827df3f5dSRui Paulo    NSR-?:NONSTOP_KERNEL:*:*)
1319685295f4SBill Fenner	echo nsr-tandem-nsk${UNAME_RELEASE}
132027df3f5dSRui Paulo	exit ;;
1321685295f4SBill Fenner    *:NonStop-UX:*:*)
1322685295f4SBill Fenner	echo mips-compaq-nonstopux
132327df3f5dSRui Paulo	exit ;;
1324685295f4SBill Fenner    BS2000:POSIX*:*:*)
1325685295f4SBill Fenner	echo bs2000-siemens-sysv
132627df3f5dSRui Paulo	exit ;;
1327685295f4SBill Fenner    DS/*:UNIX_System_V:*:*)
1328685295f4SBill Fenner	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
132927df3f5dSRui Paulo	exit ;;
1330685295f4SBill Fenner    *:Plan9:*:*)
1331685295f4SBill Fenner	# "uname -m" is not consistent, so use $cputype instead. 386
1332685295f4SBill Fenner	# is converted to i386 for consistency with other x86
1333685295f4SBill Fenner	# operating systems.
1334685295f4SBill Fenner	if test "$cputype" = "386"; then
1335685295f4SBill Fenner	    UNAME_MACHINE=i386
1336685295f4SBill Fenner	else
1337685295f4SBill Fenner	    UNAME_MACHINE="$cputype"
1338685295f4SBill Fenner	fi
1339685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-plan9
134027df3f5dSRui Paulo	exit ;;
1341a90e161bSBill Fenner    *:TOPS-10:*:*)
1342a90e161bSBill Fenner	echo pdp10-unknown-tops10
134327df3f5dSRui Paulo	exit ;;
1344a90e161bSBill Fenner    *:TENEX:*:*)
1345a90e161bSBill Fenner	echo pdp10-unknown-tenex
134627df3f5dSRui Paulo	exit ;;
1347a90e161bSBill Fenner    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1348a90e161bSBill Fenner	echo pdp10-dec-tops20
134927df3f5dSRui Paulo	exit ;;
1350a90e161bSBill Fenner    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1351a90e161bSBill Fenner	echo pdp10-xkl-tops20
135227df3f5dSRui Paulo	exit ;;
1353a90e161bSBill Fenner    *:TOPS-20:*:*)
1354a90e161bSBill Fenner	echo pdp10-unknown-tops20
135527df3f5dSRui Paulo	exit ;;
1356a90e161bSBill Fenner    *:ITS:*:*)
1357a90e161bSBill Fenner	echo pdp10-unknown-its
135827df3f5dSRui Paulo	exit ;;
13595b0fe478SBruce M Simpson    SEI:*:*:SEIUX)
13605b0fe478SBruce M Simpson	echo mips-sei-seiux${UNAME_RELEASE}
136127df3f5dSRui Paulo	exit ;;
136227df3f5dSRui Paulo    *:DragonFly:*:*)
136327df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
136427df3f5dSRui Paulo	exit ;;
136527df3f5dSRui Paulo    *:*VMS:*:*)
136627df3f5dSRui Paulo	UNAME_MACHINE=`(uname -p) 2>/dev/null`
136727df3f5dSRui Paulo	case "${UNAME_MACHINE}" in
136827df3f5dSRui Paulo	    A*) echo alpha-dec-vms ; exit ;;
136927df3f5dSRui Paulo	    I*) echo ia64-dec-vms ; exit ;;
137027df3f5dSRui Paulo	    V*) echo vax-dec-vms ; exit ;;
137127df3f5dSRui Paulo	esac ;;
137227df3f5dSRui Paulo    *:XENIX:*:SysV)
137327df3f5dSRui Paulo	echo i386-pc-xenix
137427df3f5dSRui Paulo	exit ;;
137527df3f5dSRui Paulo    i*86:skyos:*:*)
137627df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
137727df3f5dSRui Paulo	exit ;;
137827df3f5dSRui Paulo    i*86:rdos:*:*)
137927df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-rdos
138027df3f5dSRui Paulo	exit ;;
138127df3f5dSRui Paulo    i*86:AROS:*:*)
138227df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-aros
138327df3f5dSRui Paulo	exit ;;
13843c602fabSXin LI    x86_64:VMkernel:*:*)
13853c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-esx
13863c602fabSXin LI	exit ;;
13874edb46e9SPaul Trainaesac
13884edb46e9SPaul Traina
1389685295f4SBill Fennercat >&2 <<EOF
1390685295f4SBill Fenner$0: unable to guess system type
1391685295f4SBill Fenner
1392a90e161bSBill FennerThis script, last modified $timestamp, has failed to recognize
1393a90e161bSBill Fennerthe operating system you are using. It is advised that you
1394a90e161bSBill Fennerdownload the most up to date version of the config scripts from
1395685295f4SBill Fenner
139627df3f5dSRui Paulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
139727df3f5dSRui Pauloand
139827df3f5dSRui Paulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1399685295f4SBill Fenner
1400685295f4SBill FennerIf the version you run ($0) is already up to date, please
1401685295f4SBill Fennersend the following data and any information you think might be
1402685295f4SBill Fennerpertinent to <config-patches@gnu.org> in order to provide the needed
1403685295f4SBill Fennerinformation to handle your system.
1404685295f4SBill Fenner
1405a90e161bSBill Fennerconfig.guess timestamp = $timestamp
1406685295f4SBill Fenner
1407685295f4SBill Fenneruname -m = `(uname -m) 2>/dev/null || echo unknown`
1408685295f4SBill Fenneruname -r = `(uname -r) 2>/dev/null || echo unknown`
1409685295f4SBill Fenneruname -s = `(uname -s) 2>/dev/null || echo unknown`
1410685295f4SBill Fenneruname -v = `(uname -v) 2>/dev/null || echo unknown`
1411685295f4SBill Fenner
1412685295f4SBill Fenner/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1413685295f4SBill Fenner/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1414685295f4SBill Fenner
1415685295f4SBill Fennerhostinfo               = `(hostinfo) 2>/dev/null`
1416685295f4SBill Fenner/bin/universe          = `(/bin/universe) 2>/dev/null`
1417685295f4SBill Fenner/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1418685295f4SBill Fenner/bin/arch              = `(/bin/arch) 2>/dev/null`
1419685295f4SBill Fenner/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1420685295f4SBill Fenner/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1421685295f4SBill Fenner
1422685295f4SBill FennerUNAME_MACHINE = ${UNAME_MACHINE}
1423685295f4SBill FennerUNAME_RELEASE = ${UNAME_RELEASE}
1424685295f4SBill FennerUNAME_SYSTEM  = ${UNAME_SYSTEM}
1425685295f4SBill FennerUNAME_VERSION = ${UNAME_VERSION}
1426685295f4SBill FennerEOF
14274edb46e9SPaul Traina
14284edb46e9SPaul Trainaexit 1
1429685295f4SBill Fenner
1430685295f4SBill Fenner# Local variables:
1431685295f4SBill Fenner# eval: (add-hook 'write-file-hooks 'time-stamp)
1432685295f4SBill Fenner# time-stamp-start: "timestamp='"
1433685295f4SBill Fenner# time-stamp-format: "%:y-%02m-%02d"
1434685295f4SBill Fenner# time-stamp-end: "'"
1435685295f4SBill Fenner# End:
1436