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