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