xref: /freebsd/contrib/ntp/sntp/libevent/config.guess (revision a466cc55373fc3cf86837f09da729535b57e69a1)
1*a466cc55SCy Schubert#! /bin/sh
2*a466cc55SCy Schubert# Attempt to guess a canonical system name.
3*a466cc55SCy Schubert#   Copyright 1992-2015 Free Software Foundation, Inc.
4*a466cc55SCy Schubert
5*a466cc55SCy Schuberttimestamp='2015-03-04'
6*a466cc55SCy Schubert
7*a466cc55SCy Schubert# This file is free software; you can redistribute it and/or modify it
8*a466cc55SCy Schubert# under the terms of the GNU General Public License as published by
9*a466cc55SCy Schubert# the Free Software Foundation; either version 3 of the License, or
10*a466cc55SCy Schubert# (at your option) any later version.
11*a466cc55SCy Schubert#
12*a466cc55SCy Schubert# This program is distributed in the hope that it will be useful, but
13*a466cc55SCy Schubert# WITHOUT ANY WARRANTY; without even the implied warranty of
14*a466cc55SCy Schubert# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15*a466cc55SCy Schubert# General Public License for more details.
16*a466cc55SCy Schubert#
17*a466cc55SCy Schubert# You should have received a copy of the GNU General Public License
18*a466cc55SCy Schubert# along with this program; if not, see <http://www.gnu.org/licenses/>.
19*a466cc55SCy Schubert#
20*a466cc55SCy Schubert# As a special exception to the GNU General Public License, if you
21*a466cc55SCy Schubert# distribute this file as part of a program that contains a
22*a466cc55SCy Schubert# configuration script generated by Autoconf, you may include it under
23*a466cc55SCy Schubert# the same distribution terms that you use for the rest of that
24*a466cc55SCy Schubert# program.  This Exception is an additional permission under section 7
25*a466cc55SCy Schubert# of the GNU General Public License, version 3 ("GPLv3").
26*a466cc55SCy Schubert#
27*a466cc55SCy Schubert# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28*a466cc55SCy Schubert#
29*a466cc55SCy Schubert# You can get the latest version of this script from:
30*a466cc55SCy Schubert# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
31*a466cc55SCy Schubert#
32*a466cc55SCy Schubert# Please send patches to <config-patches@gnu.org>.
33*a466cc55SCy Schubert
34*a466cc55SCy Schubert
35*a466cc55SCy Schubertme=`echo "$0" | sed -e 's,.*/,,'`
36*a466cc55SCy Schubert
37*a466cc55SCy Schubertusage="\
38*a466cc55SCy SchubertUsage: $0 [OPTION]
39*a466cc55SCy Schubert
40*a466cc55SCy SchubertOutput the configuration name of the system \`$me' is run on.
41*a466cc55SCy Schubert
42*a466cc55SCy SchubertOperation modes:
43*a466cc55SCy Schubert  -h, --help         print this help, then exit
44*a466cc55SCy Schubert  -t, --time-stamp   print date of last modification, then exit
45*a466cc55SCy Schubert  -v, --version      print version number, then exit
46*a466cc55SCy Schubert
47*a466cc55SCy SchubertReport bugs and patches to <config-patches@gnu.org>."
48*a466cc55SCy Schubert
49*a466cc55SCy Schubertversion="\
50*a466cc55SCy SchubertGNU config.guess ($timestamp)
51*a466cc55SCy Schubert
52*a466cc55SCy SchubertOriginally written by Per Bothner.
53*a466cc55SCy SchubertCopyright 1992-2015 Free Software Foundation, Inc.
54*a466cc55SCy Schubert
55*a466cc55SCy SchubertThis is free software; see the source for copying conditions.  There is NO
56*a466cc55SCy Schubertwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57*a466cc55SCy Schubert
58*a466cc55SCy Schuberthelp="
59*a466cc55SCy SchubertTry \`$me --help' for more information."
60*a466cc55SCy Schubert
61*a466cc55SCy Schubert# Parse command line
62*a466cc55SCy Schubertwhile test $# -gt 0 ; do
63*a466cc55SCy Schubert  case $1 in
64*a466cc55SCy Schubert    --time-stamp | --time* | -t )
65*a466cc55SCy Schubert       echo "$timestamp" ; exit ;;
66*a466cc55SCy Schubert    --version | -v )
67*a466cc55SCy Schubert       echo "$version" ; exit ;;
68*a466cc55SCy Schubert    --help | --h* | -h )
69*a466cc55SCy Schubert       echo "$usage"; exit ;;
70*a466cc55SCy Schubert    -- )     # Stop option processing
71*a466cc55SCy Schubert       shift; break ;;
72*a466cc55SCy Schubert    - )	# Use stdin as input.
73*a466cc55SCy Schubert       break ;;
74*a466cc55SCy Schubert    -* )
75*a466cc55SCy Schubert       echo "$me: invalid option $1$help" >&2
76*a466cc55SCy Schubert       exit 1 ;;
77*a466cc55SCy Schubert    * )
78*a466cc55SCy Schubert       break ;;
79*a466cc55SCy Schubert  esac
80*a466cc55SCy Schubertdone
81*a466cc55SCy Schubert
82*a466cc55SCy Schubertif test $# != 0; then
83*a466cc55SCy Schubert  echo "$me: too many arguments$help" >&2
84*a466cc55SCy Schubert  exit 1
85*a466cc55SCy Schubertfi
86*a466cc55SCy Schubert
87*a466cc55SCy Schuberttrap 'exit 1' 1 2 15
88*a466cc55SCy Schubert
89*a466cc55SCy Schubert# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90*a466cc55SCy Schubert# compiler to aid in system detection is discouraged as it requires
91*a466cc55SCy Schubert# temporary files to be created and, as you can see below, it is a
92*a466cc55SCy Schubert# headache to deal with in a portable fashion.
93*a466cc55SCy Schubert
94*a466cc55SCy Schubert# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95*a466cc55SCy Schubert# use `HOST_CC' if defined, but it is deprecated.
96*a466cc55SCy Schubert
97*a466cc55SCy Schubert# Portable tmp directory creation inspired by the Autoconf team.
98*a466cc55SCy Schubert
99*a466cc55SCy Schubertset_cc_for_build='
100*a466cc55SCy Schuberttrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101*a466cc55SCy Schuberttrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102*a466cc55SCy Schubert: ${TMPDIR=/tmp} ;
103*a466cc55SCy Schubert { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104*a466cc55SCy Schubert { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105*a466cc55SCy Schubert { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106*a466cc55SCy Schubert { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107*a466cc55SCy Schubertdummy=$tmp/dummy ;
108*a466cc55SCy Schuberttmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109*a466cc55SCy Schubertcase $CC_FOR_BUILD,$HOST_CC,$CC in
110*a466cc55SCy Schubert ,,)    echo "int x;" > $dummy.c ;
111*a466cc55SCy Schubert	for c in cc gcc c89 c99 ; do
112*a466cc55SCy Schubert	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113*a466cc55SCy Schubert	     CC_FOR_BUILD="$c"; break ;
114*a466cc55SCy Schubert	  fi ;
115*a466cc55SCy Schubert	done ;
116*a466cc55SCy Schubert	if test x"$CC_FOR_BUILD" = x ; then
117*a466cc55SCy Schubert	  CC_FOR_BUILD=no_compiler_found ;
118*a466cc55SCy Schubert	fi
119*a466cc55SCy Schubert	;;
120*a466cc55SCy Schubert ,,*)   CC_FOR_BUILD=$CC ;;
121*a466cc55SCy Schubert ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
122*a466cc55SCy Schubertesac ; set_cc_for_build= ;'
123*a466cc55SCy Schubert
124*a466cc55SCy Schubert# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125*a466cc55SCy Schubert# (ghazi@noc.rutgers.edu 1994-08-24)
126*a466cc55SCy Schubertif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127*a466cc55SCy Schubert	PATH=$PATH:/.attbin ; export PATH
128*a466cc55SCy Schubertfi
129*a466cc55SCy Schubert
130*a466cc55SCy SchubertUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131*a466cc55SCy SchubertUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132*a466cc55SCy SchubertUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
133*a466cc55SCy SchubertUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134*a466cc55SCy Schubert
135*a466cc55SCy Schubertcase "${UNAME_SYSTEM}" in
136*a466cc55SCy SchubertLinux|GNU|GNU/*)
137*a466cc55SCy Schubert	# If the system lacks a compiler, then just pick glibc.
138*a466cc55SCy Schubert	# We could probably try harder.
139*a466cc55SCy Schubert	LIBC=gnu
140*a466cc55SCy Schubert
141*a466cc55SCy Schubert	eval $set_cc_for_build
142*a466cc55SCy Schubert	cat <<-EOF > $dummy.c
143*a466cc55SCy Schubert	#include <features.h>
144*a466cc55SCy Schubert	#if defined(__UCLIBC__)
145*a466cc55SCy Schubert	LIBC=uclibc
146*a466cc55SCy Schubert	#elif defined(__dietlibc__)
147*a466cc55SCy Schubert	LIBC=dietlibc
148*a466cc55SCy Schubert	#else
149*a466cc55SCy Schubert	LIBC=gnu
150*a466cc55SCy Schubert	#endif
151*a466cc55SCy Schubert	EOF
152*a466cc55SCy Schubert	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
153*a466cc55SCy Schubert	;;
154*a466cc55SCy Schubertesac
155*a466cc55SCy Schubert
156*a466cc55SCy Schubert# Note: order is significant - the case branches are not exclusive.
157*a466cc55SCy Schubert
158*a466cc55SCy Schubertcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159*a466cc55SCy Schubert    *:NetBSD:*:*)
160*a466cc55SCy Schubert	# NetBSD (nbsd) targets should (where applicable) match one or
161*a466cc55SCy Schubert	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162*a466cc55SCy Schubert	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
163*a466cc55SCy Schubert	# switched to ELF, *-*-netbsd* would select the old
164*a466cc55SCy Schubert	# object file format.  This provides both forward
165*a466cc55SCy Schubert	# compatibility and a consistent mechanism for selecting the
166*a466cc55SCy Schubert	# object file format.
167*a466cc55SCy Schubert	#
168*a466cc55SCy Schubert	# Note: NetBSD doesn't particularly care about the vendor
169*a466cc55SCy Schubert	# portion of the name.  We always set it to "unknown".
170*a466cc55SCy Schubert	sysctl="sysctl -n hw.machine_arch"
171*a466cc55SCy Schubert	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172*a466cc55SCy Schubert	    /sbin/$sysctl 2>/dev/null || \
173*a466cc55SCy Schubert	    /usr/sbin/$sysctl 2>/dev/null || \
174*a466cc55SCy Schubert	    echo unknown)`
175*a466cc55SCy Schubert	case "${UNAME_MACHINE_ARCH}" in
176*a466cc55SCy Schubert	    armeb) machine=armeb-unknown ;;
177*a466cc55SCy Schubert	    arm*) machine=arm-unknown ;;
178*a466cc55SCy Schubert	    sh3el) machine=shl-unknown ;;
179*a466cc55SCy Schubert	    sh3eb) machine=sh-unknown ;;
180*a466cc55SCy Schubert	    sh5el) machine=sh5le-unknown ;;
181*a466cc55SCy Schubert	    earmv*)
182*a466cc55SCy Schubert		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183*a466cc55SCy Schubert		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
184*a466cc55SCy Schubert		machine=${arch}${endian}-unknown
185*a466cc55SCy Schubert		;;
186*a466cc55SCy Schubert	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
187*a466cc55SCy Schubert	esac
188*a466cc55SCy Schubert	# The Operating System including object format, if it has switched
189*a466cc55SCy Schubert	# to ELF recently, or will in the future.
190*a466cc55SCy Schubert	case "${UNAME_MACHINE_ARCH}" in
191*a466cc55SCy Schubert	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
192*a466cc55SCy Schubert		eval $set_cc_for_build
193*a466cc55SCy Schubert		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
194*a466cc55SCy Schubert			| grep -q __ELF__
195*a466cc55SCy Schubert		then
196*a466cc55SCy Schubert		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
197*a466cc55SCy Schubert		    # Return netbsd for either.  FIX?
198*a466cc55SCy Schubert		    os=netbsd
199*a466cc55SCy Schubert		else
200*a466cc55SCy Schubert		    os=netbsdelf
201*a466cc55SCy Schubert		fi
202*a466cc55SCy Schubert		;;
203*a466cc55SCy Schubert	    *)
204*a466cc55SCy Schubert		os=netbsd
205*a466cc55SCy Schubert		;;
206*a466cc55SCy Schubert	esac
207*a466cc55SCy Schubert	# Determine ABI tags.
208*a466cc55SCy Schubert	case "${UNAME_MACHINE_ARCH}" in
209*a466cc55SCy Schubert	    earm*)
210*a466cc55SCy Schubert		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
211*a466cc55SCy Schubert		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
212*a466cc55SCy Schubert		;;
213*a466cc55SCy Schubert	esac
214*a466cc55SCy Schubert	# The OS release
215*a466cc55SCy Schubert	# Debian GNU/NetBSD machines have a different userland, and
216*a466cc55SCy Schubert	# thus, need a distinct triplet. However, they do not need
217*a466cc55SCy Schubert	# kernel version information, so it can be replaced with a
218*a466cc55SCy Schubert	# suitable tag, in the style of linux-gnu.
219*a466cc55SCy Schubert	case "${UNAME_VERSION}" in
220*a466cc55SCy Schubert	    Debian*)
221*a466cc55SCy Schubert		release='-gnu'
222*a466cc55SCy Schubert		;;
223*a466cc55SCy Schubert	    *)
224*a466cc55SCy Schubert		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
225*a466cc55SCy Schubert		;;
226*a466cc55SCy Schubert	esac
227*a466cc55SCy Schubert	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
228*a466cc55SCy Schubert	# contains redundant information, the shorter form:
229*a466cc55SCy Schubert	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
230*a466cc55SCy Schubert	echo "${machine}-${os}${release}${abi}"
231*a466cc55SCy Schubert	exit ;;
232*a466cc55SCy Schubert    *:Bitrig:*:*)
233*a466cc55SCy Schubert	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
234*a466cc55SCy Schubert	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
235*a466cc55SCy Schubert	exit ;;
236*a466cc55SCy Schubert    *:OpenBSD:*:*)
237*a466cc55SCy Schubert	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
238*a466cc55SCy Schubert	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
239*a466cc55SCy Schubert	exit ;;
240*a466cc55SCy Schubert    *:ekkoBSD:*:*)
241*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
242*a466cc55SCy Schubert	exit ;;
243*a466cc55SCy Schubert    *:SolidBSD:*:*)
244*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
245*a466cc55SCy Schubert	exit ;;
246*a466cc55SCy Schubert    macppc:MirBSD:*:*)
247*a466cc55SCy Schubert	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
248*a466cc55SCy Schubert	exit ;;
249*a466cc55SCy Schubert    *:MirBSD:*:*)
250*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
251*a466cc55SCy Schubert	exit ;;
252*a466cc55SCy Schubert    alpha:OSF1:*:*)
253*a466cc55SCy Schubert	case $UNAME_RELEASE in
254*a466cc55SCy Schubert	*4.0)
255*a466cc55SCy Schubert		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
256*a466cc55SCy Schubert		;;
257*a466cc55SCy Schubert	*5.*)
258*a466cc55SCy Schubert		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
259*a466cc55SCy Schubert		;;
260*a466cc55SCy Schubert	esac
261*a466cc55SCy Schubert	# According to Compaq, /usr/sbin/psrinfo has been available on
262*a466cc55SCy Schubert	# OSF/1 and Tru64 systems produced since 1995.  I hope that
263*a466cc55SCy Schubert	# covers most systems running today.  This code pipes the CPU
264*a466cc55SCy Schubert	# types through head -n 1, so we only detect the type of CPU 0.
265*a466cc55SCy Schubert	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
266*a466cc55SCy Schubert	case "$ALPHA_CPU_TYPE" in
267*a466cc55SCy Schubert	    "EV4 (21064)")
268*a466cc55SCy Schubert		UNAME_MACHINE="alpha" ;;
269*a466cc55SCy Schubert	    "EV4.5 (21064)")
270*a466cc55SCy Schubert		UNAME_MACHINE="alpha" ;;
271*a466cc55SCy Schubert	    "LCA4 (21066/21068)")
272*a466cc55SCy Schubert		UNAME_MACHINE="alpha" ;;
273*a466cc55SCy Schubert	    "EV5 (21164)")
274*a466cc55SCy Schubert		UNAME_MACHINE="alphaev5" ;;
275*a466cc55SCy Schubert	    "EV5.6 (21164A)")
276*a466cc55SCy Schubert		UNAME_MACHINE="alphaev56" ;;
277*a466cc55SCy Schubert	    "EV5.6 (21164PC)")
278*a466cc55SCy Schubert		UNAME_MACHINE="alphapca56" ;;
279*a466cc55SCy Schubert	    "EV5.7 (21164PC)")
280*a466cc55SCy Schubert		UNAME_MACHINE="alphapca57" ;;
281*a466cc55SCy Schubert	    "EV6 (21264)")
282*a466cc55SCy Schubert		UNAME_MACHINE="alphaev6" ;;
283*a466cc55SCy Schubert	    "EV6.7 (21264A)")
284*a466cc55SCy Schubert		UNAME_MACHINE="alphaev67" ;;
285*a466cc55SCy Schubert	    "EV6.8CB (21264C)")
286*a466cc55SCy Schubert		UNAME_MACHINE="alphaev68" ;;
287*a466cc55SCy Schubert	    "EV6.8AL (21264B)")
288*a466cc55SCy Schubert		UNAME_MACHINE="alphaev68" ;;
289*a466cc55SCy Schubert	    "EV6.8CX (21264D)")
290*a466cc55SCy Schubert		UNAME_MACHINE="alphaev68" ;;
291*a466cc55SCy Schubert	    "EV6.9A (21264/EV69A)")
292*a466cc55SCy Schubert		UNAME_MACHINE="alphaev69" ;;
293*a466cc55SCy Schubert	    "EV7 (21364)")
294*a466cc55SCy Schubert		UNAME_MACHINE="alphaev7" ;;
295*a466cc55SCy Schubert	    "EV7.9 (21364A)")
296*a466cc55SCy Schubert		UNAME_MACHINE="alphaev79" ;;
297*a466cc55SCy Schubert	esac
298*a466cc55SCy Schubert	# A Pn.n version is a patched version.
299*a466cc55SCy Schubert	# A Vn.n version is a released version.
300*a466cc55SCy Schubert	# A Tn.n version is a released field test version.
301*a466cc55SCy Schubert	# A Xn.n version is an unreleased experimental baselevel.
302*a466cc55SCy Schubert	# 1.2 uses "1.2" for uname -r.
303*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
304*a466cc55SCy Schubert	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
305*a466cc55SCy Schubert	exitcode=$?
306*a466cc55SCy Schubert	trap '' 0
307*a466cc55SCy Schubert	exit $exitcode ;;
308*a466cc55SCy Schubert    Alpha\ *:Windows_NT*:*)
309*a466cc55SCy Schubert	# How do we know it's Interix rather than the generic POSIX subsystem?
310*a466cc55SCy Schubert	# Should we change UNAME_MACHINE based on the output of uname instead
311*a466cc55SCy Schubert	# of the specific Alpha model?
312*a466cc55SCy Schubert	echo alpha-pc-interix
313*a466cc55SCy Schubert	exit ;;
314*a466cc55SCy Schubert    21064:Windows_NT:50:3)
315*a466cc55SCy Schubert	echo alpha-dec-winnt3.5
316*a466cc55SCy Schubert	exit ;;
317*a466cc55SCy Schubert    Amiga*:UNIX_System_V:4.0:*)
318*a466cc55SCy Schubert	echo m68k-unknown-sysv4
319*a466cc55SCy Schubert	exit ;;
320*a466cc55SCy Schubert    *:[Aa]miga[Oo][Ss]:*:*)
321*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-amigaos
322*a466cc55SCy Schubert	exit ;;
323*a466cc55SCy Schubert    *:[Mm]orph[Oo][Ss]:*:*)
324*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-morphos
325*a466cc55SCy Schubert	exit ;;
326*a466cc55SCy Schubert    *:OS/390:*:*)
327*a466cc55SCy Schubert	echo i370-ibm-openedition
328*a466cc55SCy Schubert	exit ;;
329*a466cc55SCy Schubert    *:z/VM:*:*)
330*a466cc55SCy Schubert	echo s390-ibm-zvmoe
331*a466cc55SCy Schubert	exit ;;
332*a466cc55SCy Schubert    *:OS400:*:*)
333*a466cc55SCy Schubert	echo powerpc-ibm-os400
334*a466cc55SCy Schubert	exit ;;
335*a466cc55SCy Schubert    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
336*a466cc55SCy Schubert	echo arm-acorn-riscix${UNAME_RELEASE}
337*a466cc55SCy Schubert	exit ;;
338*a466cc55SCy Schubert    arm*:riscos:*:*|arm*:RISCOS:*:*)
339*a466cc55SCy Schubert	echo arm-unknown-riscos
340*a466cc55SCy Schubert	exit ;;
341*a466cc55SCy Schubert    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
342*a466cc55SCy Schubert	echo hppa1.1-hitachi-hiuxmpp
343*a466cc55SCy Schubert	exit ;;
344*a466cc55SCy Schubert    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
345*a466cc55SCy Schubert	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
346*a466cc55SCy Schubert	if test "`(/bin/universe) 2>/dev/null`" = att ; then
347*a466cc55SCy Schubert		echo pyramid-pyramid-sysv3
348*a466cc55SCy Schubert	else
349*a466cc55SCy Schubert		echo pyramid-pyramid-bsd
350*a466cc55SCy Schubert	fi
351*a466cc55SCy Schubert	exit ;;
352*a466cc55SCy Schubert    NILE*:*:*:dcosx)
353*a466cc55SCy Schubert	echo pyramid-pyramid-svr4
354*a466cc55SCy Schubert	exit ;;
355*a466cc55SCy Schubert    DRS?6000:unix:4.0:6*)
356*a466cc55SCy Schubert	echo sparc-icl-nx6
357*a466cc55SCy Schubert	exit ;;
358*a466cc55SCy Schubert    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
359*a466cc55SCy Schubert	case `/usr/bin/uname -p` in
360*a466cc55SCy Schubert	    sparc) echo sparc-icl-nx7; exit ;;
361*a466cc55SCy Schubert	esac ;;
362*a466cc55SCy Schubert    s390x:SunOS:*:*)
363*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
364*a466cc55SCy Schubert	exit ;;
365*a466cc55SCy Schubert    sun4H:SunOS:5.*:*)
366*a466cc55SCy Schubert	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
367*a466cc55SCy Schubert	exit ;;
368*a466cc55SCy Schubert    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
369*a466cc55SCy Schubert	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
370*a466cc55SCy Schubert	exit ;;
371*a466cc55SCy Schubert    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
372*a466cc55SCy Schubert	echo i386-pc-auroraux${UNAME_RELEASE}
373*a466cc55SCy Schubert	exit ;;
374*a466cc55SCy Schubert    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
375*a466cc55SCy Schubert	eval $set_cc_for_build
376*a466cc55SCy Schubert	SUN_ARCH="i386"
377*a466cc55SCy Schubert	# If there is a compiler, see if it is configured for 64-bit objects.
378*a466cc55SCy Schubert	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
379*a466cc55SCy Schubert	# This test works for both compilers.
380*a466cc55SCy Schubert	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
381*a466cc55SCy Schubert	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
382*a466cc55SCy Schubert		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
383*a466cc55SCy Schubert		grep IS_64BIT_ARCH >/dev/null
384*a466cc55SCy Schubert	    then
385*a466cc55SCy Schubert		SUN_ARCH="x86_64"
386*a466cc55SCy Schubert	    fi
387*a466cc55SCy Schubert	fi
388*a466cc55SCy Schubert	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
389*a466cc55SCy Schubert	exit ;;
390*a466cc55SCy Schubert    sun4*:SunOS:6*:*)
391*a466cc55SCy Schubert	# According to config.sub, this is the proper way to canonicalize
392*a466cc55SCy Schubert	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
393*a466cc55SCy Schubert	# it's likely to be more like Solaris than SunOS4.
394*a466cc55SCy Schubert	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
395*a466cc55SCy Schubert	exit ;;
396*a466cc55SCy Schubert    sun4*:SunOS:*:*)
397*a466cc55SCy Schubert	case "`/usr/bin/arch -k`" in
398*a466cc55SCy Schubert	    Series*|S4*)
399*a466cc55SCy Schubert		UNAME_RELEASE=`uname -v`
400*a466cc55SCy Schubert		;;
401*a466cc55SCy Schubert	esac
402*a466cc55SCy Schubert	# Japanese Language versions have a version number like `4.1.3-JL'.
403*a466cc55SCy Schubert	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
404*a466cc55SCy Schubert	exit ;;
405*a466cc55SCy Schubert    sun3*:SunOS:*:*)
406*a466cc55SCy Schubert	echo m68k-sun-sunos${UNAME_RELEASE}
407*a466cc55SCy Schubert	exit ;;
408*a466cc55SCy Schubert    sun*:*:4.2BSD:*)
409*a466cc55SCy Schubert	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
410*a466cc55SCy Schubert	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
411*a466cc55SCy Schubert	case "`/bin/arch`" in
412*a466cc55SCy Schubert	    sun3)
413*a466cc55SCy Schubert		echo m68k-sun-sunos${UNAME_RELEASE}
414*a466cc55SCy Schubert		;;
415*a466cc55SCy Schubert	    sun4)
416*a466cc55SCy Schubert		echo sparc-sun-sunos${UNAME_RELEASE}
417*a466cc55SCy Schubert		;;
418*a466cc55SCy Schubert	esac
419*a466cc55SCy Schubert	exit ;;
420*a466cc55SCy Schubert    aushp:SunOS:*:*)
421*a466cc55SCy Schubert	echo sparc-auspex-sunos${UNAME_RELEASE}
422*a466cc55SCy Schubert	exit ;;
423*a466cc55SCy Schubert    # The situation for MiNT is a little confusing.  The machine name
424*a466cc55SCy Schubert    # can be virtually everything (everything which is not
425*a466cc55SCy Schubert    # "atarist" or "atariste" at least should have a processor
426*a466cc55SCy Schubert    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
427*a466cc55SCy Schubert    # to the lowercase version "mint" (or "freemint").  Finally
428*a466cc55SCy Schubert    # the system name "TOS" denotes a system which is actually not
429*a466cc55SCy Schubert    # MiNT.  But MiNT is downward compatible to TOS, so this should
430*a466cc55SCy Schubert    # be no problem.
431*a466cc55SCy Schubert    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
432*a466cc55SCy Schubert	echo m68k-atari-mint${UNAME_RELEASE}
433*a466cc55SCy Schubert	exit ;;
434*a466cc55SCy Schubert    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
435*a466cc55SCy Schubert	echo m68k-atari-mint${UNAME_RELEASE}
436*a466cc55SCy Schubert	exit ;;
437*a466cc55SCy Schubert    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
438*a466cc55SCy Schubert	echo m68k-atari-mint${UNAME_RELEASE}
439*a466cc55SCy Schubert	exit ;;
440*a466cc55SCy Schubert    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
441*a466cc55SCy Schubert	echo m68k-milan-mint${UNAME_RELEASE}
442*a466cc55SCy Schubert	exit ;;
443*a466cc55SCy Schubert    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
444*a466cc55SCy Schubert	echo m68k-hades-mint${UNAME_RELEASE}
445*a466cc55SCy Schubert	exit ;;
446*a466cc55SCy Schubert    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
447*a466cc55SCy Schubert	echo m68k-unknown-mint${UNAME_RELEASE}
448*a466cc55SCy Schubert	exit ;;
449*a466cc55SCy Schubert    m68k:machten:*:*)
450*a466cc55SCy Schubert	echo m68k-apple-machten${UNAME_RELEASE}
451*a466cc55SCy Schubert	exit ;;
452*a466cc55SCy Schubert    powerpc:machten:*:*)
453*a466cc55SCy Schubert	echo powerpc-apple-machten${UNAME_RELEASE}
454*a466cc55SCy Schubert	exit ;;
455*a466cc55SCy Schubert    RISC*:Mach:*:*)
456*a466cc55SCy Schubert	echo mips-dec-mach_bsd4.3
457*a466cc55SCy Schubert	exit ;;
458*a466cc55SCy Schubert    RISC*:ULTRIX:*:*)
459*a466cc55SCy Schubert	echo mips-dec-ultrix${UNAME_RELEASE}
460*a466cc55SCy Schubert	exit ;;
461*a466cc55SCy Schubert    VAX*:ULTRIX*:*:*)
462*a466cc55SCy Schubert	echo vax-dec-ultrix${UNAME_RELEASE}
463*a466cc55SCy Schubert	exit ;;
464*a466cc55SCy Schubert    2020:CLIX:*:* | 2430:CLIX:*:*)
465*a466cc55SCy Schubert	echo clipper-intergraph-clix${UNAME_RELEASE}
466*a466cc55SCy Schubert	exit ;;
467*a466cc55SCy Schubert    mips:*:*:UMIPS | mips:*:*:RISCos)
468*a466cc55SCy Schubert	eval $set_cc_for_build
469*a466cc55SCy Schubert	sed 's/^	//' << EOF >$dummy.c
470*a466cc55SCy Schubert#ifdef __cplusplus
471*a466cc55SCy Schubert#include <stdio.h>  /* for printf() prototype */
472*a466cc55SCy Schubert	int main (int argc, char *argv[]) {
473*a466cc55SCy Schubert#else
474*a466cc55SCy Schubert	int main (argc, argv) int argc; char *argv[]; {
475*a466cc55SCy Schubert#endif
476*a466cc55SCy Schubert	#if defined (host_mips) && defined (MIPSEB)
477*a466cc55SCy Schubert	#if defined (SYSTYPE_SYSV)
478*a466cc55SCy Schubert	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
479*a466cc55SCy Schubert	#endif
480*a466cc55SCy Schubert	#if defined (SYSTYPE_SVR4)
481*a466cc55SCy Schubert	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
482*a466cc55SCy Schubert	#endif
483*a466cc55SCy Schubert	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
484*a466cc55SCy Schubert	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
485*a466cc55SCy Schubert	#endif
486*a466cc55SCy Schubert	#endif
487*a466cc55SCy Schubert	  exit (-1);
488*a466cc55SCy Schubert	}
489*a466cc55SCy SchubertEOF
490*a466cc55SCy Schubert	$CC_FOR_BUILD -o $dummy $dummy.c &&
491*a466cc55SCy Schubert	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
492*a466cc55SCy Schubert	  SYSTEM_NAME=`$dummy $dummyarg` &&
493*a466cc55SCy Schubert	    { echo "$SYSTEM_NAME"; exit; }
494*a466cc55SCy Schubert	echo mips-mips-riscos${UNAME_RELEASE}
495*a466cc55SCy Schubert	exit ;;
496*a466cc55SCy Schubert    Motorola:PowerMAX_OS:*:*)
497*a466cc55SCy Schubert	echo powerpc-motorola-powermax
498*a466cc55SCy Schubert	exit ;;
499*a466cc55SCy Schubert    Motorola:*:4.3:PL8-*)
500*a466cc55SCy Schubert	echo powerpc-harris-powermax
501*a466cc55SCy Schubert	exit ;;
502*a466cc55SCy Schubert    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
503*a466cc55SCy Schubert	echo powerpc-harris-powermax
504*a466cc55SCy Schubert	exit ;;
505*a466cc55SCy Schubert    Night_Hawk:Power_UNIX:*:*)
506*a466cc55SCy Schubert	echo powerpc-harris-powerunix
507*a466cc55SCy Schubert	exit ;;
508*a466cc55SCy Schubert    m88k:CX/UX:7*:*)
509*a466cc55SCy Schubert	echo m88k-harris-cxux7
510*a466cc55SCy Schubert	exit ;;
511*a466cc55SCy Schubert    m88k:*:4*:R4*)
512*a466cc55SCy Schubert	echo m88k-motorola-sysv4
513*a466cc55SCy Schubert	exit ;;
514*a466cc55SCy Schubert    m88k:*:3*:R3*)
515*a466cc55SCy Schubert	echo m88k-motorola-sysv3
516*a466cc55SCy Schubert	exit ;;
517*a466cc55SCy Schubert    AViiON:dgux:*:*)
518*a466cc55SCy Schubert	# DG/UX returns AViiON for all architectures
519*a466cc55SCy Schubert	UNAME_PROCESSOR=`/usr/bin/uname -p`
520*a466cc55SCy Schubert	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
521*a466cc55SCy Schubert	then
522*a466cc55SCy Schubert	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
523*a466cc55SCy Schubert	       [ ${TARGET_BINARY_INTERFACE}x = x ]
524*a466cc55SCy Schubert	    then
525*a466cc55SCy Schubert		echo m88k-dg-dgux${UNAME_RELEASE}
526*a466cc55SCy Schubert	    else
527*a466cc55SCy Schubert		echo m88k-dg-dguxbcs${UNAME_RELEASE}
528*a466cc55SCy Schubert	    fi
529*a466cc55SCy Schubert	else
530*a466cc55SCy Schubert	    echo i586-dg-dgux${UNAME_RELEASE}
531*a466cc55SCy Schubert	fi
532*a466cc55SCy Schubert	exit ;;
533*a466cc55SCy Schubert    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
534*a466cc55SCy Schubert	echo m88k-dolphin-sysv3
535*a466cc55SCy Schubert	exit ;;
536*a466cc55SCy Schubert    M88*:*:R3*:*)
537*a466cc55SCy Schubert	# Delta 88k system running SVR3
538*a466cc55SCy Schubert	echo m88k-motorola-sysv3
539*a466cc55SCy Schubert	exit ;;
540*a466cc55SCy Schubert    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
541*a466cc55SCy Schubert	echo m88k-tektronix-sysv3
542*a466cc55SCy Schubert	exit ;;
543*a466cc55SCy Schubert    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
544*a466cc55SCy Schubert	echo m68k-tektronix-bsd
545*a466cc55SCy Schubert	exit ;;
546*a466cc55SCy Schubert    *:IRIX*:*:*)
547*a466cc55SCy Schubert	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
548*a466cc55SCy Schubert	exit ;;
549*a466cc55SCy Schubert    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
550*a466cc55SCy Schubert	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
551*a466cc55SCy Schubert	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
552*a466cc55SCy Schubert    i*86:AIX:*:*)
553*a466cc55SCy Schubert	echo i386-ibm-aix
554*a466cc55SCy Schubert	exit ;;
555*a466cc55SCy Schubert    ia64:AIX:*:*)
556*a466cc55SCy Schubert	if [ -x /usr/bin/oslevel ] ; then
557*a466cc55SCy Schubert		IBM_REV=`/usr/bin/oslevel`
558*a466cc55SCy Schubert	else
559*a466cc55SCy Schubert		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
560*a466cc55SCy Schubert	fi
561*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
562*a466cc55SCy Schubert	exit ;;
563*a466cc55SCy Schubert    *:AIX:2:3)
564*a466cc55SCy Schubert	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
565*a466cc55SCy Schubert		eval $set_cc_for_build
566*a466cc55SCy Schubert		sed 's/^		//' << EOF >$dummy.c
567*a466cc55SCy Schubert		#include <sys/systemcfg.h>
568*a466cc55SCy Schubert
569*a466cc55SCy Schubert		main()
570*a466cc55SCy Schubert			{
571*a466cc55SCy Schubert			if (!__power_pc())
572*a466cc55SCy Schubert				exit(1);
573*a466cc55SCy Schubert			puts("powerpc-ibm-aix3.2.5");
574*a466cc55SCy Schubert			exit(0);
575*a466cc55SCy Schubert			}
576*a466cc55SCy SchubertEOF
577*a466cc55SCy Schubert		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
578*a466cc55SCy Schubert		then
579*a466cc55SCy Schubert			echo "$SYSTEM_NAME"
580*a466cc55SCy Schubert		else
581*a466cc55SCy Schubert			echo rs6000-ibm-aix3.2.5
582*a466cc55SCy Schubert		fi
583*a466cc55SCy Schubert	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
584*a466cc55SCy Schubert		echo rs6000-ibm-aix3.2.4
585*a466cc55SCy Schubert	else
586*a466cc55SCy Schubert		echo rs6000-ibm-aix3.2
587*a466cc55SCy Schubert	fi
588*a466cc55SCy Schubert	exit ;;
589*a466cc55SCy Schubert    *:AIX:*:[4567])
590*a466cc55SCy Schubert	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
591*a466cc55SCy Schubert	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
592*a466cc55SCy Schubert		IBM_ARCH=rs6000
593*a466cc55SCy Schubert	else
594*a466cc55SCy Schubert		IBM_ARCH=powerpc
595*a466cc55SCy Schubert	fi
596*a466cc55SCy Schubert	if [ -x /usr/bin/lslpp ] ; then
597*a466cc55SCy Schubert		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
598*a466cc55SCy Schubert			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
599*a466cc55SCy Schubert	else
600*a466cc55SCy Schubert		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
601*a466cc55SCy Schubert	fi
602*a466cc55SCy Schubert	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
603*a466cc55SCy Schubert	exit ;;
604*a466cc55SCy Schubert    *:AIX:*:*)
605*a466cc55SCy Schubert	echo rs6000-ibm-aix
606*a466cc55SCy Schubert	exit ;;
607*a466cc55SCy Schubert    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
608*a466cc55SCy Schubert	echo romp-ibm-bsd4.4
609*a466cc55SCy Schubert	exit ;;
610*a466cc55SCy Schubert    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
611*a466cc55SCy Schubert	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
612*a466cc55SCy Schubert	exit ;;                             # report: romp-ibm BSD 4.3
613*a466cc55SCy Schubert    *:BOSX:*:*)
614*a466cc55SCy Schubert	echo rs6000-bull-bosx
615*a466cc55SCy Schubert	exit ;;
616*a466cc55SCy Schubert    DPX/2?00:B.O.S.:*:*)
617*a466cc55SCy Schubert	echo m68k-bull-sysv3
618*a466cc55SCy Schubert	exit ;;
619*a466cc55SCy Schubert    9000/[34]??:4.3bsd:1.*:*)
620*a466cc55SCy Schubert	echo m68k-hp-bsd
621*a466cc55SCy Schubert	exit ;;
622*a466cc55SCy Schubert    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
623*a466cc55SCy Schubert	echo m68k-hp-bsd4.4
624*a466cc55SCy Schubert	exit ;;
625*a466cc55SCy Schubert    9000/[34678]??:HP-UX:*:*)
626*a466cc55SCy Schubert	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
627*a466cc55SCy Schubert	case "${UNAME_MACHINE}" in
628*a466cc55SCy Schubert	    9000/31? )            HP_ARCH=m68000 ;;
629*a466cc55SCy Schubert	    9000/[34]?? )         HP_ARCH=m68k ;;
630*a466cc55SCy Schubert	    9000/[678][0-9][0-9])
631*a466cc55SCy Schubert		if [ -x /usr/bin/getconf ]; then
632*a466cc55SCy Schubert		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
633*a466cc55SCy Schubert		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
634*a466cc55SCy Schubert		    case "${sc_cpu_version}" in
635*a466cc55SCy Schubert		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
636*a466cc55SCy Schubert		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
637*a466cc55SCy Schubert		      532)                      # CPU_PA_RISC2_0
638*a466cc55SCy Schubert			case "${sc_kernel_bits}" in
639*a466cc55SCy Schubert			  32) HP_ARCH="hppa2.0n" ;;
640*a466cc55SCy Schubert			  64) HP_ARCH="hppa2.0w" ;;
641*a466cc55SCy Schubert			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
642*a466cc55SCy Schubert			esac ;;
643*a466cc55SCy Schubert		    esac
644*a466cc55SCy Schubert		fi
645*a466cc55SCy Schubert		if [ "${HP_ARCH}" = "" ]; then
646*a466cc55SCy Schubert		    eval $set_cc_for_build
647*a466cc55SCy Schubert		    sed 's/^		//' << EOF >$dummy.c
648*a466cc55SCy Schubert
649*a466cc55SCy Schubert		#define _HPUX_SOURCE
650*a466cc55SCy Schubert		#include <stdlib.h>
651*a466cc55SCy Schubert		#include <unistd.h>
652*a466cc55SCy Schubert
653*a466cc55SCy Schubert		int main ()
654*a466cc55SCy Schubert		{
655*a466cc55SCy Schubert		#if defined(_SC_KERNEL_BITS)
656*a466cc55SCy Schubert		    long bits = sysconf(_SC_KERNEL_BITS);
657*a466cc55SCy Schubert		#endif
658*a466cc55SCy Schubert		    long cpu  = sysconf (_SC_CPU_VERSION);
659*a466cc55SCy Schubert
660*a466cc55SCy Schubert		    switch (cpu)
661*a466cc55SCy Schubert			{
662*a466cc55SCy Schubert			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
663*a466cc55SCy Schubert			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
664*a466cc55SCy Schubert			case CPU_PA_RISC2_0:
665*a466cc55SCy Schubert		#if defined(_SC_KERNEL_BITS)
666*a466cc55SCy Schubert			    switch (bits)
667*a466cc55SCy Schubert				{
668*a466cc55SCy Schubert				case 64: puts ("hppa2.0w"); break;
669*a466cc55SCy Schubert				case 32: puts ("hppa2.0n"); break;
670*a466cc55SCy Schubert				default: puts ("hppa2.0"); break;
671*a466cc55SCy Schubert				} break;
672*a466cc55SCy Schubert		#else  /* !defined(_SC_KERNEL_BITS) */
673*a466cc55SCy Schubert			    puts ("hppa2.0"); break;
674*a466cc55SCy Schubert		#endif
675*a466cc55SCy Schubert			default: puts ("hppa1.0"); break;
676*a466cc55SCy Schubert			}
677*a466cc55SCy Schubert		    exit (0);
678*a466cc55SCy Schubert		}
679*a466cc55SCy SchubertEOF
680*a466cc55SCy Schubert		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
681*a466cc55SCy Schubert		    test -z "$HP_ARCH" && HP_ARCH=hppa
682*a466cc55SCy Schubert		fi ;;
683*a466cc55SCy Schubert	esac
684*a466cc55SCy Schubert	if [ ${HP_ARCH} = "hppa2.0w" ]
685*a466cc55SCy Schubert	then
686*a466cc55SCy Schubert	    eval $set_cc_for_build
687*a466cc55SCy Schubert
688*a466cc55SCy Schubert	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
689*a466cc55SCy Schubert	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
690*a466cc55SCy Schubert	    # generating 64-bit code.  GNU and HP use different nomenclature:
691*a466cc55SCy Schubert	    #
692*a466cc55SCy Schubert	    # $ CC_FOR_BUILD=cc ./config.guess
693*a466cc55SCy Schubert	    # => hppa2.0w-hp-hpux11.23
694*a466cc55SCy Schubert	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
695*a466cc55SCy Schubert	    # => hppa64-hp-hpux11.23
696*a466cc55SCy Schubert
697*a466cc55SCy Schubert	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
698*a466cc55SCy Schubert		grep -q __LP64__
699*a466cc55SCy Schubert	    then
700*a466cc55SCy Schubert		HP_ARCH="hppa2.0w"
701*a466cc55SCy Schubert	    else
702*a466cc55SCy Schubert		HP_ARCH="hppa64"
703*a466cc55SCy Schubert	    fi
704*a466cc55SCy Schubert	fi
705*a466cc55SCy Schubert	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
706*a466cc55SCy Schubert	exit ;;
707*a466cc55SCy Schubert    ia64:HP-UX:*:*)
708*a466cc55SCy Schubert	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
709*a466cc55SCy Schubert	echo ia64-hp-hpux${HPUX_REV}
710*a466cc55SCy Schubert	exit ;;
711*a466cc55SCy Schubert    3050*:HI-UX:*:*)
712*a466cc55SCy Schubert	eval $set_cc_for_build
713*a466cc55SCy Schubert	sed 's/^	//' << EOF >$dummy.c
714*a466cc55SCy Schubert	#include <unistd.h>
715*a466cc55SCy Schubert	int
716*a466cc55SCy Schubert	main ()
717*a466cc55SCy Schubert	{
718*a466cc55SCy Schubert	  long cpu = sysconf (_SC_CPU_VERSION);
719*a466cc55SCy Schubert	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
720*a466cc55SCy Schubert	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
721*a466cc55SCy Schubert	     results, however.  */
722*a466cc55SCy Schubert	  if (CPU_IS_PA_RISC (cpu))
723*a466cc55SCy Schubert	    {
724*a466cc55SCy Schubert	      switch (cpu)
725*a466cc55SCy Schubert		{
726*a466cc55SCy Schubert		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
727*a466cc55SCy Schubert		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
728*a466cc55SCy Schubert		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
729*a466cc55SCy Schubert		  default: puts ("hppa-hitachi-hiuxwe2"); break;
730*a466cc55SCy Schubert		}
731*a466cc55SCy Schubert	    }
732*a466cc55SCy Schubert	  else if (CPU_IS_HP_MC68K (cpu))
733*a466cc55SCy Schubert	    puts ("m68k-hitachi-hiuxwe2");
734*a466cc55SCy Schubert	  else puts ("unknown-hitachi-hiuxwe2");
735*a466cc55SCy Schubert	  exit (0);
736*a466cc55SCy Schubert	}
737*a466cc55SCy SchubertEOF
738*a466cc55SCy Schubert	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
739*a466cc55SCy Schubert		{ echo "$SYSTEM_NAME"; exit; }
740*a466cc55SCy Schubert	echo unknown-hitachi-hiuxwe2
741*a466cc55SCy Schubert	exit ;;
742*a466cc55SCy Schubert    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
743*a466cc55SCy Schubert	echo hppa1.1-hp-bsd
744*a466cc55SCy Schubert	exit ;;
745*a466cc55SCy Schubert    9000/8??:4.3bsd:*:*)
746*a466cc55SCy Schubert	echo hppa1.0-hp-bsd
747*a466cc55SCy Schubert	exit ;;
748*a466cc55SCy Schubert    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
749*a466cc55SCy Schubert	echo hppa1.0-hp-mpeix
750*a466cc55SCy Schubert	exit ;;
751*a466cc55SCy Schubert    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
752*a466cc55SCy Schubert	echo hppa1.1-hp-osf
753*a466cc55SCy Schubert	exit ;;
754*a466cc55SCy Schubert    hp8??:OSF1:*:*)
755*a466cc55SCy Schubert	echo hppa1.0-hp-osf
756*a466cc55SCy Schubert	exit ;;
757*a466cc55SCy Schubert    i*86:OSF1:*:*)
758*a466cc55SCy Schubert	if [ -x /usr/sbin/sysversion ] ; then
759*a466cc55SCy Schubert	    echo ${UNAME_MACHINE}-unknown-osf1mk
760*a466cc55SCy Schubert	else
761*a466cc55SCy Schubert	    echo ${UNAME_MACHINE}-unknown-osf1
762*a466cc55SCy Schubert	fi
763*a466cc55SCy Schubert	exit ;;
764*a466cc55SCy Schubert    parisc*:Lites*:*:*)
765*a466cc55SCy Schubert	echo hppa1.1-hp-lites
766*a466cc55SCy Schubert	exit ;;
767*a466cc55SCy Schubert    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
768*a466cc55SCy Schubert	echo c1-convex-bsd
769*a466cc55SCy Schubert	exit ;;
770*a466cc55SCy Schubert    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
771*a466cc55SCy Schubert	if getsysinfo -f scalar_acc
772*a466cc55SCy Schubert	then echo c32-convex-bsd
773*a466cc55SCy Schubert	else echo c2-convex-bsd
774*a466cc55SCy Schubert	fi
775*a466cc55SCy Schubert	exit ;;
776*a466cc55SCy Schubert    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
777*a466cc55SCy Schubert	echo c34-convex-bsd
778*a466cc55SCy Schubert	exit ;;
779*a466cc55SCy Schubert    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
780*a466cc55SCy Schubert	echo c38-convex-bsd
781*a466cc55SCy Schubert	exit ;;
782*a466cc55SCy Schubert    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
783*a466cc55SCy Schubert	echo c4-convex-bsd
784*a466cc55SCy Schubert	exit ;;
785*a466cc55SCy Schubert    CRAY*Y-MP:*:*:*)
786*a466cc55SCy Schubert	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
787*a466cc55SCy Schubert	exit ;;
788*a466cc55SCy Schubert    CRAY*[A-Z]90:*:*:*)
789*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
790*a466cc55SCy Schubert	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
791*a466cc55SCy Schubert	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
792*a466cc55SCy Schubert	      -e 's/\.[^.]*$/.X/'
793*a466cc55SCy Schubert	exit ;;
794*a466cc55SCy Schubert    CRAY*TS:*:*:*)
795*a466cc55SCy Schubert	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
796*a466cc55SCy Schubert	exit ;;
797*a466cc55SCy Schubert    CRAY*T3E:*:*:*)
798*a466cc55SCy Schubert	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
799*a466cc55SCy Schubert	exit ;;
800*a466cc55SCy Schubert    CRAY*SV1:*:*:*)
801*a466cc55SCy Schubert	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
802*a466cc55SCy Schubert	exit ;;
803*a466cc55SCy Schubert    *:UNICOS/mp:*:*)
804*a466cc55SCy Schubert	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
805*a466cc55SCy Schubert	exit ;;
806*a466cc55SCy Schubert    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
807*a466cc55SCy Schubert	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
808*a466cc55SCy Schubert	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
809*a466cc55SCy Schubert	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
810*a466cc55SCy Schubert	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
811*a466cc55SCy Schubert	exit ;;
812*a466cc55SCy Schubert    5000:UNIX_System_V:4.*:*)
813*a466cc55SCy Schubert	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
814*a466cc55SCy Schubert	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
815*a466cc55SCy Schubert	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
816*a466cc55SCy Schubert	exit ;;
817*a466cc55SCy Schubert    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
818*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
819*a466cc55SCy Schubert	exit ;;
820*a466cc55SCy Schubert    sparc*:BSD/OS:*:*)
821*a466cc55SCy Schubert	echo sparc-unknown-bsdi${UNAME_RELEASE}
822*a466cc55SCy Schubert	exit ;;
823*a466cc55SCy Schubert    *:BSD/OS:*:*)
824*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
825*a466cc55SCy Schubert	exit ;;
826*a466cc55SCy Schubert    *:FreeBSD:*:*)
827*a466cc55SCy Schubert	UNAME_PROCESSOR=`/usr/bin/uname -p`
828*a466cc55SCy Schubert	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
829*a466cc55SCy Schubert	exit ;;
830*a466cc55SCy Schubert    i*:CYGWIN*:*)
831*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-cygwin
832*a466cc55SCy Schubert	exit ;;
833*a466cc55SCy Schubert    *:MINGW64*:*)
834*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-mingw64
835*a466cc55SCy Schubert	exit ;;
836*a466cc55SCy Schubert    *:MINGW*:*)
837*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-mingw32
838*a466cc55SCy Schubert	exit ;;
839*a466cc55SCy Schubert    *:MSYS*:*)
840*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-msys
841*a466cc55SCy Schubert	exit ;;
842*a466cc55SCy Schubert    i*:windows32*:*)
843*a466cc55SCy Schubert	# uname -m includes "-pc" on this system.
844*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-mingw32
845*a466cc55SCy Schubert	exit ;;
846*a466cc55SCy Schubert    i*:PW*:*)
847*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-pw32
848*a466cc55SCy Schubert	exit ;;
849*a466cc55SCy Schubert    *:Interix*:*)
850*a466cc55SCy Schubert	case ${UNAME_MACHINE} in
851*a466cc55SCy Schubert	    x86)
852*a466cc55SCy Schubert		echo i586-pc-interix${UNAME_RELEASE}
853*a466cc55SCy Schubert		exit ;;
854*a466cc55SCy Schubert	    authenticamd | genuineintel | EM64T)
855*a466cc55SCy Schubert		echo x86_64-unknown-interix${UNAME_RELEASE}
856*a466cc55SCy Schubert		exit ;;
857*a466cc55SCy Schubert	    IA64)
858*a466cc55SCy Schubert		echo ia64-unknown-interix${UNAME_RELEASE}
859*a466cc55SCy Schubert		exit ;;
860*a466cc55SCy Schubert	esac ;;
861*a466cc55SCy Schubert    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
862*a466cc55SCy Schubert	echo i${UNAME_MACHINE}-pc-mks
863*a466cc55SCy Schubert	exit ;;
864*a466cc55SCy Schubert    8664:Windows_NT:*)
865*a466cc55SCy Schubert	echo x86_64-pc-mks
866*a466cc55SCy Schubert	exit ;;
867*a466cc55SCy Schubert    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
868*a466cc55SCy Schubert	# How do we know it's Interix rather than the generic POSIX subsystem?
869*a466cc55SCy Schubert	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
870*a466cc55SCy Schubert	# UNAME_MACHINE based on the output of uname instead of i386?
871*a466cc55SCy Schubert	echo i586-pc-interix
872*a466cc55SCy Schubert	exit ;;
873*a466cc55SCy Schubert    i*:UWIN*:*)
874*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-uwin
875*a466cc55SCy Schubert	exit ;;
876*a466cc55SCy Schubert    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
877*a466cc55SCy Schubert	echo x86_64-unknown-cygwin
878*a466cc55SCy Schubert	exit ;;
879*a466cc55SCy Schubert    p*:CYGWIN*:*)
880*a466cc55SCy Schubert	echo powerpcle-unknown-cygwin
881*a466cc55SCy Schubert	exit ;;
882*a466cc55SCy Schubert    prep*:SunOS:5.*:*)
883*a466cc55SCy Schubert	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
884*a466cc55SCy Schubert	exit ;;
885*a466cc55SCy Schubert    *:GNU:*:*)
886*a466cc55SCy Schubert	# the GNU system
887*a466cc55SCy Schubert	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
888*a466cc55SCy Schubert	exit ;;
889*a466cc55SCy Schubert    *:GNU/*:*:*)
890*a466cc55SCy Schubert	# other systems with GNU libc and userland
891*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
892*a466cc55SCy Schubert	exit ;;
893*a466cc55SCy Schubert    i*86:Minix:*:*)
894*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-minix
895*a466cc55SCy Schubert	exit ;;
896*a466cc55SCy Schubert    aarch64:Linux:*:*)
897*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
898*a466cc55SCy Schubert	exit ;;
899*a466cc55SCy Schubert    aarch64_be:Linux:*:*)
900*a466cc55SCy Schubert	UNAME_MACHINE=aarch64_be
901*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
902*a466cc55SCy Schubert	exit ;;
903*a466cc55SCy Schubert    alpha:Linux:*:*)
904*a466cc55SCy Schubert	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
905*a466cc55SCy Schubert	  EV5)   UNAME_MACHINE=alphaev5 ;;
906*a466cc55SCy Schubert	  EV56)  UNAME_MACHINE=alphaev56 ;;
907*a466cc55SCy Schubert	  PCA56) UNAME_MACHINE=alphapca56 ;;
908*a466cc55SCy Schubert	  PCA57) UNAME_MACHINE=alphapca56 ;;
909*a466cc55SCy Schubert	  EV6)   UNAME_MACHINE=alphaev6 ;;
910*a466cc55SCy Schubert	  EV67)  UNAME_MACHINE=alphaev67 ;;
911*a466cc55SCy Schubert	  EV68*) UNAME_MACHINE=alphaev68 ;;
912*a466cc55SCy Schubert	esac
913*a466cc55SCy Schubert	objdump --private-headers /bin/sh | grep -q ld.so.1
914*a466cc55SCy Schubert	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
915*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
916*a466cc55SCy Schubert	exit ;;
917*a466cc55SCy Schubert    arc:Linux:*:* | arceb:Linux:*:*)
918*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
919*a466cc55SCy Schubert	exit ;;
920*a466cc55SCy Schubert    arm*:Linux:*:*)
921*a466cc55SCy Schubert	eval $set_cc_for_build
922*a466cc55SCy Schubert	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
923*a466cc55SCy Schubert	    | grep -q __ARM_EABI__
924*a466cc55SCy Schubert	then
925*a466cc55SCy Schubert	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
926*a466cc55SCy Schubert	else
927*a466cc55SCy Schubert	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
928*a466cc55SCy Schubert		| grep -q __ARM_PCS_VFP
929*a466cc55SCy Schubert	    then
930*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
931*a466cc55SCy Schubert	    else
932*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
933*a466cc55SCy Schubert	    fi
934*a466cc55SCy Schubert	fi
935*a466cc55SCy Schubert	exit ;;
936*a466cc55SCy Schubert    avr32*:Linux:*:*)
937*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
938*a466cc55SCy Schubert	exit ;;
939*a466cc55SCy Schubert    cris:Linux:*:*)
940*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
941*a466cc55SCy Schubert	exit ;;
942*a466cc55SCy Schubert    crisv32:Linux:*:*)
943*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
944*a466cc55SCy Schubert	exit ;;
945*a466cc55SCy Schubert    e2k:Linux:*:*)
946*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
947*a466cc55SCy Schubert	exit ;;
948*a466cc55SCy Schubert    frv:Linux:*:*)
949*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
950*a466cc55SCy Schubert	exit ;;
951*a466cc55SCy Schubert    hexagon:Linux:*:*)
952*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
953*a466cc55SCy Schubert	exit ;;
954*a466cc55SCy Schubert    i*86:Linux:*:*)
955*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
956*a466cc55SCy Schubert	exit ;;
957*a466cc55SCy Schubert    ia64:Linux:*:*)
958*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
959*a466cc55SCy Schubert	exit ;;
960*a466cc55SCy Schubert    m32r*:Linux:*:*)
961*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
962*a466cc55SCy Schubert	exit ;;
963*a466cc55SCy Schubert    m68*:Linux:*:*)
964*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
965*a466cc55SCy Schubert	exit ;;
966*a466cc55SCy Schubert    mips:Linux:*:* | mips64:Linux:*:*)
967*a466cc55SCy Schubert	eval $set_cc_for_build
968*a466cc55SCy Schubert	sed 's/^	//' << EOF >$dummy.c
969*a466cc55SCy Schubert	#undef CPU
970*a466cc55SCy Schubert	#undef ${UNAME_MACHINE}
971*a466cc55SCy Schubert	#undef ${UNAME_MACHINE}el
972*a466cc55SCy Schubert	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
973*a466cc55SCy Schubert	CPU=${UNAME_MACHINE}el
974*a466cc55SCy Schubert	#else
975*a466cc55SCy Schubert	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
976*a466cc55SCy Schubert	CPU=${UNAME_MACHINE}
977*a466cc55SCy Schubert	#else
978*a466cc55SCy Schubert	CPU=
979*a466cc55SCy Schubert	#endif
980*a466cc55SCy Schubert	#endif
981*a466cc55SCy SchubertEOF
982*a466cc55SCy Schubert	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
983*a466cc55SCy Schubert	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
984*a466cc55SCy Schubert	;;
985*a466cc55SCy Schubert    openrisc*:Linux:*:*)
986*a466cc55SCy Schubert	echo or1k-unknown-linux-${LIBC}
987*a466cc55SCy Schubert	exit ;;
988*a466cc55SCy Schubert    or32:Linux:*:* | or1k*:Linux:*:*)
989*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
990*a466cc55SCy Schubert	exit ;;
991*a466cc55SCy Schubert    padre:Linux:*:*)
992*a466cc55SCy Schubert	echo sparc-unknown-linux-${LIBC}
993*a466cc55SCy Schubert	exit ;;
994*a466cc55SCy Schubert    parisc64:Linux:*:* | hppa64:Linux:*:*)
995*a466cc55SCy Schubert	echo hppa64-unknown-linux-${LIBC}
996*a466cc55SCy Schubert	exit ;;
997*a466cc55SCy Schubert    parisc:Linux:*:* | hppa:Linux:*:*)
998*a466cc55SCy Schubert	# Look for CPU level
999*a466cc55SCy Schubert	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1000*a466cc55SCy Schubert	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1001*a466cc55SCy Schubert	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1002*a466cc55SCy Schubert	  *)    echo hppa-unknown-linux-${LIBC} ;;
1003*a466cc55SCy Schubert	esac
1004*a466cc55SCy Schubert	exit ;;
1005*a466cc55SCy Schubert    ppc64:Linux:*:*)
1006*a466cc55SCy Schubert	echo powerpc64-unknown-linux-${LIBC}
1007*a466cc55SCy Schubert	exit ;;
1008*a466cc55SCy Schubert    ppc:Linux:*:*)
1009*a466cc55SCy Schubert	echo powerpc-unknown-linux-${LIBC}
1010*a466cc55SCy Schubert	exit ;;
1011*a466cc55SCy Schubert    ppc64le:Linux:*:*)
1012*a466cc55SCy Schubert	echo powerpc64le-unknown-linux-${LIBC}
1013*a466cc55SCy Schubert	exit ;;
1014*a466cc55SCy Schubert    ppcle:Linux:*:*)
1015*a466cc55SCy Schubert	echo powerpcle-unknown-linux-${LIBC}
1016*a466cc55SCy Schubert	exit ;;
1017*a466cc55SCy Schubert    s390:Linux:*:* | s390x:Linux:*:*)
1018*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1019*a466cc55SCy Schubert	exit ;;
1020*a466cc55SCy Schubert    sh64*:Linux:*:*)
1021*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1022*a466cc55SCy Schubert	exit ;;
1023*a466cc55SCy Schubert    sh*:Linux:*:*)
1024*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1025*a466cc55SCy Schubert	exit ;;
1026*a466cc55SCy Schubert    sparc:Linux:*:* | sparc64:Linux:*:*)
1027*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1028*a466cc55SCy Schubert	exit ;;
1029*a466cc55SCy Schubert    tile*:Linux:*:*)
1030*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1031*a466cc55SCy Schubert	exit ;;
1032*a466cc55SCy Schubert    vax:Linux:*:*)
1033*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1034*a466cc55SCy Schubert	exit ;;
1035*a466cc55SCy Schubert    x86_64:Linux:*:*)
1036*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1037*a466cc55SCy Schubert	exit ;;
1038*a466cc55SCy Schubert    xtensa*:Linux:*:*)
1039*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1040*a466cc55SCy Schubert	exit ;;
1041*a466cc55SCy Schubert    i*86:DYNIX/ptx:4*:*)
1042*a466cc55SCy Schubert	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1043*a466cc55SCy Schubert	# earlier versions are messed up and put the nodename in both
1044*a466cc55SCy Schubert	# sysname and nodename.
1045*a466cc55SCy Schubert	echo i386-sequent-sysv4
1046*a466cc55SCy Schubert	exit ;;
1047*a466cc55SCy Schubert    i*86:UNIX_SV:4.2MP:2.*)
1048*a466cc55SCy Schubert	# Unixware is an offshoot of SVR4, but it has its own version
1049*a466cc55SCy Schubert	# number series starting with 2...
1050*a466cc55SCy Schubert	# I am not positive that other SVR4 systems won't match this,
1051*a466cc55SCy Schubert	# I just have to hope.  -- rms.
1052*a466cc55SCy Schubert	# Use sysv4.2uw... so that sysv4* matches it.
1053*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1054*a466cc55SCy Schubert	exit ;;
1055*a466cc55SCy Schubert    i*86:OS/2:*:*)
1056*a466cc55SCy Schubert	# If we were able to find `uname', then EMX Unix compatibility
1057*a466cc55SCy Schubert	# is probably installed.
1058*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-os2-emx
1059*a466cc55SCy Schubert	exit ;;
1060*a466cc55SCy Schubert    i*86:XTS-300:*:STOP)
1061*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-stop
1062*a466cc55SCy Schubert	exit ;;
1063*a466cc55SCy Schubert    i*86:atheos:*:*)
1064*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-atheos
1065*a466cc55SCy Schubert	exit ;;
1066*a466cc55SCy Schubert    i*86:syllable:*:*)
1067*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-syllable
1068*a466cc55SCy Schubert	exit ;;
1069*a466cc55SCy Schubert    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1070*a466cc55SCy Schubert	echo i386-unknown-lynxos${UNAME_RELEASE}
1071*a466cc55SCy Schubert	exit ;;
1072*a466cc55SCy Schubert    i*86:*DOS:*:*)
1073*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1074*a466cc55SCy Schubert	exit ;;
1075*a466cc55SCy Schubert    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1076*a466cc55SCy Schubert	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1077*a466cc55SCy Schubert	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1078*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1079*a466cc55SCy Schubert	else
1080*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1081*a466cc55SCy Schubert	fi
1082*a466cc55SCy Schubert	exit ;;
1083*a466cc55SCy Schubert    i*86:*:5:[678]*)
1084*a466cc55SCy Schubert	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1085*a466cc55SCy Schubert	case `/bin/uname -X | grep "^Machine"` in
1086*a466cc55SCy Schubert	    *486*)	     UNAME_MACHINE=i486 ;;
1087*a466cc55SCy Schubert	    *Pentium)	     UNAME_MACHINE=i586 ;;
1088*a466cc55SCy Schubert	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1089*a466cc55SCy Schubert	esac
1090*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1091*a466cc55SCy Schubert	exit ;;
1092*a466cc55SCy Schubert    i*86:*:3.2:*)
1093*a466cc55SCy Schubert	if test -f /usr/options/cb.name; then
1094*a466cc55SCy Schubert		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1095*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1096*a466cc55SCy Schubert	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1097*a466cc55SCy Schubert		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1098*a466cc55SCy Schubert		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1099*a466cc55SCy Schubert		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1100*a466cc55SCy Schubert			&& UNAME_MACHINE=i586
1101*a466cc55SCy Schubert		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1102*a466cc55SCy Schubert			&& UNAME_MACHINE=i686
1103*a466cc55SCy Schubert		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1104*a466cc55SCy Schubert			&& UNAME_MACHINE=i686
1105*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1106*a466cc55SCy Schubert	else
1107*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-pc-sysv32
1108*a466cc55SCy Schubert	fi
1109*a466cc55SCy Schubert	exit ;;
1110*a466cc55SCy Schubert    pc:*:*:*)
1111*a466cc55SCy Schubert	# Left here for compatibility:
1112*a466cc55SCy Schubert	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1113*a466cc55SCy Schubert	# the processor, so we play safe by assuming i586.
1114*a466cc55SCy Schubert	# Note: whatever this is, it MUST be the same as what config.sub
1115*a466cc55SCy Schubert	# prints for the "djgpp" host, or else GDB configury will decide that
1116*a466cc55SCy Schubert	# this is a cross-build.
1117*a466cc55SCy Schubert	echo i586-pc-msdosdjgpp
1118*a466cc55SCy Schubert	exit ;;
1119*a466cc55SCy Schubert    Intel:Mach:3*:*)
1120*a466cc55SCy Schubert	echo i386-pc-mach3
1121*a466cc55SCy Schubert	exit ;;
1122*a466cc55SCy Schubert    paragon:*:*:*)
1123*a466cc55SCy Schubert	echo i860-intel-osf1
1124*a466cc55SCy Schubert	exit ;;
1125*a466cc55SCy Schubert    i860:*:4.*:*) # i860-SVR4
1126*a466cc55SCy Schubert	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1127*a466cc55SCy Schubert	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1128*a466cc55SCy Schubert	else # Add other i860-SVR4 vendors below as they are discovered.
1129*a466cc55SCy Schubert	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1130*a466cc55SCy Schubert	fi
1131*a466cc55SCy Schubert	exit ;;
1132*a466cc55SCy Schubert    mini*:CTIX:SYS*5:*)
1133*a466cc55SCy Schubert	# "miniframe"
1134*a466cc55SCy Schubert	echo m68010-convergent-sysv
1135*a466cc55SCy Schubert	exit ;;
1136*a466cc55SCy Schubert    mc68k:UNIX:SYSTEM5:3.51m)
1137*a466cc55SCy Schubert	echo m68k-convergent-sysv
1138*a466cc55SCy Schubert	exit ;;
1139*a466cc55SCy Schubert    M680?0:D-NIX:5.3:*)
1140*a466cc55SCy Schubert	echo m68k-diab-dnix
1141*a466cc55SCy Schubert	exit ;;
1142*a466cc55SCy Schubert    M68*:*:R3V[5678]*:*)
1143*a466cc55SCy Schubert	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1144*a466cc55SCy Schubert    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)
1145*a466cc55SCy Schubert	OS_REL=''
1146*a466cc55SCy Schubert	test -r /etc/.relid \
1147*a466cc55SCy Schubert	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1148*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1149*a466cc55SCy Schubert	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1150*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1151*a466cc55SCy Schubert	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1152*a466cc55SCy Schubert    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1153*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1154*a466cc55SCy Schubert	  && { echo i486-ncr-sysv4; exit; } ;;
1155*a466cc55SCy Schubert    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1156*a466cc55SCy Schubert	OS_REL='.3'
1157*a466cc55SCy Schubert	test -r /etc/.relid \
1158*a466cc55SCy Schubert	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1159*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1160*a466cc55SCy Schubert	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1161*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1162*a466cc55SCy Schubert	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1163*a466cc55SCy Schubert	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1164*a466cc55SCy Schubert	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1165*a466cc55SCy Schubert    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1166*a466cc55SCy Schubert	echo m68k-unknown-lynxos${UNAME_RELEASE}
1167*a466cc55SCy Schubert	exit ;;
1168*a466cc55SCy Schubert    mc68030:UNIX_System_V:4.*:*)
1169*a466cc55SCy Schubert	echo m68k-atari-sysv4
1170*a466cc55SCy Schubert	exit ;;
1171*a466cc55SCy Schubert    TSUNAMI:LynxOS:2.*:*)
1172*a466cc55SCy Schubert	echo sparc-unknown-lynxos${UNAME_RELEASE}
1173*a466cc55SCy Schubert	exit ;;
1174*a466cc55SCy Schubert    rs6000:LynxOS:2.*:*)
1175*a466cc55SCy Schubert	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1176*a466cc55SCy Schubert	exit ;;
1177*a466cc55SCy Schubert    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1178*a466cc55SCy Schubert	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1179*a466cc55SCy Schubert	exit ;;
1180*a466cc55SCy Schubert    SM[BE]S:UNIX_SV:*:*)
1181*a466cc55SCy Schubert	echo mips-dde-sysv${UNAME_RELEASE}
1182*a466cc55SCy Schubert	exit ;;
1183*a466cc55SCy Schubert    RM*:ReliantUNIX-*:*:*)
1184*a466cc55SCy Schubert	echo mips-sni-sysv4
1185*a466cc55SCy Schubert	exit ;;
1186*a466cc55SCy Schubert    RM*:SINIX-*:*:*)
1187*a466cc55SCy Schubert	echo mips-sni-sysv4
1188*a466cc55SCy Schubert	exit ;;
1189*a466cc55SCy Schubert    *:SINIX-*:*:*)
1190*a466cc55SCy Schubert	if uname -p 2>/dev/null >/dev/null ; then
1191*a466cc55SCy Schubert		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1192*a466cc55SCy Schubert		echo ${UNAME_MACHINE}-sni-sysv4
1193*a466cc55SCy Schubert	else
1194*a466cc55SCy Schubert		echo ns32k-sni-sysv
1195*a466cc55SCy Schubert	fi
1196*a466cc55SCy Schubert	exit ;;
1197*a466cc55SCy Schubert    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1198*a466cc55SCy Schubert			# says <Richard.M.Bartel@ccMail.Census.GOV>
1199*a466cc55SCy Schubert	echo i586-unisys-sysv4
1200*a466cc55SCy Schubert	exit ;;
1201*a466cc55SCy Schubert    *:UNIX_System_V:4*:FTX*)
1202*a466cc55SCy Schubert	# From Gerald Hewes <hewes@openmarket.com>.
1203*a466cc55SCy Schubert	# How about differentiating between stratus architectures? -djm
1204*a466cc55SCy Schubert	echo hppa1.1-stratus-sysv4
1205*a466cc55SCy Schubert	exit ;;
1206*a466cc55SCy Schubert    *:*:*:FTX*)
1207*a466cc55SCy Schubert	# From seanf@swdc.stratus.com.
1208*a466cc55SCy Schubert	echo i860-stratus-sysv4
1209*a466cc55SCy Schubert	exit ;;
1210*a466cc55SCy Schubert    i*86:VOS:*:*)
1211*a466cc55SCy Schubert	# From Paul.Green@stratus.com.
1212*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-stratus-vos
1213*a466cc55SCy Schubert	exit ;;
1214*a466cc55SCy Schubert    *:VOS:*:*)
1215*a466cc55SCy Schubert	# From Paul.Green@stratus.com.
1216*a466cc55SCy Schubert	echo hppa1.1-stratus-vos
1217*a466cc55SCy Schubert	exit ;;
1218*a466cc55SCy Schubert    mc68*:A/UX:*:*)
1219*a466cc55SCy Schubert	echo m68k-apple-aux${UNAME_RELEASE}
1220*a466cc55SCy Schubert	exit ;;
1221*a466cc55SCy Schubert    news*:NEWS-OS:6*:*)
1222*a466cc55SCy Schubert	echo mips-sony-newsos6
1223*a466cc55SCy Schubert	exit ;;
1224*a466cc55SCy Schubert    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1225*a466cc55SCy Schubert	if [ -d /usr/nec ]; then
1226*a466cc55SCy Schubert		echo mips-nec-sysv${UNAME_RELEASE}
1227*a466cc55SCy Schubert	else
1228*a466cc55SCy Schubert		echo mips-unknown-sysv${UNAME_RELEASE}
1229*a466cc55SCy Schubert	fi
1230*a466cc55SCy Schubert	exit ;;
1231*a466cc55SCy Schubert    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1232*a466cc55SCy Schubert	echo powerpc-be-beos
1233*a466cc55SCy Schubert	exit ;;
1234*a466cc55SCy Schubert    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1235*a466cc55SCy Schubert	echo powerpc-apple-beos
1236*a466cc55SCy Schubert	exit ;;
1237*a466cc55SCy Schubert    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1238*a466cc55SCy Schubert	echo i586-pc-beos
1239*a466cc55SCy Schubert	exit ;;
1240*a466cc55SCy Schubert    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1241*a466cc55SCy Schubert	echo i586-pc-haiku
1242*a466cc55SCy Schubert	exit ;;
1243*a466cc55SCy Schubert    x86_64:Haiku:*:*)
1244*a466cc55SCy Schubert	echo x86_64-unknown-haiku
1245*a466cc55SCy Schubert	exit ;;
1246*a466cc55SCy Schubert    SX-4:SUPER-UX:*:*)
1247*a466cc55SCy Schubert	echo sx4-nec-superux${UNAME_RELEASE}
1248*a466cc55SCy Schubert	exit ;;
1249*a466cc55SCy Schubert    SX-5:SUPER-UX:*:*)
1250*a466cc55SCy Schubert	echo sx5-nec-superux${UNAME_RELEASE}
1251*a466cc55SCy Schubert	exit ;;
1252*a466cc55SCy Schubert    SX-6:SUPER-UX:*:*)
1253*a466cc55SCy Schubert	echo sx6-nec-superux${UNAME_RELEASE}
1254*a466cc55SCy Schubert	exit ;;
1255*a466cc55SCy Schubert    SX-7:SUPER-UX:*:*)
1256*a466cc55SCy Schubert	echo sx7-nec-superux${UNAME_RELEASE}
1257*a466cc55SCy Schubert	exit ;;
1258*a466cc55SCy Schubert    SX-8:SUPER-UX:*:*)
1259*a466cc55SCy Schubert	echo sx8-nec-superux${UNAME_RELEASE}
1260*a466cc55SCy Schubert	exit ;;
1261*a466cc55SCy Schubert    SX-8R:SUPER-UX:*:*)
1262*a466cc55SCy Schubert	echo sx8r-nec-superux${UNAME_RELEASE}
1263*a466cc55SCy Schubert	exit ;;
1264*a466cc55SCy Schubert    Power*:Rhapsody:*:*)
1265*a466cc55SCy Schubert	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1266*a466cc55SCy Schubert	exit ;;
1267*a466cc55SCy Schubert    *:Rhapsody:*:*)
1268*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1269*a466cc55SCy Schubert	exit ;;
1270*a466cc55SCy Schubert    *:Darwin:*:*)
1271*a466cc55SCy Schubert	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1272*a466cc55SCy Schubert	eval $set_cc_for_build
1273*a466cc55SCy Schubert	if test "$UNAME_PROCESSOR" = unknown ; then
1274*a466cc55SCy Schubert	    UNAME_PROCESSOR=powerpc
1275*a466cc55SCy Schubert	fi
1276*a466cc55SCy Schubert	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1277*a466cc55SCy Schubert	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1278*a466cc55SCy Schubert		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1279*a466cc55SCy Schubert		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1280*a466cc55SCy Schubert		    grep IS_64BIT_ARCH >/dev/null
1281*a466cc55SCy Schubert		then
1282*a466cc55SCy Schubert		    case $UNAME_PROCESSOR in
1283*a466cc55SCy Schubert			i386) UNAME_PROCESSOR=x86_64 ;;
1284*a466cc55SCy Schubert			powerpc) UNAME_PROCESSOR=powerpc64 ;;
1285*a466cc55SCy Schubert		    esac
1286*a466cc55SCy Schubert		fi
1287*a466cc55SCy Schubert	    fi
1288*a466cc55SCy Schubert	elif test "$UNAME_PROCESSOR" = i386 ; then
1289*a466cc55SCy Schubert	    # Avoid executing cc on OS X 10.9, as it ships with a stub
1290*a466cc55SCy Schubert	    # that puts up a graphical alert prompting to install
1291*a466cc55SCy Schubert	    # developer tools.  Any system running Mac OS X 10.7 or
1292*a466cc55SCy Schubert	    # later (Darwin 11 and later) is required to have a 64-bit
1293*a466cc55SCy Schubert	    # processor. This is not true of the ARM version of Darwin
1294*a466cc55SCy Schubert	    # that Apple uses in portable devices.
1295*a466cc55SCy Schubert	    UNAME_PROCESSOR=x86_64
1296*a466cc55SCy Schubert	fi
1297*a466cc55SCy Schubert	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1298*a466cc55SCy Schubert	exit ;;
1299*a466cc55SCy Schubert    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1300*a466cc55SCy Schubert	UNAME_PROCESSOR=`uname -p`
1301*a466cc55SCy Schubert	if test "$UNAME_PROCESSOR" = "x86"; then
1302*a466cc55SCy Schubert		UNAME_PROCESSOR=i386
1303*a466cc55SCy Schubert		UNAME_MACHINE=pc
1304*a466cc55SCy Schubert	fi
1305*a466cc55SCy Schubert	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1306*a466cc55SCy Schubert	exit ;;
1307*a466cc55SCy Schubert    *:QNX:*:4*)
1308*a466cc55SCy Schubert	echo i386-pc-qnx
1309*a466cc55SCy Schubert	exit ;;
1310*a466cc55SCy Schubert    NEO-?:NONSTOP_KERNEL:*:*)
1311*a466cc55SCy Schubert	echo neo-tandem-nsk${UNAME_RELEASE}
1312*a466cc55SCy Schubert	exit ;;
1313*a466cc55SCy Schubert    NSE-*:NONSTOP_KERNEL:*:*)
1314*a466cc55SCy Schubert	echo nse-tandem-nsk${UNAME_RELEASE}
1315*a466cc55SCy Schubert	exit ;;
1316*a466cc55SCy Schubert    NSR-?:NONSTOP_KERNEL:*:*)
1317*a466cc55SCy Schubert	echo nsr-tandem-nsk${UNAME_RELEASE}
1318*a466cc55SCy Schubert	exit ;;
1319*a466cc55SCy Schubert    *:NonStop-UX:*:*)
1320*a466cc55SCy Schubert	echo mips-compaq-nonstopux
1321*a466cc55SCy Schubert	exit ;;
1322*a466cc55SCy Schubert    BS2000:POSIX*:*:*)
1323*a466cc55SCy Schubert	echo bs2000-siemens-sysv
1324*a466cc55SCy Schubert	exit ;;
1325*a466cc55SCy Schubert    DS/*:UNIX_System_V:*:*)
1326*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1327*a466cc55SCy Schubert	exit ;;
1328*a466cc55SCy Schubert    *:Plan9:*:*)
1329*a466cc55SCy Schubert	# "uname -m" is not consistent, so use $cputype instead. 386
1330*a466cc55SCy Schubert	# is converted to i386 for consistency with other x86
1331*a466cc55SCy Schubert	# operating systems.
1332*a466cc55SCy Schubert	if test "$cputype" = "386"; then
1333*a466cc55SCy Schubert	    UNAME_MACHINE=i386
1334*a466cc55SCy Schubert	else
1335*a466cc55SCy Schubert	    UNAME_MACHINE="$cputype"
1336*a466cc55SCy Schubert	fi
1337*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-plan9
1338*a466cc55SCy Schubert	exit ;;
1339*a466cc55SCy Schubert    *:TOPS-10:*:*)
1340*a466cc55SCy Schubert	echo pdp10-unknown-tops10
1341*a466cc55SCy Schubert	exit ;;
1342*a466cc55SCy Schubert    *:TENEX:*:*)
1343*a466cc55SCy Schubert	echo pdp10-unknown-tenex
1344*a466cc55SCy Schubert	exit ;;
1345*a466cc55SCy Schubert    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1346*a466cc55SCy Schubert	echo pdp10-dec-tops20
1347*a466cc55SCy Schubert	exit ;;
1348*a466cc55SCy Schubert    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1349*a466cc55SCy Schubert	echo pdp10-xkl-tops20
1350*a466cc55SCy Schubert	exit ;;
1351*a466cc55SCy Schubert    *:TOPS-20:*:*)
1352*a466cc55SCy Schubert	echo pdp10-unknown-tops20
1353*a466cc55SCy Schubert	exit ;;
1354*a466cc55SCy Schubert    *:ITS:*:*)
1355*a466cc55SCy Schubert	echo pdp10-unknown-its
1356*a466cc55SCy Schubert	exit ;;
1357*a466cc55SCy Schubert    SEI:*:*:SEIUX)
1358*a466cc55SCy Schubert	echo mips-sei-seiux${UNAME_RELEASE}
1359*a466cc55SCy Schubert	exit ;;
1360*a466cc55SCy Schubert    *:DragonFly:*:*)
1361*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1362*a466cc55SCy Schubert	exit ;;
1363*a466cc55SCy Schubert    *:*VMS:*:*)
1364*a466cc55SCy Schubert	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1365*a466cc55SCy Schubert	case "${UNAME_MACHINE}" in
1366*a466cc55SCy Schubert	    A*) echo alpha-dec-vms ; exit ;;
1367*a466cc55SCy Schubert	    I*) echo ia64-dec-vms ; exit ;;
1368*a466cc55SCy Schubert	    V*) echo vax-dec-vms ; exit ;;
1369*a466cc55SCy Schubert	esac ;;
1370*a466cc55SCy Schubert    *:XENIX:*:SysV)
1371*a466cc55SCy Schubert	echo i386-pc-xenix
1372*a466cc55SCy Schubert	exit ;;
1373*a466cc55SCy Schubert    i*86:skyos:*:*)
1374*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1375*a466cc55SCy Schubert	exit ;;
1376*a466cc55SCy Schubert    i*86:rdos:*:*)
1377*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-rdos
1378*a466cc55SCy Schubert	exit ;;
1379*a466cc55SCy Schubert    i*86:AROS:*:*)
1380*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-pc-aros
1381*a466cc55SCy Schubert	exit ;;
1382*a466cc55SCy Schubert    x86_64:VMkernel:*:*)
1383*a466cc55SCy Schubert	echo ${UNAME_MACHINE}-unknown-esx
1384*a466cc55SCy Schubert	exit ;;
1385*a466cc55SCy Schubertesac
1386*a466cc55SCy Schubert
1387*a466cc55SCy Schubertcat >&2 <<EOF
1388*a466cc55SCy Schubert$0: unable to guess system type
1389*a466cc55SCy Schubert
1390*a466cc55SCy SchubertThis script, last modified $timestamp, has failed to recognize
1391*a466cc55SCy Schubertthe operating system you are using. It is advised that you
1392*a466cc55SCy Schubertdownload the most up to date version of the config scripts from
1393*a466cc55SCy Schubert
1394*a466cc55SCy Schubert  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1395*a466cc55SCy Schubertand
1396*a466cc55SCy Schubert  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1397*a466cc55SCy Schubert
1398*a466cc55SCy SchubertIf the version you run ($0) is already up to date, please
1399*a466cc55SCy Schubertsend the following data and any information you think might be
1400*a466cc55SCy Schubertpertinent to <config-patches@gnu.org> in order to provide the needed
1401*a466cc55SCy Schubertinformation to handle your system.
1402*a466cc55SCy Schubert
1403*a466cc55SCy Schubertconfig.guess timestamp = $timestamp
1404*a466cc55SCy Schubert
1405*a466cc55SCy Schubertuname -m = `(uname -m) 2>/dev/null || echo unknown`
1406*a466cc55SCy Schubertuname -r = `(uname -r) 2>/dev/null || echo unknown`
1407*a466cc55SCy Schubertuname -s = `(uname -s) 2>/dev/null || echo unknown`
1408*a466cc55SCy Schubertuname -v = `(uname -v) 2>/dev/null || echo unknown`
1409*a466cc55SCy Schubert
1410*a466cc55SCy Schubert/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1411*a466cc55SCy Schubert/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1412*a466cc55SCy Schubert
1413*a466cc55SCy Schuberthostinfo               = `(hostinfo) 2>/dev/null`
1414*a466cc55SCy Schubert/bin/universe          = `(/bin/universe) 2>/dev/null`
1415*a466cc55SCy Schubert/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1416*a466cc55SCy Schubert/bin/arch              = `(/bin/arch) 2>/dev/null`
1417*a466cc55SCy Schubert/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1418*a466cc55SCy Schubert/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1419*a466cc55SCy Schubert
1420*a466cc55SCy SchubertUNAME_MACHINE = ${UNAME_MACHINE}
1421*a466cc55SCy SchubertUNAME_RELEASE = ${UNAME_RELEASE}
1422*a466cc55SCy SchubertUNAME_SYSTEM  = ${UNAME_SYSTEM}
1423*a466cc55SCy SchubertUNAME_VERSION = ${UNAME_VERSION}
1424*a466cc55SCy SchubertEOF
1425*a466cc55SCy Schubert
1426*a466cc55SCy Schubertexit 1
1427*a466cc55SCy Schubert
1428*a466cc55SCy Schubert# Local variables:
1429*a466cc55SCy Schubert# eval: (add-hook 'write-file-hooks 'time-stamp)
1430*a466cc55SCy Schubert# time-stamp-start: "timestamp='"
1431*a466cc55SCy Schubert# time-stamp-format: "%:y-%02m-%02d"
1432*a466cc55SCy Schubert# time-stamp-end: "'"
1433*a466cc55SCy Schubert# End:
1434