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