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