xref: /freebsd/contrib/tcpdump/config.guess (revision 3c602fabf9b894ff79f08a80cbb7ad3b1eb84e62)
14edb46e9SPaul Traina#! /bin/sh
24edb46e9SPaul Traina# Attempt to guess a canonical system name.
35b0fe478SBruce M Simpson#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4*3c602fabSXin LI#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5*3c602fabSXin LI#   2011, 2012 Free Software Foundation, Inc.
6685295f4SBill Fenner
7*3c602fabSXin LItimestamp='2012-02-10'
8685295f4SBill Fenner
94edb46e9SPaul Traina# This file is free software; you can redistribute it and/or modify it
104edb46e9SPaul Traina# under the terms of the GNU General Public License as published by
114edb46e9SPaul Traina# the Free Software Foundation; either version 2 of the License, or
124edb46e9SPaul Traina# (at your option) any later version.
134edb46e9SPaul Traina#
144edb46e9SPaul Traina# This program is distributed in the hope that it will be useful, but
154edb46e9SPaul Traina# WITHOUT ANY WARRANTY; without even the implied warranty of
164edb46e9SPaul Traina# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
174edb46e9SPaul Traina# General Public License for more details.
184edb46e9SPaul Traina#
194edb46e9SPaul Traina# You should have received a copy of the GNU General Public License
20*3c602fabSXin LI# along with this program; if not, see <http://www.gnu.org/licenses/>.
214edb46e9SPaul Traina#
224edb46e9SPaul Traina# As a special exception to the GNU General Public License, if you
234edb46e9SPaul Traina# distribute this file as part of a program that contains a
244edb46e9SPaul Traina# configuration script generated by Autoconf, you may include it under
254edb46e9SPaul Traina# the same distribution terms that you use for the rest of that program.
264edb46e9SPaul Traina
2727df3f5dSRui Paulo
2827df3f5dSRui Paulo# Originally written by Per Bothner.  Please send patches (context
2927df3f5dSRui Paulo# diff format) to <config-patches@gnu.org> and include a ChangeLog
3027df3f5dSRui Paulo# entry.
314edb46e9SPaul Traina#
324edb46e9SPaul Traina# This script attempts to guess a canonical system name similar to
334edb46e9SPaul Traina# config.sub.  If it succeeds, it prints the system name on stdout, and
344edb46e9SPaul Traina# exits with 0.  Otherwise, it exits with 1.
354edb46e9SPaul Traina#
3627df3f5dSRui Paulo# You can get the latest version of this script from:
3727df3f5dSRui Paulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
384edb46e9SPaul Traina
39685295f4SBill Fennerme=`echo "$0" | sed -e 's,.*/,,'`
40685295f4SBill Fenner
41685295f4SBill Fennerusage="\
42685295f4SBill FennerUsage: $0 [OPTION]
43685295f4SBill Fenner
44685295f4SBill FennerOutput the configuration name of the system \`$me' is run on.
45685295f4SBill Fenner
46685295f4SBill FennerOperation modes:
47685295f4SBill Fenner  -h, --help         print this help, then exit
48685295f4SBill Fenner  -t, --time-stamp   print date of last modification, then exit
49685295f4SBill Fenner  -v, --version      print version number, then exit
50685295f4SBill Fenner
51685295f4SBill FennerReport bugs and patches to <config-patches@gnu.org>."
52685295f4SBill Fenner
53685295f4SBill Fennerversion="\
54685295f4SBill FennerGNU config.guess ($timestamp)
55685295f4SBill Fenner
56685295f4SBill FennerOriginally written by Per Bothner.
5727df3f5dSRui PauloCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
58*3c602fabSXin LI2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59*3c602fabSXin LIFree Software Foundation, Inc.
60685295f4SBill Fenner
61685295f4SBill FennerThis is free software; see the source for copying conditions.  There is NO
62685295f4SBill Fennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63685295f4SBill Fenner
64685295f4SBill Fennerhelp="
65685295f4SBill FennerTry \`$me --help' for more information."
66685295f4SBill Fenner
67685295f4SBill Fenner# Parse command line
68685295f4SBill Fennerwhile test $# -gt 0 ; do
69685295f4SBill Fenner  case $1 in
70685295f4SBill Fenner    --time-stamp | --time* | -t )
7127df3f5dSRui Paulo       echo "$timestamp" ; exit ;;
72685295f4SBill Fenner    --version | -v )
7327df3f5dSRui Paulo       echo "$version" ; exit ;;
74685295f4SBill Fenner    --help | --h* | -h )
7527df3f5dSRui Paulo       echo "$usage"; exit ;;
76685295f4SBill Fenner    -- )     # Stop option processing
77685295f4SBill Fenner       shift; break ;;
78685295f4SBill Fenner    - )	# Use stdin as input.
79685295f4SBill Fenner       break ;;
80685295f4SBill Fenner    -* )
81685295f4SBill Fenner       echo "$me: invalid option $1$help" >&2
82685295f4SBill Fenner       exit 1 ;;
83685295f4SBill Fenner    * )
84685295f4SBill Fenner       break ;;
85685295f4SBill Fenner  esac
86685295f4SBill Fennerdone
87685295f4SBill Fenner
88685295f4SBill Fennerif test $# != 0; then
89685295f4SBill Fenner  echo "$me: too many arguments$help" >&2
90685295f4SBill Fenner  exit 1
91685295f4SBill Fennerfi
92685295f4SBill Fenner
935b0fe478SBruce M Simpsontrap 'exit 1' 1 2 15
94685295f4SBill Fenner
955b0fe478SBruce M Simpson# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
965b0fe478SBruce M Simpson# compiler to aid in system detection is discouraged as it requires
975b0fe478SBruce M Simpson# temporary files to be created and, as you can see below, it is a
985b0fe478SBruce M Simpson# headache to deal with in a portable fashion.
99685295f4SBill Fenner
100685295f4SBill Fenner# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101685295f4SBill Fenner# use `HOST_CC' if defined, but it is deprecated.
102685295f4SBill Fenner
1035b0fe478SBruce M Simpson# Portable tmp directory creation inspired by the Autoconf team.
1045b0fe478SBruce M Simpson
1055b0fe478SBruce M Simpsonset_cc_for_build='
1065b0fe478SBruce M Simpsontrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1075b0fe478SBruce M Simpsontrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1085b0fe478SBruce M Simpson: ${TMPDIR=/tmp} ;
10927df3f5dSRui Paulo { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1105b0fe478SBruce M Simpson { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1115b0fe478SBruce M Simpson { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1125b0fe478SBruce M Simpson { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1135b0fe478SBruce M Simpsondummy=$tmp/dummy ;
1145b0fe478SBruce M Simpsontmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115685295f4SBill Fennercase $CC_FOR_BUILD,$HOST_CC,$CC in
1165b0fe478SBruce M Simpson ,,)    echo "int x;" > $dummy.c ;
1175b0fe478SBruce M Simpson	for c in cc gcc c89 c99 ; do
1185b0fe478SBruce M Simpson	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1195b0fe478SBruce M Simpson	     CC_FOR_BUILD="$c"; break ;
1205b0fe478SBruce M Simpson	  fi ;
1215b0fe478SBruce M Simpson	done ;
122685295f4SBill Fenner	if test x"$CC_FOR_BUILD" = x ; then
1235b0fe478SBruce M Simpson	  CC_FOR_BUILD=no_compiler_found ;
124685295f4SBill Fenner	fi
125685295f4SBill Fenner	;;
126685295f4SBill Fenner ,,*)   CC_FOR_BUILD=$CC ;;
127685295f4SBill Fenner ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
12827df3f5dSRui Pauloesac ; set_cc_for_build= ;'
129685295f4SBill Fenner
1304edb46e9SPaul Traina# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1315b0fe478SBruce M Simpson# (ghazi@noc.rutgers.edu 1994-08-24)
1324edb46e9SPaul Trainaif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1334edb46e9SPaul Traina	PATH=$PATH:/.attbin ; export PATH
1344edb46e9SPaul Trainafi
1354edb46e9SPaul Traina
1364edb46e9SPaul TrainaUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1374edb46e9SPaul TrainaUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1384edb46e9SPaul TrainaUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1394edb46e9SPaul TrainaUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1404edb46e9SPaul Traina
1414edb46e9SPaul Traina# Note: order is significant - the case branches are not exclusive.
1424edb46e9SPaul Traina
1434edb46e9SPaul Trainacase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144685295f4SBill Fenner    *:NetBSD:*:*)
1455b0fe478SBruce M Simpson	# NetBSD (nbsd) targets should (where applicable) match one or
146*3c602fabSXin LI	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
147685295f4SBill Fenner	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
148685295f4SBill Fenner	# switched to ELF, *-*-netbsd* would select the old
149685295f4SBill Fenner	# object file format.  This provides both forward
150685295f4SBill Fenner	# compatibility and a consistent mechanism for selecting the
151685295f4SBill Fenner	# object file format.
1525b0fe478SBruce M Simpson	#
1535b0fe478SBruce M Simpson	# Note: NetBSD doesn't particularly care about the vendor
1545b0fe478SBruce M Simpson	# portion of the name.  We always set it to "unknown".
1555b0fe478SBruce M Simpson	sysctl="sysctl -n hw.machine_arch"
1565b0fe478SBruce M Simpson	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1575b0fe478SBruce M Simpson	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1585b0fe478SBruce M Simpson	case "${UNAME_MACHINE_ARCH}" in
1595b0fe478SBruce M Simpson	    armeb) machine=armeb-unknown ;;
1605b0fe478SBruce M Simpson	    arm*) machine=arm-unknown ;;
1615b0fe478SBruce M Simpson	    sh3el) machine=shl-unknown ;;
1625b0fe478SBruce M Simpson	    sh3eb) machine=sh-unknown ;;
16327df3f5dSRui Paulo	    sh5el) machine=sh5le-unknown ;;
1645b0fe478SBruce M Simpson	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165685295f4SBill Fenner	esac
166685295f4SBill Fenner	# The Operating System including object format, if it has switched
167685295f4SBill Fenner	# to ELF recently, or will in the future.
1685b0fe478SBruce M Simpson	case "${UNAME_MACHINE_ARCH}" in
1695b0fe478SBruce M Simpson	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1705b0fe478SBruce M Simpson		eval $set_cc_for_build
171685295f4SBill Fenner		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17227df3f5dSRui Paulo			| grep -q __ELF__
173685295f4SBill Fenner		then
174685295f4SBill Fenner		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175685295f4SBill Fenner		    # Return netbsd for either.  FIX?
176685295f4SBill Fenner		    os=netbsd
177685295f4SBill Fenner		else
178685295f4SBill Fenner		    os=netbsdelf
179685295f4SBill Fenner		fi
180685295f4SBill Fenner		;;
181685295f4SBill Fenner	    *)
182685295f4SBill Fenner		os=netbsd
183685295f4SBill Fenner		;;
184685295f4SBill Fenner	esac
185685295f4SBill Fenner	# The OS release
1865b0fe478SBruce M Simpson	# Debian GNU/NetBSD machines have a different userland, and
1875b0fe478SBruce M Simpson	# thus, need a distinct triplet. However, they do not need
1885b0fe478SBruce M Simpson	# kernel version information, so it can be replaced with a
1895b0fe478SBruce M Simpson	# suitable tag, in the style of linux-gnu.
1905b0fe478SBruce M Simpson	case "${UNAME_VERSION}" in
1915b0fe478SBruce M Simpson	    Debian*)
1925b0fe478SBruce M Simpson		release='-gnu'
1935b0fe478SBruce M Simpson		;;
1945b0fe478SBruce M Simpson	    *)
195685295f4SBill Fenner		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1965b0fe478SBruce M Simpson		;;
1975b0fe478SBruce M Simpson	esac
198685295f4SBill Fenner	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199685295f4SBill Fenner	# contains redundant information, the shorter form:
200685295f4SBill Fenner	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201685295f4SBill Fenner	echo "${machine}-${os}${release}"
20227df3f5dSRui Paulo	exit ;;
2035b0fe478SBruce M Simpson    *:OpenBSD:*:*)
20427df3f5dSRui Paulo	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
20527df3f5dSRui Paulo	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
20627df3f5dSRui Paulo	exit ;;
20727df3f5dSRui Paulo    *:ekkoBSD:*:*)
20827df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
20927df3f5dSRui Paulo	exit ;;
21027df3f5dSRui Paulo    *:SolidBSD:*:*)
21127df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
21227df3f5dSRui Paulo	exit ;;
21327df3f5dSRui Paulo    macppc:MirBSD:*:*)
21427df3f5dSRui Paulo	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
21527df3f5dSRui Paulo	exit ;;
21627df3f5dSRui Paulo    *:MirBSD:*:*)
21727df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
21827df3f5dSRui Paulo	exit ;;
2194edb46e9SPaul Traina    alpha:OSF1:*:*)
22027df3f5dSRui Paulo	case $UNAME_RELEASE in
22127df3f5dSRui Paulo	*4.0)
222685295f4SBill Fenner		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
22327df3f5dSRui Paulo		;;
22427df3f5dSRui Paulo	*5.*)
22527df3f5dSRui Paulo		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
22627df3f5dSRui Paulo		;;
22727df3f5dSRui Paulo	esac
2285b0fe478SBruce M Simpson	# According to Compaq, /usr/sbin/psrinfo has been available on
2295b0fe478SBruce M Simpson	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2305b0fe478SBruce M Simpson	# covers most systems running today.  This code pipes the CPU
2315b0fe478SBruce M Simpson	# types through head -n 1, so we only detect the type of CPU 0.
2325b0fe478SBruce M Simpson	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2335b0fe478SBruce M Simpson	case "$ALPHA_CPU_TYPE" in
2345b0fe478SBruce M Simpson	    "EV4 (21064)")
2355b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2365b0fe478SBruce M Simpson	    "EV4.5 (21064)")
2375b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2385b0fe478SBruce M Simpson	    "LCA4 (21066/21068)")
2395b0fe478SBruce M Simpson		UNAME_MACHINE="alpha" ;;
2405b0fe478SBruce M Simpson	    "EV5 (21164)")
2415b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev5" ;;
2425b0fe478SBruce M Simpson	    "EV5.6 (21164A)")
2435b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev56" ;;
2445b0fe478SBruce M Simpson	    "EV5.6 (21164PC)")
2455b0fe478SBruce M Simpson		UNAME_MACHINE="alphapca56" ;;
2465b0fe478SBruce M Simpson	    "EV5.7 (21164PC)")
2475b0fe478SBruce M Simpson		UNAME_MACHINE="alphapca57" ;;
2485b0fe478SBruce M Simpson	    "EV6 (21264)")
2495b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev6" ;;
2505b0fe478SBruce M Simpson	    "EV6.7 (21264A)")
2515b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev67" ;;
2525b0fe478SBruce M Simpson	    "EV6.8CB (21264C)")
2535b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2545b0fe478SBruce M Simpson	    "EV6.8AL (21264B)")
2555b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2565b0fe478SBruce M Simpson	    "EV6.8CX (21264D)")
2575b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev68" ;;
2585b0fe478SBruce M Simpson	    "EV6.9A (21264/EV69A)")
2595b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev69" ;;
2605b0fe478SBruce M Simpson	    "EV7 (21364)")
2615b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev7" ;;
2625b0fe478SBruce M Simpson	    "EV7.9 (21364A)")
2635b0fe478SBruce M Simpson		UNAME_MACHINE="alphaev79" ;;
2645b0fe478SBruce M Simpson	esac
26527df3f5dSRui Paulo	# A Pn.n version is a patched version.
2664edb46e9SPaul Traina	# A Vn.n version is a released version.
2674edb46e9SPaul Traina	# A Tn.n version is a released field test version.
2684edb46e9SPaul Traina	# A Xn.n version is an unreleased experimental baselevel.
2694edb46e9SPaul Traina	# 1.2 uses "1.2" for uname -r.
27027df3f5dSRui Paulo	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271*3c602fabSXin LI	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
272*3c602fabSXin LI	exitcode=$?
273*3c602fabSXin LI	trap '' 0
274*3c602fabSXin LI	exit $exitcode ;;
275685295f4SBill Fenner    Alpha\ *:Windows_NT*:*)
276685295f4SBill Fenner	# How do we know it's Interix rather than the generic POSIX subsystem?
277685295f4SBill Fenner	# Should we change UNAME_MACHINE based on the output of uname instead
278685295f4SBill Fenner	# of the specific Alpha model?
279685295f4SBill Fenner	echo alpha-pc-interix
28027df3f5dSRui Paulo	exit ;;
2814edb46e9SPaul Traina    21064:Windows_NT:50:3)
2824edb46e9SPaul Traina	echo alpha-dec-winnt3.5
28327df3f5dSRui Paulo	exit ;;
2844edb46e9SPaul Traina    Amiga*:UNIX_System_V:4.0:*)
285685295f4SBill Fenner	echo m68k-unknown-sysv4
28627df3f5dSRui Paulo	exit ;;
287685295f4SBill Fenner    *:[Aa]miga[Oo][Ss]:*:*)
288685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-amigaos
28927df3f5dSRui Paulo	exit ;;
2905b0fe478SBruce M Simpson    *:[Mm]orph[Oo][Ss]:*:*)
2915b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-morphos
29227df3f5dSRui Paulo	exit ;;
293685295f4SBill Fenner    *:OS/390:*:*)
294685295f4SBill Fenner	echo i370-ibm-openedition
29527df3f5dSRui Paulo	exit ;;
29627df3f5dSRui Paulo    *:z/VM:*:*)
29727df3f5dSRui Paulo	echo s390-ibm-zvmoe
29827df3f5dSRui Paulo	exit ;;
2995b0fe478SBruce M Simpson    *:OS400:*:*)
3005b0fe478SBruce M Simpson	echo powerpc-ibm-os400
30127df3f5dSRui Paulo	exit ;;
3024edb46e9SPaul Traina    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3034edb46e9SPaul Traina	echo arm-acorn-riscix${UNAME_RELEASE}
30427df3f5dSRui Paulo	exit ;;
30527df3f5dSRui Paulo    arm:riscos:*:*|arm:RISCOS:*:*)
30627df3f5dSRui Paulo	echo arm-unknown-riscos
30727df3f5dSRui Paulo	exit ;;
308a90e161bSBill Fenner    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
309685295f4SBill Fenner	echo hppa1.1-hitachi-hiuxmpp
31027df3f5dSRui Paulo	exit ;;
311685295f4SBill Fenner    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3124de76e31SBill Fenner	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3134edb46e9SPaul Traina	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3144edb46e9SPaul Traina		echo pyramid-pyramid-sysv3
3154edb46e9SPaul Traina	else
3164edb46e9SPaul Traina		echo pyramid-pyramid-bsd
3174edb46e9SPaul Traina	fi
31827df3f5dSRui Paulo	exit ;;
319685295f4SBill Fenner    NILE*:*:*:dcosx)
3204de76e31SBill Fenner	echo pyramid-pyramid-svr4
32127df3f5dSRui Paulo	exit ;;
3225b0fe478SBruce M Simpson    DRS?6000:unix:4.0:6*)
3235b0fe478SBruce M Simpson	echo sparc-icl-nx6
32427df3f5dSRui Paulo	exit ;;
32527df3f5dSRui Paulo    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3265b0fe478SBruce M Simpson	case `/usr/bin/uname -p` in
32727df3f5dSRui Paulo	    sparc) echo sparc-icl-nx7; exit ;;
3285b0fe478SBruce M Simpson	esac ;;
32927df3f5dSRui Paulo    s390x:SunOS:*:*)
33027df3f5dSRui Paulo	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33127df3f5dSRui Paulo	exit ;;
332685295f4SBill Fenner    sun4H:SunOS:5.*:*)
333685295f4SBill Fenner	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33427df3f5dSRui Paulo	exit ;;
3354de76e31SBill Fenner    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3364edb46e9SPaul Traina	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33727df3f5dSRui Paulo	exit ;;
33827df3f5dSRui Paulo    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
33927df3f5dSRui Paulo	echo i386-pc-auroraux${UNAME_RELEASE}
34027df3f5dSRui Paulo	exit ;;
34127df3f5dSRui Paulo    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
34227df3f5dSRui Paulo	eval $set_cc_for_build
34327df3f5dSRui Paulo	SUN_ARCH="i386"
34427df3f5dSRui Paulo	# If there is a compiler, see if it is configured for 64-bit objects.
34527df3f5dSRui Paulo	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
34627df3f5dSRui Paulo	# This test works for both compilers.
34727df3f5dSRui Paulo	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
34827df3f5dSRui Paulo	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
34927df3f5dSRui Paulo		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
35027df3f5dSRui Paulo		grep IS_64BIT_ARCH >/dev/null
35127df3f5dSRui Paulo	    then
35227df3f5dSRui Paulo		SUN_ARCH="x86_64"
35327df3f5dSRui Paulo	    fi
35427df3f5dSRui Paulo	fi
35527df3f5dSRui Paulo	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
35627df3f5dSRui Paulo	exit ;;
3574edb46e9SPaul Traina    sun4*:SunOS:6*:*)
3584edb46e9SPaul Traina	# According to config.sub, this is the proper way to canonicalize
3594edb46e9SPaul Traina	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3604edb46e9SPaul Traina	# it's likely to be more like Solaris than SunOS4.
3614edb46e9SPaul Traina	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
36227df3f5dSRui Paulo	exit ;;
3634edb46e9SPaul Traina    sun4*:SunOS:*:*)
3644edb46e9SPaul Traina	case "`/usr/bin/arch -k`" in
3654edb46e9SPaul Traina	    Series*|S4*)
3664edb46e9SPaul Traina		UNAME_RELEASE=`uname -v`
3674edb46e9SPaul Traina		;;
3684edb46e9SPaul Traina	esac
3694edb46e9SPaul Traina	# Japanese Language versions have a version number like `4.1.3-JL'.
3704edb46e9SPaul Traina	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
37127df3f5dSRui Paulo	exit ;;
3724edb46e9SPaul Traina    sun3*:SunOS:*:*)
3734edb46e9SPaul Traina	echo m68k-sun-sunos${UNAME_RELEASE}
37427df3f5dSRui Paulo	exit ;;
375685295f4SBill Fenner    sun*:*:4.2BSD:*)
3765b0fe478SBruce M Simpson	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377685295f4SBill Fenner	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
378685295f4SBill Fenner	case "`/bin/arch`" in
379685295f4SBill Fenner	    sun3)
380685295f4SBill Fenner		echo m68k-sun-sunos${UNAME_RELEASE}
381685295f4SBill Fenner		;;
382685295f4SBill Fenner	    sun4)
383685295f4SBill Fenner		echo sparc-sun-sunos${UNAME_RELEASE}
384685295f4SBill Fenner		;;
385685295f4SBill Fenner	esac
38627df3f5dSRui Paulo	exit ;;
3874de76e31SBill Fenner    aushp:SunOS:*:*)
3884de76e31SBill Fenner	echo sparc-auspex-sunos${UNAME_RELEASE}
38927df3f5dSRui Paulo	exit ;;
390685295f4SBill Fenner    # The situation for MiNT is a little confusing.  The machine name
391685295f4SBill Fenner    # can be virtually everything (everything which is not
392685295f4SBill Fenner    # "atarist" or "atariste" at least should have a processor
393685295f4SBill Fenner    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
394685295f4SBill Fenner    # to the lowercase version "mint" (or "freemint").  Finally
395685295f4SBill Fenner    # the system name "TOS" denotes a system which is actually not
396685295f4SBill Fenner    # MiNT.  But MiNT is downward compatible to TOS, so this should
397685295f4SBill Fenner    # be no problem.
398685295f4SBill Fenner    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
399685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
40027df3f5dSRui Paulo	exit ;;
401685295f4SBill Fenner    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
40327df3f5dSRui Paulo	exit ;;
404685295f4SBill Fenner    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
405685295f4SBill Fenner	echo m68k-atari-mint${UNAME_RELEASE}
40627df3f5dSRui Paulo	exit ;;
407685295f4SBill Fenner    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
408685295f4SBill Fenner	echo m68k-milan-mint${UNAME_RELEASE}
40927df3f5dSRui Paulo	exit ;;
410685295f4SBill Fenner    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
411685295f4SBill Fenner	echo m68k-hades-mint${UNAME_RELEASE}
41227df3f5dSRui Paulo	exit ;;
413685295f4SBill Fenner    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
414685295f4SBill Fenner	echo m68k-unknown-mint${UNAME_RELEASE}
41527df3f5dSRui Paulo	exit ;;
41627df3f5dSRui Paulo    m68k:machten:*:*)
41727df3f5dSRui Paulo	echo m68k-apple-machten${UNAME_RELEASE}
41827df3f5dSRui Paulo	exit ;;
4194de76e31SBill Fenner    powerpc:machten:*:*)
4204de76e31SBill Fenner	echo powerpc-apple-machten${UNAME_RELEASE}
42127df3f5dSRui Paulo	exit ;;
4224de76e31SBill Fenner    RISC*:Mach:*:*)
4234de76e31SBill Fenner	echo mips-dec-mach_bsd4.3
42427df3f5dSRui Paulo	exit ;;
4254edb46e9SPaul Traina    RISC*:ULTRIX:*:*)
4264edb46e9SPaul Traina	echo mips-dec-ultrix${UNAME_RELEASE}
42727df3f5dSRui Paulo	exit ;;
4284edb46e9SPaul Traina    VAX*:ULTRIX*:*:*)
4294edb46e9SPaul Traina	echo vax-dec-ultrix${UNAME_RELEASE}
43027df3f5dSRui Paulo	exit ;;
431685295f4SBill Fenner    2020:CLIX:*:* | 2430:CLIX:*:*)
432685295f4SBill Fenner	echo clipper-intergraph-clix${UNAME_RELEASE}
43327df3f5dSRui Paulo	exit ;;
4344de76e31SBill Fenner    mips:*:*:UMIPS | mips:*:*:RISCos)
4355b0fe478SBruce M Simpson	eval $set_cc_for_build
436685295f4SBill Fenner	sed 's/^	//' << EOF >$dummy.c
437685295f4SBill Fenner#ifdef __cplusplus
438685295f4SBill Fenner#include <stdio.h>  /* for printf() prototype */
439685295f4SBill Fenner	int main (int argc, char *argv[]) {
440685295f4SBill Fenner#else
441685295f4SBill Fenner	int main (argc, argv) int argc; char *argv[]; {
442685295f4SBill Fenner#endif
4434de76e31SBill Fenner	#if defined (host_mips) && defined (MIPSEB)
4444de76e31SBill Fenner	#if defined (SYSTYPE_SYSV)
4454de76e31SBill Fenner	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4464de76e31SBill Fenner	#endif
4474de76e31SBill Fenner	#if defined (SYSTYPE_SVR4)
4484de76e31SBill Fenner	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4494de76e31SBill Fenner	#endif
4504de76e31SBill Fenner	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4514de76e31SBill Fenner	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4524de76e31SBill Fenner	#endif
4534de76e31SBill Fenner	#endif
4544de76e31SBill Fenner	  exit (-1);
4554de76e31SBill Fenner	}
4564de76e31SBill FennerEOF
45727df3f5dSRui Paulo	$CC_FOR_BUILD -o $dummy $dummy.c &&
45827df3f5dSRui Paulo	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
45927df3f5dSRui Paulo	  SYSTEM_NAME=`$dummy $dummyarg` &&
46027df3f5dSRui Paulo	    { echo "$SYSTEM_NAME"; exit; }
4614edb46e9SPaul Traina	echo mips-mips-riscos${UNAME_RELEASE}
46227df3f5dSRui Paulo	exit ;;
463a90e161bSBill Fenner    Motorola:PowerMAX_OS:*:*)
464a90e161bSBill Fenner	echo powerpc-motorola-powermax
46527df3f5dSRui Paulo	exit ;;
4665b0fe478SBruce M Simpson    Motorola:*:4.3:PL8-*)
4675b0fe478SBruce M Simpson	echo powerpc-harris-powermax
46827df3f5dSRui Paulo	exit ;;
4695b0fe478SBruce M Simpson    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4705b0fe478SBruce M Simpson	echo powerpc-harris-powermax
47127df3f5dSRui Paulo	exit ;;
4724edb46e9SPaul Traina    Night_Hawk:Power_UNIX:*:*)
4734edb46e9SPaul Traina	echo powerpc-harris-powerunix
47427df3f5dSRui Paulo	exit ;;
4754edb46e9SPaul Traina    m88k:CX/UX:7*:*)
4764edb46e9SPaul Traina	echo m88k-harris-cxux7
47727df3f5dSRui Paulo	exit ;;
4784edb46e9SPaul Traina    m88k:*:4*:R4*)
4794edb46e9SPaul Traina	echo m88k-motorola-sysv4
48027df3f5dSRui Paulo	exit ;;
4814edb46e9SPaul Traina    m88k:*:3*:R3*)
4824edb46e9SPaul Traina	echo m88k-motorola-sysv3
48327df3f5dSRui Paulo	exit ;;
4844edb46e9SPaul Traina    AViiON:dgux:*:*)
4854edb46e9SPaul Traina	# DG/UX returns AViiON for all architectures
4864edb46e9SPaul Traina	UNAME_PROCESSOR=`/usr/bin/uname -p`
487685295f4SBill Fenner	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488685295f4SBill Fenner	then
489685295f4SBill Fenner	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
490685295f4SBill Fenner	       [ ${TARGET_BINARY_INTERFACE}x = x ]
491685295f4SBill Fenner	    then
4924edb46e9SPaul Traina		echo m88k-dg-dgux${UNAME_RELEASE}
4934edb46e9SPaul Traina	    else
4944edb46e9SPaul Traina		echo m88k-dg-dguxbcs${UNAME_RELEASE}
4954edb46e9SPaul Traina	    fi
496685295f4SBill Fenner	else
497685295f4SBill Fenner	    echo i586-dg-dgux${UNAME_RELEASE}
4984edb46e9SPaul Traina	fi
49927df3f5dSRui Paulo	exit ;;
5004edb46e9SPaul Traina    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5014edb46e9SPaul Traina	echo m88k-dolphin-sysv3
50227df3f5dSRui Paulo	exit ;;
5034edb46e9SPaul Traina    M88*:*:R3*:*)
5044edb46e9SPaul Traina	# Delta 88k system running SVR3
5054edb46e9SPaul Traina	echo m88k-motorola-sysv3
50627df3f5dSRui Paulo	exit ;;
5074edb46e9SPaul Traina    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5084edb46e9SPaul Traina	echo m88k-tektronix-sysv3
50927df3f5dSRui Paulo	exit ;;
5104edb46e9SPaul Traina    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5114edb46e9SPaul Traina	echo m68k-tektronix-bsd
51227df3f5dSRui Paulo	exit ;;
5134edb46e9SPaul Traina    *:IRIX*:*:*)
5144edb46e9SPaul Traina	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
51527df3f5dSRui Paulo	exit ;;
5164edb46e9SPaul Traina    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5174edb46e9SPaul Traina	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
51827df3f5dSRui Paulo	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
519a90e161bSBill Fenner    i*86:AIX:*:*)
5204edb46e9SPaul Traina	echo i386-ibm-aix
52127df3f5dSRui Paulo	exit ;;
522a90e161bSBill Fenner    ia64:AIX:*:*)
523a90e161bSBill Fenner	if [ -x /usr/bin/oslevel ] ; then
524a90e161bSBill Fenner		IBM_REV=`/usr/bin/oslevel`
525a90e161bSBill Fenner	else
526a90e161bSBill Fenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527a90e161bSBill Fenner	fi
528a90e161bSBill Fenner	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
52927df3f5dSRui Paulo	exit ;;
5304edb46e9SPaul Traina    *:AIX:2:3)
5314edb46e9SPaul Traina	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5325b0fe478SBruce M Simpson		eval $set_cc_for_build
533685295f4SBill Fenner		sed 's/^		//' << EOF >$dummy.c
5344edb46e9SPaul Traina		#include <sys/systemcfg.h>
5354edb46e9SPaul Traina
5364edb46e9SPaul Traina		main()
5374edb46e9SPaul Traina			{
5384edb46e9SPaul Traina			if (!__power_pc())
5394edb46e9SPaul Traina				exit(1);
5404edb46e9SPaul Traina			puts("powerpc-ibm-aix3.2.5");
5414edb46e9SPaul Traina			exit(0);
5424edb46e9SPaul Traina			}
5434edb46e9SPaul TrainaEOF
54427df3f5dSRui Paulo		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
54527df3f5dSRui Paulo		then
54627df3f5dSRui Paulo			echo "$SYSTEM_NAME"
54727df3f5dSRui Paulo		else
5484edb46e9SPaul Traina			echo rs6000-ibm-aix3.2.5
54927df3f5dSRui Paulo		fi
5504edb46e9SPaul Traina	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5514edb46e9SPaul Traina		echo rs6000-ibm-aix3.2.4
5524edb46e9SPaul Traina	else
5534edb46e9SPaul Traina		echo rs6000-ibm-aix3.2
5544edb46e9SPaul Traina	fi
55527df3f5dSRui Paulo	exit ;;
556*3c602fabSXin LI    *:AIX:*:[4567])
5575b0fe478SBruce M Simpson	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
558a90e161bSBill Fenner	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5594edb46e9SPaul Traina		IBM_ARCH=rs6000
5604edb46e9SPaul Traina	else
5614edb46e9SPaul Traina		IBM_ARCH=powerpc
5624edb46e9SPaul Traina	fi
5634edb46e9SPaul Traina	if [ -x /usr/bin/oslevel ] ; then
5644edb46e9SPaul Traina		IBM_REV=`/usr/bin/oslevel`
5654edb46e9SPaul Traina	else
566a90e161bSBill Fenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5674edb46e9SPaul Traina	fi
5684edb46e9SPaul Traina	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
56927df3f5dSRui Paulo	exit ;;
5704edb46e9SPaul Traina    *:AIX:*:*)
5714edb46e9SPaul Traina	echo rs6000-ibm-aix
57227df3f5dSRui Paulo	exit ;;
5734edb46e9SPaul Traina    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
5744edb46e9SPaul Traina	echo romp-ibm-bsd4.4
57527df3f5dSRui Paulo	exit ;;
576685295f4SBill Fenner    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
5774edb46e9SPaul Traina	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
57827df3f5dSRui Paulo	exit ;;                             # report: romp-ibm BSD 4.3
5794edb46e9SPaul Traina    *:BOSX:*:*)
5804edb46e9SPaul Traina	echo rs6000-bull-bosx
58127df3f5dSRui Paulo	exit ;;
5824edb46e9SPaul Traina    DPX/2?00:B.O.S.:*:*)
5834edb46e9SPaul Traina	echo m68k-bull-sysv3
58427df3f5dSRui Paulo	exit ;;
5854edb46e9SPaul Traina    9000/[34]??:4.3bsd:1.*:*)
5864edb46e9SPaul Traina	echo m68k-hp-bsd
58727df3f5dSRui Paulo	exit ;;
5884edb46e9SPaul Traina    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
5894edb46e9SPaul Traina	echo m68k-hp-bsd4.4
59027df3f5dSRui Paulo	exit ;;
591685295f4SBill Fenner    9000/[34678]??:HP-UX:*:*)
592685295f4SBill Fenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
5934edb46e9SPaul Traina	case "${UNAME_MACHINE}" in
5944edb46e9SPaul Traina	    9000/31? )            HP_ARCH=m68000 ;;
5954edb46e9SPaul Traina	    9000/[34]?? )         HP_ARCH=m68k ;;
596685295f4SBill Fenner	    9000/[678][0-9][0-9])
597685295f4SBill Fenner		if [ -x /usr/bin/getconf ]; then
598685295f4SBill Fenner		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
599685295f4SBill Fenner		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
600685295f4SBill Fenner		    case "${sc_cpu_version}" in
601685295f4SBill Fenner		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
602685295f4SBill Fenner		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
603685295f4SBill Fenner		      532)                      # CPU_PA_RISC2_0
604685295f4SBill Fenner			case "${sc_kernel_bits}" in
605685295f4SBill Fenner			  32) HP_ARCH="hppa2.0n" ;;
606685295f4SBill Fenner			  64) HP_ARCH="hppa2.0w" ;;
6075b0fe478SBruce M Simpson			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
608685295f4SBill Fenner			esac ;;
6094edb46e9SPaul Traina		    esac
6105b0fe478SBruce M Simpson		fi
611685295f4SBill Fenner		if [ "${HP_ARCH}" = "" ]; then
6125b0fe478SBruce M Simpson		    eval $set_cc_for_build
613685295f4SBill Fenner		    sed 's/^		//' << EOF >$dummy.c
614685295f4SBill Fenner
615685295f4SBill Fenner		#define _HPUX_SOURCE
616685295f4SBill Fenner		#include <stdlib.h>
617685295f4SBill Fenner		#include <unistd.h>
618685295f4SBill Fenner
619685295f4SBill Fenner		int main ()
620685295f4SBill Fenner		{
621685295f4SBill Fenner		#if defined(_SC_KERNEL_BITS)
622685295f4SBill Fenner		    long bits = sysconf(_SC_KERNEL_BITS);
623685295f4SBill Fenner		#endif
624685295f4SBill Fenner		    long cpu  = sysconf (_SC_CPU_VERSION);
625685295f4SBill Fenner
626685295f4SBill Fenner		    switch (cpu)
627685295f4SBill Fenner			{
628685295f4SBill Fenner			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
629685295f4SBill Fenner			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
630685295f4SBill Fenner			case CPU_PA_RISC2_0:
631685295f4SBill Fenner		#if defined(_SC_KERNEL_BITS)
632685295f4SBill Fenner			    switch (bits)
633685295f4SBill Fenner				{
634685295f4SBill Fenner				case 64: puts ("hppa2.0w"); break;
635685295f4SBill Fenner				case 32: puts ("hppa2.0n"); break;
636685295f4SBill Fenner				default: puts ("hppa2.0"); break;
637685295f4SBill Fenner				} break;
638685295f4SBill Fenner		#else  /* !defined(_SC_KERNEL_BITS) */
639685295f4SBill Fenner			    puts ("hppa2.0"); break;
640685295f4SBill Fenner		#endif
641685295f4SBill Fenner			default: puts ("hppa1.0"); break;
642685295f4SBill Fenner			}
643685295f4SBill Fenner		    exit (0);
644685295f4SBill Fenner		}
645685295f4SBill FennerEOF
6465b0fe478SBruce M Simpson		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6475b0fe478SBruce M Simpson		    test -z "$HP_ARCH" && HP_ARCH=hppa
648685295f4SBill Fenner		fi ;;
649685295f4SBill Fenner	esac
6505b0fe478SBruce M Simpson	if [ ${HP_ARCH} = "hppa2.0w" ]
6515b0fe478SBruce M Simpson	then
65227df3f5dSRui Paulo	    eval $set_cc_for_build
65327df3f5dSRui Paulo
65427df3f5dSRui Paulo	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
65527df3f5dSRui Paulo	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
65627df3f5dSRui Paulo	    # generating 64-bit code.  GNU and HP use different nomenclature:
65727df3f5dSRui Paulo	    #
65827df3f5dSRui Paulo	    # $ CC_FOR_BUILD=cc ./config.guess
65927df3f5dSRui Paulo	    # => hppa2.0w-hp-hpux11.23
66027df3f5dSRui Paulo	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
66127df3f5dSRui Paulo	    # => hppa64-hp-hpux11.23
66227df3f5dSRui Paulo
66327df3f5dSRui Paulo	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
66427df3f5dSRui Paulo		grep -q __LP64__
6655b0fe478SBruce M Simpson	    then
6665b0fe478SBruce M Simpson		HP_ARCH="hppa2.0w"
6675b0fe478SBruce M Simpson	    else
6685b0fe478SBruce M Simpson		HP_ARCH="hppa64"
6695b0fe478SBruce M Simpson	    fi
6705b0fe478SBruce M Simpson	fi
6714edb46e9SPaul Traina	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
67227df3f5dSRui Paulo	exit ;;
673a90e161bSBill Fenner    ia64:HP-UX:*:*)
674a90e161bSBill Fenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
675a90e161bSBill Fenner	echo ia64-hp-hpux${HPUX_REV}
67627df3f5dSRui Paulo	exit ;;
6774edb46e9SPaul Traina    3050*:HI-UX:*:*)
6785b0fe478SBruce M Simpson	eval $set_cc_for_build
679685295f4SBill Fenner	sed 's/^	//' << EOF >$dummy.c
6804edb46e9SPaul Traina	#include <unistd.h>
6814edb46e9SPaul Traina	int
6824edb46e9SPaul Traina	main ()
6834edb46e9SPaul Traina	{
6844edb46e9SPaul Traina	  long cpu = sysconf (_SC_CPU_VERSION);
6854edb46e9SPaul Traina	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
6864edb46e9SPaul Traina	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
6874edb46e9SPaul Traina	     results, however.  */
6884edb46e9SPaul Traina	  if (CPU_IS_PA_RISC (cpu))
6894edb46e9SPaul Traina	    {
6904edb46e9SPaul Traina	      switch (cpu)
6914edb46e9SPaul Traina		{
6924edb46e9SPaul Traina		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
6934edb46e9SPaul Traina		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
6944edb46e9SPaul Traina		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
6954edb46e9SPaul Traina		  default: puts ("hppa-hitachi-hiuxwe2"); break;
6964edb46e9SPaul Traina		}
6974edb46e9SPaul Traina	    }
6984edb46e9SPaul Traina	  else if (CPU_IS_HP_MC68K (cpu))
6994edb46e9SPaul Traina	    puts ("m68k-hitachi-hiuxwe2");
7004edb46e9SPaul Traina	  else puts ("unknown-hitachi-hiuxwe2");
7014edb46e9SPaul Traina	  exit (0);
7024edb46e9SPaul Traina	}
7034edb46e9SPaul TrainaEOF
70427df3f5dSRui Paulo	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
70527df3f5dSRui Paulo		{ echo "$SYSTEM_NAME"; exit; }
7064edb46e9SPaul Traina	echo unknown-hitachi-hiuxwe2
70727df3f5dSRui Paulo	exit ;;
7084edb46e9SPaul Traina    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
7094edb46e9SPaul Traina	echo hppa1.1-hp-bsd
71027df3f5dSRui Paulo	exit ;;
7114edb46e9SPaul Traina    9000/8??:4.3bsd:*:*)
7124edb46e9SPaul Traina	echo hppa1.0-hp-bsd
71327df3f5dSRui Paulo	exit ;;
7145b0fe478SBruce M Simpson    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
715685295f4SBill Fenner	echo hppa1.0-hp-mpeix
71627df3f5dSRui Paulo	exit ;;
7174edb46e9SPaul Traina    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
7184edb46e9SPaul Traina	echo hppa1.1-hp-osf
71927df3f5dSRui Paulo	exit ;;
7204edb46e9SPaul Traina    hp8??:OSF1:*:*)
7214edb46e9SPaul Traina	echo hppa1.0-hp-osf
72227df3f5dSRui Paulo	exit ;;
723a90e161bSBill Fenner    i*86:OSF1:*:*)
7244de76e31SBill Fenner	if [ -x /usr/sbin/sysversion ] ; then
7254de76e31SBill Fenner	    echo ${UNAME_MACHINE}-unknown-osf1mk
7264de76e31SBill Fenner	else
7274de76e31SBill Fenner	    echo ${UNAME_MACHINE}-unknown-osf1
7284de76e31SBill Fenner	fi
72927df3f5dSRui Paulo	exit ;;
7304edb46e9SPaul Traina    parisc*:Lites*:*:*)
7314edb46e9SPaul Traina	echo hppa1.1-hp-lites
73227df3f5dSRui Paulo	exit ;;
7334edb46e9SPaul Traina    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7344edb46e9SPaul Traina	echo c1-convex-bsd
73527df3f5dSRui Paulo	exit ;;
7364edb46e9SPaul Traina    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7374edb46e9SPaul Traina	if getsysinfo -f scalar_acc
7384edb46e9SPaul Traina	then echo c32-convex-bsd
7394edb46e9SPaul Traina	else echo c2-convex-bsd
7404edb46e9SPaul Traina	fi
74127df3f5dSRui Paulo	exit ;;
7424edb46e9SPaul Traina    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7434edb46e9SPaul Traina	echo c34-convex-bsd
74427df3f5dSRui Paulo	exit ;;
7454edb46e9SPaul Traina    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7464edb46e9SPaul Traina	echo c38-convex-bsd
74727df3f5dSRui Paulo	exit ;;
7484edb46e9SPaul Traina    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7494edb46e9SPaul Traina	echo c4-convex-bsd
75027df3f5dSRui Paulo	exit ;;
7514edb46e9SPaul Traina    CRAY*Y-MP:*:*:*)
7525b0fe478SBruce M Simpson	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
75327df3f5dSRui Paulo	exit ;;
7544de76e31SBill Fenner    CRAY*[A-Z]90:*:*:*)
7554de76e31SBill Fenner	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7564de76e31SBill Fenner	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7575b0fe478SBruce M Simpson	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7585b0fe478SBruce M Simpson	      -e 's/\.[^.]*$/.X/'
75927df3f5dSRui Paulo	exit ;;
7604de76e31SBill Fenner    CRAY*TS:*:*:*)
761685295f4SBill Fenner	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
76227df3f5dSRui Paulo	exit ;;
763685295f4SBill Fenner    CRAY*T3E:*:*:*)
764685295f4SBill Fenner	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
76527df3f5dSRui Paulo	exit ;;
766685295f4SBill Fenner    CRAY*SV1:*:*:*)
767685295f4SBill Fenner	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
76827df3f5dSRui Paulo	exit ;;
7695b0fe478SBruce M Simpson    *:UNICOS/mp:*:*)
77027df3f5dSRui Paulo	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
77127df3f5dSRui Paulo	exit ;;
772a90e161bSBill Fenner    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
773a90e161bSBill Fenner	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
774685295f4SBill Fenner	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7754de76e31SBill Fenner	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
776a90e161bSBill Fenner	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
77727df3f5dSRui Paulo	exit ;;
7785b0fe478SBruce M Simpson    5000:UNIX_System_V:4.*:*)
7795b0fe478SBruce M Simpson	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7805b0fe478SBruce M Simpson	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7815b0fe478SBruce M Simpson	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
78227df3f5dSRui Paulo	exit ;;
783a90e161bSBill Fenner    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
7844de76e31SBill Fenner	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
78527df3f5dSRui Paulo	exit ;;
786685295f4SBill Fenner    sparc*:BSD/OS:*:*)
787685295f4SBill Fenner	echo sparc-unknown-bsdi${UNAME_RELEASE}
78827df3f5dSRui Paulo	exit ;;
789685295f4SBill Fenner    *:BSD/OS:*:*)
790685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
79127df3f5dSRui Paulo	exit ;;
7924edb46e9SPaul Traina    *:FreeBSD:*:*)
793*3c602fabSXin LI	UNAME_PROCESSOR=`/usr/bin/uname -p`
794*3c602fabSXin LI	case ${UNAME_PROCESSOR} in
79527df3f5dSRui Paulo	    amd64)
79627df3f5dSRui Paulo		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
79727df3f5dSRui Paulo	    *)
798*3c602fabSXin LI		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
79927df3f5dSRui Paulo	esac
80027df3f5dSRui Paulo	exit ;;
8014edb46e9SPaul Traina    i*:CYGWIN*:*)
802685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-cygwin
80327df3f5dSRui Paulo	exit ;;
80427df3f5dSRui Paulo    *:MINGW*:*)
805685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-mingw32
80627df3f5dSRui Paulo	exit ;;
807*3c602fabSXin LI    i*:MSYS*:*)
808*3c602fabSXin LI	echo ${UNAME_MACHINE}-pc-msys
809*3c602fabSXin LI	exit ;;
81027df3f5dSRui Paulo    i*:windows32*:*)
81127df3f5dSRui Paulo	# uname -m includes "-pc" on this system.
81227df3f5dSRui Paulo	echo ${UNAME_MACHINE}-mingw32
81327df3f5dSRui Paulo	exit ;;
814685295f4SBill Fenner    i*:PW*:*)
815685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-pw32
81627df3f5dSRui Paulo	exit ;;
81727df3f5dSRui Paulo    *:Interix*:*)
81827df3f5dSRui Paulo	case ${UNAME_MACHINE} in
81927df3f5dSRui Paulo	    x86)
82027df3f5dSRui Paulo		echo i586-pc-interix${UNAME_RELEASE}
82127df3f5dSRui Paulo		exit ;;
82227df3f5dSRui Paulo	    authenticamd | genuineintel | EM64T)
82327df3f5dSRui Paulo		echo x86_64-unknown-interix${UNAME_RELEASE}
82427df3f5dSRui Paulo		exit ;;
82527df3f5dSRui Paulo	    IA64)
82627df3f5dSRui Paulo		echo ia64-unknown-interix${UNAME_RELEASE}
82727df3f5dSRui Paulo		exit ;;
82827df3f5dSRui Paulo	esac ;;
8295b0fe478SBruce M Simpson    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8305b0fe478SBruce M Simpson	echo i${UNAME_MACHINE}-pc-mks
83127df3f5dSRui Paulo	exit ;;
83227df3f5dSRui Paulo    8664:Windows_NT:*)
83327df3f5dSRui Paulo	echo x86_64-pc-mks
83427df3f5dSRui Paulo	exit ;;
835685295f4SBill Fenner    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
836685295f4SBill Fenner	# How do we know it's Interix rather than the generic POSIX subsystem?
837685295f4SBill Fenner	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
838685295f4SBill Fenner	# UNAME_MACHINE based on the output of uname instead of i386?
8395b0fe478SBruce M Simpson	echo i586-pc-interix
84027df3f5dSRui Paulo	exit ;;
841685295f4SBill Fenner    i*:UWIN*:*)
842685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-uwin
84327df3f5dSRui Paulo	exit ;;
84427df3f5dSRui Paulo    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
84527df3f5dSRui Paulo	echo x86_64-unknown-cygwin
84627df3f5dSRui Paulo	exit ;;
8474edb46e9SPaul Traina    p*:CYGWIN*:*)
848685295f4SBill Fenner	echo powerpcle-unknown-cygwin
84927df3f5dSRui Paulo	exit ;;
8504edb46e9SPaul Traina    prep*:SunOS:5.*:*)
8514edb46e9SPaul Traina	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
85227df3f5dSRui Paulo	exit ;;
8534edb46e9SPaul Traina    *:GNU:*:*)
8545b0fe478SBruce M Simpson	# the GNU system
855685295f4SBill Fenner	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
85627df3f5dSRui Paulo	exit ;;
8575b0fe478SBruce M Simpson    *:GNU/*:*:*)
8585b0fe478SBruce M Simpson	# other systems with GNU libc and userland
8595b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
86027df3f5dSRui Paulo	exit ;;
861685295f4SBill Fenner    i*86:Minix:*:*)
862685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-minix
86327df3f5dSRui Paulo	exit ;;
864*3c602fabSXin LI    aarch64:Linux:*:*)
865*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
866*3c602fabSXin LI	exit ;;
867*3c602fabSXin LI    aarch64_be:Linux:*:*)
868*3c602fabSXin LI	UNAME_MACHINE=aarch64_be
869*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
870*3c602fabSXin LI	exit ;;
871a90e161bSBill Fenner    alpha:Linux:*:*)
8725b0fe478SBruce M Simpson	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
8735b0fe478SBruce M Simpson	  EV5)   UNAME_MACHINE=alphaev5 ;;
8745b0fe478SBruce M Simpson	  EV56)  UNAME_MACHINE=alphaev56 ;;
8755b0fe478SBruce M Simpson	  PCA56) UNAME_MACHINE=alphapca56 ;;
8765b0fe478SBruce M Simpson	  PCA57) UNAME_MACHINE=alphapca56 ;;
8775b0fe478SBruce M Simpson	  EV6)   UNAME_MACHINE=alphaev6 ;;
8785b0fe478SBruce M Simpson	  EV67)  UNAME_MACHINE=alphaev67 ;;
8795b0fe478SBruce M Simpson	  EV68*) UNAME_MACHINE=alphaev68 ;;
880685295f4SBill Fenner	esac
88127df3f5dSRui Paulo	objdump --private-headers /bin/sh | grep -q ld.so.1
8825b0fe478SBruce M Simpson	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883a90e161bSBill Fenner	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
88427df3f5dSRui Paulo	exit ;;
88527df3f5dSRui Paulo    arm*:Linux:*:*)
88627df3f5dSRui Paulo	eval $set_cc_for_build
88727df3f5dSRui Paulo	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
88827df3f5dSRui Paulo	    | grep -q __ARM_EABI__
88927df3f5dSRui Paulo	then
89027df3f5dSRui Paulo	    echo ${UNAME_MACHINE}-unknown-linux-gnu
89127df3f5dSRui Paulo	else
892*3c602fabSXin LI	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
893*3c602fabSXin LI		| grep -q __ARM_PCS_VFP
894*3c602fabSXin LI	    then
89527df3f5dSRui Paulo		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
896*3c602fabSXin LI	    else
897*3c602fabSXin LI		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
898*3c602fabSXin LI	    fi
89927df3f5dSRui Paulo	fi
90027df3f5dSRui Paulo	exit ;;
90127df3f5dSRui Paulo    avr32*:Linux:*:*)
90227df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
90327df3f5dSRui Paulo	exit ;;
90427df3f5dSRui Paulo    cris:Linux:*:*)
905*3c602fabSXin LI	echo ${UNAME_MACHINE}-axis-linux-gnu
90627df3f5dSRui Paulo	exit ;;
90727df3f5dSRui Paulo    crisv32:Linux:*:*)
908*3c602fabSXin LI	echo ${UNAME_MACHINE}-axis-linux-gnu
90927df3f5dSRui Paulo	exit ;;
91027df3f5dSRui Paulo    frv:Linux:*:*)
911*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
912*3c602fabSXin LI	exit ;;
913*3c602fabSXin LI    hexagon:Linux:*:*)
914*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
91527df3f5dSRui Paulo	exit ;;
91627df3f5dSRui Paulo    i*86:Linux:*:*)
91727df3f5dSRui Paulo	LIBC=gnu
91827df3f5dSRui Paulo	eval $set_cc_for_build
91927df3f5dSRui Paulo	sed 's/^	//' << EOF >$dummy.c
92027df3f5dSRui Paulo	#ifdef __dietlibc__
92127df3f5dSRui Paulo	LIBC=dietlibc
92227df3f5dSRui Paulo	#endif
92327df3f5dSRui PauloEOF
92427df3f5dSRui Paulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
92527df3f5dSRui Paulo	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
92627df3f5dSRui Paulo	exit ;;
92727df3f5dSRui Paulo    ia64:Linux:*:*)
92827df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
92927df3f5dSRui Paulo	exit ;;
93027df3f5dSRui Paulo    m32r*:Linux:*:*)
93127df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
93227df3f5dSRui Paulo	exit ;;
93327df3f5dSRui Paulo    m68*:Linux:*:*)
93427df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
93527df3f5dSRui Paulo	exit ;;
93627df3f5dSRui Paulo    mips:Linux:*:* | mips64:Linux:*:*)
93727df3f5dSRui Paulo	eval $set_cc_for_build
93827df3f5dSRui Paulo	sed 's/^	//' << EOF >$dummy.c
93927df3f5dSRui Paulo	#undef CPU
94027df3f5dSRui Paulo	#undef ${UNAME_MACHINE}
94127df3f5dSRui Paulo	#undef ${UNAME_MACHINE}el
94227df3f5dSRui Paulo	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
94327df3f5dSRui Paulo	CPU=${UNAME_MACHINE}el
94427df3f5dSRui Paulo	#else
94527df3f5dSRui Paulo	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
94627df3f5dSRui Paulo	CPU=${UNAME_MACHINE}
94727df3f5dSRui Paulo	#else
94827df3f5dSRui Paulo	CPU=
94927df3f5dSRui Paulo	#endif
95027df3f5dSRui Paulo	#endif
95127df3f5dSRui PauloEOF
95227df3f5dSRui Paulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
95327df3f5dSRui Paulo	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
95427df3f5dSRui Paulo	;;
95527df3f5dSRui Paulo    or32:Linux:*:*)
956*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
95727df3f5dSRui Paulo	exit ;;
95827df3f5dSRui Paulo    padre:Linux:*:*)
95927df3f5dSRui Paulo	echo sparc-unknown-linux-gnu
96027df3f5dSRui Paulo	exit ;;
96127df3f5dSRui Paulo    parisc64:Linux:*:* | hppa64:Linux:*:*)
96227df3f5dSRui Paulo	echo hppa64-unknown-linux-gnu
96327df3f5dSRui Paulo	exit ;;
964a90e161bSBill Fenner    parisc:Linux:*:* | hppa:Linux:*:*)
965685295f4SBill Fenner	# Look for CPU level
966685295f4SBill Fenner	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
967a90e161bSBill Fenner	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
968a90e161bSBill Fenner	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
969a90e161bSBill Fenner	  *)    echo hppa-unknown-linux-gnu ;;
970a90e161bSBill Fenner	esac
97127df3f5dSRui Paulo	exit ;;
97227df3f5dSRui Paulo    ppc64:Linux:*:*)
97327df3f5dSRui Paulo	echo powerpc64-unknown-linux-gnu
97427df3f5dSRui Paulo	exit ;;
97527df3f5dSRui Paulo    ppc:Linux:*:*)
97627df3f5dSRui Paulo	echo powerpc-unknown-linux-gnu
97727df3f5dSRui Paulo	exit ;;
978a90e161bSBill Fenner    s390:Linux:*:* | s390x:Linux:*:*)
979a90e161bSBill Fenner	echo ${UNAME_MACHINE}-ibm-linux
98027df3f5dSRui Paulo	exit ;;
9815b0fe478SBruce M Simpson    sh64*:Linux:*:*)
9825b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-linux-gnu
98327df3f5dSRui Paulo	exit ;;
984a90e161bSBill Fenner    sh*:Linux:*:*)
985a90e161bSBill Fenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
98627df3f5dSRui Paulo	exit ;;
987a90e161bSBill Fenner    sparc:Linux:*:* | sparc64:Linux:*:*)
988a90e161bSBill Fenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
98927df3f5dSRui Paulo	exit ;;
990*3c602fabSXin LI    tile*:Linux:*:*)
991*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
992*3c602fabSXin LI	exit ;;
99327df3f5dSRui Paulo    vax:Linux:*:*)
99427df3f5dSRui Paulo	echo ${UNAME_MACHINE}-dec-linux-gnu
99527df3f5dSRui Paulo	exit ;;
996a90e161bSBill Fenner    x86_64:Linux:*:*)
997*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-linux-gnu
99827df3f5dSRui Paulo	exit ;;
99927df3f5dSRui Paulo    xtensa*:Linux:*:*)
100027df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
100127df3f5dSRui Paulo	exit ;;
1002a90e161bSBill Fenner    i*86:DYNIX/ptx:4*:*)
10035b0fe478SBruce M Simpson	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10045b0fe478SBruce M Simpson	# earlier versions are messed up and put the nodename in both
10055b0fe478SBruce M Simpson	# sysname and nodename.
10064edb46e9SPaul Traina	echo i386-sequent-sysv4
100727df3f5dSRui Paulo	exit ;;
1008a90e161bSBill Fenner    i*86:UNIX_SV:4.2MP:2.*)
1009685295f4SBill Fenner	# Unixware is an offshoot of SVR4, but it has its own version
1010685295f4SBill Fenner	# number series starting with 2...
1011685295f4SBill Fenner	# I am not positive that other SVR4 systems won't match this,
1012685295f4SBill Fenner	# I just have to hope.  -- rms.
1013685295f4SBill Fenner	# Use sysv4.2uw... so that sysv4* matches it.
1014685295f4SBill Fenner	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
101527df3f5dSRui Paulo	exit ;;
10165b0fe478SBruce M Simpson    i*86:OS/2:*:*)
10175b0fe478SBruce M Simpson	# If we were able to find `uname', then EMX Unix compatibility
10185b0fe478SBruce M Simpson	# is probably installed.
10195b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-pc-os2-emx
102027df3f5dSRui Paulo	exit ;;
10215b0fe478SBruce M Simpson    i*86:XTS-300:*:STOP)
10225b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-stop
102327df3f5dSRui Paulo	exit ;;
10245b0fe478SBruce M Simpson    i*86:atheos:*:*)
10255b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-atheos
102627df3f5dSRui Paulo	exit ;;
102727df3f5dSRui Paulo    i*86:syllable:*:*)
102827df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-syllable
102927df3f5dSRui Paulo	exit ;;
103027df3f5dSRui Paulo    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10315b0fe478SBruce M Simpson	echo i386-unknown-lynxos${UNAME_RELEASE}
103227df3f5dSRui Paulo	exit ;;
10335b0fe478SBruce M Simpson    i*86:*DOS:*:*)
10345b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-pc-msdosdjgpp
103527df3f5dSRui Paulo	exit ;;
1036a90e161bSBill Fenner    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1037685295f4SBill Fenner	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
10384edb46e9SPaul Traina	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1039685295f4SBill Fenner		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1040685295f4SBill Fenner	else
1041685295f4SBill Fenner		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1042685295f4SBill Fenner	fi
104327df3f5dSRui Paulo	exit ;;
104427df3f5dSRui Paulo    i*86:*:5:[678]*)
104527df3f5dSRui Paulo	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10465b0fe478SBruce M Simpson	case `/bin/uname -X | grep "^Machine"` in
10475b0fe478SBruce M Simpson	    *486*)	     UNAME_MACHINE=i486 ;;
10485b0fe478SBruce M Simpson	    *Pentium)	     UNAME_MACHINE=i586 ;;
10495b0fe478SBruce M Simpson	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10505b0fe478SBruce M Simpson	esac
10515b0fe478SBruce M Simpson	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
105227df3f5dSRui Paulo	exit ;;
1053a90e161bSBill Fenner    i*86:*:3.2:*)
10544edb46e9SPaul Traina	if test -f /usr/options/cb.name; then
10554edb46e9SPaul Traina		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
10564de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
10574edb46e9SPaul Traina	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10585b0fe478SBruce M Simpson		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
10595b0fe478SBruce M Simpson		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
10605b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
10614edb46e9SPaul Traina			&& UNAME_MACHINE=i586
10625b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1063685295f4SBill Fenner			&& UNAME_MACHINE=i686
10645b0fe478SBruce M Simpson		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1065685295f4SBill Fenner			&& UNAME_MACHINE=i686
10664de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
10674edb46e9SPaul Traina	else
10684de76e31SBill Fenner		echo ${UNAME_MACHINE}-pc-sysv32
10694edb46e9SPaul Traina	fi
107027df3f5dSRui Paulo	exit ;;
1071685295f4SBill Fenner    pc:*:*:*)
1072685295f4SBill Fenner	# Left here for compatibility:
1073685295f4SBill Fenner	# uname -m prints for DJGPP always 'pc', but it prints nothing about
107427df3f5dSRui Paulo	# the processor, so we play safe by assuming i586.
107527df3f5dSRui Paulo	# Note: whatever this is, it MUST be the same as what config.sub
107627df3f5dSRui Paulo	# prints for the "djgpp" host, or else GDB configury will decide that
107727df3f5dSRui Paulo	# this is a cross-build.
107827df3f5dSRui Paulo	echo i586-pc-msdosdjgpp
107927df3f5dSRui Paulo	exit ;;
10804edb46e9SPaul Traina    Intel:Mach:3*:*)
10814de76e31SBill Fenner	echo i386-pc-mach3
108227df3f5dSRui Paulo	exit ;;
10834edb46e9SPaul Traina    paragon:*:*:*)
10844edb46e9SPaul Traina	echo i860-intel-osf1
108527df3f5dSRui Paulo	exit ;;
10864edb46e9SPaul Traina    i860:*:4.*:*) # i860-SVR4
10874edb46e9SPaul Traina	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
10884edb46e9SPaul Traina	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
10894edb46e9SPaul Traina	else # Add other i860-SVR4 vendors below as they are discovered.
10904edb46e9SPaul Traina	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
10914edb46e9SPaul Traina	fi
109227df3f5dSRui Paulo	exit ;;
10934edb46e9SPaul Traina    mini*:CTIX:SYS*5:*)
10944edb46e9SPaul Traina	# "miniframe"
10954edb46e9SPaul Traina	echo m68010-convergent-sysv
109627df3f5dSRui Paulo	exit ;;
10975b0fe478SBruce M Simpson    mc68k:UNIX:SYSTEM5:3.51m)
10985b0fe478SBruce M Simpson	echo m68k-convergent-sysv
109927df3f5dSRui Paulo	exit ;;
11005b0fe478SBruce M Simpson    M680?0:D-NIX:5.3:*)
11015b0fe478SBruce M Simpson	echo m68k-diab-dnix
110227df3f5dSRui Paulo	exit ;;
110327df3f5dSRui Paulo    M68*:*:R3V[5678]*:*)
110427df3f5dSRui Paulo	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
110527df3f5dSRui 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)
11064de76e31SBill Fenner	OS_REL=''
11074de76e31SBill Fenner	test -r /etc/.relid \
11084de76e31SBill Fenner	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11094de76e31SBill Fenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
111027df3f5dSRui Paulo	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11114de76e31SBill Fenner	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
111227df3f5dSRui Paulo	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11134edb46e9SPaul Traina    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11144de76e31SBill Fenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
111527df3f5dSRui Paulo	  && { echo i486-ncr-sysv4; exit; } ;;
111627df3f5dSRui Paulo    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
111727df3f5dSRui Paulo	OS_REL='.3'
111827df3f5dSRui Paulo	test -r /etc/.relid \
111927df3f5dSRui Paulo	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
112027df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
112127df3f5dSRui Paulo	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
112227df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
112327df3f5dSRui Paulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
112427df3f5dSRui Paulo	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
112527df3f5dSRui Paulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1126a90e161bSBill Fenner    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11274de76e31SBill Fenner	echo m68k-unknown-lynxos${UNAME_RELEASE}
112827df3f5dSRui Paulo	exit ;;
11294edb46e9SPaul Traina    mc68030:UNIX_System_V:4.*:*)
11304edb46e9SPaul Traina	echo m68k-atari-sysv4
113127df3f5dSRui Paulo	exit ;;
11324de76e31SBill Fenner    TSUNAMI:LynxOS:2.*:*)
11334de76e31SBill Fenner	echo sparc-unknown-lynxos${UNAME_RELEASE}
113427df3f5dSRui Paulo	exit ;;
1135a90e161bSBill Fenner    rs6000:LynxOS:2.*:*)
11364de76e31SBill Fenner	echo rs6000-unknown-lynxos${UNAME_RELEASE}
113727df3f5dSRui Paulo	exit ;;
113827df3f5dSRui Paulo    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1139a90e161bSBill Fenner	echo powerpc-unknown-lynxos${UNAME_RELEASE}
114027df3f5dSRui Paulo	exit ;;
11414de76e31SBill Fenner    SM[BE]S:UNIX_SV:*:*)
11424de76e31SBill Fenner	echo mips-dde-sysv${UNAME_RELEASE}
114327df3f5dSRui Paulo	exit ;;
1144685295f4SBill Fenner    RM*:ReliantUNIX-*:*:*)
1145685295f4SBill Fenner	echo mips-sni-sysv4
114627df3f5dSRui Paulo	exit ;;
11474edb46e9SPaul Traina    RM*:SINIX-*:*:*)
11484edb46e9SPaul Traina	echo mips-sni-sysv4
114927df3f5dSRui Paulo	exit ;;
11504edb46e9SPaul Traina    *:SINIX-*:*:*)
11514edb46e9SPaul Traina	if uname -p 2>/dev/null >/dev/null ; then
11524edb46e9SPaul Traina		UNAME_MACHINE=`(uname -p) 2>/dev/null`
11534edb46e9SPaul Traina		echo ${UNAME_MACHINE}-sni-sysv4
11544edb46e9SPaul Traina	else
11554edb46e9SPaul Traina		echo ns32k-sni-sysv
11564edb46e9SPaul Traina	fi
115727df3f5dSRui Paulo	exit ;;
11585b0fe478SBruce M Simpson    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1159685295f4SBill Fenner			# says <Richard.M.Bartel@ccMail.Census.GOV>
1160685295f4SBill Fenner	echo i586-unisys-sysv4
116127df3f5dSRui Paulo	exit ;;
11624de76e31SBill Fenner    *:UNIX_System_V:4*:FTX*)
11634de76e31SBill Fenner	# From Gerald Hewes <hewes@openmarket.com>.
11644de76e31SBill Fenner	# How about differentiating between stratus architectures? -djm
11654de76e31SBill Fenner	echo hppa1.1-stratus-sysv4
116627df3f5dSRui Paulo	exit ;;
11674de76e31SBill Fenner    *:*:*:FTX*)
11684de76e31SBill Fenner	# From seanf@swdc.stratus.com.
11694de76e31SBill Fenner	echo i860-stratus-sysv4
117027df3f5dSRui Paulo	exit ;;
117127df3f5dSRui Paulo    i*86:VOS:*:*)
117227df3f5dSRui Paulo	# From Paul.Green@stratus.com.
117327df3f5dSRui Paulo	echo ${UNAME_MACHINE}-stratus-vos
117427df3f5dSRui Paulo	exit ;;
11755b0fe478SBruce M Simpson    *:VOS:*:*)
11765b0fe478SBruce M Simpson	# From Paul.Green@stratus.com.
11775b0fe478SBruce M Simpson	echo hppa1.1-stratus-vos
117827df3f5dSRui Paulo	exit ;;
11794edb46e9SPaul Traina    mc68*:A/UX:*:*)
11804edb46e9SPaul Traina	echo m68k-apple-aux${UNAME_RELEASE}
118127df3f5dSRui Paulo	exit ;;
1182685295f4SBill Fenner    news*:NEWS-OS:6*:*)
1183685295f4SBill Fenner	echo mips-sony-newsos6
118427df3f5dSRui Paulo	exit ;;
1185685295f4SBill Fenner    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
11864edb46e9SPaul Traina	if [ -d /usr/nec ]; then
11874edb46e9SPaul Traina		echo mips-nec-sysv${UNAME_RELEASE}
11884edb46e9SPaul Traina	else
11894edb46e9SPaul Traina		echo mips-unknown-sysv${UNAME_RELEASE}
11904edb46e9SPaul Traina	fi
119127df3f5dSRui Paulo	exit ;;
1192685295f4SBill Fenner    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1193685295f4SBill Fenner	echo powerpc-be-beos
119427df3f5dSRui Paulo	exit ;;
1195685295f4SBill Fenner    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1196685295f4SBill Fenner	echo powerpc-apple-beos
119727df3f5dSRui Paulo	exit ;;
1198685295f4SBill Fenner    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1199685295f4SBill Fenner	echo i586-pc-beos
120027df3f5dSRui Paulo	exit ;;
120127df3f5dSRui Paulo    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
120227df3f5dSRui Paulo	echo i586-pc-haiku
120327df3f5dSRui Paulo	exit ;;
1204685295f4SBill Fenner    SX-4:SUPER-UX:*:*)
1205685295f4SBill Fenner	echo sx4-nec-superux${UNAME_RELEASE}
120627df3f5dSRui Paulo	exit ;;
1207685295f4SBill Fenner    SX-5:SUPER-UX:*:*)
1208685295f4SBill Fenner	echo sx5-nec-superux${UNAME_RELEASE}
120927df3f5dSRui Paulo	exit ;;
12105b0fe478SBruce M Simpson    SX-6:SUPER-UX:*:*)
12115b0fe478SBruce M Simpson	echo sx6-nec-superux${UNAME_RELEASE}
121227df3f5dSRui Paulo	exit ;;
121327df3f5dSRui Paulo    SX-7:SUPER-UX:*:*)
121427df3f5dSRui Paulo	echo sx7-nec-superux${UNAME_RELEASE}
121527df3f5dSRui Paulo	exit ;;
121627df3f5dSRui Paulo    SX-8:SUPER-UX:*:*)
121727df3f5dSRui Paulo	echo sx8-nec-superux${UNAME_RELEASE}
121827df3f5dSRui Paulo	exit ;;
121927df3f5dSRui Paulo    SX-8R:SUPER-UX:*:*)
122027df3f5dSRui Paulo	echo sx8r-nec-superux${UNAME_RELEASE}
122127df3f5dSRui Paulo	exit ;;
1222685295f4SBill Fenner    Power*:Rhapsody:*:*)
1223685295f4SBill Fenner	echo powerpc-apple-rhapsody${UNAME_RELEASE}
122427df3f5dSRui Paulo	exit ;;
1225685295f4SBill Fenner    *:Rhapsody:*:*)
1226685295f4SBill Fenner	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
122727df3f5dSRui Paulo	exit ;;
1228685295f4SBill Fenner    *:Darwin:*:*)
122927df3f5dSRui Paulo	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
123027df3f5dSRui Paulo	case $UNAME_PROCESSOR in
123127df3f5dSRui Paulo	    i386)
123227df3f5dSRui Paulo		eval $set_cc_for_build
123327df3f5dSRui Paulo		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
123427df3f5dSRui Paulo		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
123527df3f5dSRui Paulo		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
123627df3f5dSRui Paulo		      grep IS_64BIT_ARCH >/dev/null
123727df3f5dSRui Paulo		  then
123827df3f5dSRui Paulo		      UNAME_PROCESSOR="x86_64"
123927df3f5dSRui Paulo		  fi
124027df3f5dSRui Paulo		fi ;;
124127df3f5dSRui Paulo	    unknown) UNAME_PROCESSOR=powerpc ;;
12425b0fe478SBruce M Simpson	esac
12435b0fe478SBruce M Simpson	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
124427df3f5dSRui Paulo	exit ;;
1245685295f4SBill Fenner    *:procnto*:*:* | *:QNX:[0123456789]*:*)
12465b0fe478SBruce M Simpson	UNAME_PROCESSOR=`uname -p`
12475b0fe478SBruce M Simpson	if test "$UNAME_PROCESSOR" = "x86"; then
12485b0fe478SBruce M Simpson		UNAME_PROCESSOR=i386
1249685295f4SBill Fenner		UNAME_MACHINE=pc
1250685295f4SBill Fenner	fi
12515b0fe478SBruce M Simpson	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
125227df3f5dSRui Paulo	exit ;;
1253685295f4SBill Fenner    *:QNX:*:4*)
1254685295f4SBill Fenner	echo i386-pc-qnx
125527df3f5dSRui Paulo	exit ;;
1256*3c602fabSXin LI    NEO-?:NONSTOP_KERNEL:*:*)
1257*3c602fabSXin LI	echo neo-tandem-nsk${UNAME_RELEASE}
1258*3c602fabSXin LI	exit ;;
125927df3f5dSRui Paulo    NSE-?:NONSTOP_KERNEL:*:*)
126027df3f5dSRui Paulo	echo nse-tandem-nsk${UNAME_RELEASE}
126127df3f5dSRui Paulo	exit ;;
126227df3f5dSRui Paulo    NSR-?:NONSTOP_KERNEL:*:*)
1263685295f4SBill Fenner	echo nsr-tandem-nsk${UNAME_RELEASE}
126427df3f5dSRui Paulo	exit ;;
1265685295f4SBill Fenner    *:NonStop-UX:*:*)
1266685295f4SBill Fenner	echo mips-compaq-nonstopux
126727df3f5dSRui Paulo	exit ;;
1268685295f4SBill Fenner    BS2000:POSIX*:*:*)
1269685295f4SBill Fenner	echo bs2000-siemens-sysv
127027df3f5dSRui Paulo	exit ;;
1271685295f4SBill Fenner    DS/*:UNIX_System_V:*:*)
1272685295f4SBill Fenner	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
127327df3f5dSRui Paulo	exit ;;
1274685295f4SBill Fenner    *:Plan9:*:*)
1275685295f4SBill Fenner	# "uname -m" is not consistent, so use $cputype instead. 386
1276685295f4SBill Fenner	# is converted to i386 for consistency with other x86
1277685295f4SBill Fenner	# operating systems.
1278685295f4SBill Fenner	if test "$cputype" = "386"; then
1279685295f4SBill Fenner	    UNAME_MACHINE=i386
1280685295f4SBill Fenner	else
1281685295f4SBill Fenner	    UNAME_MACHINE="$cputype"
1282685295f4SBill Fenner	fi
1283685295f4SBill Fenner	echo ${UNAME_MACHINE}-unknown-plan9
128427df3f5dSRui Paulo	exit ;;
1285a90e161bSBill Fenner    *:TOPS-10:*:*)
1286a90e161bSBill Fenner	echo pdp10-unknown-tops10
128727df3f5dSRui Paulo	exit ;;
1288a90e161bSBill Fenner    *:TENEX:*:*)
1289a90e161bSBill Fenner	echo pdp10-unknown-tenex
129027df3f5dSRui Paulo	exit ;;
1291a90e161bSBill Fenner    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1292a90e161bSBill Fenner	echo pdp10-dec-tops20
129327df3f5dSRui Paulo	exit ;;
1294a90e161bSBill Fenner    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1295a90e161bSBill Fenner	echo pdp10-xkl-tops20
129627df3f5dSRui Paulo	exit ;;
1297a90e161bSBill Fenner    *:TOPS-20:*:*)
1298a90e161bSBill Fenner	echo pdp10-unknown-tops20
129927df3f5dSRui Paulo	exit ;;
1300a90e161bSBill Fenner    *:ITS:*:*)
1301a90e161bSBill Fenner	echo pdp10-unknown-its
130227df3f5dSRui Paulo	exit ;;
13035b0fe478SBruce M Simpson    SEI:*:*:SEIUX)
13045b0fe478SBruce M Simpson	echo mips-sei-seiux${UNAME_RELEASE}
130527df3f5dSRui Paulo	exit ;;
130627df3f5dSRui Paulo    *:DragonFly:*:*)
130727df3f5dSRui Paulo	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
130827df3f5dSRui Paulo	exit ;;
130927df3f5dSRui Paulo    *:*VMS:*:*)
131027df3f5dSRui Paulo	UNAME_MACHINE=`(uname -p) 2>/dev/null`
131127df3f5dSRui Paulo	case "${UNAME_MACHINE}" in
131227df3f5dSRui Paulo	    A*) echo alpha-dec-vms ; exit ;;
131327df3f5dSRui Paulo	    I*) echo ia64-dec-vms ; exit ;;
131427df3f5dSRui Paulo	    V*) echo vax-dec-vms ; exit ;;
131527df3f5dSRui Paulo	esac ;;
131627df3f5dSRui Paulo    *:XENIX:*:SysV)
131727df3f5dSRui Paulo	echo i386-pc-xenix
131827df3f5dSRui Paulo	exit ;;
131927df3f5dSRui Paulo    i*86:skyos:*:*)
132027df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
132127df3f5dSRui Paulo	exit ;;
132227df3f5dSRui Paulo    i*86:rdos:*:*)
132327df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-rdos
132427df3f5dSRui Paulo	exit ;;
132527df3f5dSRui Paulo    i*86:AROS:*:*)
132627df3f5dSRui Paulo	echo ${UNAME_MACHINE}-pc-aros
132727df3f5dSRui Paulo	exit ;;
1328*3c602fabSXin LI    x86_64:VMkernel:*:*)
1329*3c602fabSXin LI	echo ${UNAME_MACHINE}-unknown-esx
1330*3c602fabSXin LI	exit ;;
13314edb46e9SPaul Trainaesac
13324edb46e9SPaul Traina
13334edb46e9SPaul Traina#echo '(No uname command or uname output not recognized.)' 1>&2
13344edb46e9SPaul Traina#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
13354edb46e9SPaul Traina
13365b0fe478SBruce M Simpsoneval $set_cc_for_build
1337685295f4SBill Fennercat >$dummy.c <<EOF
13384edb46e9SPaul Traina#ifdef _SEQUENT_
13394edb46e9SPaul Traina# include <sys/types.h>
13404edb46e9SPaul Traina# include <sys/utsname.h>
13414edb46e9SPaul Traina#endif
13424edb46e9SPaul Trainamain ()
13434edb46e9SPaul Traina{
13444edb46e9SPaul Traina#if defined (sony)
13454edb46e9SPaul Traina#if defined (MIPSEB)
13464edb46e9SPaul Traina  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
13474edb46e9SPaul Traina     I don't know....  */
13484edb46e9SPaul Traina  printf ("mips-sony-bsd\n"); exit (0);
13494edb46e9SPaul Traina#else
13504edb46e9SPaul Traina#include <sys/param.h>
13514edb46e9SPaul Traina  printf ("m68k-sony-newsos%s\n",
13524edb46e9SPaul Traina#ifdef NEWSOS4
13534edb46e9SPaul Traina	"4"
13544edb46e9SPaul Traina#else
13554edb46e9SPaul Traina	""
13564edb46e9SPaul Traina#endif
13574edb46e9SPaul Traina	); exit (0);
13584edb46e9SPaul Traina#endif
13594edb46e9SPaul Traina#endif
13604edb46e9SPaul Traina
13614edb46e9SPaul Traina#if defined (__arm) && defined (__acorn) && defined (__unix)
136227df3f5dSRui Paulo  printf ("arm-acorn-riscix\n"); exit (0);
13634edb46e9SPaul Traina#endif
13644edb46e9SPaul Traina
13654edb46e9SPaul Traina#if defined (hp300) && !defined (hpux)
13664edb46e9SPaul Traina  printf ("m68k-hp-bsd\n"); exit (0);
13674edb46e9SPaul Traina#endif
13684edb46e9SPaul Traina
13694edb46e9SPaul Traina#if defined (NeXT)
13704edb46e9SPaul Traina#if !defined (__ARCHITECTURE__)
13714edb46e9SPaul Traina#define __ARCHITECTURE__ "m68k"
13724edb46e9SPaul Traina#endif
13734edb46e9SPaul Traina  int version;
13744edb46e9SPaul Traina  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1375685295f4SBill Fenner  if (version < 4)
13764de76e31SBill Fenner    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1377685295f4SBill Fenner  else
1378685295f4SBill Fenner    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
13794edb46e9SPaul Traina  exit (0);
13804edb46e9SPaul Traina#endif
13814edb46e9SPaul Traina
13824edb46e9SPaul Traina#if defined (MULTIMAX) || defined (n16)
13834edb46e9SPaul Traina#if defined (UMAXV)
13844edb46e9SPaul Traina  printf ("ns32k-encore-sysv\n"); exit (0);
13854edb46e9SPaul Traina#else
13864edb46e9SPaul Traina#if defined (CMU)
13874edb46e9SPaul Traina  printf ("ns32k-encore-mach\n"); exit (0);
13884edb46e9SPaul Traina#else
13894edb46e9SPaul Traina  printf ("ns32k-encore-bsd\n"); exit (0);
13904edb46e9SPaul Traina#endif
13914edb46e9SPaul Traina#endif
13924edb46e9SPaul Traina#endif
13934edb46e9SPaul Traina
13944edb46e9SPaul Traina#if defined (__386BSD__)
13954de76e31SBill Fenner  printf ("i386-pc-bsd\n"); exit (0);
13964edb46e9SPaul Traina#endif
13974edb46e9SPaul Traina
13984edb46e9SPaul Traina#if defined (sequent)
13994edb46e9SPaul Traina#if defined (i386)
14004edb46e9SPaul Traina  printf ("i386-sequent-dynix\n"); exit (0);
14014edb46e9SPaul Traina#endif
14024edb46e9SPaul Traina#if defined (ns32000)
14034edb46e9SPaul Traina  printf ("ns32k-sequent-dynix\n"); exit (0);
14044edb46e9SPaul Traina#endif
14054edb46e9SPaul Traina#endif
14064edb46e9SPaul Traina
14074edb46e9SPaul Traina#if defined (_SEQUENT_)
14084edb46e9SPaul Traina    struct utsname un;
14094edb46e9SPaul Traina
14104edb46e9SPaul Traina    uname(&un);
14114edb46e9SPaul Traina
14124edb46e9SPaul Traina    if (strncmp(un.version, "V2", 2) == 0) {
14134edb46e9SPaul Traina	printf ("i386-sequent-ptx2\n"); exit (0);
14144edb46e9SPaul Traina    }
14154edb46e9SPaul Traina    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
14164edb46e9SPaul Traina	printf ("i386-sequent-ptx1\n"); exit (0);
14174edb46e9SPaul Traina    }
14184edb46e9SPaul Traina    printf ("i386-sequent-ptx\n"); exit (0);
14194edb46e9SPaul Traina
14204edb46e9SPaul Traina#endif
14214edb46e9SPaul Traina
14224edb46e9SPaul Traina#if defined (vax)
14234edb46e9SPaul Traina# if !defined (ultrix)
1424a90e161bSBill Fenner#  include <sys/param.h>
1425a90e161bSBill Fenner#  if defined (BSD)
1426a90e161bSBill Fenner#   if BSD == 43
1427a90e161bSBill Fenner      printf ("vax-dec-bsd4.3\n"); exit (0);
1428a90e161bSBill Fenner#   else
1429a90e161bSBill Fenner#    if BSD == 199006
1430a90e161bSBill Fenner      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1431a90e161bSBill Fenner#    else
14324edb46e9SPaul Traina      printf ("vax-dec-bsd\n"); exit (0);
1433a90e161bSBill Fenner#    endif
1434a90e161bSBill Fenner#   endif
1435a90e161bSBill Fenner#  else
1436a90e161bSBill Fenner    printf ("vax-dec-bsd\n"); exit (0);
1437a90e161bSBill Fenner#  endif
14384edb46e9SPaul Traina# else
14394edb46e9SPaul Traina    printf ("vax-dec-ultrix\n"); exit (0);
14404edb46e9SPaul Traina# endif
14414edb46e9SPaul Traina#endif
14424edb46e9SPaul Traina
14434edb46e9SPaul Traina#if defined (alliant) && defined (i860)
14444edb46e9SPaul Traina  printf ("i860-alliant-bsd\n"); exit (0);
14454edb46e9SPaul Traina#endif
14464edb46e9SPaul Traina
14474edb46e9SPaul Traina  exit (1);
14484edb46e9SPaul Traina}
14494edb46e9SPaul TrainaEOF
14504edb46e9SPaul Traina
145127df3f5dSRui Paulo$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
145227df3f5dSRui Paulo	{ echo "$SYSTEM_NAME"; exit; }
14534edb46e9SPaul Traina
14544edb46e9SPaul Traina# Apollos put the system type in the environment.
14554edb46e9SPaul Traina
145627df3f5dSRui Paulotest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
14574edb46e9SPaul Traina
14584edb46e9SPaul Traina# Convex versions that predate uname can use getsysinfo(1)
14594edb46e9SPaul Traina
14604edb46e9SPaul Trainaif [ -x /usr/convex/getsysinfo ]
14614edb46e9SPaul Trainathen
14624edb46e9SPaul Traina    case `getsysinfo -f cpu_type` in
14634edb46e9SPaul Traina    c1*)
14644edb46e9SPaul Traina	echo c1-convex-bsd
146527df3f5dSRui Paulo	exit ;;
14664edb46e9SPaul Traina    c2*)
14674edb46e9SPaul Traina	if getsysinfo -f scalar_acc
14684edb46e9SPaul Traina	then echo c32-convex-bsd
14694edb46e9SPaul Traina	else echo c2-convex-bsd
14704edb46e9SPaul Traina	fi
147127df3f5dSRui Paulo	exit ;;
14724edb46e9SPaul Traina    c34*)
14734edb46e9SPaul Traina	echo c34-convex-bsd
147427df3f5dSRui Paulo	exit ;;
14754edb46e9SPaul Traina    c38*)
14764edb46e9SPaul Traina	echo c38-convex-bsd
147727df3f5dSRui Paulo	exit ;;
14784edb46e9SPaul Traina    c4*)
14794edb46e9SPaul Traina	echo c4-convex-bsd
148027df3f5dSRui Paulo	exit ;;
14814edb46e9SPaul Traina    esac
14824edb46e9SPaul Trainafi
14834edb46e9SPaul Traina
1484685295f4SBill Fennercat >&2 <<EOF
1485685295f4SBill Fenner$0: unable to guess system type
1486685295f4SBill Fenner
1487a90e161bSBill FennerThis script, last modified $timestamp, has failed to recognize
1488a90e161bSBill Fennerthe operating system you are using. It is advised that you
1489a90e161bSBill Fennerdownload the most up to date version of the config scripts from
1490685295f4SBill Fenner
149127df3f5dSRui Paulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
149227df3f5dSRui Pauloand
149327df3f5dSRui Paulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1494685295f4SBill Fenner
1495685295f4SBill FennerIf the version you run ($0) is already up to date, please
1496685295f4SBill Fennersend the following data and any information you think might be
1497685295f4SBill Fennerpertinent to <config-patches@gnu.org> in order to provide the needed
1498685295f4SBill Fennerinformation to handle your system.
1499685295f4SBill Fenner
1500a90e161bSBill Fennerconfig.guess timestamp = $timestamp
1501685295f4SBill Fenner
1502685295f4SBill Fenneruname -m = `(uname -m) 2>/dev/null || echo unknown`
1503685295f4SBill Fenneruname -r = `(uname -r) 2>/dev/null || echo unknown`
1504685295f4SBill Fenneruname -s = `(uname -s) 2>/dev/null || echo unknown`
1505685295f4SBill Fenneruname -v = `(uname -v) 2>/dev/null || echo unknown`
1506685295f4SBill Fenner
1507685295f4SBill Fenner/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1508685295f4SBill Fenner/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1509685295f4SBill Fenner
1510685295f4SBill Fennerhostinfo               = `(hostinfo) 2>/dev/null`
1511685295f4SBill Fenner/bin/universe          = `(/bin/universe) 2>/dev/null`
1512685295f4SBill Fenner/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1513685295f4SBill Fenner/bin/arch              = `(/bin/arch) 2>/dev/null`
1514685295f4SBill Fenner/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1515685295f4SBill Fenner/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1516685295f4SBill Fenner
1517685295f4SBill FennerUNAME_MACHINE = ${UNAME_MACHINE}
1518685295f4SBill FennerUNAME_RELEASE = ${UNAME_RELEASE}
1519685295f4SBill FennerUNAME_SYSTEM  = ${UNAME_SYSTEM}
1520685295f4SBill FennerUNAME_VERSION = ${UNAME_VERSION}
1521685295f4SBill FennerEOF
15224edb46e9SPaul Traina
15234edb46e9SPaul Trainaexit 1
1524685295f4SBill Fenner
1525685295f4SBill Fenner# Local variables:
1526685295f4SBill Fenner# eval: (add-hook 'write-file-hooks 'time-stamp)
1527685295f4SBill Fenner# time-stamp-start: "timestamp='"
1528685295f4SBill Fenner# time-stamp-format: "%:y-%02m-%02d"
1529685295f4SBill Fenner# time-stamp-end: "'"
1530685295f4SBill Fenner# End:
1531