2 # Attempt to guess a canonical system name.
3 # Copyright 1992-2016 Free Software Foundation, Inc.
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
32 # Please send patches to <config-patches@gnu.org>.
35 me=`echo "$0" | sed -e 's,.*/,,'`
40 Output the configuration name of the system \`$me' is run on.
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>."
50 GNU config.guess ($timestamp)
52 Originally written by Per Bothner.
53 Copyright 1992-2016 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."
59 Try \`$me --help' for more information."
62 while test $# -gt 0 ; do
64 --time-stamp | --time* | -t )
65 echo "$timestamp" ; exit ;;
67 echo "$version" ; exit ;;
69 echo "$usage"; exit ;;
70 -- ) # Stop option processing
72 - ) # Use stdin as input.
75 echo "$me: invalid option $1$help" >&2
83 echo "$me: too many arguments$help" >&2
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.
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 ;
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 ; } ;
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 ;
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
137 # If the system lacks a compiler, then just pick glibc.
138 # We could probably try harder.
141 eval $set_cc_for_build
142 cat <<-EOF > $dummy.c
143 #include <features.h>
144 #if defined(__UCLIBC__)
146 #elif defined(__dietlibc__)
152 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
156 # Note: order is significant - the case branches are not exclusive.
158 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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.
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 || \
175 case "${UNAME_MACHINE_ARCH}" in
176 armeb) machine=armeb-unknown ;;
177 arm*) machine=arm-unknown ;;
178 sh3el) machine=shl-unknown ;;
179 sh3eb) machine=sh-unknown ;;
180 sh5el) machine=sh5le-unknown ;;
182 arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183 endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
184 machine=${arch}${endian}-unknown
186 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
188 # The Operating System including object format, if it has switched
189 # to ELF recently, or will in the future.
190 case "${UNAME_MACHINE_ARCH}" in
191 arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
192 eval $set_cc_for_build
193 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
196 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
197 # Return netbsd for either. FIX?
207 # Determine ABI tags.
208 case "${UNAME_MACHINE_ARCH}" in
210 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
211 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
215 # Debian GNU/NetBSD machines have a different userland, and
216 # thus, need a distinct triplet. However, they do not need
217 # kernel version information, so it can be replaced with a
218 # suitable tag, in the style of linux-gnu.
219 case "${UNAME_VERSION}" in
224 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
227 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
228 # contains redundant information, the shorter form:
229 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
230 echo "${machine}-${os}${release}${abi}"
233 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
234 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
237 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
238 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
241 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
244 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
247 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
250 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
253 echo ${UNAME_MACHINE}-unknown-sortix
256 case $UNAME_RELEASE in
258 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
261 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
264 # According to Compaq, /usr/sbin/psrinfo has been available on
265 # OSF/1 and Tru64 systems produced since 1995. I hope that
266 # covers most systems running today. This code pipes the CPU
267 # types through head -n 1, so we only detect the type of CPU 0.
268 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
269 case "$ALPHA_CPU_TYPE" in
271 UNAME_MACHINE="alpha" ;;
273 UNAME_MACHINE="alpha" ;;
274 "LCA4 (21066/21068)")
275 UNAME_MACHINE="alpha" ;;
277 UNAME_MACHINE="alphaev5" ;;
279 UNAME_MACHINE="alphaev56" ;;
281 UNAME_MACHINE="alphapca56" ;;
283 UNAME_MACHINE="alphapca57" ;;
285 UNAME_MACHINE="alphaev6" ;;
287 UNAME_MACHINE="alphaev67" ;;
289 UNAME_MACHINE="alphaev68" ;;
291 UNAME_MACHINE="alphaev68" ;;
293 UNAME_MACHINE="alphaev68" ;;
294 "EV6.9A (21264/EV69A)")
295 UNAME_MACHINE="alphaev69" ;;
297 UNAME_MACHINE="alphaev7" ;;
299 UNAME_MACHINE="alphaev79" ;;
301 # A Pn.n version is a patched version.
302 # A Vn.n version is a released version.
303 # A Tn.n version is a released field test version.
304 # A Xn.n version is an unreleased experimental baselevel.
305 # 1.2 uses "1.2" for uname -r.
306 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
307 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
311 Alpha\ *:Windows_NT*:*)
312 # How do we know it's Interix rather than the generic POSIX subsystem?
313 # Should we change UNAME_MACHINE based on the output of uname instead
314 # of the specific Alpha model?
315 echo alpha-pc-interix
317 21064:Windows_NT:50:3)
318 echo alpha-dec-winnt3.5
320 Amiga*:UNIX_System_V:4.0:*)
321 echo m68k-unknown-sysv4
323 *:[Aa]miga[Oo][Ss]:*:*)
324 echo ${UNAME_MACHINE}-unknown-amigaos
326 *:[Mm]orph[Oo][Ss]:*:*)
327 echo ${UNAME_MACHINE}-unknown-morphos
330 echo i370-ibm-openedition
336 echo powerpc-ibm-os400
338 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
339 echo arm-acorn-riscix${UNAME_RELEASE}
341 arm*:riscos:*:*|arm*:RISCOS:*:*)
342 echo arm-unknown-riscos
344 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
345 echo hppa1.1-hitachi-hiuxmpp
347 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
348 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
349 if test "`(/bin/universe) 2>/dev/null`" = att ; then
350 echo pyramid-pyramid-sysv3
352 echo pyramid-pyramid-bsd
356 echo pyramid-pyramid-svr4
358 DRS?6000:unix:4.0:6*)
361 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
362 case `/usr/bin/uname -p` in
363 sparc) echo sparc-icl-nx7; exit ;;
366 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
369 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
371 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
372 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
374 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
375 echo i386-pc-auroraux${UNAME_RELEASE}
377 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
378 eval $set_cc_for_build
380 # If there is a compiler, see if it is configured for 64-bit objects.
381 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
382 # This test works for both compilers.
383 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
384 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
385 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
386 grep IS_64BIT_ARCH >/dev/null
391 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
394 # According to config.sub, this is the proper way to canonicalize
395 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
396 # it's likely to be more like Solaris than SunOS4.
397 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
400 case "`/usr/bin/arch -k`" in
402 UNAME_RELEASE=`uname -v`
405 # Japanese Language versions have a version number like `4.1.3-JL'.
406 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
409 echo m68k-sun-sunos${UNAME_RELEASE}
412 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
413 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
414 case "`/bin/arch`" in
416 echo m68k-sun-sunos${UNAME_RELEASE}
419 echo sparc-sun-sunos${UNAME_RELEASE}
424 echo sparc-auspex-sunos${UNAME_RELEASE}
426 # The situation for MiNT is a little confusing. The machine name
427 # can be virtually everything (everything which is not
428 # "atarist" or "atariste" at least should have a processor
429 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
430 # to the lowercase version "mint" (or "freemint"). Finally
431 # the system name "TOS" denotes a system which is actually not
432 # MiNT. But MiNT is downward compatible to TOS, so this should
434 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
435 echo m68k-atari-mint${UNAME_RELEASE}
437 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
438 echo m68k-atari-mint${UNAME_RELEASE}
440 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
441 echo m68k-atari-mint${UNAME_RELEASE}
443 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
444 echo m68k-milan-mint${UNAME_RELEASE}
446 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
447 echo m68k-hades-mint${UNAME_RELEASE}
449 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
450 echo m68k-unknown-mint${UNAME_RELEASE}
453 echo m68k-apple-machten${UNAME_RELEASE}
456 echo powerpc-apple-machten${UNAME_RELEASE}
459 echo mips-dec-mach_bsd4.3
462 echo mips-dec-ultrix${UNAME_RELEASE}
465 echo vax-dec-ultrix${UNAME_RELEASE}
467 2020:CLIX:*:* | 2430:CLIX:*:*)
468 echo clipper-intergraph-clix${UNAME_RELEASE}
470 mips:*:*:UMIPS | mips:*:*:RISCos)
471 eval $set_cc_for_build
472 sed 's/^ //' << EOF >$dummy.c
474 #include <stdio.h> /* for printf() prototype */
475 int main (int argc, char *argv[]) {
477 int main (argc, argv) int argc; char *argv[]; {
479 #if defined (host_mips) && defined (MIPSEB)
480 #if defined (SYSTYPE_SYSV)
481 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
483 #if defined (SYSTYPE_SVR4)
484 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
486 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
487 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
493 $CC_FOR_BUILD -o $dummy $dummy.c &&
494 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
495 SYSTEM_NAME=`$dummy $dummyarg` &&
496 { echo "$SYSTEM_NAME"; exit; }
497 echo mips-mips-riscos${UNAME_RELEASE}
499 Motorola:PowerMAX_OS:*:*)
500 echo powerpc-motorola-powermax
502 Motorola:*:4.3:PL8-*)
503 echo powerpc-harris-powermax
505 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
506 echo powerpc-harris-powermax
508 Night_Hawk:Power_UNIX:*:*)
509 echo powerpc-harris-powerunix
512 echo m88k-harris-cxux7
515 echo m88k-motorola-sysv4
518 echo m88k-motorola-sysv3
521 # DG/UX returns AViiON for all architectures
522 UNAME_PROCESSOR=`/usr/bin/uname -p`
523 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
525 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
526 [ ${TARGET_BINARY_INTERFACE}x = x ]
528 echo m88k-dg-dgux${UNAME_RELEASE}
530 echo m88k-dg-dguxbcs${UNAME_RELEASE}
533 echo i586-dg-dgux${UNAME_RELEASE}
536 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
537 echo m88k-dolphin-sysv3
540 # Delta 88k system running SVR3
541 echo m88k-motorola-sysv3
543 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
544 echo m88k-tektronix-sysv3
546 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
547 echo m68k-tektronix-bsd
550 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
552 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
553 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
554 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
559 if [ -x /usr/bin/oslevel ] ; then
560 IBM_REV=`/usr/bin/oslevel`
562 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
564 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
567 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
568 eval $set_cc_for_build
569 sed 's/^ //' << EOF >$dummy.c
570 #include <sys/systemcfg.h>
576 puts("powerpc-ibm-aix3.2.5");
580 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
584 echo rs6000-ibm-aix3.2.5
586 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
587 echo rs6000-ibm-aix3.2.4
589 echo rs6000-ibm-aix3.2
593 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
594 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
599 if [ -x /usr/bin/lslpp ] ; then
600 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
601 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
603 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
605 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
610 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
613 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
614 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
615 exit ;; # report: romp-ibm BSD 4.3
617 echo rs6000-bull-bosx
622 9000/[34]??:4.3bsd:1.*:*)
625 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
628 9000/[34678]??:HP-UX:*:*)
629 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
630 case "${UNAME_MACHINE}" in
631 9000/31? ) HP_ARCH=m68000 ;;
632 9000/[34]?? ) HP_ARCH=m68k ;;
633 9000/[678][0-9][0-9])
634 if [ -x /usr/bin/getconf ]; then
635 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
636 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
637 case "${sc_cpu_version}" in
638 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
639 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
640 532) # CPU_PA_RISC2_0
641 case "${sc_kernel_bits}" in
642 32) HP_ARCH="hppa2.0n" ;;
643 64) HP_ARCH="hppa2.0w" ;;
644 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
648 if [ "${HP_ARCH}" = "" ]; then
649 eval $set_cc_for_build
650 sed 's/^ //' << EOF >$dummy.c
658 #if defined(_SC_KERNEL_BITS)
659 long bits = sysconf(_SC_KERNEL_BITS);
661 long cpu = sysconf (_SC_CPU_VERSION);
665 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
666 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
668 #if defined(_SC_KERNEL_BITS)
671 case 64: puts ("hppa2.0w"); break;
672 case 32: puts ("hppa2.0n"); break;
673 default: puts ("hppa2.0"); break;
675 #else /* !defined(_SC_KERNEL_BITS) */
676 puts ("hppa2.0"); break;
678 default: puts ("hppa1.0"); break;
683 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
684 test -z "$HP_ARCH" && HP_ARCH=hppa
687 if [ ${HP_ARCH} = "hppa2.0w" ]
689 eval $set_cc_for_build
691 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
692 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
693 # generating 64-bit code. GNU and HP use different nomenclature:
695 # $ CC_FOR_BUILD=cc ./config.guess
696 # => hppa2.0w-hp-hpux11.23
697 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
698 # => hppa64-hp-hpux11.23
700 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
708 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
711 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
712 echo ia64-hp-hpux${HPUX_REV}
715 eval $set_cc_for_build
716 sed 's/^ //' << EOF >$dummy.c
721 long cpu = sysconf (_SC_CPU_VERSION);
722 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
723 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
725 if (CPU_IS_PA_RISC (cpu))
729 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
730 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
731 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
732 default: puts ("hppa-hitachi-hiuxwe2"); break;
735 else if (CPU_IS_HP_MC68K (cpu))
736 puts ("m68k-hitachi-hiuxwe2");
737 else puts ("unknown-hitachi-hiuxwe2");
741 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
742 { echo "$SYSTEM_NAME"; exit; }
743 echo unknown-hitachi-hiuxwe2
745 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
751 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
752 echo hppa1.0-hp-mpeix
754 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
761 if [ -x /usr/sbin/sysversion ] ; then
762 echo ${UNAME_MACHINE}-unknown-osf1mk
764 echo ${UNAME_MACHINE}-unknown-osf1
768 echo hppa1.1-hp-lites
770 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
773 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
774 if getsysinfo -f scalar_acc
775 then echo c32-convex-bsd
776 else echo c2-convex-bsd
779 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
782 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
785 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
789 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
792 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
793 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
794 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
798 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
801 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
804 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
807 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
809 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
810 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
811 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
812 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
813 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
815 5000:UNIX_System_V:4.*:*)
816 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
817 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
818 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
820 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
821 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
824 echo sparc-unknown-bsdi${UNAME_RELEASE}
827 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
830 UNAME_PROCESSOR=`/usr/bin/uname -p`
831 case ${UNAME_PROCESSOR} in
833 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
835 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
839 echo ${UNAME_MACHINE}-pc-cygwin
842 echo ${UNAME_MACHINE}-pc-mingw64
845 echo ${UNAME_MACHINE}-pc-mingw32
848 echo ${UNAME_MACHINE}-pc-msys
851 # uname -m includes "-pc" on this system.
852 echo ${UNAME_MACHINE}-mingw32
855 echo ${UNAME_MACHINE}-pc-pw32
858 case ${UNAME_MACHINE} in
860 echo i586-pc-interix${UNAME_RELEASE}
862 authenticamd | genuineintel | EM64T)
863 echo x86_64-unknown-interix${UNAME_RELEASE}
866 echo ia64-unknown-interix${UNAME_RELEASE}
869 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
870 echo i${UNAME_MACHINE}-pc-mks
875 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
876 # How do we know it's Interix rather than the generic POSIX subsystem?
877 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
878 # UNAME_MACHINE based on the output of uname instead of i386?
882 echo ${UNAME_MACHINE}-pc-uwin
884 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
885 echo x86_64-unknown-cygwin
888 echo powerpcle-unknown-cygwin
891 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
895 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
898 # other systems with GNU libc and userland
899 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
902 echo ${UNAME_MACHINE}-pc-minix
905 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
907 aarch64_be:Linux:*:*)
908 UNAME_MACHINE=aarch64_be
909 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
912 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
913 EV5) UNAME_MACHINE=alphaev5 ;;
914 EV56) UNAME_MACHINE=alphaev56 ;;
915 PCA56) UNAME_MACHINE=alphapca56 ;;
916 PCA57) UNAME_MACHINE=alphapca56 ;;
917 EV6) UNAME_MACHINE=alphaev6 ;;
918 EV67) UNAME_MACHINE=alphaev67 ;;
919 EV68*) UNAME_MACHINE=alphaev68 ;;
921 objdump --private-headers /bin/sh | grep -q ld.so.1
922 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
923 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
925 arc:Linux:*:* | arceb:Linux:*:*)
926 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
929 eval $set_cc_for_build
930 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
931 | grep -q __ARM_EABI__
933 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
935 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
936 | grep -q __ARM_PCS_VFP
938 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
940 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
948 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
951 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
954 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
957 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
960 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
963 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
966 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
969 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
972 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
975 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
977 mips:Linux:*:* | mips64:Linux:*:*)
978 eval $set_cc_for_build
979 sed 's/^ //' << EOF >$dummy.c
981 #undef ${UNAME_MACHINE}
982 #undef ${UNAME_MACHINE}el
983 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
984 CPU=${UNAME_MACHINE}el
986 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
993 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
994 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
997 echo or1k-unknown-linux-${LIBC}
999 or32:Linux:*:* | or1k*:Linux:*:*)
1000 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1003 echo sparc-unknown-linux-${LIBC}
1005 parisc64:Linux:*:* | hppa64:Linux:*:*)
1006 echo hppa64-unknown-linux-${LIBC}
1008 parisc:Linux:*:* | hppa:Linux:*:*)
1009 # Look for CPU level
1010 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1011 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1012 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1013 *) echo hppa-unknown-linux-${LIBC} ;;
1017 echo powerpc64-unknown-linux-${LIBC}
1020 echo powerpc-unknown-linux-${LIBC}
1023 echo powerpc64le-unknown-linux-${LIBC}
1026 echo powerpcle-unknown-linux-${LIBC}
1028 s390:Linux:*:* | s390x:Linux:*:*)
1029 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1032 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1035 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1037 sparc:Linux:*:* | sparc64:Linux:*:*)
1038 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1041 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1044 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1047 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1050 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1052 i*86:DYNIX/ptx:4*:*)
1053 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1054 # earlier versions are messed up and put the nodename in both
1055 # sysname and nodename.
1056 echo i386-sequent-sysv4
1058 i*86:UNIX_SV:4.2MP:2.*)
1059 # Unixware is an offshoot of SVR4, but it has its own version
1060 # number series starting with 2...
1061 # I am not positive that other SVR4 systems won't match this,
1062 # I just have to hope. -- rms.
1063 # Use sysv4.2uw... so that sysv4* matches it.
1064 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1067 # If we were able to find `uname', then EMX Unix compatibility
1068 # is probably installed.
1069 echo ${UNAME_MACHINE}-pc-os2-emx
1071 i*86:XTS-300:*:STOP)
1072 echo ${UNAME_MACHINE}-unknown-stop
1075 echo ${UNAME_MACHINE}-unknown-atheos
1078 echo ${UNAME_MACHINE}-pc-syllable
1080 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1081 echo i386-unknown-lynxos${UNAME_RELEASE}
1084 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1086 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1087 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1088 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1089 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1091 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1095 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1096 case `/bin/uname -X | grep "^Machine"` in
1097 *486*) UNAME_MACHINE=i486 ;;
1098 *Pentium) UNAME_MACHINE=i586 ;;
1099 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1101 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1104 if test -f /usr/options/cb.name; then
1105 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1106 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1107 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1108 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1109 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1110 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1111 && UNAME_MACHINE=i586
1112 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1113 && UNAME_MACHINE=i686
1114 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1115 && UNAME_MACHINE=i686
1116 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1118 echo ${UNAME_MACHINE}-pc-sysv32
1122 # Left here for compatibility:
1123 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1124 # the processor, so we play safe by assuming i586.
1125 # Note: whatever this is, it MUST be the same as what config.sub
1126 # prints for the "djgpp" host, or else GDB configure will decide that
1127 # this is a cross-build.
1128 echo i586-pc-msdosdjgpp
1134 echo i860-intel-osf1
1136 i860:*:4.*:*) # i860-SVR4
1137 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1138 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1139 else # Add other i860-SVR4 vendors below as they are discovered.
1140 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1145 echo m68010-convergent-sysv
1147 mc68k:UNIX:SYSTEM5:3.51m)
1148 echo m68k-convergent-sysv
1153 M68*:*:R3V[5678]*:*)
1154 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1155 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)
1157 test -r /etc/.relid \
1158 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1159 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1160 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1161 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1162 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1163 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1164 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1165 && { echo i486-ncr-sysv4; exit; } ;;
1166 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1168 test -r /etc/.relid \
1169 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1170 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1171 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1172 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1173 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1174 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1175 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1176 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1177 echo m68k-unknown-lynxos${UNAME_RELEASE}
1179 mc68030:UNIX_System_V:4.*:*)
1180 echo m68k-atari-sysv4
1182 TSUNAMI:LynxOS:2.*:*)
1183 echo sparc-unknown-lynxos${UNAME_RELEASE}
1185 rs6000:LynxOS:2.*:*)
1186 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1188 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1189 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1191 SM[BE]S:UNIX_SV:*:*)
1192 echo mips-dde-sysv${UNAME_RELEASE}
1194 RM*:ReliantUNIX-*:*:*)
1201 if uname -p 2>/dev/null >/dev/null ; then
1202 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1203 echo ${UNAME_MACHINE}-sni-sysv4
1208 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1209 # says <Richard.M.Bartel@ccMail.Census.GOV>
1210 echo i586-unisys-sysv4
1212 *:UNIX_System_V:4*:FTX*)
1213 # From Gerald Hewes <hewes@openmarket.com>.
1214 # How about differentiating between stratus architectures? -djm
1215 echo hppa1.1-stratus-sysv4
1218 # From seanf@swdc.stratus.com.
1219 echo i860-stratus-sysv4
1222 # From Paul.Green@stratus.com.
1223 echo ${UNAME_MACHINE}-stratus-vos
1226 # From Paul.Green@stratus.com.
1227 echo hppa1.1-stratus-vos
1230 echo m68k-apple-aux${UNAME_RELEASE}
1233 echo mips-sony-newsos6
1235 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1236 if [ -d /usr/nec ]; then
1237 echo mips-nec-sysv${UNAME_RELEASE}
1239 echo mips-unknown-sysv${UNAME_RELEASE}
1242 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1243 echo powerpc-be-beos
1245 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1246 echo powerpc-apple-beos
1248 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1251 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1255 echo x86_64-unknown-haiku
1258 echo sx4-nec-superux${UNAME_RELEASE}
1261 echo sx5-nec-superux${UNAME_RELEASE}
1264 echo sx6-nec-superux${UNAME_RELEASE}
1267 echo sx7-nec-superux${UNAME_RELEASE}
1270 echo sx8-nec-superux${UNAME_RELEASE}
1273 echo sx8r-nec-superux${UNAME_RELEASE}
1275 Power*:Rhapsody:*:*)
1276 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1279 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1282 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1283 eval $set_cc_for_build
1284 if test "$UNAME_PROCESSOR" = unknown ; then
1285 UNAME_PROCESSOR=powerpc
1287 if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1288 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1289 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1290 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1291 grep IS_64BIT_ARCH >/dev/null
1293 case $UNAME_PROCESSOR in
1294 i386) UNAME_PROCESSOR=x86_64 ;;
1295 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1299 elif test "$UNAME_PROCESSOR" = i386 ; then
1300 # Avoid executing cc on OS X 10.9, as it ships with a stub
1301 # that puts up a graphical alert prompting to install
1302 # developer tools. Any system running Mac OS X 10.7 or
1303 # later (Darwin 11 and later) is required to have a 64-bit
1304 # processor. This is not true of the ARM version of Darwin
1305 # that Apple uses in portable devices.
1306 UNAME_PROCESSOR=x86_64
1308 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1310 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1311 UNAME_PROCESSOR=`uname -p`
1312 if test "$UNAME_PROCESSOR" = "x86"; then
1313 UNAME_PROCESSOR=i386
1316 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1321 NEO-?:NONSTOP_KERNEL:*:*)
1322 echo neo-tandem-nsk${UNAME_RELEASE}
1324 NSE-*:NONSTOP_KERNEL:*:*)
1325 echo nse-tandem-nsk${UNAME_RELEASE}
1327 NSR-?:NONSTOP_KERNEL:*:*)
1328 echo nsr-tandem-nsk${UNAME_RELEASE}
1331 echo mips-compaq-nonstopux
1334 echo bs2000-siemens-sysv
1336 DS/*:UNIX_System_V:*:*)
1337 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1340 # "uname -m" is not consistent, so use $cputype instead. 386
1341 # is converted to i386 for consistency with other x86
1342 # operating systems.
1343 if test "$cputype" = "386"; then
1346 UNAME_MACHINE="$cputype"
1348 echo ${UNAME_MACHINE}-unknown-plan9
1351 echo pdp10-unknown-tops10
1354 echo pdp10-unknown-tenex
1356 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1357 echo pdp10-dec-tops20
1359 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1360 echo pdp10-xkl-tops20
1363 echo pdp10-unknown-tops20
1366 echo pdp10-unknown-its
1369 echo mips-sei-seiux${UNAME_RELEASE}
1372 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1375 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1376 case "${UNAME_MACHINE}" in
1377 A*) echo alpha-dec-vms ; exit ;;
1378 I*) echo ia64-dec-vms ; exit ;;
1379 V*) echo vax-dec-vms ; exit ;;
1385 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1388 echo ${UNAME_MACHINE}-pc-rdos
1391 echo ${UNAME_MACHINE}-pc-aros
1393 x86_64:VMkernel:*:*)
1394 echo ${UNAME_MACHINE}-unknown-esx
1396 amd64:Isilon\ OneFS:*:*)
1397 echo x86_64-unknown-onefs
1402 $0: unable to guess system type
1404 This script, last modified $timestamp, has failed to recognize
1405 the operating system you are using. It is advised that you
1406 download the most up to date version of the config scripts from
1408 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1410 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1412 If the version you run ($0) is already up to date, please
1413 send the following data and any information you think might be
1414 pertinent to <config-patches@gnu.org> in order to provide the needed
1415 information to handle your system.
1417 config.guess timestamp = $timestamp
1419 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1420 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1421 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1422 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1424 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1425 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1427 hostinfo = `(hostinfo) 2>/dev/null`
1428 /bin/universe = `(/bin/universe) 2>/dev/null`
1429 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1430 /bin/arch = `(/bin/arch) 2>/dev/null`
1431 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1432 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1434 UNAME_MACHINE = ${UNAME_MACHINE}
1435 UNAME_RELEASE = ${UNAME_RELEASE}
1436 UNAME_SYSTEM = ${UNAME_SYSTEM}
1437 UNAME_VERSION = ${UNAME_VERSION}
1443 # eval: (add-hook 'write-file-hooks 'time-stamp)
1444 # time-stamp-start: "timestamp='"
1445 # time-stamp-format: "%:y-%02m-%02d"
1446 # time-stamp-end: "'"