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