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