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