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