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