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