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