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