• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
7 timestamp='2008-01-23'
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 
41 me=`echo "$0" | sed -e 's,.*/,,'`
42 
43 usage="\
44 Usage: $0 [OPTION]
45 
46 Output the configuration name of the system \`$me' is run on.
47 
48 Operation 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 
53 Report bugs and patches to <config-patches@gnu.org>."
54 
55 version="\
56 GNU config.guess ($timestamp)
57 
58 Originally written by Per Bothner.
59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61 
62 This is free software; see the source for copying conditions.  There is NO
63 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64 
65 help="
66 Try \`$me --help' for more information."
67 
68 # Parse command line
69 while 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
87 done
88 
89 if test $# != 0; then
90   echo "$me: too many arguments$help" >&2
91   exit 1
92 fi
93 
94 trap '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 
106 set_cc_for_build='
107 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108 trap "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 ; } ;
114 dummy=$tmp/dummy ;
115 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116 case $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 ;;
129 esac ; 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)
133 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134 	PATH=$PATH:/.attbin ; export PATH
135 fi
136 
137 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141 
142 # Note: order is significant - the case branches are not exclusive.
143 
144 case "${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 	}
435 EOF
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 			}
522 EOF
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               }
624 EOF
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 	}
682 EOF
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 \
841 	    | grep -q __ARM_EABI__
842 	then
843 	    echo ${UNAME_MACHINE}-unknown-linux-gnu
844 	else
845 	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
846 	fi
847 	exit ;;
848     avr32*:Linux:*:*)
849 	echo ${UNAME_MACHINE}-unknown-linux-gnu
850 	exit ;;
851     cris:Linux:*:*)
852 	echo cris-axis-linux-gnu
853 	exit ;;
854     crisv32:Linux:*:*)
855 	echo crisv32-axis-linux-gnu
856 	exit ;;
857     frv:Linux:*:*)
858     	echo frv-unknown-linux-gnu
859 	exit ;;
860     ia64:Linux:*:*)
861 	echo ${UNAME_MACHINE}-unknown-linux-gnu
862 	exit ;;
863     m32r*:Linux:*:*)
864 	echo ${UNAME_MACHINE}-unknown-linux-gnu
865 	exit ;;
866     m68*:Linux:*:*)
867 	echo ${UNAME_MACHINE}-unknown-linux-gnu
868 	exit ;;
869     mips:Linux:*:*)
870 	eval $set_cc_for_build
871 	sed 's/^	//' << EOF >$dummy.c
872 	#undef CPU
873 	#undef mips
874 	#undef mipsel
875 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
876 	CPU=mipsel
877 	#else
878 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
879 	CPU=mips
880 	#else
881 	CPU=
882 	#endif
883 	#endif
884 EOF
885 	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
886 	    /^CPU/{
887 		s: ::g
888 		p
889 	    }'`"
890 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
891 	;;
892     mips64:Linux:*:*)
893 	eval $set_cc_for_build
894 	sed 's/^	//' << EOF >$dummy.c
895 	#undef CPU
896 	#undef mips64
897 	#undef mips64el
898 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
899 	CPU=mips64el
900 	#else
901 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
902 	CPU=mips64
903 	#else
904 	CPU=
905 	#endif
906 	#endif
907 EOF
908 	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
909 	    /^CPU/{
910 		s: ::g
911 		p
912 	    }'`"
913 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
914 	;;
915     or32:Linux:*:*)
916 	echo or32-unknown-linux-gnu
917 	exit ;;
918     ppc:Linux:*:*)
919 	echo powerpc-unknown-linux-gnu
920 	exit ;;
921     ppc64:Linux:*:*)
922 	echo powerpc64-unknown-linux-gnu
923 	exit ;;
924     alpha:Linux:*:*)
925 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
926 	  EV5)   UNAME_MACHINE=alphaev5 ;;
927 	  EV56)  UNAME_MACHINE=alphaev56 ;;
928 	  PCA56) UNAME_MACHINE=alphapca56 ;;
929 	  PCA57) UNAME_MACHINE=alphapca56 ;;
930 	  EV6)   UNAME_MACHINE=alphaev6 ;;
931 	  EV67)  UNAME_MACHINE=alphaev67 ;;
932 	  EV68*) UNAME_MACHINE=alphaev68 ;;
933         esac
934 	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
935 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
936 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
937 	exit ;;
938     parisc:Linux:*:* | hppa:Linux:*:*)
939 	# Look for CPU level
940 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
941 	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
942 	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
943 	  *)    echo hppa-unknown-linux-gnu ;;
944 	esac
945 	exit ;;
946     parisc64:Linux:*:* | hppa64:Linux:*:*)
947 	echo hppa64-unknown-linux-gnu
948 	exit ;;
949     s390:Linux:*:* | s390x:Linux:*:*)
950 	echo ${UNAME_MACHINE}-ibm-linux
951 	exit ;;
952     sh64*:Linux:*:*)
953     	echo ${UNAME_MACHINE}-unknown-linux-gnu
954 	exit ;;
955     sh*:Linux:*:*)
956 	echo ${UNAME_MACHINE}-unknown-linux-gnu
957 	exit ;;
958     sparc:Linux:*:* | sparc64:Linux:*:*)
959 	echo ${UNAME_MACHINE}-unknown-linux-gnu
960 	exit ;;
961     vax:Linux:*:*)
962 	echo ${UNAME_MACHINE}-dec-linux-gnu
963 	exit ;;
964     x86_64:Linux:*:*)
965 	echo x86_64-unknown-linux-gnu
966 	exit ;;
967     xtensa*:Linux:*:*)
968     	echo ${UNAME_MACHINE}-unknown-linux-gnu
969 	exit ;;
970     i*86:Linux:*:*)
971 	# The BFD linker knows what the default object file format is, so
972 	# first see if it will tell us. cd to the root directory to prevent
973 	# problems with other programs or directories called `ld' in the path.
974 	# Set LC_ALL=C to ensure ld outputs messages in English.
975 	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
976 			 | sed -ne '/supported targets:/!d
977 				    s/[ 	][ 	]*/ /g
978 				    s/.*supported targets: *//
979 				    s/ .*//
980 				    p'`
981         case "$ld_supported_targets" in
982 	  elf32-i386)
983 		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
984 		;;
985 	  a.out-i386-linux)
986 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
987 		exit ;;
988 	  coff-i386)
989 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
990 		exit ;;
991 	  "")
992 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
993 		# one that does not give us useful --help.
994 		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
995 		exit ;;
996 	esac
997 	# Determine whether the default compiler is a.out or elf
998 	eval $set_cc_for_build
999 	sed 's/^	//' << EOF >$dummy.c
1000 	#include <features.h>
1001 	#ifdef __ELF__
1002 	# ifdef __GLIBC__
1003 	#  if __GLIBC__ >= 2
1004 	LIBC=gnu
1005 	#  else
1006 	LIBC=gnulibc1
1007 	#  endif
1008 	# else
1009 	LIBC=gnulibc1
1010 	# endif
1011 	#else
1012 	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1013 	LIBC=gnu
1014 	#else
1015 	LIBC=gnuaout
1016 	#endif
1017 	#endif
1018 	#ifdef __dietlibc__
1019 	LIBC=dietlibc
1020 	#endif
1021 EOF
1022 	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1023 	    /^LIBC/{
1024 		s: ::g
1025 		p
1026 	    }'`"
1027 	test x"${LIBC}" != x && {
1028 		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1029 		exit
1030 	}
1031 	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1032 	;;
1033     i*86:DYNIX/ptx:4*:*)
1034 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1035 	# earlier versions are messed up and put the nodename in both
1036 	# sysname and nodename.
1037 	echo i386-sequent-sysv4
1038 	exit ;;
1039     i*86:UNIX_SV:4.2MP:2.*)
1040         # Unixware is an offshoot of SVR4, but it has its own version
1041         # number series starting with 2...
1042         # I am not positive that other SVR4 systems won't match this,
1043 	# I just have to hope.  -- rms.
1044         # Use sysv4.2uw... so that sysv4* matches it.
1045 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1046 	exit ;;
1047     i*86:OS/2:*:*)
1048 	# If we were able to find `uname', then EMX Unix compatibility
1049 	# is probably installed.
1050 	echo ${UNAME_MACHINE}-pc-os2-emx
1051 	exit ;;
1052     i*86:XTS-300:*:STOP)
1053 	echo ${UNAME_MACHINE}-unknown-stop
1054 	exit ;;
1055     i*86:atheos:*:*)
1056 	echo ${UNAME_MACHINE}-unknown-atheos
1057 	exit ;;
1058     i*86:syllable:*:*)
1059 	echo ${UNAME_MACHINE}-pc-syllable
1060 	exit ;;
1061     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1062 	echo i386-unknown-lynxos${UNAME_RELEASE}
1063 	exit ;;
1064     i*86:*DOS:*:*)
1065 	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1066 	exit ;;
1067     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1068 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1069 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1070 		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1071 	else
1072 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1073 	fi
1074 	exit ;;
1075     i*86:*:5:[678]*)
1076     	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1077 	case `/bin/uname -X | grep "^Machine"` in
1078 	    *486*)	     UNAME_MACHINE=i486 ;;
1079 	    *Pentium)	     UNAME_MACHINE=i586 ;;
1080 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1081 	esac
1082 	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1083 	exit ;;
1084     i*86:*:3.2:*)
1085 	if test -f /usr/options/cb.name; then
1086 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1087 		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1088 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1089 		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1090 		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1091 		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1092 			&& UNAME_MACHINE=i586
1093 		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1094 			&& UNAME_MACHINE=i686
1095 		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1096 			&& UNAME_MACHINE=i686
1097 		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1098 	else
1099 		echo ${UNAME_MACHINE}-pc-sysv32
1100 	fi
1101 	exit ;;
1102     pc:*:*:*)
1103 	# Left here for compatibility:
1104         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1105         # the processor, so we play safe by assuming i386.
1106 	echo i386-pc-msdosdjgpp
1107         exit ;;
1108     Intel:Mach:3*:*)
1109 	echo i386-pc-mach3
1110 	exit ;;
1111     paragon:*:*:*)
1112 	echo i860-intel-osf1
1113 	exit ;;
1114     i860:*:4.*:*) # i860-SVR4
1115 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1116 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1117 	else # Add other i860-SVR4 vendors below as they are discovered.
1118 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1119 	fi
1120 	exit ;;
1121     mini*:CTIX:SYS*5:*)
1122 	# "miniframe"
1123 	echo m68010-convergent-sysv
1124 	exit ;;
1125     mc68k:UNIX:SYSTEM5:3.51m)
1126 	echo m68k-convergent-sysv
1127 	exit ;;
1128     M680?0:D-NIX:5.3:*)
1129 	echo m68k-diab-dnix
1130 	exit ;;
1131     M68*:*:R3V[5678]*:*)
1132 	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1133     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)
1134 	OS_REL=''
1135 	test -r /etc/.relid \
1136 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1137 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1138 	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1139 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1140 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1141     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1142         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1143           && { echo i486-ncr-sysv4; exit; } ;;
1144     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1145 	echo m68k-unknown-lynxos${UNAME_RELEASE}
1146 	exit ;;
1147     mc68030:UNIX_System_V:4.*:*)
1148 	echo m68k-atari-sysv4
1149 	exit ;;
1150     TSUNAMI:LynxOS:2.*:*)
1151 	echo sparc-unknown-lynxos${UNAME_RELEASE}
1152 	exit ;;
1153     rs6000:LynxOS:2.*:*)
1154 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1155 	exit ;;
1156     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1157 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1158 	exit ;;
1159     SM[BE]S:UNIX_SV:*:*)
1160 	echo mips-dde-sysv${UNAME_RELEASE}
1161 	exit ;;
1162     RM*:ReliantUNIX-*:*:*)
1163 	echo mips-sni-sysv4
1164 	exit ;;
1165     RM*:SINIX-*:*:*)
1166 	echo mips-sni-sysv4
1167 	exit ;;
1168     *:SINIX-*:*:*)
1169 	if uname -p 2>/dev/null >/dev/null ; then
1170 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1171 		echo ${UNAME_MACHINE}-sni-sysv4
1172 	else
1173 		echo ns32k-sni-sysv
1174 	fi
1175 	exit ;;
1176     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1177                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1178         echo i586-unisys-sysv4
1179         exit ;;
1180     *:UNIX_System_V:4*:FTX*)
1181 	# From Gerald Hewes <hewes@openmarket.com>.
1182 	# How about differentiating between stratus architectures? -djm
1183 	echo hppa1.1-stratus-sysv4
1184 	exit ;;
1185     *:*:*:FTX*)
1186 	# From seanf@swdc.stratus.com.
1187 	echo i860-stratus-sysv4
1188 	exit ;;
1189     i*86:VOS:*:*)
1190 	# From Paul.Green@stratus.com.
1191 	echo ${UNAME_MACHINE}-stratus-vos
1192 	exit ;;
1193     *:VOS:*:*)
1194 	# From Paul.Green@stratus.com.
1195 	echo hppa1.1-stratus-vos
1196 	exit ;;
1197     mc68*:A/UX:*:*)
1198 	echo m68k-apple-aux${UNAME_RELEASE}
1199 	exit ;;
1200     news*:NEWS-OS:6*:*)
1201 	echo mips-sony-newsos6
1202 	exit ;;
1203     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1204 	if [ -d /usr/nec ]; then
1205 	        echo mips-nec-sysv${UNAME_RELEASE}
1206 	else
1207 	        echo mips-unknown-sysv${UNAME_RELEASE}
1208 	fi
1209         exit ;;
1210     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1211 	echo powerpc-be-beos
1212 	exit ;;
1213     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1214 	echo powerpc-apple-beos
1215 	exit ;;
1216     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1217 	echo i586-pc-beos
1218 	exit ;;
1219     SX-4:SUPER-UX:*:*)
1220 	echo sx4-nec-superux${UNAME_RELEASE}
1221 	exit ;;
1222     SX-5:SUPER-UX:*:*)
1223 	echo sx5-nec-superux${UNAME_RELEASE}
1224 	exit ;;
1225     SX-6:SUPER-UX:*:*)
1226 	echo sx6-nec-superux${UNAME_RELEASE}
1227 	exit ;;
1228     SX-7:SUPER-UX:*:*)
1229 	echo sx7-nec-superux${UNAME_RELEASE}
1230 	exit ;;
1231     SX-8:SUPER-UX:*:*)
1232 	echo sx8-nec-superux${UNAME_RELEASE}
1233 	exit ;;
1234     SX-8R:SUPER-UX:*:*)
1235 	echo sx8r-nec-superux${UNAME_RELEASE}
1236 	exit ;;
1237     Power*:Rhapsody:*:*)
1238 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1239 	exit ;;
1240     *:Rhapsody:*:*)
1241 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1242 	exit ;;
1243     *:Darwin:*:*)
1244 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1245 	case $UNAME_PROCESSOR in
1246 	    unknown) UNAME_PROCESSOR=powerpc ;;
1247 	esac
1248 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1249 	exit ;;
1250     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1251 	UNAME_PROCESSOR=`uname -p`
1252 	if test "$UNAME_PROCESSOR" = "x86"; then
1253 		UNAME_PROCESSOR=i386
1254 		UNAME_MACHINE=pc
1255 	fi
1256 	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1257 	exit ;;
1258     *:QNX:*:4*)
1259 	echo i386-pc-qnx
1260 	exit ;;
1261     NSE-?:NONSTOP_KERNEL:*:*)
1262 	echo nse-tandem-nsk${UNAME_RELEASE}
1263 	exit ;;
1264     NSR-?:NONSTOP_KERNEL:*:*)
1265 	echo nsr-tandem-nsk${UNAME_RELEASE}
1266 	exit ;;
1267     *:NonStop-UX:*:*)
1268 	echo mips-compaq-nonstopux
1269 	exit ;;
1270     BS2000:POSIX*:*:*)
1271 	echo bs2000-siemens-sysv
1272 	exit ;;
1273     DS/*:UNIX_System_V:*:*)
1274 	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1275 	exit ;;
1276     *:Plan9:*:*)
1277 	# "uname -m" is not consistent, so use $cputype instead. 386
1278 	# is converted to i386 for consistency with other x86
1279 	# operating systems.
1280 	if test "$cputype" = "386"; then
1281 	    UNAME_MACHINE=i386
1282 	else
1283 	    UNAME_MACHINE="$cputype"
1284 	fi
1285 	echo ${UNAME_MACHINE}-unknown-plan9
1286 	exit ;;
1287     *:TOPS-10:*:*)
1288 	echo pdp10-unknown-tops10
1289 	exit ;;
1290     *:TENEX:*:*)
1291 	echo pdp10-unknown-tenex
1292 	exit ;;
1293     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1294 	echo pdp10-dec-tops20
1295 	exit ;;
1296     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1297 	echo pdp10-xkl-tops20
1298 	exit ;;
1299     *:TOPS-20:*:*)
1300 	echo pdp10-unknown-tops20
1301 	exit ;;
1302     *:ITS:*:*)
1303 	echo pdp10-unknown-its
1304 	exit ;;
1305     SEI:*:*:SEIUX)
1306         echo mips-sei-seiux${UNAME_RELEASE}
1307 	exit ;;
1308     *:DragonFly:*:*)
1309 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1310 	exit ;;
1311     *:*VMS:*:*)
1312     	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1313 	case "${UNAME_MACHINE}" in
1314 	    A*) echo alpha-dec-vms ; exit ;;
1315 	    I*) echo ia64-dec-vms ; exit ;;
1316 	    V*) echo vax-dec-vms ; exit ;;
1317 	esac ;;
1318     *:XENIX:*:SysV)
1319 	echo i386-pc-xenix
1320 	exit ;;
1321     i*86:skyos:*:*)
1322 	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1323 	exit ;;
1324     i*86:rdos:*:*)
1325 	echo ${UNAME_MACHINE}-pc-rdos
1326 	exit ;;
1327 esac
1328 
1329 #echo '(No uname command or uname output not recognized.)' 1>&2
1330 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1331 
1332 eval $set_cc_for_build
1333 cat >$dummy.c <<EOF
1334 #ifdef _SEQUENT_
1335 # include <sys/types.h>
1336 # include <sys/utsname.h>
1337 #endif
1338 main ()
1339 {
1340 #if defined (sony)
1341 #if defined (MIPSEB)
1342   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1343      I don't know....  */
1344   printf ("mips-sony-bsd\n"); exit (0);
1345 #else
1346 #include <sys/param.h>
1347   printf ("m68k-sony-newsos%s\n",
1348 #ifdef NEWSOS4
1349           "4"
1350 #else
1351 	  ""
1352 #endif
1353          ); exit (0);
1354 #endif
1355 #endif
1356 
1357 #if defined (__arm) && defined (__acorn) && defined (__unix)
1358   printf ("arm-acorn-riscix\n"); exit (0);
1359 #endif
1360 
1361 #if defined (hp300) && !defined (hpux)
1362   printf ("m68k-hp-bsd\n"); exit (0);
1363 #endif
1364 
1365 #if defined (NeXT)
1366 #if !defined (__ARCHITECTURE__)
1367 #define __ARCHITECTURE__ "m68k"
1368 #endif
1369   int version;
1370   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1371   if (version < 4)
1372     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1373   else
1374     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1375   exit (0);
1376 #endif
1377 
1378 #if defined (MULTIMAX) || defined (n16)
1379 #if defined (UMAXV)
1380   printf ("ns32k-encore-sysv\n"); exit (0);
1381 #else
1382 #if defined (CMU)
1383   printf ("ns32k-encore-mach\n"); exit (0);
1384 #else
1385   printf ("ns32k-encore-bsd\n"); exit (0);
1386 #endif
1387 #endif
1388 #endif
1389 
1390 #if defined (__386BSD__)
1391   printf ("i386-pc-bsd\n"); exit (0);
1392 #endif
1393 
1394 #if defined (sequent)
1395 #if defined (i386)
1396   printf ("i386-sequent-dynix\n"); exit (0);
1397 #endif
1398 #if defined (ns32000)
1399   printf ("ns32k-sequent-dynix\n"); exit (0);
1400 #endif
1401 #endif
1402 
1403 #if defined (_SEQUENT_)
1404     struct utsname un;
1405 
1406     uname(&un);
1407 
1408     if (strncmp(un.version, "V2", 2) == 0) {
1409 	printf ("i386-sequent-ptx2\n"); exit (0);
1410     }
1411     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1412 	printf ("i386-sequent-ptx1\n"); exit (0);
1413     }
1414     printf ("i386-sequent-ptx\n"); exit (0);
1415 
1416 #endif
1417 
1418 #if defined (vax)
1419 # if !defined (ultrix)
1420 #  include <sys/param.h>
1421 #  if defined (BSD)
1422 #   if BSD == 43
1423       printf ("vax-dec-bsd4.3\n"); exit (0);
1424 #   else
1425 #    if BSD == 199006
1426       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1427 #    else
1428       printf ("vax-dec-bsd\n"); exit (0);
1429 #    endif
1430 #   endif
1431 #  else
1432     printf ("vax-dec-bsd\n"); exit (0);
1433 #  endif
1434 # else
1435     printf ("vax-dec-ultrix\n"); exit (0);
1436 # endif
1437 #endif
1438 
1439 #if defined (alliant) && defined (i860)
1440   printf ("i860-alliant-bsd\n"); exit (0);
1441 #endif
1442 
1443   exit (1);
1444 }
1445 EOF
1446 
1447 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1448 	{ echo "$SYSTEM_NAME"; exit; }
1449 
1450 # Apollos put the system type in the environment.
1451 
1452 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1453 
1454 # Convex versions that predate uname can use getsysinfo(1)
1455 
1456 if [ -x /usr/convex/getsysinfo ]
1457 then
1458     case `getsysinfo -f cpu_type` in
1459     c1*)
1460 	echo c1-convex-bsd
1461 	exit ;;
1462     c2*)
1463 	if getsysinfo -f scalar_acc
1464 	then echo c32-convex-bsd
1465 	else echo c2-convex-bsd
1466 	fi
1467 	exit ;;
1468     c34*)
1469 	echo c34-convex-bsd
1470 	exit ;;
1471     c38*)
1472 	echo c38-convex-bsd
1473 	exit ;;
1474     c4*)
1475 	echo c4-convex-bsd
1476 	exit ;;
1477     esac
1478 fi
1479 
1480 cat >&2 <<EOF
1481 $0: unable to guess system type
1482 
1483 This script, last modified $timestamp, has failed to recognize
1484 the operating system you are using. It is advised that you
1485 download the most up to date version of the config scripts from
1486 
1487   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1488 and
1489   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1490 
1491 If the version you run ($0) is already up to date, please
1492 send the following data and any information you think might be
1493 pertinent to <config-patches@gnu.org> in order to provide the needed
1494 information to handle your system.
1495 
1496 config.guess timestamp = $timestamp
1497 
1498 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1499 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1500 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1501 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1502 
1503 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1504 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1505 
1506 hostinfo               = `(hostinfo) 2>/dev/null`
1507 /bin/universe          = `(/bin/universe) 2>/dev/null`
1508 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1509 /bin/arch              = `(/bin/arch) 2>/dev/null`
1510 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1511 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1512 
1513 UNAME_MACHINE = ${UNAME_MACHINE}
1514 UNAME_RELEASE = ${UNAME_RELEASE}
1515 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1516 UNAME_VERSION = ${UNAME_VERSION}
1517 EOF
1518 
1519 exit 1
1520 
1521 # Local variables:
1522 # eval: (add-hook 'write-file-hooks 'time-stamp)
1523 # time-stamp-start: "timestamp='"
1524 # time-stamp-format: "%:y-%02m-%02d"
1525 # time-stamp-end: "'"
1526 # End:
1527