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