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