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