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