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