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