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