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