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