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