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