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