2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 # 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 <bothner@cygnus.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 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95 # CC_FOR_BUILD -- compiler used by this script.
96 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97 # use `HOST_CC' if defined, but it is deprecated.
99 set_cc_for_build
='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,) echo "int dummy(){}" > $dummy.c ;
101 for c in cc gcc c89 ; do
102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
104 CC_FOR_BUILD="$c"; break ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
108 if test x"$CC_FOR_BUILD" = x ; then
109 CC_FOR_BUILD=no_compiler_found ;
112 ,,*) CC_FOR_BUILD=$CC ;;
113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
116 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117 # (ghazi@noc.rutgers.edu 1994-08-24)
118 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
119 PATH
=$PATH:/.attbin
; export PATH
122 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
123 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
124 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
125 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
127 # Note: order is significant - the case branches are not exclusive.
129 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
131 # NetBSD (nbsd) targets should (where applicable) match one or
132 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134 # switched to ELF, *-*-netbsd* would select the old
135 # object file format. This provides both forward
136 # compatibility and a consistent mechanism for selecting the
137 # object file format.
139 # Note: NetBSD doesn't particularly care about the vendor
140 # portion of the name. We always set it to "unknown".
141 UNAME_MACHINE_ARCH
=`(uname -p) 2>/dev/null` || \
142 UNAME_MACHINE_ARCH
=unknown
143 case "${UNAME_MACHINE_ARCH}" in
144 arm
*) machine
=arm-unknown
;;
145 sh3el
) machine
=shl-unknown
;;
146 sh3eb
) machine
=sh-unknown
;;
147 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
149 # The Operating System including object format, if it has switched
150 # to ELF recently, or will in the future.
151 case "${UNAME_MACHINE_ARCH}" in
152 arm
*|i386|m68k|ns32k|sh3
*|sparc|vax
)
153 eval $set_cc_for_build
154 if echo __ELF__ |
$CC_FOR_BUILD -E - 2>/dev
/null \
155 |
grep __ELF__
>/dev
/null
157 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158 # Return netbsd for either. FIX?
169 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171 # contains redundant information, the shorter form:
172 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173 echo "${machine}-${os}${release}"
176 echo m68k-unknown-openbsd
${UNAME_RELEASE}
179 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
182 echo m68k-unknown-openbsd
${UNAME_RELEASE}
185 echo m68k-unknown-openbsd
${UNAME_RELEASE}
188 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
191 echo m68k-unknown-openbsd
${UNAME_RELEASE}
194 echo m88k-unknown-openbsd
${UNAME_RELEASE}
197 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
200 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
203 echo mipseb-unknown-openbsd
${UNAME_RELEASE}
206 echo m68k-unknown-openbsd
${UNAME_RELEASE}
209 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
212 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
215 if test $UNAME_RELEASE = "V4.0"; then
216 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
218 # A Vn.n version is a released version.
219 # A Tn.n version is a released field test version.
220 # A Xn.n version is an unreleased experimental baselevel.
221 # 1.2 uses "1.2" for uname -r.
225 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
232 .frame \$30,16,\$26,0
235 .long 0x47e03d80 # implver \$0
237 .long 0x47e20c21 # amask \$2,\$1
247 eval $set_cc_for_build
248 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
249 if test "$?" = 0 ; then
252 UNAME_MACHINE
="alpha"
255 UNAME_MACHINE
="alphaev5"
258 UNAME_MACHINE
="alphaev56"
261 UNAME_MACHINE
="alphapca56"
264 UNAME_MACHINE
="alphaev6"
267 UNAME_MACHINE
="alphaev67"
270 UNAME_MACHINE
="alphaev68"
274 rm -f $dummy.s
$dummy
275 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277 Alpha\
*:Windows_NT
*:*)
278 # How do we know it's Interix rather than the generic POSIX subsystem?
279 # Should we change UNAME_MACHINE based on the output of uname instead
280 # of the specific Alpha model?
281 echo alpha-pc-interix
283 21064:Windows_NT
:50:3)
284 echo alpha-dec-winnt3.5
286 Amiga
*:UNIX_System_V
:4.0:*)
287 echo m68k-unknown-sysv4
289 *:[Aa
]miga
[Oo
][Ss
]:*:*)
290 echo ${UNAME_MACHINE}-unknown-amigaos
293 echo i370-ibm-openedition
295 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
296 echo arm-acorn-riscix
${UNAME_RELEASE}
298 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
299 echo hppa1.1
-hitachi-hiuxmpp
301 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
302 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
303 if test "`(/bin/universe) 2>/dev/null`" = att
; then
304 echo pyramid-pyramid-sysv3
306 echo pyramid-pyramid-bsd
310 echo pyramid-pyramid-svr4
313 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
315 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
316 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322 # According to config.sub, this is the proper way to canonicalize
323 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
324 # it's likely to be more like Solaris than SunOS4.
325 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 case "`/usr/bin/arch -k`" in
330 UNAME_RELEASE
=`uname -v`
333 # Japanese Language versions have a version number like `4.1.3-JL'.
334 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
337 echo m68k-sun-sunos
${UNAME_RELEASE}
340 UNAME_RELEASE
=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
341 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
342 case "`/bin/arch`" in
344 echo m68k-sun-sunos
${UNAME_RELEASE}
347 echo sparc-sun-sunos
${UNAME_RELEASE}
352 echo sparc-auspex-sunos
${UNAME_RELEASE}
354 # The situation for MiNT is a little confusing. The machine name
355 # can be virtually everything (everything which is not
356 # "atarist" or "atariste" at least should have a processor
357 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
358 # to the lowercase version "mint" (or "freemint"). Finally
359 # the system name "TOS" denotes a system which is actually not
360 # MiNT. But MiNT is downward compatible to TOS, so this should
362 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
363 echo m68k-atari-mint
${UNAME_RELEASE}
365 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
366 echo m68k-atari-mint
${UNAME_RELEASE}
368 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
369 echo m68k-atari-mint
${UNAME_RELEASE}
371 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
372 echo m68k-milan-mint
${UNAME_RELEASE}
374 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
375 echo m68k-hades-mint
${UNAME_RELEASE}
377 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
378 echo m68k-unknown-mint
${UNAME_RELEASE}
381 echo powerpc-apple-machten
${UNAME_RELEASE}
384 echo mips-dec-mach_bsd4.3
387 echo mips-dec-ultrix
${UNAME_RELEASE}
390 echo vax-dec-ultrix
${UNAME_RELEASE}
392 2020:CLIX
:*:* |
2430:CLIX
:*:*)
393 echo clipper-intergraph-clix
${UNAME_RELEASE}
395 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
396 eval $set_cc_for_build
397 sed 's/^ //' << EOF >$dummy.c
399 #include <stdio.h> /* for printf() prototype */
400 int main (int argc, char *argv[]) {
402 int main (argc, argv) int argc; char *argv[]; {
404 #if defined (host_mips) && defined (MIPSEB)
405 #if defined (SYSTYPE_SYSV)
406 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
408 #if defined (SYSTYPE_SVR4)
409 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
411 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
412 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
418 $CC_FOR_BUILD $dummy.c
-o $dummy \
419 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420 && rm -f $dummy.c
$dummy && exit 0
421 rm -f $dummy.c
$dummy
422 echo mips-mips-riscos
${UNAME_RELEASE}
424 Motorola
:PowerMAX_OS
:*:*)
425 echo powerpc-motorola-powermax
427 Night_Hawk
:Power_UNIX
:*:*)
428 echo powerpc-harris-powerunix
431 echo m88k-harris-cxux7
434 echo m88k-motorola-sysv4
437 echo m88k-motorola-sysv3
440 # DG/UX returns AViiON for all architectures
441 UNAME_PROCESSOR
=`/usr/bin/uname -p`
442 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
444 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
445 [ ${TARGET_BINARY_INTERFACE}x
= x
]
447 echo m88k-dg-dgux
${UNAME_RELEASE}
449 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
452 echo i586-dg-dgux
${UNAME_RELEASE}
455 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
456 echo m88k-dolphin-sysv3
459 # Delta 88k system running SVR3
460 echo m88k-motorola-sysv3
462 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
463 echo m88k-tektronix-sysv3
465 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
466 echo m68k-tektronix-bsd
469 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
471 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
472 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
473 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
478 if [ -x /usr
/bin
/oslevel
] ; then
479 IBM_REV
=`/usr/bin/oslevel`
481 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
483 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
486 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
487 eval $set_cc_for_build
488 sed 's/^ //' << EOF >$dummy.c
489 #include <sys/systemcfg.h>
495 puts("powerpc-ibm-aix3.2.5");
499 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
500 rm -f $dummy.c
$dummy
501 echo rs6000-ibm-aix3.2
.5
502 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
503 echo rs6000-ibm-aix3.2
.4
505 echo rs6000-ibm-aix3.2
509 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
510 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
515 if [ -x /usr
/bin
/oslevel
] ; then
516 IBM_REV
=`/usr/bin/oslevel`
518 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
520 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
525 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
528 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
529 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
530 exit 0 ;; # report: romp-ibm BSD 4.3
532 echo rs6000-bull-bosx
537 9000/[34]??
:4.3bsd
:1.
*:*)
540 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
543 9000/[34678]??
:HP-UX
:*:*)
544 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
545 case "${UNAME_MACHINE}" in
546 9000/31?
) HP_ARCH
=m68000
;;
547 9000/[34]??
) HP_ARCH
=m68k
;;
548 9000/[678][0-9][0-9])
549 if [ -x /usr
/bin
/getconf
]; then
550 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
551 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
552 case "${sc_cpu_version}" in
553 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
554 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
555 532) # CPU_PA_RISC2_0
556 case "${sc_kernel_bits}" in
557 32) HP_ARCH
="hppa2.0n" ;;
558 64) HP_ARCH
="hppa2.0w" ;;
559 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
563 if [ "${HP_ARCH}" = "" ]; then
564 eval $set_cc_for_build
565 sed 's/^ //' << EOF >$dummy.c
573 #if defined(_SC_KERNEL_BITS)
574 long bits = sysconf(_SC_KERNEL_BITS);
576 long cpu = sysconf (_SC_CPU_VERSION);
580 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
581 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
583 #if defined(_SC_KERNEL_BITS)
586 case 64: puts ("hppa2.0w"); break;
587 case 32: puts ("hppa2.0n"); break;
588 default: puts ("hppa2.0"); break;
590 #else /* !defined(_SC_KERNEL_BITS) */
591 puts ("hppa2.0"); break;
593 default: puts ("hppa1.0"); break;
598 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
599 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
600 rm -f $dummy.c
$dummy
603 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
606 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
607 echo ia64-hp-hpux
${HPUX_REV}
610 eval $set_cc_for_build
611 sed 's/^ //' << EOF >$dummy.c
616 long cpu = sysconf (_SC_CPU_VERSION);
617 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
618 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
620 if (CPU_IS_PA_RISC (cpu))
624 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
625 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
626 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
627 default: puts ("hppa-hitachi-hiuxwe2"); break;
630 else if (CPU_IS_HP_MC68K (cpu))
631 puts ("m68k-hitachi-hiuxwe2");
632 else puts ("unknown-hitachi-hiuxwe2");
636 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
637 rm -f $dummy.c
$dummy
638 echo unknown-hitachi-hiuxwe2
640 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
646 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
647 echo hppa1.0
-hp-mpeix
649 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
656 if [ -x /usr
/sbin
/sysversion
] ; then
657 echo ${UNAME_MACHINE}-unknown-osf1mk
659 echo ${UNAME_MACHINE}-unknown-osf1
663 echo hppa1.1
-hp-lites
665 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
668 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
669 if getsysinfo
-f scalar_acc
670 then echo c32-convex-bsd
671 else echo c2-convex-bsd
674 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
677 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
680 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
687 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
690 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
691 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
692 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
696 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
699 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
702 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
705 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
708 echo cray2-cray-unicos
710 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
711 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
712 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
713 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
714 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
716 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
717 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
720 echo sparc-unknown-bsdi
${UNAME_RELEASE}
723 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
726 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
729 echo ${UNAME_MACHINE}-pc-cygwin
732 echo ${UNAME_MACHINE}-pc-mingw32
735 echo ${UNAME_MACHINE}-pc-pw32
738 echo i386-pc-interix3
740 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
741 # How do we know it's Interix rather than the generic POSIX subsystem?
742 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
743 # UNAME_MACHINE based on the output of uname instead of i386?
747 echo ${UNAME_MACHINE}-pc-uwin
750 echo powerpcle-unknown-cygwin
753 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
756 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
759 echo ${UNAME_MACHINE}-pc-minix
762 echo ${UNAME_MACHINE}-unknown-linux-gnu
765 echo ${UNAME_MACHINE}-unknown-linux
768 echo ${UNAME_MACHINE}-unknown-linux-gnu
771 eval $set_cc_for_build
772 sed 's/^ //' << EOF >$dummy.c
773 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
776 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
783 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
785 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
788 echo powerpc-unknown-linux-gnu
791 echo powerpc64-unknown-linux-gnu
794 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
795 EV5
) UNAME_MACHINE
=alphaev5
;;
796 EV56
) UNAME_MACHINE
=alphaev56
;;
797 PCA56
) UNAME_MACHINE
=alphapca56
;;
798 PCA57
) UNAME_MACHINE
=alphapca56
;;
799 EV6
) UNAME_MACHINE
=alphaev6
;;
800 EV67
) UNAME_MACHINE
=alphaev67
;;
801 EV68
*) UNAME_MACHINE
=alphaev68
;;
803 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
804 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
805 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
807 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
809 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
810 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
811 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
812 *) echo hppa-unknown-linux-gnu
;;
815 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
816 echo hppa64-unknown-linux-gnu
818 s390
:Linux
:*:* | s390x
:Linux
:*:*)
819 echo ${UNAME_MACHINE}-ibm-linux
822 echo ${UNAME_MACHINE}-unknown-linux-gnu
824 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
825 echo ${UNAME_MACHINE}-unknown-linux-gnu
828 echo x86_64-unknown-linux-gnu
831 # The BFD linker knows what the default object file format is, so
832 # first see if it will tell us. cd to the root directory to prevent
833 # problems with other programs or directories called `ld' in the path.
834 ld_supported_targets
=`cd /; ld --help 2>&1 \
835 | sed -ne '/supported targets:/!d
837 s/.*supported targets: *//
840 case "$ld_supported_targets" in
842 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
845 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
848 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
851 # Either a pre-BFD a.out linker (linux-gnuoldld) or
852 # one that does not give us useful --help.
853 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
856 # Determine whether the default compiler is a.out or elf
857 eval $set_cc_for_build
858 sed 's/^ //' << EOF >$dummy.c
859 #include <features.h>
874 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
876 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
877 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
880 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
881 # earlier versions are messed up and put the nodename in both
882 # sysname and nodename.
883 echo i386-sequent-sysv4
885 i
*86:UNIX_SV
:4.2MP
:2.
*)
886 # Unixware is an offshoot of SVR4, but it has its own version
887 # number series starting with 2...
888 # I am not positive that other SVR4 systems won't match this,
889 # I just have to hope. -- rms.
890 # Use sysv4.2uw... so that sysv4* matches it.
891 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
893 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
894 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
895 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
896 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
898 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
902 case `/bin/uname -X | grep "^Machine"` in
903 *486*) UNAME_MACHINE
=i486
;;
904 *Pentium
) UNAME_MACHINE
=i586
;;
905 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
907 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
910 if test -f /usr
/options
/cb.name
; then
911 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
912 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
913 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
914 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
915 (/bin
/uname
-X|
egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
916 (/bin
/uname
-X|
egrep '^Machine.*Pentium' >/dev
/null
) \
917 && UNAME_MACHINE
=i586
918 (/bin
/uname
-X|
egrep '^Machine.*Pent ?II' >/dev
/null
) \
919 && UNAME_MACHINE
=i686
920 (/bin
/uname
-X|
egrep '^Machine.*Pentium Pro' >/dev
/null
) \
921 && UNAME_MACHINE
=i686
922 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
924 echo ${UNAME_MACHINE}-pc-sysv32
928 echo ${UNAME_MACHINE}-pc-msdosdjgpp
931 # Left here for compatibility:
932 # uname -m prints for DJGPP always 'pc', but it prints nothing about
933 # the processor, so we play safe by assuming i386.
934 echo i386-pc-msdosdjgpp
942 i860
:*:4.
*:*) # i860-SVR4
943 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
944 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
945 else # Add other i860-SVR4 vendors below as they are discovered.
946 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
951 echo m68010-convergent-sysv
954 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
955 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 |
4850:*:4.0:3.0 | SKA40
:*:4.0:3.0)
957 test -r /etc
/.relid \
958 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
959 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
960 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
961 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
962 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
963 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
964 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
965 && echo i486-ncr-sysv4
&& exit 0 ;;
966 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
967 echo m68k-unknown-lynxos
${UNAME_RELEASE}
969 mc68030
:UNIX_System_V
:4.
*:*)
970 echo m68k-atari-sysv4
972 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
973 echo i386-unknown-lynxos
${UNAME_RELEASE}
975 TSUNAMI
:LynxOS
:2.
*:*)
976 echo sparc-unknown-lynxos
${UNAME_RELEASE}
979 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
981 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
982 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
985 echo mips-dde-sysv
${UNAME_RELEASE}
987 RM
*:ReliantUNIX-
*:*:*)
994 if uname
-p 2>/dev
/null
>/dev
/null
; then
995 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
996 echo ${UNAME_MACHINE}-sni-sysv4
1001 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1002 # says <Richard.M.Bartel@ccMail.Census.GOV>
1003 echo i586-unisys-sysv4
1005 *:UNIX_System_V
:4*:FTX
*)
1006 # From Gerald Hewes <hewes@openmarket.com>.
1007 # How about differentiating between stratus architectures? -djm
1008 echo hppa1.1
-stratus-sysv4
1011 # From seanf@swdc.stratus.com.
1012 echo i860-stratus-sysv4
1015 # From Paul.Green@stratus.com.
1016 echo hppa1.1
-stratus-vos
1019 echo m68k-apple-aux
${UNAME_RELEASE}
1022 echo mips-sony-newsos6
1024 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1025 if [ -d /usr
/nec
]; then
1026 echo mips-nec-sysv
${UNAME_RELEASE}
1028 echo mips-unknown-sysv
${UNAME_RELEASE}
1031 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1032 echo powerpc-be-beos
1034 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1035 echo powerpc-apple-beos
1037 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1041 echo sx4-nec-superux
${UNAME_RELEASE}
1044 echo sx5-nec-superux
${UNAME_RELEASE}
1046 Power
*:Rhapsody
:*:*)
1047 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1050 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1053 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1055 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1056 if test "${UNAME_MACHINE}" = "x86pc"; then
1059 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1064 NSR-
[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1065 echo nsr-tandem-nsk
${UNAME_RELEASE}
1068 echo mips-compaq-nonstopux
1071 echo bs2000-siemens-sysv
1073 DS
/*:UNIX_System_V
:*:*)
1074 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1077 # "uname -m" is not consistent, so use $cputype instead. 386
1078 # is converted to i386 for consistency with other x86
1079 # operating systems.
1080 if test "$cputype" = "386"; then
1083 UNAME_MACHINE
="$cputype"
1085 echo ${UNAME_MACHINE}-unknown-plan9
1088 # If we were able to find `uname', then EMX Unix compatibility
1089 # is probably installed.
1090 echo ${UNAME_MACHINE}-pc-os2-emx
1093 echo pdp10-unknown-tops10
1096 echo pdp10-unknown-tenex
1098 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1099 echo pdp10-dec-tops20
1101 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1102 echo pdp10-xkl-tops20
1105 echo pdp10-unknown-tops20
1108 echo pdp10-unknown-its
1110 i
*86:XTS-300
:*:STOP
)
1111 echo ${UNAME_MACHINE}-unknown-stop
1114 echo ${UNAME_MACHINE}-unknown-atheos
1118 #echo '(No uname command or uname output not recognized.)' 1>&2
1119 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1121 eval $set_cc_for_build
1124 # include <sys/types.h>
1125 # include <sys/utsname.h>
1130 #if defined (MIPSEB)
1131 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1133 printf ("mips-sony-bsd\n"); exit (0);
1135 #include <sys/param.h>
1136 printf ("m68k-sony-newsos%s\n",
1146 #if defined (__arm) && defined (__acorn) && defined (__unix)
1147 printf ("arm-acorn-riscix"); exit (0);
1150 #if defined (hp300) && !defined (hpux)
1151 printf ("m68k-hp-bsd\n"); exit (0);
1155 #if !defined (__ARCHITECTURE__)
1156 #define __ARCHITECTURE__ "m68k"
1159 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1161 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1163 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1167 #if defined (MULTIMAX) || defined (n16)
1169 printf ("ns32k-encore-sysv\n"); exit (0);
1172 printf ("ns32k-encore-mach\n"); exit (0);
1174 printf ("ns32k-encore-bsd\n"); exit (0);
1179 #if defined (__386BSD__)
1180 printf ("i386-pc-bsd\n"); exit (0);
1183 #if defined (sequent)
1185 printf ("i386-sequent-dynix\n"); exit (0);
1187 #if defined (ns32000)
1188 printf ("ns32k-sequent-dynix\n"); exit (0);
1192 #if defined (_SEQUENT_)
1197 if (strncmp(un.version, "V2", 2) == 0) {
1198 printf ("i386-sequent-ptx2\n"); exit (0);
1200 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1201 printf ("i386-sequent-ptx1\n"); exit (0);
1203 printf ("i386-sequent-ptx\n"); exit (0);
1208 # if !defined (ultrix)
1209 # include <sys/param.h>
1212 printf ("vax-dec-bsd4.3\n"); exit (0);
1215 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1217 printf ("vax-dec-bsd\n"); exit (0);
1221 printf ("vax-dec-bsd\n"); exit (0);
1224 printf ("vax-dec-ultrix\n"); exit (0);
1228 #if defined (alliant) && defined (i860)
1229 printf ("i860-alliant-bsd\n"); exit (0);
1236 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1237 rm -f $dummy.c
$dummy
1239 # Apollos put the system type in the environment.
1241 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1243 # Convex versions that predate uname can use getsysinfo(1)
1245 if [ -x /usr
/convex
/getsysinfo
]
1247 case `getsysinfo -f cpu_type` in
1252 if getsysinfo
-f scalar_acc
1253 then echo c32-convex-bsd
1254 else echo c2-convex-bsd
1270 $0: unable to guess system type
1272 This script, last modified $timestamp, has failed to recognize
1273 the operating system you are using. It is advised that you
1274 download the most up to date version of the config scripts from
1276 ftp://ftp.gnu.org/pub/gnu/config/
1278 If the version you run ($0) is already up to date, please
1279 send the following data and any information you think might be
1280 pertinent to <config-patches@gnu.org> in order to provide the needed
1281 information to handle your system.
1283 config.guess timestamp = $timestamp
1285 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1286 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1287 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1288 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1290 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1291 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1293 hostinfo = `(hostinfo) 2>/dev/null`
1294 /bin/universe = `(/bin/universe) 2>/dev/null`
1295 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1296 /bin/arch = `(/bin/arch) 2>/dev/null`
1297 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1298 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1300 UNAME_MACHINE = ${UNAME_MACHINE}
1301 UNAME_RELEASE = ${UNAME_RELEASE}
1302 UNAME_SYSTEM = ${UNAME_SYSTEM}
1303 UNAME_VERSION = ${UNAME_VERSION}
1309 # eval: (add-hook 'write-file-hooks 'time-stamp)
1310 # time-stamp-start: "timestamp='"
1311 # time-stamp-format: "%:y-%02m-%02d"
1312 # time-stamp-end: "'"