2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002 Free Software Foundation, Inc.
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <per@bothner.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me
=`echo "$0" | sed -e 's,.*/,,'`
43 Output the configuration name of the system \`$me' is run on.
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63 Try \`$me --help' for more information."
66 while test $# -gt 0 ; do
68 --time-stamp |
--time* |
-t )
69 echo "$timestamp" ; exit 0 ;;
71 echo "$version" ; exit 0 ;;
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
76 - ) # Use stdin as input.
79 echo "$me: invalid option $1$help" >&2
87 echo "$me: too many arguments$help" >&2
93 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94 # compiler to aid in system detection is discouraged as it requires
95 # temporary files to be created and, as you can see below, it is a
96 # headache to deal with in a portable fashion.
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
101 # Portable tmp directory creation inspired by the Autoconf team.
104 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
105 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
107 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
108 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
109 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
111 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
112 case $CC_FOR_BUILD,$HOST_CC,$CC in
113 ,,) echo "int x;" > $dummy.c ;
114 for c in cc gcc c89 c99 ; do
115 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
116 CC_FOR_BUILD="$c"; break ;
119 if test x"$CC_FOR_BUILD" = x ; then
120 CC_FOR_BUILD=no_compiler_found ;
123 ,,*) CC_FOR_BUILD=$CC ;;
124 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
127 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
128 # (ghazi@noc.rutgers.edu 1994-08-24)
129 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
130 PATH
=$PATH:/.attbin
; export PATH
133 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
134 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
135 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
136 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
138 # Note: order is significant - the case branches are not exclusive.
140 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
142 # NetBSD (nbsd) targets should (where applicable) match one or
143 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
144 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
145 # switched to ELF, *-*-netbsd* would select the old
146 # object file format. This provides both forward
147 # compatibility and a consistent mechanism for selecting the
148 # object file format.
150 # Note: NetBSD doesn't particularly care about the vendor
151 # portion of the name. We always set it to "unknown".
152 sysctl
="sysctl -n hw.machine_arch"
153 UNAME_MACHINE_ARCH
=`(/sbin/$sysctl 2>/dev/null || \
154 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
155 case "${UNAME_MACHINE_ARCH}" in
156 armeb
) machine
=armeb-unknown
;;
157 arm
*) machine
=arm-unknown
;;
158 sh3el
) machine
=shl-unknown
;;
159 sh3eb
) machine
=sh-unknown
;;
160 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
162 # The Operating System including object format, if it has switched
163 # to ELF recently, or will in the future.
164 case "${UNAME_MACHINE_ARCH}" in
165 arm
*|i386|m68k|ns32k|sh3
*|sparc|vax
)
166 eval $set_cc_for_build
167 if echo __ELF__ |
$CC_FOR_BUILD -E - 2>/dev
/null \
168 |
grep __ELF__
>/dev
/null
170 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
171 # Return netbsd for either. FIX?
182 # Debian GNU/NetBSD machines have a different userland, and
183 # thus, need a distinct triplet. However, they do not need
184 # kernel version information, so it can be replaced with a
185 # suitable tag, in the style of linux-gnu.
186 case "${UNAME_VERSION}" in
191 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
194 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
195 # contains redundant information, the shorter form:
196 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
197 echo "${machine}-${os}${release}"
200 echo m68k-unknown-openbsd
${UNAME_RELEASE}
203 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
206 echo m68k-unknown-openbsd
${UNAME_RELEASE}
209 echo m68k-unknown-openbsd
${UNAME_RELEASE}
212 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
215 echo m68k-unknown-openbsd
${UNAME_RELEASE}
218 echo m88k-unknown-openbsd
${UNAME_RELEASE}
221 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
224 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
227 echo mipseb-unknown-openbsd
${UNAME_RELEASE}
230 echo m68k-unknown-openbsd
${UNAME_RELEASE}
233 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
236 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
239 if test $UNAME_RELEASE = "V4.0"; then
240 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
242 # A Vn.n version is a released version.
243 # A Tn.n version is a released field test version.
244 # A Xn.n version is an unreleased experimental baselevel.
245 # 1.2 uses "1.2" for uname -r.
246 eval $set_cc_for_build
250 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
257 .frame \$30,16,\$26,0
260 .long 0x47e03d80 # implver \$0
262 .long 0x47e20c21 # amask \$2,\$1
272 $CC_FOR_BUILD -o $dummy $dummy.s
2>/dev
/null
273 if test "$?" = 0 ; then
276 UNAME_MACHINE
="alpha"
279 UNAME_MACHINE
="alphaev5"
282 UNAME_MACHINE
="alphaev56"
285 UNAME_MACHINE
="alphapca56"
288 UNAME_MACHINE
="alphaev6"
291 UNAME_MACHINE
="alphaev67"
294 UNAME_MACHINE
="alphaev68"
297 UNAME_MACHINE
="alphaev7"
301 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
303 Alpha\
*:Windows_NT
*:*)
304 # How do we know it's Interix rather than the generic POSIX subsystem?
305 # Should we change UNAME_MACHINE based on the output of uname instead
306 # of the specific Alpha model?
307 echo alpha-pc-interix
309 21064:Windows_NT
:50:3)
310 echo alpha-dec-winnt3.5
312 Amiga
*:UNIX_System_V
:4.0:*)
313 echo m68k-unknown-sysv4
315 *:[Aa
]miga
[Oo
][Ss
]:*:*)
316 echo ${UNAME_MACHINE}-unknown-amigaos
318 *:[Mm
]orph
[Oo
][Ss
]:*:*)
319 echo ${UNAME_MACHINE}-unknown-morphos
322 echo i370-ibm-openedition
324 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
325 echo arm-acorn-riscix
${UNAME_RELEASE}
327 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
328 echo hppa1.1
-hitachi-hiuxmpp
330 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
331 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
332 if test "`(/bin/universe) 2>/dev/null`" = att
; then
333 echo pyramid-pyramid-sysv3
335 echo pyramid-pyramid-bsd
339 echo pyramid-pyramid-svr4
341 DRS?
6000:UNIX_SV
:4.2*:7*)
342 case `/usr/bin/uname -p` in
343 sparc
) echo sparc-icl-nx7
&& exit 0 ;;
346 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
348 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
349 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
352 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355 # According to config.sub, this is the proper way to canonicalize
356 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
357 # it's likely to be more like Solaris than SunOS4.
358 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
361 case "`/usr/bin/arch -k`" in
363 UNAME_RELEASE
=`uname -v`
366 # Japanese Language versions have a version number like `4.1.3-JL'.
367 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
370 echo m68k-sun-sunos
${UNAME_RELEASE}
373 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
374 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
375 case "`/bin/arch`" in
377 echo m68k-sun-sunos
${UNAME_RELEASE}
380 echo sparc-sun-sunos
${UNAME_RELEASE}
385 echo sparc-auspex-sunos
${UNAME_RELEASE}
387 # The situation for MiNT is a little confusing. The machine name
388 # can be virtually everything (everything which is not
389 # "atarist" or "atariste" at least should have a processor
390 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
391 # to the lowercase version "mint" (or "freemint"). Finally
392 # the system name "TOS" denotes a system which is actually not
393 # MiNT. But MiNT is downward compatible to TOS, so this should
395 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
396 echo m68k-atari-mint
${UNAME_RELEASE}
398 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
399 echo m68k-atari-mint
${UNAME_RELEASE}
401 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
402 echo m68k-atari-mint
${UNAME_RELEASE}
404 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
405 echo m68k-milan-mint
${UNAME_RELEASE}
407 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
408 echo m68k-hades-mint
${UNAME_RELEASE}
410 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
411 echo m68k-unknown-mint
${UNAME_RELEASE}
414 echo powerpc-apple-machten
${UNAME_RELEASE}
417 echo mips-dec-mach_bsd4.3
420 echo mips-dec-ultrix
${UNAME_RELEASE}
423 echo vax-dec-ultrix
${UNAME_RELEASE}
425 2020:CLIX
:*:* |
2430:CLIX
:*:*)
426 echo clipper-intergraph-clix
${UNAME_RELEASE}
428 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
429 eval $set_cc_for_build
430 sed 's/^ //' << EOF >$dummy.c
432 #include <stdio.h> /* for printf() prototype */
433 int main (int argc, char *argv[]) {
435 int main (argc, argv) int argc; char *argv[]; {
437 #if defined (host_mips) && defined (MIPSEB)
438 #if defined (SYSTYPE_SYSV)
439 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
441 #if defined (SYSTYPE_SVR4)
442 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
444 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
445 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
451 $CC_FOR_BUILD -o $dummy $dummy.c \
452 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
454 echo mips-mips-riscos
${UNAME_RELEASE}
456 Motorola
:PowerMAX_OS
:*:*)
457 echo powerpc-motorola-powermax
459 Motorola
:*:4.3:PL8-
*)
460 echo powerpc-harris-powermax
462 Night_Hawk
:*:*:PowerMAX_OS | Synergy
:PowerMAX_OS
:*:*)
463 echo powerpc-harris-powermax
465 Night_Hawk
:Power_UNIX
:*:*)
466 echo powerpc-harris-powerunix
469 echo m88k-harris-cxux7
472 echo m88k-motorola-sysv4
475 echo m88k-motorola-sysv3
478 # DG/UX returns AViiON for all architectures
479 UNAME_PROCESSOR
=`/usr/bin/uname -p`
480 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
482 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
483 [ ${TARGET_BINARY_INTERFACE}x
= x
]
485 echo m88k-dg-dgux
${UNAME_RELEASE}
487 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
490 echo i586-dg-dgux
${UNAME_RELEASE}
493 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
494 echo m88k-dolphin-sysv3
497 # Delta 88k system running SVR3
498 echo m88k-motorola-sysv3
500 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
501 echo m88k-tektronix-sysv3
503 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
504 echo m68k-tektronix-bsd
507 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
509 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
510 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
511 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
516 if [ -x /usr
/bin
/oslevel
] ; then
517 IBM_REV
=`/usr/bin/oslevel`
519 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
521 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
524 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
525 eval $set_cc_for_build
526 sed 's/^ //' << EOF >$dummy.c
527 #include <sys/systemcfg.h>
533 puts("powerpc-ibm-aix3.2.5");
537 $CC_FOR_BUILD -o $dummy $dummy.c
&& $dummy && exit 0
538 echo rs6000-ibm-aix3.2
.5
539 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
540 echo rs6000-ibm-aix3.2
.4
542 echo rs6000-ibm-aix3.2
546 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
547 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
552 if [ -x /usr
/bin
/oslevel
] ; then
553 IBM_REV
=`/usr/bin/oslevel`
555 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
557 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
562 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
565 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
566 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
567 exit 0 ;; # report: romp-ibm BSD 4.3
569 echo rs6000-bull-bosx
574 9000/[34]??
:4.3bsd
:1.
*:*)
577 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
580 9000/[34678]??
:HP-UX
:*:*)
581 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
582 case "${UNAME_MACHINE}" in
583 9000/31?
) HP_ARCH
=m68000
;;
584 9000/[34]??
) HP_ARCH
=m68k
;;
585 9000/[678][0-9][0-9])
586 if [ -x /usr
/bin
/getconf
]; then
587 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
588 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
589 case "${sc_cpu_version}" in
590 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
591 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
592 532) # CPU_PA_RISC2_0
593 case "${sc_kernel_bits}" in
594 32) HP_ARCH
="hppa2.0n" ;;
595 64) HP_ARCH
="hppa2.0w" ;;
596 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
600 if [ "${HP_ARCH}" = "" ]; then
601 eval $set_cc_for_build
602 sed 's/^ //' << EOF >$dummy.c
610 #if defined(_SC_KERNEL_BITS)
611 long bits = sysconf(_SC_KERNEL_BITS);
613 long cpu = sysconf (_SC_CPU_VERSION);
617 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
618 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
620 #if defined(_SC_KERNEL_BITS)
623 case 64: puts ("hppa2.0w"); break;
624 case 32: puts ("hppa2.0n"); break;
625 default: puts ("hppa2.0"); break;
627 #else /* !defined(_SC_KERNEL_BITS) */
628 puts ("hppa2.0"); break;
630 default: puts ("hppa1.0"); break;
635 (CCOPTS
= $CC_FOR_BUILD -o $dummy $dummy.c
2>/dev
/null
) && HP_ARCH
=`$dummy`
636 test -z "$HP_ARCH" && HP_ARCH
=hppa
639 if [ ${HP_ARCH} = "hppa2.0w" ]
641 # avoid double evaluation of $set_cc_for_build
642 test -n "$CC_FOR_BUILD" ||
eval $set_cc_for_build
643 if echo __LP64__ |
(CCOPTS
= $CC_FOR_BUILD -E -) |
grep __LP64__
>/dev
/null
650 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
653 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
654 echo ia64-hp-hpux
${HPUX_REV}
657 eval $set_cc_for_build
658 sed 's/^ //' << EOF >$dummy.c
663 long cpu = sysconf (_SC_CPU_VERSION);
664 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
665 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
667 if (CPU_IS_PA_RISC (cpu))
671 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
672 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
673 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
674 default: puts ("hppa-hitachi-hiuxwe2"); break;
677 else if (CPU_IS_HP_MC68K (cpu))
678 puts ("m68k-hitachi-hiuxwe2");
679 else puts ("unknown-hitachi-hiuxwe2");
683 $CC_FOR_BUILD -o $dummy $dummy.c
&& $dummy && exit 0
684 echo unknown-hitachi-hiuxwe2
686 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
692 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
693 echo hppa1.0
-hp-mpeix
695 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
702 if [ -x /usr
/sbin
/sysversion
] ; then
703 echo ${UNAME_MACHINE}-unknown-osf1mk
705 echo ${UNAME_MACHINE}-unknown-osf1
709 echo hppa1.1
-hp-lites
711 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
714 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
715 if getsysinfo
-f scalar_acc
716 then echo c32-convex-bsd
717 else echo c2-convex-bsd
720 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
723 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
726 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
730 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
733 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
734 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
735 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
739 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
742 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
745 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
748 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
750 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
751 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
752 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
753 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
754 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
756 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
757 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
760 echo sparc-unknown-bsdi
${UNAME_RELEASE}
763 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
766 # Determine whether the default compiler uses glibc.
767 eval $set_cc_for_build
768 sed 's/^ //' << EOF >$dummy.c
769 #include <features.h>
776 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
777 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
780 echo ${UNAME_MACHINE}-pc-cygwin
783 echo ${UNAME_MACHINE}-pc-mingw32
786 echo ${UNAME_MACHINE}-pc-pw32
789 echo i586-pc-interix3
791 [345]86:Windows_95
:* |
[345]86:Windows_98
:* |
[345]86:Windows_NT
:*)
792 echo i
${UNAME_MACHINE}-pc-mks
794 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
795 # How do we know it's Interix rather than the generic POSIX subsystem?
796 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
797 # UNAME_MACHINE based on the output of uname instead of i386?
801 echo ${UNAME_MACHINE}-pc-uwin
804 echo powerpcle-unknown-cygwin
807 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
810 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
813 echo ${UNAME_MACHINE}-pc-minix
816 echo ${UNAME_MACHINE}-unknown-linux-gnu
819 echo ${UNAME_MACHINE}-unknown-linux-gnu
822 echo ${UNAME_MACHINE}-unknown-linux-gnu
825 eval $set_cc_for_build
826 sed 's/^ //' << EOF >$dummy.c
830 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
833 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
840 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
841 test x
"${CPU}" != x
&& echo "${CPU}-unknown-linux-gnu" && exit 0
844 eval $set_cc_for_build
845 sed 's/^ //' << EOF >$dummy.c
849 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
852 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
859 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
860 test x
"${CPU}" != x
&& echo "${CPU}-unknown-linux-gnu" && exit 0
863 echo powerpc-unknown-linux-gnu
866 echo powerpc64-unknown-linux-gnu
869 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
870 EV5
) UNAME_MACHINE
=alphaev5
;;
871 EV56
) UNAME_MACHINE
=alphaev56
;;
872 PCA56
) UNAME_MACHINE
=alphapca56
;;
873 PCA57
) UNAME_MACHINE
=alphapca56
;;
874 EV6
) UNAME_MACHINE
=alphaev6
;;
875 EV67
) UNAME_MACHINE
=alphaev67
;;
876 EV68
*) UNAME_MACHINE
=alphaev68
;;
878 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
879 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
880 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
882 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
884 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
885 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
886 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
887 *) echo hppa-unknown-linux-gnu
;;
890 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
891 echo hppa64-unknown-linux-gnu
893 s390
:Linux
:*:* | s390x
:Linux
:*:*)
894 echo ${UNAME_MACHINE}-ibm-linux
897 echo ${UNAME_MACHINE}-unknown-linux-gnu
899 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
900 echo ${UNAME_MACHINE}-unknown-linux-gnu
903 echo x86_64-unknown-linux-gnu
906 # The BFD linker knows what the default object file format is, so
907 # first see if it will tell us. cd to the root directory to prevent
908 # problems with other programs or directories called `ld' in the path.
909 # Set LC_ALL=C to ensure ld outputs messages in English.
910 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
911 | sed -ne '/supported targets:/!d
913 s/.*supported targets: *//
916 case "$ld_supported_targets" in
918 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
921 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
924 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
927 # Either a pre-BFD a.out linker (linux-gnuoldld) or
928 # one that does not give us useful --help.
929 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
932 # Determine whether the default compiler is a.out or elf
933 eval $set_cc_for_build
934 sed 's/^ //' << EOF >$dummy.c
935 #include <features.h>
947 #ifdef __INTEL_COMPILER
954 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
955 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
956 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
959 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
960 # earlier versions are messed up and put the nodename in both
961 # sysname and nodename.
962 echo i386-sequent-sysv4
964 i
*86:UNIX_SV
:4.2MP
:2.
*)
965 # Unixware is an offshoot of SVR4, but it has its own version
966 # number series starting with 2...
967 # I am not positive that other SVR4 systems won't match this,
968 # I just have to hope. -- rms.
969 # Use sysv4.2uw... so that sysv4* matches it.
970 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
973 # If we were able to find `uname', then EMX Unix compatibility
974 # is probably installed.
975 echo ${UNAME_MACHINE}-pc-os2-emx
978 echo ${UNAME_MACHINE}-unknown-stop
981 echo ${UNAME_MACHINE}-unknown-atheos
983 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
984 echo i386-unknown-lynxos
${UNAME_RELEASE}
987 echo ${UNAME_MACHINE}-pc-msdosdjgpp
989 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
990 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
991 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
992 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
994 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
998 case `/bin/uname -X | grep "^Machine"` in
999 *486*) UNAME_MACHINE
=i486
;;
1000 *Pentium
) UNAME_MACHINE
=i586
;;
1001 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
1003 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1006 if test -f /usr
/options
/cb.name
; then
1007 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
1008 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1009 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
1010 UNAME_REL
=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1011 (/bin
/uname
-X|
grep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
1012 (/bin
/uname
-X|
grep '^Machine.*Pentium' >/dev
/null
) \
1013 && UNAME_MACHINE
=i586
1014 (/bin
/uname
-X|
grep '^Machine.*Pent *II' >/dev
/null
) \
1015 && UNAME_MACHINE
=i686
1016 (/bin
/uname
-X|
grep '^Machine.*Pentium Pro' >/dev
/null
) \
1017 && UNAME_MACHINE
=i686
1018 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1020 echo ${UNAME_MACHINE}-pc-sysv32
1024 # Left here for compatibility:
1025 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1026 # the processor, so we play safe by assuming i386.
1027 echo i386-pc-msdosdjgpp
1033 echo i860-intel-osf1
1035 i860
:*:4.
*:*) # i860-SVR4
1036 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
1037 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1038 else # Add other i860-SVR4 vendors below as they are discovered.
1039 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
1044 echo m68010-convergent-sysv
1046 mc68k
:UNIX
:SYSTEM5
:3.51m
)
1047 echo m68k-convergent-sysv
1053 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
1054 3[34]??
:*: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)
1056 test -r /etc
/.relid \
1057 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1058 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1059 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
1060 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
1061 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
1062 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
1063 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1064 && echo i486-ncr-sysv4
&& exit 0 ;;
1065 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
1066 echo m68k-unknown-lynxos
${UNAME_RELEASE}
1068 mc68030
:UNIX_System_V
:4.
*:*)
1069 echo m68k-atari-sysv4
1071 TSUNAMI
:LynxOS
:2.
*:*)
1072 echo sparc-unknown-lynxos
${UNAME_RELEASE}
1074 rs6000
:LynxOS
:2.
*:*)
1075 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
1077 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
1078 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
1080 SM
[BE
]S
:UNIX_SV
:*:*)
1081 echo mips-dde-sysv
${UNAME_RELEASE}
1083 RM
*:ReliantUNIX-
*:*:*)
1090 if uname
-p 2>/dev
/null
>/dev
/null
; then
1091 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1092 echo ${UNAME_MACHINE}-sni-sysv4
1097 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1098 # says <Richard.M.Bartel@ccMail.Census.GOV>
1099 echo i586-unisys-sysv4
1101 *:UNIX_System_V
:4*:FTX
*)
1102 # From Gerald Hewes <hewes@openmarket.com>.
1103 # How about differentiating between stratus architectures? -djm
1104 echo hppa1.1
-stratus-sysv4
1107 # From seanf@swdc.stratus.com.
1108 echo i860-stratus-sysv4
1111 # From Paul.Green@stratus.com.
1112 echo hppa1.1
-stratus-vos
1115 echo m68k-apple-aux
${UNAME_RELEASE}
1118 echo mips-sony-newsos6
1120 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1121 if [ -d /usr
/nec
]; then
1122 echo mips-nec-sysv
${UNAME_RELEASE}
1124 echo mips-unknown-sysv
${UNAME_RELEASE}
1127 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1128 echo powerpc-be-beos
1130 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1131 echo powerpc-apple-beos
1133 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1137 echo sx4-nec-superux
${UNAME_RELEASE}
1140 echo sx5-nec-superux
${UNAME_RELEASE}
1143 echo sx6-nec-superux
${UNAME_RELEASE}
1145 Power
*:Rhapsody
:*:*)
1146 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1149 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1152 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1154 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1155 UNAME_PROCESSOR
=`uname -p`
1156 if test "$UNAME_PROCESSOR" = "x86"; then
1157 UNAME_PROCESSOR
=i386
1160 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1165 NSR-
[DGKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1166 echo nsr-tandem-nsk
${UNAME_RELEASE}
1169 echo mips-compaq-nonstopux
1172 echo bs2000-siemens-sysv
1174 DS
/*:UNIX_System_V
:*:*)
1175 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1178 # "uname -m" is not consistent, so use $cputype instead. 386
1179 # is converted to i386 for consistency with other x86
1180 # operating systems.
1181 if test "$cputype" = "386"; then
1184 UNAME_MACHINE
="$cputype"
1186 echo ${UNAME_MACHINE}-unknown-plan9
1189 echo pdp10-unknown-tops10
1192 echo pdp10-unknown-tenex
1194 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1195 echo pdp10-dec-tops20
1197 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1198 echo pdp10-xkl-tops20
1201 echo pdp10-unknown-tops20
1204 echo pdp10-unknown-its
1208 #echo '(No uname command or uname output not recognized.)' 1>&2
1209 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1211 eval $set_cc_for_build
1214 # include <sys/types.h>
1215 # include <sys/utsname.h>
1220 #if defined (MIPSEB)
1221 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1223 printf ("mips-sony-bsd\n"); exit (0);
1225 #include <sys/param.h>
1226 printf ("m68k-sony-newsos%s\n",
1236 #if defined (__arm) && defined (__acorn) && defined (__unix)
1237 printf ("arm-acorn-riscix"); exit (0);
1240 #if defined (hp300) && !defined (hpux)
1241 printf ("m68k-hp-bsd\n"); exit (0);
1245 #if !defined (__ARCHITECTURE__)
1246 #define __ARCHITECTURE__ "m68k"
1249 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1251 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1253 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1257 #if defined (MULTIMAX) || defined (n16)
1259 printf ("ns32k-encore-sysv\n"); exit (0);
1262 printf ("ns32k-encore-mach\n"); exit (0);
1264 printf ("ns32k-encore-bsd\n"); exit (0);
1269 #if defined (__386BSD__)
1270 printf ("i386-pc-bsd\n"); exit (0);
1273 #if defined (sequent)
1275 printf ("i386-sequent-dynix\n"); exit (0);
1277 #if defined (ns32000)
1278 printf ("ns32k-sequent-dynix\n"); exit (0);
1282 #if defined (_SEQUENT_)
1287 if (strncmp(un.version, "V2", 2) == 0) {
1288 printf ("i386-sequent-ptx2\n"); exit (0);
1290 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1291 printf ("i386-sequent-ptx1\n"); exit (0);
1293 printf ("i386-sequent-ptx\n"); exit (0);
1298 # if !defined (ultrix)
1299 # include <sys/param.h>
1302 printf ("vax-dec-bsd4.3\n"); exit (0);
1305 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1307 printf ("vax-dec-bsd\n"); exit (0);
1311 printf ("vax-dec-bsd\n"); exit (0);
1314 printf ("vax-dec-ultrix\n"); exit (0);
1318 #if defined (alliant) && defined (i860)
1319 printf ("i860-alliant-bsd\n"); exit (0);
1326 $CC_FOR_BUILD -o $dummy $dummy.c
2>/dev
/null
&& $dummy && exit 0
1328 # Apollos put the system type in the environment.
1330 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1332 # Convex versions that predate uname can use getsysinfo(1)
1334 if [ -x /usr
/convex
/getsysinfo
]
1336 case `getsysinfo -f cpu_type` in
1341 if getsysinfo
-f scalar_acc
1342 then echo c32-convex-bsd
1343 else echo c2-convex-bsd
1359 $0: unable to guess system type
1361 This script, last modified $timestamp, has failed to recognize
1362 the operating system you are using. It is advised that you
1363 download the most up to date version of the config scripts from
1365 ftp://ftp.gnu.org/pub/gnu/config/
1367 If the version you run ($0) is already up to date, please
1368 send the following data and any information you think might be
1369 pertinent to <config-patches@gnu.org> in order to provide the needed
1370 information to handle your system.
1372 config.guess timestamp = $timestamp
1374 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1375 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1376 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1377 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1379 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1380 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1382 hostinfo = `(hostinfo) 2>/dev/null`
1383 /bin/universe = `(/bin/universe) 2>/dev/null`
1384 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1385 /bin/arch = `(/bin/arch) 2>/dev/null`
1386 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1387 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1389 UNAME_MACHINE = ${UNAME_MACHINE}
1390 UNAME_RELEASE = ${UNAME_RELEASE}
1391 UNAME_SYSTEM = ${UNAME_SYSTEM}
1392 UNAME_VERSION = ${UNAME_VERSION}
1398 # eval: (add-hook 'write-file-hooks 'time-stamp)
1399 # time-stamp-start: "timestamp='"
1400 # time-stamp-format: "%:y-%02m-%02d"
1401 # time-stamp-end: "'"