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 # This shell variable is my proudest work .. or something. --bje
103 set_cc_for_build
='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104 (old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105 || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106 dummy=$tmpdir/dummy ;
107 files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108 trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
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 $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
113 CC_FOR_BUILD="$c"; break ;
117 if test x"$CC_FOR_BUILD" = x ; then
118 CC_FOR_BUILD=no_compiler_found ;
121 ,,*) CC_FOR_BUILD=$CC ;;
122 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
126 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127 # (ghazi@noc.rutgers.edu 1994-08-24)
128 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
129 PATH
=$PATH:/.attbin
; export PATH
132 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
133 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
134 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
135 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
137 case "${UNAME_MACHINE}" in
139 test -z "$VENDOR" && VENDOR
=pc
142 test -z "$VENDOR" && VENDOR
=unknown
145 test -f /etc
/SuSE-release
&& VENDOR
=suse
147 # Note: order is significant - the case branches are not exclusive.
149 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
151 # NetBSD (nbsd) targets should (where applicable) match one or
152 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
153 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
154 # switched to ELF, *-*-netbsd* would select the old
155 # object file format. This provides both forward
156 # compatibility and a consistent mechanism for selecting the
157 # object file format.
159 # Note: NetBSD doesn't particularly care about the vendor
160 # portion of the name. We always set it to "unknown".
161 sysctl
="sysctl -n hw.machine_arch"
162 UNAME_MACHINE_ARCH
=`(/sbin/$sysctl 2>/dev/null || \
163 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
164 case "${UNAME_MACHINE_ARCH}" in
165 armeb
) machine
=armeb-unknown
;;
166 arm
*) machine
=arm-unknown
;;
167 sh3el
) machine
=shl-unknown
;;
168 sh3eb
) machine
=sh-unknown
;;
169 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
171 # The Operating System including object format, if it has switched
172 # to ELF recently, or will in the future.
173 case "${UNAME_MACHINE_ARCH}" in
174 arm
*|i386|m68k|ns32k|sh3
*|sparc|vax
)
175 eval $set_cc_for_build
176 if echo __ELF__ |
$CC_FOR_BUILD -E - 2>/dev
/null \
177 |
grep __ELF__
>/dev
/null
179 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
180 # Return netbsd for either. FIX?
191 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
192 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
193 # contains redundant information, the shorter form:
194 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
195 echo "${machine}-${os}${release}"
198 echo m68k-unknown-openbsd
${UNAME_RELEASE}
201 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
204 echo m68k-unknown-openbsd
${UNAME_RELEASE}
207 echo m68k-unknown-openbsd
${UNAME_RELEASE}
210 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
213 echo m68k-unknown-openbsd
${UNAME_RELEASE}
216 echo m88k-unknown-openbsd
${UNAME_RELEASE}
219 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
222 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
225 echo mipseb-unknown-openbsd
${UNAME_RELEASE}
228 echo m68k-unknown-openbsd
${UNAME_RELEASE}
231 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
234 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
237 if test $UNAME_RELEASE = "V4.0"; then
238 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
240 # A Vn.n version is a released version.
241 # A Tn.n version is a released field test version.
242 # A Xn.n version is an unreleased experimental baselevel.
243 # 1.2 uses "1.2" for uname -r.
244 eval $set_cc_for_build
248 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
255 .frame \$30,16,\$26,0
258 .long 0x47e03d80 # implver \$0
260 .long 0x47e20c21 # amask \$2,\$1
270 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
271 if test "$?" = 0 ; then
274 UNAME_MACHINE
="alpha"
277 UNAME_MACHINE
="alphaev5"
280 UNAME_MACHINE
="alphaev56"
283 UNAME_MACHINE
="alphapca56"
286 UNAME_MACHINE
="alphaev6"
289 UNAME_MACHINE
="alphaev67"
292 UNAME_MACHINE
="alphaev68"
295 UNAME_MACHINE
="alphaev7"
299 rm -f $dummy.s
$dummy && rmdir $tmpdir
300 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
302 Alpha\
*:Windows_NT
*:*)
303 # How do we know it's Interix rather than the generic POSIX subsystem?
304 # Should we change UNAME_MACHINE based on the output of uname instead
305 # of the specific Alpha model?
306 echo alpha-pc-interix
308 21064:Windows_NT
:50:3)
309 echo alpha-dec-winnt3.5
311 Amiga
*:UNIX_System_V
:4.0:*)
312 echo m68k-unknown-sysv4
314 *:[Aa
]miga
[Oo
][Ss
]:*:*)
315 echo ${UNAME_MACHINE}-unknown-amigaos
317 *:[Mm
]orph
[Oo
][Ss
]:*:*)
318 echo ${UNAME_MACHINE}-unknown-morphos
321 echo i370-ibm-openedition
323 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
324 echo arm-acorn-riscix
${UNAME_RELEASE}
326 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
327 echo hppa1.1
-hitachi-hiuxmpp
329 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
330 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
331 if test "`(/bin/universe) 2>/dev/null`" = att
; then
332 echo pyramid-pyramid-sysv3
334 echo pyramid-pyramid-bsd
338 echo pyramid-pyramid-svr4
340 DRS?
6000:UNIX_SV
:4.2*:7*)
341 case `/usr/bin/uname -p` in
342 sparc
) echo sparc-icl-nx7
&& exit 0 ;;
345 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
347 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
348 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354 # According to config.sub, this is the proper way to canonicalize
355 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
356 # it's likely to be more like Solaris than SunOS4.
357 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
360 case "`/usr/bin/arch -k`" in
362 UNAME_RELEASE
=`uname -v`
365 # Japanese Language versions have a version number like `4.1.3-JL'.
366 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
369 echo m68k-sun-sunos
${UNAME_RELEASE}
372 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
373 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
374 case "`/bin/arch`" in
376 echo m68k-sun-sunos
${UNAME_RELEASE}
379 echo sparc-sun-sunos
${UNAME_RELEASE}
384 echo sparc-auspex-sunos
${UNAME_RELEASE}
386 # The situation for MiNT is a little confusing. The machine name
387 # can be virtually everything (everything which is not
388 # "atarist" or "atariste" at least should have a processor
389 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
390 # to the lowercase version "mint" (or "freemint"). Finally
391 # the system name "TOS" denotes a system which is actually not
392 # MiNT. But MiNT is downward compatible to TOS, so this should
394 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
395 echo m68k-atari-mint
${UNAME_RELEASE}
397 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
398 echo m68k-atari-mint
${UNAME_RELEASE}
400 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
401 echo m68k-atari-mint
${UNAME_RELEASE}
403 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
404 echo m68k-milan-mint
${UNAME_RELEASE}
406 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
407 echo m68k-hades-mint
${UNAME_RELEASE}
409 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
410 echo m68k-unknown-mint
${UNAME_RELEASE}
413 echo powerpc-apple-machten
${UNAME_RELEASE}
416 echo mips-dec-mach_bsd4.3
419 echo mips-dec-ultrix
${UNAME_RELEASE}
422 echo vax-dec-ultrix
${UNAME_RELEASE}
424 2020:CLIX
:*:* |
2430:CLIX
:*:*)
425 echo clipper-intergraph-clix
${UNAME_RELEASE}
427 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
428 eval $set_cc_for_build
429 sed 's/^ //' << EOF >$dummy.c
431 #include <stdio.h> /* for printf() prototype */
432 int main (int argc, char *argv[]) {
434 int main (argc, argv) int argc; char *argv[]; {
436 #if defined (host_mips) && defined (MIPSEB)
437 #if defined (SYSTYPE_SYSV)
438 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
440 #if defined (SYSTYPE_SVR4)
441 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
443 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
444 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
450 $CC_FOR_BUILD $dummy.c
-o $dummy \
451 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
452 && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
453 rm -f $dummy.c
$dummy && rmdir $tmpdir
454 echo mips-mips-riscos
${UNAME_RELEASE}
456 Motorola
:PowerMAX_OS
:*:*)
457 echo powerpc-motorola-powermax
459 Night_Hawk
:*:*:PowerMAX_OS
)
460 echo powerpc-harris-powermax
462 Night_Hawk
:Power_UNIX
:*:*)
463 echo powerpc-harris-powerunix
466 echo m88k-harris-cxux7
469 echo m88k-motorola-sysv4
472 echo m88k-motorola-sysv3
475 # DG/UX returns AViiON for all architectures
476 UNAME_PROCESSOR
=`/usr/bin/uname -p`
477 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
479 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
480 [ ${TARGET_BINARY_INTERFACE}x
= x
]
482 echo m88k-dg-dgux
${UNAME_RELEASE}
484 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
487 echo i586-dg-dgux
${UNAME_RELEASE}
490 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
491 echo m88k-dolphin-sysv3
494 # Delta 88k system running SVR3
495 echo m88k-motorola-sysv3
497 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
498 echo m88k-tektronix-sysv3
500 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
501 echo m68k-tektronix-bsd
504 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
506 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
507 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
508 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
513 if [ -x /usr
/bin
/oslevel
] ; then
514 IBM_REV
=`/usr/bin/oslevel`
516 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
518 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
521 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
522 eval $set_cc_for_build
523 sed 's/^ //' << EOF >$dummy.c
524 #include <sys/systemcfg.h>
530 puts("powerpc-ibm-aix3.2.5");
534 $CC_FOR_BUILD $dummy.c
-o $dummy && $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
535 rm -f $dummy.c
$dummy && rmdir $tmpdir
536 echo rs6000-ibm-aix3.2
.5
537 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
538 echo rs6000-ibm-aix3.2
.4
540 echo rs6000-ibm-aix3.2
544 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
545 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
550 if [ -x /usr
/bin
/oslevel
] ; then
551 IBM_REV
=`/usr/bin/oslevel`
553 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
555 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
560 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
563 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
564 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
565 exit 0 ;; # report: romp-ibm BSD 4.3
567 echo rs6000-bull-bosx
572 9000/[34]??
:4.3bsd
:1.
*:*)
575 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
578 9000/[34678]??
:HP-UX
:*:*)
579 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
580 case "${UNAME_MACHINE}" in
581 9000/31?
) HP_ARCH
=m68000
;;
582 9000/[34]??
) HP_ARCH
=m68k
;;
583 9000/[678][0-9][0-9])
584 if [ -x /usr
/bin
/getconf
]; then
585 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
586 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
587 case "${sc_cpu_version}" in
588 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
589 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
590 532) # CPU_PA_RISC2_0
591 case "${sc_kernel_bits}" in
592 32) HP_ARCH
="hppa2.0n" ;;
593 64) HP_ARCH
="hppa2.0w" ;;
594 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
598 if [ "${HP_ARCH}" = "" ]; then
599 eval $set_cc_for_build
600 sed 's/^ //' << EOF >$dummy.c
608 #if defined(_SC_KERNEL_BITS)
609 long bits = sysconf(_SC_KERNEL_BITS);
611 long cpu = sysconf (_SC_CPU_VERSION);
615 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
616 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
618 #if defined(_SC_KERNEL_BITS)
621 case 64: puts ("hppa2.0w"); break;
622 case 32: puts ("hppa2.0n"); break;
623 default: puts ("hppa2.0"); break;
625 #else /* !defined(_SC_KERNEL_BITS) */
626 puts ("hppa2.0"); break;
628 default: puts ("hppa1.0"); break;
633 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`$dummy`
634 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
635 rm -f $dummy.c
$dummy && rmdir $tmpdir
638 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
641 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
642 echo ia64-hp-hpux
${HPUX_REV}
645 eval $set_cc_for_build
646 sed 's/^ //' << EOF >$dummy.c
651 long cpu = sysconf (_SC_CPU_VERSION);
652 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
653 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
655 if (CPU_IS_PA_RISC (cpu))
659 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
660 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
661 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
662 default: puts ("hppa-hitachi-hiuxwe2"); break;
665 else if (CPU_IS_HP_MC68K (cpu))
666 puts ("m68k-hitachi-hiuxwe2");
667 else puts ("unknown-hitachi-hiuxwe2");
671 $CC_FOR_BUILD $dummy.c
-o $dummy && $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
672 rm -f $dummy.c
$dummy && rmdir $tmpdir
673 echo unknown-hitachi-hiuxwe2
675 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
681 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
682 echo hppa1.0
-hp-mpeix
684 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
691 if [ -x /usr
/sbin
/sysversion
] ; then
692 echo ${UNAME_MACHINE}-unknown-osf1mk
694 echo ${UNAME_MACHINE}-unknown-osf1
698 echo hppa1.1
-hp-lites
700 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
703 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
704 if getsysinfo
-f scalar_acc
705 then echo c32-convex-bsd
706 else echo c2-convex-bsd
709 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
712 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
715 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
719 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
722 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
723 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
724 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
728 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
731 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
734 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
737 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
739 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
740 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
741 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
742 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
743 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
745 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
746 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
749 echo sparc-unknown-bsdi
${UNAME_RELEASE}
752 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
755 # Determine whether the default compiler uses glibc.
756 eval $set_cc_for_build
757 sed 's/^ //' << EOF >$dummy.c
758 #include <features.h>
765 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
766 rm -f $dummy.c
&& rmdir $tmpdir
767 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
770 echo ${UNAME_MACHINE}-pc-cygwin
773 echo ${UNAME_MACHINE}-pc-mingw32
776 echo ${UNAME_MACHINE}-pc-pw32
779 echo i386-pc-interix3
781 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
782 # How do we know it's Interix rather than the generic POSIX subsystem?
783 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
784 # UNAME_MACHINE based on the output of uname instead of i386?
788 echo ${UNAME_MACHINE}-pc-uwin
791 echo powerpcle-unknown-cygwin
794 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
797 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
800 echo ${UNAME_MACHINE}-pc-minix
803 echo ${UNAME_MACHINE}-${VENDOR}-linux
806 echo ${UNAME_MACHINE}-${VENDOR}-linux
809 echo ${UNAME_MACHINE}-${VENDOR}-linux
812 eval $set_cc_for_build
813 sed 's/^ //' << EOF >$dummy.c
817 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
820 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
827 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
828 rm -f $dummy.c
&& rmdir $tmpdir
829 test x
"${CPU}" != x && echo "${CPU}-${VENDOR}-linux" && exit 0
832 echo powerpc-
${VENDOR}-linux
835 echo powerpc64-
${VENDOR}-linux
838 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
839 EV5
) UNAME_MACHINE
=alphaev5
;;
840 EV56
) UNAME_MACHINE
=alphaev56
;;
841 PCA56
) UNAME_MACHINE
=alphapca56
;;
842 PCA57
) UNAME_MACHINE
=alphapca56
;;
843 EV6
) UNAME_MACHINE
=alphaev6
;;
844 EV67
) UNAME_MACHINE
=alphaev67
;;
845 EV68
*) UNAME_MACHINE
=alphaev68
;;
847 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
848 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
849 echo ${UNAME_MACHINE}-${VENDOR}-linux${LIBC}
851 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
853 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
854 PA7
*) echo hppa1.1
-${VENDOR}-linux ;;
855 PA8
*) echo hppa2.0
-${VENDOR}-linux ;;
856 *) echo hppa-
${VENDOR}-linux ;;
859 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
860 echo hppa64-
${VENDOR}-linux
862 s390
:Linux
:*:* | s390x
:Linux
:*:*)
863 echo ${UNAME_MACHINE}-ibm-linux
866 echo ${UNAME_MACHINE}-${VENDOR}-linux
868 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
869 echo ${UNAME_MACHINE}-${VENDOR}-linux
872 echo x86_64-
${VENDOR}-linux
875 # The BFD linker knows what the default object file format is, so
876 # first see if it will tell us. cd to the root directory to prevent
877 # problems with other programs or directories called `ld' in the path.
878 # Set LC_ALL=C to ensure ld outputs messages in English.
879 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
880 | sed -ne '/supported targets:/!d
882 s/.*supported targets: *//
885 case "$ld_supported_targets" in
887 TENTATIVE
="${UNAME_MACHINE}-${VENDOR}-linux"
890 echo "${UNAME_MACHINE}-${VENDOR}-linuxaout"
893 echo "${UNAME_MACHINE}-${VENDOR}-linuxcoff"
896 # Either a pre-BFD a.out linker (linuxoldld) or
897 # one that does not give us useful --help.
898 echo "${UNAME_MACHINE}-${VENDOR}-linuxoldld"
901 # Determine whether the default compiler is a.out or elf
902 eval $set_cc_for_build
903 sed 's/^ //' << EOF >$dummy.c
904 #include <features.h>
916 #ifdef __INTEL_COMPILER
923 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
924 rm -f $dummy.c
&& rmdir $tmpdir
925 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}" |
sed 's/linux-gnu/linux/' && exit 0
926 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
929 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
930 # earlier versions are messed up and put the nodename in both
931 # sysname and nodename.
932 echo i386-sequent-sysv4
934 i
*86:UNIX_SV
:4.2MP
:2.
*)
935 # Unixware is an offshoot of SVR4, but it has its own version
936 # number series starting with 2...
937 # I am not positive that other SVR4 systems won't match this,
938 # I just have to hope. -- rms.
939 # Use sysv4.2uw... so that sysv4* matches it.
940 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
942 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
943 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
944 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
945 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
947 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
951 case `/bin/uname -X | grep "^Machine"` in
952 *486*) UNAME_MACHINE
=i486
;;
953 *Pentium
) UNAME_MACHINE
=i586
;;
954 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
956 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
959 if test -f /usr
/options
/cb.name
; then
960 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
961 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
962 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
963 UNAME_REL
=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
964 (/bin
/uname
-X|
grep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
965 (/bin
/uname
-X|
grep '^Machine.*Pentium' >/dev
/null
) \
966 && UNAME_MACHINE
=i586
967 (/bin
/uname
-X|
grep '^Machine.*Pent *II' >/dev
/null
) \
968 && UNAME_MACHINE
=i686
969 (/bin
/uname
-X|
grep '^Machine.*Pentium Pro' >/dev
/null
) \
970 && UNAME_MACHINE
=i686
971 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
973 echo ${UNAME_MACHINE}-pc-sysv32
977 echo ${UNAME_MACHINE}-pc-msdosdjgpp
980 # Left here for compatibility:
981 # uname -m prints for DJGPP always 'pc', but it prints nothing about
982 # the processor, so we play safe by assuming i386.
983 echo i386-pc-msdosdjgpp
991 i860
:*:4.
*:*) # i860-SVR4
992 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
993 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
994 else # Add other i860-SVR4 vendors below as they are discovered.
995 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
1000 echo m68010-convergent-sysv
1003 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
1004 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)
1006 test -r /etc
/.relid \
1007 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1008 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1009 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
1010 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
1011 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
1012 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
1013 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1014 && echo i486-ncr-sysv4
&& exit 0 ;;
1015 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
1016 echo m68k-unknown-lynxos
${UNAME_RELEASE}
1018 mc68030
:UNIX_System_V
:4.
*:*)
1019 echo m68k-atari-sysv4
1021 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
1022 echo i386-unknown-lynxos
${UNAME_RELEASE}
1024 TSUNAMI
:LynxOS
:2.
*:*)
1025 echo sparc-unknown-lynxos
${UNAME_RELEASE}
1027 rs6000
:LynxOS
:2.
*:*)
1028 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
1030 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
1031 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
1033 SM
[BE
]S
:UNIX_SV
:*:*)
1034 echo mips-dde-sysv
${UNAME_RELEASE}
1036 RM
*:ReliantUNIX-
*:*:*)
1043 if uname
-p 2>/dev
/null
>/dev
/null
; then
1044 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1045 echo ${UNAME_MACHINE}-sni-sysv4
1050 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1051 # says <Richard.M.Bartel@ccMail.Census.GOV>
1052 echo i586-unisys-sysv4
1054 *:UNIX_System_V
:4*:FTX
*)
1055 # From Gerald Hewes <hewes@openmarket.com>.
1056 # How about differentiating between stratus architectures? -djm
1057 echo hppa1.1
-stratus-sysv4
1060 # From seanf@swdc.stratus.com.
1061 echo i860-stratus-sysv4
1064 # From Paul.Green@stratus.com.
1065 echo hppa1.1
-stratus-vos
1068 echo m68k-apple-aux
${UNAME_RELEASE}
1071 echo mips-sony-newsos6
1073 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1074 if [ -d /usr
/nec
]; then
1075 echo mips-nec-sysv
${UNAME_RELEASE}
1077 echo mips-unknown-sysv
${UNAME_RELEASE}
1080 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1081 echo powerpc-be-beos
1083 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1084 echo powerpc-apple-beos
1086 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1090 echo sx4-nec-superux
${UNAME_RELEASE}
1093 echo sx5-nec-superux
${UNAME_RELEASE}
1095 Power
*:Rhapsody
:*:*)
1096 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1099 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1102 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1104 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1105 UNAME_PROCESSOR
=`uname -p`
1106 if test "$UNAME_PROCESSOR" = "x86"; then
1107 UNAME_PROCESSOR
=i386
1110 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1115 NSR-
[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1116 echo nsr-tandem-nsk
${UNAME_RELEASE}
1119 echo mips-compaq-nonstopux
1122 echo bs2000-siemens-sysv
1124 DS
/*:UNIX_System_V
:*:*)
1125 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1128 # "uname -m" is not consistent, so use $cputype instead. 386
1129 # is converted to i386 for consistency with other x86
1130 # operating systems.
1131 if test "$cputype" = "386"; then
1134 UNAME_MACHINE
="$cputype"
1136 echo ${UNAME_MACHINE}-unknown-plan9
1139 # If we were able to find `uname', then EMX Unix compatibility
1140 # is probably installed.
1141 echo ${UNAME_MACHINE}-pc-os2-emx
1144 echo pdp10-unknown-tops10
1147 echo pdp10-unknown-tenex
1149 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1150 echo pdp10-dec-tops20
1152 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1153 echo pdp10-xkl-tops20
1156 echo pdp10-unknown-tops20
1159 echo pdp10-unknown-its
1161 i
*86:XTS-300
:*:STOP
)
1162 echo ${UNAME_MACHINE}-unknown-stop
1165 echo ${UNAME_MACHINE}-unknown-atheos
1169 #echo '(No uname command or uname output not recognized.)' 1>&2
1170 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1172 eval $set_cc_for_build
1175 # include <sys/types.h>
1176 # include <sys/utsname.h>
1181 #if defined (MIPSEB)
1182 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1184 printf ("mips-sony-bsd\n"); exit (0);
1186 #include <sys/param.h>
1187 printf ("m68k-sony-newsos%s\n",
1197 #if defined (__arm) && defined (__acorn) && defined (__unix)
1198 printf ("arm-acorn-riscix"); exit (0);
1201 #if defined (hp300) && !defined (hpux)
1202 printf ("m68k-hp-bsd\n"); exit (0);
1206 #if !defined (__ARCHITECTURE__)
1207 #define __ARCHITECTURE__ "m68k"
1210 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1212 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1214 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1218 #if defined (MULTIMAX) || defined (n16)
1220 printf ("ns32k-encore-sysv\n"); exit (0);
1223 printf ("ns32k-encore-mach\n"); exit (0);
1225 printf ("ns32k-encore-bsd\n"); exit (0);
1230 #if defined (__386BSD__)
1231 printf ("i386-pc-bsd\n"); exit (0);
1234 #if defined (sequent)
1236 printf ("i386-sequent-dynix\n"); exit (0);
1238 #if defined (ns32000)
1239 printf ("ns32k-sequent-dynix\n"); exit (0);
1243 #if defined (_SEQUENT_)
1248 if (strncmp(un.version, "V2", 2) == 0) {
1249 printf ("i386-sequent-ptx2\n"); exit (0);
1251 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1252 printf ("i386-sequent-ptx1\n"); exit (0);
1254 printf ("i386-sequent-ptx\n"); exit (0);
1259 # if !defined (ultrix)
1260 # include <sys/param.h>
1263 printf ("vax-dec-bsd4.3\n"); exit (0);
1266 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1268 printf ("vax-dec-bsd\n"); exit (0);
1272 printf ("vax-dec-bsd\n"); exit (0);
1275 printf ("vax-dec-ultrix\n"); exit (0);
1279 #if defined (alliant) && defined (i860)
1280 printf ("i860-alliant-bsd\n"); exit (0);
1287 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
1288 rm -f $dummy.c
$dummy && rmdir $tmpdir
1290 # Apollos put the system type in the environment.
1292 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1294 # Convex versions that predate uname can use getsysinfo(1)
1296 if [ -x /usr
/convex
/getsysinfo
]
1298 case `getsysinfo -f cpu_type` in
1303 if getsysinfo
-f scalar_acc
1304 then echo c32-convex-bsd
1305 else echo c2-convex-bsd
1321 $0: unable to guess system type
1323 This script, last modified $timestamp, has failed to recognize
1324 the operating system you are using. It is advised that you
1325 download the most up to date version of the config scripts from
1327 ftp://ftp.gnu.org/pub/gnu/config/
1329 If the version you run ($0) is already up to date, please
1330 send the following data and any information you think might be
1331 pertinent to <config-patches@gnu.org> in order to provide the needed
1332 information to handle your system.
1334 config.guess timestamp = $timestamp
1336 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1337 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1338 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1339 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1341 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1342 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1344 hostinfo = `(hostinfo) 2>/dev/null`
1345 /bin/universe = `(/bin/universe) 2>/dev/null`
1346 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1347 /bin/arch = `(/bin/arch) 2>/dev/null`
1348 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1349 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1351 UNAME_MACHINE = ${UNAME_MACHINE}
1352 UNAME_RELEASE = ${UNAME_RELEASE}
1353 UNAME_SYSTEM = ${UNAME_SYSTEM}
1354 UNAME_VERSION = ${UNAME_VERSION}
1360 # eval: (add-hook 'write-file-hooks 'time-stamp)
1361 # time-stamp-start: "timestamp='"
1362 # time-stamp-format: "%:y-%02m-%02d"
1363 # time-stamp-end: "'"