1#! /bin/sh
2# $MirOS: src/gnu/share/config.guess,v 1.10 2010/12/19 18:28:54 tg Exp $
3# $miros: contrib/gnu/config/config.guess,v 1.17 2010/12/19 18:25:51 tg Exp $
4#-
5# Attempt to guess a canonical system name.
6#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
7#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
8#   Free Software Foundation, Inc.
9
10timestamp='2010-09-24 (MirOS)'
11
12# This file is free software; you can redistribute it and/or modify it
13# under the terms of the GNU General Public License as published by
14# the Free Software Foundation; either version 2 of the License, or
15# (at your option) any later version.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, write to the Free Software
24# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
25# 02110-1301, USA.
26#
27# As a special exception to the GNU General Public License, if you
28# distribute this file as part of a program that contains a
29# configuration script generated by Autoconf, you may include it under
30# the same distribution terms that you use for the rest of that program.
31
32
33# Originally written by Per Bothner.  Please send patches (context
34# diff format) to <config-patches@gnu.org> and include a ChangeLog
35# entry.
36#
37# This script attempts to guess a canonical system name similar to
38# config.sub.  If it succeeds, it prints the system name on stdout, and
39# exits with 0.  Otherwise, it exits with 1.
40#
41# You can get the latest version of this script from:
42# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
43
44me=`echo "$0" | sed -e 's,.*/,,'`
45
46usage="\
47Usage: $0 [OPTION]
48
49Output the configuration name of the system \`$me' is run on.
50
51Operation modes:
52  -h, --help         print this help, then exit
53  -t, --time-stamp   print date of last modification, then exit
54  -v, --version      print version number, then exit
55
56Report bugs and patches to <config-patches@gnu.org>."
57
58version="\
59GNU config.guess ($timestamp)
60
61Originally written by Per Bothner.
62Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
632001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
64Software Foundation, Inc.
65
66This is free software; see the source for copying conditions.  There is NO
67warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
68
69help="
70Try \`$me --help' for more information."
71
72# Parse command line
73while test $# -gt 0 ; do
74  case $1 in
75    --time-stamp | --time* | -t )
76       echo "$timestamp" ; exit ;;
77    --version | -v )
78       echo "$version" ; exit ;;
79    --help | --h* | -h )
80       echo "$usage"; exit ;;
81    -- )     # Stop option processing
82       shift; break ;;
83    - )	# Use stdin as input.
84       break ;;
85    -* )
86       echo "$me: invalid option $1$help" >&2
87       exit 1 ;;
88    * )
89       break ;;
90  esac
91done
92
93if test $# != 0; then
94  echo "$me: too many arguments$help" >&2
95  exit 1
96fi
97
98trap 'exit 1' HUP INT TERM
99
100# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101# compiler to aid in system detection is discouraged as it requires
102# temporary files to be created and, as you can see below, it is a
103# headache to deal with in a portable fashion.
104
105# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106# use `HOST_CC' if defined, but it is deprecated.
107
108# Portable tmp directory creation inspired by the Autoconf team.
109
110set_cc_for_build='
111trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
112trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
113: ${TMPDIR=/tmp} ;
114 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
115 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
116 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
117 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
118dummy=$tmp/dummy ;
119tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
120case $CC_FOR_BUILD,$HOST_CC,$CC in
121 ,,)    echo "int x;" > $dummy.c ;
122	for c in cc gcc c89 c99 ; do
123	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
124	     CC_FOR_BUILD="$c"; break ;
125	  fi ;
126	done ;
127	if test x"$CC_FOR_BUILD" = x ; then
128	  CC_FOR_BUILD=no_compiler_found ;
129	fi
130	;;
131 ,,*)   CC_FOR_BUILD=$CC ;;
132 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
133esac ; set_cc_for_build= ;'
134
135# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
136# (ghazi@noc.rutgers.edu 1994-08-24)
137if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
138	PATH=$PATH:/.attbin ; export PATH
139fi
140
141UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
142UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
143UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
144UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
145
146# Note: order is significant - the case branches are not exclusive.
147
148case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
149    *:NetBSD:*:*)
150	# NetBSD (nbsd) targets should (where applicable) match one or
151	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
152	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
153	# switched to ELF, *-*-netbsd* would select the old
154	# object file format.  This provides both forward
155	# compatibility and a consistent mechanism for selecting the
156	# object file format.
157	#
158	# Note: NetBSD doesn't particularly care about the vendor
159	# portion of the name.  We always set it to "unknown".
160	sysctl="sysctl -n hw.machine_arch"
161	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
162	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
163	case "${UNAME_MACHINE_ARCH}" in
164	    armeb) machine=armeb-unknown ;;
165	    arm*) machine=arm-unknown ;;
166	    sh3el) machine=shl-unknown ;;
167	    sh3eb) machine=sh-unknown ;;
168	    sh5el) machine=sh5le-unknown ;;
169	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
170	esac
171	# The Operating System including object format, if it has switched
172	# to ELF recently, or will in the future.
173	case "${UNAME_MACHINE_ARCH}" in
174	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
175		eval $set_cc_for_build
176		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
177			| grep -q __ELF__
178		then
179		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
180		    # Return netbsd for either.  FIX?
181		    os=netbsd
182		else
183		    os=netbsdelf
184		fi
185		;;
186	    *)
187	        os=netbsd
188		;;
189	esac
190	# The OS release
191	# Debian GNU/NetBSD machines have a different userland, and
192	# thus, need a distinct triplet. However, they do not need
193	# kernel version information, so it can be replaced with a
194	# suitable tag, in the style of linux-gnu.
195	case "${UNAME_VERSION}" in
196	    Debian*)
197		release='-gnu'
198		;;
199	    *)
200		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
201		;;
202	esac
203	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
204	# contains redundant information, the shorter form:
205	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
206	echo "${machine}-${os}${release}"
207	exit ;;
208    *:OpenBSD:*:*)
209	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
210	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
211	exit ;;
212    *:ekkoBSD:*:*)
213	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
214	exit ;;
215    *:SolidBSD:*:*)
216	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
217	exit ;;
218    macppc:MirBSD:*:*)
219	echo powerpc-ecce-mirbsd${UNAME_RELEASE}
220	exit ;;
221    *:MirBSD:*:*)
222	echo ${UNAME_MACHINE}-ecce-mirbsd${UNAME_RELEASE}
223	exit ;;
224    *:MidnightBSD:*:*)
225	UNAME_RELEASE=`echo "${UNAME_RELEASE}" | sed -e 's/[-(].*//'`
226	echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
227	exit ;;
228    alpha:OSF1:*:*)
229	case $UNAME_RELEASE in
230	*4.0)
231		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
232		;;
233	*5.*)
234	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
235		;;
236	esac
237	# According to Compaq, /usr/sbin/psrinfo has been available on
238	# OSF/1 and Tru64 systems produced since 1995.  I hope that
239	# covers most systems running today.  This code pipes the CPU
240	# types through head -n 1, so we only detect the type of CPU 0.
241	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
242	case "$ALPHA_CPU_TYPE" in
243	    "EV4 (21064)")
244		UNAME_MACHINE="alpha" ;;
245	    "EV4.5 (21064)")
246		UNAME_MACHINE="alpha" ;;
247	    "LCA4 (21066/21068)")
248		UNAME_MACHINE="alpha" ;;
249	    "EV5 (21164)")
250		UNAME_MACHINE="alphaev5" ;;
251	    "EV5.6 (21164A)")
252		UNAME_MACHINE="alphaev56" ;;
253	    "EV5.6 (21164PC)")
254		UNAME_MACHINE="alphapca56" ;;
255	    "EV5.7 (21164PC)")
256		UNAME_MACHINE="alphapca57" ;;
257	    "EV6 (21264)")
258		UNAME_MACHINE="alphaev6" ;;
259	    "EV6.7 (21264A)")
260		UNAME_MACHINE="alphaev67" ;;
261	    "EV6.8CB (21264C)")
262		UNAME_MACHINE="alphaev68" ;;
263	    "EV6.8AL (21264B)")
264		UNAME_MACHINE="alphaev68" ;;
265	    "EV6.8CX (21264D)")
266		UNAME_MACHINE="alphaev68" ;;
267	    "EV6.9A (21264/EV69A)")
268		UNAME_MACHINE="alphaev69" ;;
269	    "EV7 (21364)")
270		UNAME_MACHINE="alphaev7" ;;
271	    "EV7.9 (21364A)")
272		UNAME_MACHINE="alphaev79" ;;
273	esac
274	# A Pn.n version is a patched version.
275	# A Vn.n version is a released version.
276	# A Tn.n version is a released field test version.
277	# A Xn.n version is an unreleased experimental baselevel.
278	# 1.2 uses "1.2" for uname -r.
279	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
280	exit ;;
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	case ${UNAME_MACHINE} in
800	    pc98)
801		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
802	    amd64)
803		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
804	    *)
805		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
806	esac
807	exit ;;
808    i*:CYGWIN*:*)
809	echo ${UNAME_MACHINE}-pc-cygwin
810	exit ;;
811    *:MINGW*:*)
812	echo ${UNAME_MACHINE}-pc-mingw32
813	exit ;;
814    i*:windows32*:*)
815    	# uname -m includes "-pc" on this system.
816    	echo ${UNAME_MACHINE}-mingw32
817	exit ;;
818    i*:PW*:*)
819	echo ${UNAME_MACHINE}-pc-pw32
820	exit ;;
821    *:Interix*:*)
822    	case ${UNAME_MACHINE} in
823	    x86)
824		echo i586-pc-interix${UNAME_RELEASE}
825		exit ;;
826	    authenticamd | genuineintel | EM64T)
827		echo x86_64-unknown-interix${UNAME_RELEASE}
828		exit ;;
829	    IA64)
830		echo ia64-unknown-interix${UNAME_RELEASE}
831		exit ;;
832	esac ;;
833    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
834	echo i${UNAME_MACHINE}-pc-mks
835	exit ;;
836    8664:Windows_NT:*)
837	echo x86_64-pc-mks
838	exit ;;
839    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
840	# How do we know it's Interix rather than the generic POSIX subsystem?
841	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
842	# UNAME_MACHINE based on the output of uname instead of i386?
843	echo i586-pc-interix
844	exit ;;
845    i*:UWIN*:*)
846	echo ${UNAME_MACHINE}-pc-uwin
847	exit ;;
848    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
849	echo x86_64-unknown-cygwin
850	exit ;;
851    p*:CYGWIN*:*)
852	echo powerpcle-unknown-cygwin
853	exit ;;
854    prep*:SunOS:5.*:*)
855	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
856	exit ;;
857    *:GNU:*:*)
858	# the GNU system
859	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
860	exit ;;
861    *:GNU/*:*:*)
862	# other systems with GNU libc and userland
863	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
864	exit ;;
865    i*86:Minix:*:*)
866	echo ${UNAME_MACHINE}-pc-minix
867	exit ;;
868    alpha:Linux:*:*)
869	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
870	  EV5)   UNAME_MACHINE=alphaev5 ;;
871	  EV56)  UNAME_MACHINE=alphaev56 ;;
872	  PCA56) UNAME_MACHINE=alphapca56 ;;
873	  PCA57) UNAME_MACHINE=alphapca56 ;;
874	  EV6)   UNAME_MACHINE=alphaev6 ;;
875	  EV67)  UNAME_MACHINE=alphaev67 ;;
876	  EV68*) UNAME_MACHINE=alphaev68 ;;
877        esac
878	objdump --private-headers /bin/sh | grep -q ld.so.1
879	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
880	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
881	exit ;;
882    arm*:Linux:*:*)
883	eval $set_cc_for_build
884	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
885	    | grep -q __ARM_EABI__
886	then
887	    echo ${UNAME_MACHINE}-unknown-linux-gnu
888	else
889	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
890	fi
891	exit ;;
892    avr32*:Linux:*:*)
893	echo ${UNAME_MACHINE}-unknown-linux-gnu
894	exit ;;
895    cris:Linux:*:*)
896	echo cris-axis-linux-gnu
897	exit ;;
898    crisv32:Linux:*:*)
899	echo crisv32-axis-linux-gnu
900	exit ;;
901    frv:Linux:*:*)
902    	echo frv-unknown-linux-gnu
903	exit ;;
904    i*86:Linux:*:*)
905	LIBC=gnu
906	eval $set_cc_for_build
907	sed 's/^	//' << EOF >$dummy.c
908	#ifdef __dietlibc__
909	LIBC=dietlibc
910	#endif
911EOF
912	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
913	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
914	exit ;;
915    ia64:Linux:*:*)
916	echo ${UNAME_MACHINE}-unknown-linux-gnu
917	exit ;;
918    m32r*:Linux:*:*)
919	echo ${UNAME_MACHINE}-unknown-linux-gnu
920	exit ;;
921    m68*:Linux:*:*)
922	echo ${UNAME_MACHINE}-unknown-linux-gnu
923	exit ;;
924    mips:Linux:*:* | mips64:Linux:*:*)
925	eval $set_cc_for_build
926	sed 's/^	//' << EOF >$dummy.c
927	#undef CPU
928	#undef ${UNAME_MACHINE}
929	#undef ${UNAME_MACHINE}el
930	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
931	CPU=${UNAME_MACHINE}el
932	#else
933	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
934	CPU=${UNAME_MACHINE}
935	#else
936	CPU=
937	#endif
938	#endif
939EOF
940	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
941	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
942	;;
943    or32:Linux:*:*)
944	echo or32-unknown-linux-gnu
945	exit ;;
946    padre:Linux:*:*)
947	echo sparc-unknown-linux-gnu
948	exit ;;
949    parisc64:Linux:*:* | hppa64:Linux:*:*)
950	echo hppa64-unknown-linux-gnu
951	exit ;;
952    parisc:Linux:*:* | hppa:Linux:*:*)
953	# Look for CPU level
954	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
955	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
956	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
957	  *)    echo hppa-unknown-linux-gnu ;;
958	esac
959	exit ;;
960    ppc64:Linux:*:*)
961	echo powerpc64-unknown-linux-gnu
962	exit ;;
963    ppc:Linux:*:*)
964	echo powerpc-unknown-linux-gnu
965	exit ;;
966    s390:Linux:*:* | s390x:Linux:*:*)
967	echo ${UNAME_MACHINE}-ibm-linux
968	exit ;;
969    sh64*:Linux:*:*)
970    	echo ${UNAME_MACHINE}-unknown-linux-gnu
971	exit ;;
972    sh*:Linux:*:*)
973	echo ${UNAME_MACHINE}-unknown-linux-gnu
974	exit ;;
975    sparc:Linux:*:* | sparc64:Linux:*:*)
976	echo ${UNAME_MACHINE}-unknown-linux-gnu
977	exit ;;
978    tile*:Linux:*:*)
979	echo ${UNAME_MACHINE}-tilera-linux-gnu
980	exit ;;
981    vax:Linux:*:*)
982	echo ${UNAME_MACHINE}-dec-linux-gnu
983	exit ;;
984    x86_64:Linux:*:*)
985	echo x86_64-unknown-linux-gnu
986	exit ;;
987    xtensa*:Linux:*:*)
988    	echo ${UNAME_MACHINE}-unknown-linux-gnu
989	exit ;;
990    i*86:DYNIX/ptx:4*:*)
991	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
992	# earlier versions are messed up and put the nodename in both
993	# sysname and nodename.
994	echo i386-sequent-sysv4
995	exit ;;
996    i*86:UNIX_SV:4.2MP:2.*)
997        # Unixware is an offshoot of SVR4, but it has its own version
998        # number series starting with 2...
999        # I am not positive that other SVR4 systems won't match this,
1000	# I just have to hope.  -- rms.
1001        # Use sysv4.2uw... so that sysv4* matches it.
1002	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1003	exit ;;
1004    i*86:OS/2:*:*)
1005	# If we were able to find `uname', then EMX Unix compatibility
1006	# is probably installed.
1007	echo ${UNAME_MACHINE}-pc-os2-emx
1008	exit ;;
1009    i*86:XTS-300:*:STOP)
1010	echo ${UNAME_MACHINE}-unknown-stop
1011	exit ;;
1012    i*86:atheos:*:*)
1013	echo ${UNAME_MACHINE}-unknown-atheos
1014	exit ;;
1015    i*86:syllable:*:*)
1016	echo ${UNAME_MACHINE}-pc-syllable
1017	exit ;;
1018    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1019	echo i386-unknown-lynxos${UNAME_RELEASE}
1020	exit ;;
1021    i*86:*DOS:*:*)
1022	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1023	exit ;;
1024    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1025	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1026	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1027		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1028	else
1029		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1030	fi
1031	exit ;;
1032    i*86:*:5:[678]*)
1033    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1034	case `/bin/uname -X | grep "^Machine"` in
1035	    *486*)	     UNAME_MACHINE=i486 ;;
1036	    *Pentium)	     UNAME_MACHINE=i586 ;;
1037	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1038	esac
1039	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1040	exit ;;
1041    i*86:*:3.2:*)
1042	if test -f /usr/options/cb.name; then
1043		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1044		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1045	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1046		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1047		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1048		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1049			&& UNAME_MACHINE=i586
1050		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1051			&& UNAME_MACHINE=i686
1052		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1053			&& UNAME_MACHINE=i686
1054		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1055	else
1056		echo ${UNAME_MACHINE}-pc-sysv32
1057	fi
1058	exit ;;
1059    pc:*:*:*)
1060	# Left here for compatibility:
1061        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1062        # the processor, so we play safe by assuming i586.
1063	# Note: whatever this is, it MUST be the same as what config.sub
1064	# prints for the "djgpp" host, or else GDB configury will decide that
1065	# this is a cross-build.
1066	echo i586-pc-msdosdjgpp
1067        exit ;;
1068    Intel:Mach:3*:*)
1069	echo i386-pc-mach3
1070	exit ;;
1071    paragon:*:*:*)
1072	echo i860-intel-osf1
1073	exit ;;
1074    i860:*:4.*:*) # i860-SVR4
1075	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1076	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1077	else # Add other i860-SVR4 vendors below as they are discovered.
1078	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1079	fi
1080	exit ;;
1081    mini*:CTIX:SYS*5:*)
1082	# "miniframe"
1083	echo m68010-convergent-sysv
1084	exit ;;
1085    mc68k:UNIX:SYSTEM5:3.51m)
1086	echo m68k-convergent-sysv
1087	exit ;;
1088    M680?0:D-NIX:5.3:*)
1089	echo m68k-diab-dnix
1090	exit ;;
1091    M68*:*:R3V[5678]*:*)
1092	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1093    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)
1094	OS_REL=''
1095	test -r /etc/.relid \
1096	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1101    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1102        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1103          && { echo i486-ncr-sysv4; exit; } ;;
1104    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1105	OS_REL='.3'
1106	test -r /etc/.relid \
1107	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1108	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1109	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1110	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1111	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1112	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1113	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1114    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1115	echo m68k-unknown-lynxos${UNAME_RELEASE}
1116	exit ;;
1117    mc68030:UNIX_System_V:4.*:*)
1118	echo m68k-atari-sysv4
1119	exit ;;
1120    TSUNAMI:LynxOS:2.*:*)
1121	echo sparc-unknown-lynxos${UNAME_RELEASE}
1122	exit ;;
1123    rs6000:LynxOS:2.*:*)
1124	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1125	exit ;;
1126    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1127	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1128	exit ;;
1129    SM[BE]S:UNIX_SV:*:*)
1130	echo mips-dde-sysv${UNAME_RELEASE}
1131	exit ;;
1132    RM*:ReliantUNIX-*:*:*)
1133	echo mips-sni-sysv4
1134	exit ;;
1135    RM*:SINIX-*:*:*)
1136	echo mips-sni-sysv4
1137	exit ;;
1138    *:SINIX-*:*:*)
1139	if uname -p 2>/dev/null >/dev/null ; then
1140		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1141		echo ${UNAME_MACHINE}-sni-sysv4
1142	else
1143		echo ns32k-sni-sysv
1144	fi
1145	exit ;;
1146    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1147                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1148        echo i586-unisys-sysv4
1149        exit ;;
1150    *:UNIX_System_V:4*:FTX*)
1151	# From Gerald Hewes <hewes@openmarket.com>.
1152	# How about differentiating between stratus architectures? -djm
1153	echo hppa1.1-stratus-sysv4
1154	exit ;;
1155    *:*:*:FTX*)
1156	# From seanf@swdc.stratus.com.
1157	echo i860-stratus-sysv4
1158	exit ;;
1159    i*86:VOS:*:*)
1160	# From Paul.Green@stratus.com.
1161	echo ${UNAME_MACHINE}-stratus-vos
1162	exit ;;
1163    *:VOS:*:*)
1164	# From Paul.Green@stratus.com.
1165	echo hppa1.1-stratus-vos
1166	exit ;;
1167    mc68*:A/UX:*:*)
1168	echo m68k-apple-aux${UNAME_RELEASE}
1169	exit ;;
1170    news*:NEWS-OS:6*:*)
1171	echo mips-sony-newsos6
1172	exit ;;
1173    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1174	if [ -d /usr/nec ]; then
1175	        echo mips-nec-sysv${UNAME_RELEASE}
1176	else
1177	        echo mips-unknown-sysv${UNAME_RELEASE}
1178	fi
1179        exit ;;
1180    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1181	echo powerpc-be-beos
1182	exit ;;
1183    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1184	echo powerpc-apple-beos
1185	exit ;;
1186    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1187	echo i586-pc-beos
1188	exit ;;
1189    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1190	echo i586-pc-haiku
1191	exit ;;
1192    SX-4:SUPER-UX:*:*)
1193	echo sx4-nec-superux${UNAME_RELEASE}
1194	exit ;;
1195    SX-5:SUPER-UX:*:*)
1196	echo sx5-nec-superux${UNAME_RELEASE}
1197	exit ;;
1198    SX-6:SUPER-UX:*:*)
1199	echo sx6-nec-superux${UNAME_RELEASE}
1200	exit ;;
1201    SX-7:SUPER-UX:*:*)
1202	echo sx7-nec-superux${UNAME_RELEASE}
1203	exit ;;
1204    SX-8:SUPER-UX:*:*)
1205	echo sx8-nec-superux${UNAME_RELEASE}
1206	exit ;;
1207    SX-8R:SUPER-UX:*:*)
1208	echo sx8r-nec-superux${UNAME_RELEASE}
1209	exit ;;
1210    Power*:Rhapsody:*:*)
1211	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1212	exit ;;
1213    *:Rhapsody:*:*)
1214	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1215	exit ;;
1216    *:Darwin:*:*)
1217	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1218	case $UNAME_PROCESSOR in
1219	    i386)
1220		eval $set_cc_for_build
1221		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1222		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1223		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1224		      grep IS_64BIT_ARCH >/dev/null
1225		  then
1226		      UNAME_PROCESSOR="x86_64"
1227		  fi
1228		fi ;;
1229	    unknown) UNAME_PROCESSOR=powerpc ;;
1230	esac
1231	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1232	exit ;;
1233    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1234	UNAME_PROCESSOR=`uname -p`
1235	if test "$UNAME_PROCESSOR" = "x86"; then
1236		UNAME_PROCESSOR=i386
1237		UNAME_MACHINE=pc
1238	fi
1239	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1240	exit ;;
1241    *:QNX:*:4*)
1242	echo i386-pc-qnx
1243	exit ;;
1244    NEO-?:NONSTOP_KERNEL:*:*)
1245	echo neo-tandem-nsk${UNAME_RELEASE}
1246	exit ;;
1247    NSE-?:NONSTOP_KERNEL:*:*)
1248	echo nse-tandem-nsk${UNAME_RELEASE}
1249	exit ;;
1250    NSR-?:NONSTOP_KERNEL:*:*)
1251	echo nsr-tandem-nsk${UNAME_RELEASE}
1252	exit ;;
1253    *:NonStop-UX:*:*)
1254	echo mips-compaq-nonstopux
1255	exit ;;
1256    BS2000:POSIX*:*:*)
1257	echo bs2000-siemens-sysv
1258	exit ;;
1259    DS/*:UNIX_System_V:*:*)
1260	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1261	exit ;;
1262    *:Plan9:*:*)
1263	# "uname -m" is not consistent, so use $cputype instead. 386
1264	# is converted to i386 for consistency with other x86
1265	# operating systems.
1266	if test "$cputype" = "386"; then
1267	    UNAME_MACHINE=i386
1268	else
1269	    UNAME_MACHINE="$cputype"
1270	fi
1271	echo ${UNAME_MACHINE}-unknown-plan9
1272	exit ;;
1273    *:TOPS-10:*:*)
1274	echo pdp10-unknown-tops10
1275	exit ;;
1276    *:TENEX:*:*)
1277	echo pdp10-unknown-tenex
1278	exit ;;
1279    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1280	echo pdp10-dec-tops20
1281	exit ;;
1282    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1283	echo pdp10-xkl-tops20
1284	exit ;;
1285    *:TOPS-20:*:*)
1286	echo pdp10-unknown-tops20
1287	exit ;;
1288    *:ITS:*:*)
1289	echo pdp10-unknown-its
1290	exit ;;
1291    SEI:*:*:SEIUX)
1292        echo mips-sei-seiux${UNAME_RELEASE}
1293	exit ;;
1294    *:DragonFly:*:*)
1295	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1296	exit ;;
1297    *:*VMS:*:*)
1298    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1299	case "${UNAME_MACHINE}" in
1300	    A*) echo alpha-dec-vms ; exit ;;
1301	    I*) echo ia64-dec-vms ; exit ;;
1302	    V*) echo vax-dec-vms ; exit ;;
1303	esac ;;
1304    *:XENIX:*:SysV)
1305	echo i386-pc-xenix
1306	exit ;;
1307    i*86:skyos:*:*)
1308	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1309	exit ;;
1310    i*86:rdos:*:*)
1311	echo ${UNAME_MACHINE}-pc-rdos
1312	exit ;;
1313    i*86:AROS:*:*)
1314	echo ${UNAME_MACHINE}-pc-aros
1315	exit ;;
1316esac
1317
1318#echo '(No uname command or uname output not recognized.)' 1>&2
1319#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1320
1321eval $set_cc_for_build
1322cat >$dummy.c <<EOF
1323#ifdef _SEQUENT_
1324# include <sys/types.h>
1325# include <sys/utsname.h>
1326#endif
1327main ()
1328{
1329#if defined (sony)
1330#if defined (MIPSEB)
1331  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1332     I don't know....  */
1333  printf ("mips-sony-bsd\n"); exit (0);
1334#else
1335#include <sys/param.h>
1336  printf ("m68k-sony-newsos%s\n",
1337#ifdef NEWSOS4
1338          "4"
1339#else
1340	  ""
1341#endif
1342         ); exit (0);
1343#endif
1344#endif
1345
1346#if defined (__arm) && defined (__acorn) && defined (__unix)
1347  printf ("arm-acorn-riscix\n"); exit (0);
1348#endif
1349
1350#if defined (hp300) && !defined (hpux)
1351  printf ("m68k-hp-bsd\n"); exit (0);
1352#endif
1353
1354#if defined (NeXT)
1355#if !defined (__ARCHITECTURE__)
1356#define __ARCHITECTURE__ "m68k"
1357#endif
1358  int version;
1359  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1360  if (version < 4)
1361    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1362  else
1363    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1364  exit (0);
1365#endif
1366
1367#if defined (MULTIMAX) || defined (n16)
1368#if defined (UMAXV)
1369  printf ("ns32k-encore-sysv\n"); exit (0);
1370#else
1371#if defined (CMU)
1372  printf ("ns32k-encore-mach\n"); exit (0);
1373#else
1374  printf ("ns32k-encore-bsd\n"); exit (0);
1375#endif
1376#endif
1377#endif
1378
1379#if defined (__386BSD__)
1380  printf ("i386-pc-bsd\n"); exit (0);
1381#endif
1382
1383#if defined (sequent)
1384#if defined (i386)
1385  printf ("i386-sequent-dynix\n"); exit (0);
1386#endif
1387#if defined (ns32000)
1388  printf ("ns32k-sequent-dynix\n"); exit (0);
1389#endif
1390#endif
1391
1392#if defined (_SEQUENT_)
1393    struct utsname un;
1394
1395    uname(&un);
1396
1397    if (strncmp(un.version, "V2", 2) == 0) {
1398	printf ("i386-sequent-ptx2\n"); exit (0);
1399    }
1400    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1401	printf ("i386-sequent-ptx1\n"); exit (0);
1402    }
1403    printf ("i386-sequent-ptx\n"); exit (0);
1404
1405#endif
1406
1407#if defined (vax)
1408# if !defined (ultrix)
1409#  include <sys/param.h>
1410#  if defined (BSD)
1411#   if BSD == 43
1412      printf ("vax-dec-bsd4.3\n"); exit (0);
1413#   else
1414#    if BSD == 199006
1415      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1416#    else
1417      printf ("vax-dec-bsd\n"); exit (0);
1418#    endif
1419#   endif
1420#  else
1421    printf ("vax-dec-bsd\n"); exit (0);
1422#  endif
1423# else
1424    printf ("vax-dec-ultrix\n"); exit (0);
1425# endif
1426#endif
1427
1428#if defined (alliant) && defined (i860)
1429  printf ("i860-alliant-bsd\n"); exit (0);
1430#endif
1431
1432  exit (1);
1433}
1434EOF
1435
1436$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1437	{ echo "$SYSTEM_NAME"; exit; }
1438
1439# Apollos put the system type in the environment.
1440
1441test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1442
1443# Convex versions that predate uname can use getsysinfo(1)
1444
1445if [ -x /usr/convex/getsysinfo ]
1446then
1447    case `getsysinfo -f cpu_type` in
1448    c1*)
1449	echo c1-convex-bsd
1450	exit ;;
1451    c2*)
1452	if getsysinfo -f scalar_acc
1453	then echo c32-convex-bsd
1454	else echo c2-convex-bsd
1455	fi
1456	exit ;;
1457    c34*)
1458	echo c34-convex-bsd
1459	exit ;;
1460    c38*)
1461	echo c38-convex-bsd
1462	exit ;;
1463    c4*)
1464	echo c4-convex-bsd
1465	exit ;;
1466    esac
1467fi
1468
1469cat >&2 <<EOF
1470$0: unable to guess system type
1471
1472This script, last modified $timestamp, has failed to recognize
1473the operating system you are using. It is advised that you
1474download the most up to date version of the config scripts from
1475
1476  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1477and
1478  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1479
1480If the version you run ($0) is already up to date, please
1481send the following data and any information you think might be
1482pertinent to <config-patches@gnu.org> in order to provide the needed
1483information to handle your system.
1484
1485config.guess timestamp = $timestamp
1486
1487uname -m = `(uname -m) 2>/dev/null || echo unknown`
1488uname -r = `(uname -r) 2>/dev/null || echo unknown`
1489uname -s = `(uname -s) 2>/dev/null || echo unknown`
1490uname -v = `(uname -v) 2>/dev/null || echo unknown`
1491
1492/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1493/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1494
1495hostinfo               = `(hostinfo) 2>/dev/null`
1496/bin/universe          = `(/bin/universe) 2>/dev/null`
1497/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1498/bin/arch              = `(/bin/arch) 2>/dev/null`
1499/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1500/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1501
1502UNAME_MACHINE = ${UNAME_MACHINE}
1503UNAME_RELEASE = ${UNAME_RELEASE}
1504UNAME_SYSTEM  = ${UNAME_SYSTEM}
1505UNAME_VERSION = ${UNAME_VERSION}
1506EOF
1507
1508exit 1
1509
1510# Local variables:
1511# eval: (add-hook 'write-file-hooks 'time-stamp)
1512# time-stamp-start: "timestamp='"
1513# time-stamp-format: "%:y-%02m-%02d"
1514# time-stamp-end: "'"
1515# End:
1516