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