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 #####################################################################
28 # This file contains changes for Apache, clearly marked below.
29 # These changes are hereby donated to the public domain.
30 #####################################################################
32 # Originally written by Per Bothner <per@bothner.com>.
33 # Please send patches to <config-patches@gnu.org>. Submit a context
34 # diff and a properly formatted ChangeLog entry.
36 # This script attempts to guess a canonical system name similar to
37 # config.sub. If it succeeds, it prints the system name on stdout, and
38 # exits with 0. Otherwise, it exits with 1.
40 # The plan is that this can be called by configure scripts if you
41 # don't specify an explicit build system type.
43 me
=`echo "$0" | sed -e 's,.*/,,'`
48 Output the configuration name of the system \`$me' is run on.
51 -h, --help print this help, then exit
52 -t, --time-stamp print date of last modification, then exit
53 -v, --version print version number, then exit
55 Report bugs and patches to <config-patches@gnu.org>."
58 GNU config.guess ($timestamp)
60 Originally written by Per Bothner.
61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
62 Free Software Foundation, Inc.
64 This is free software; see the source for copying conditions. There is NO
65 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
68 Try \`$me --help' for more information."
71 while test $# -gt 0 ; do
73 --time-stamp | --time* | -t )
74 echo "$timestamp" ; exit 0 ;;
76 echo "$version" ; exit 0 ;;
78 echo "$usage"; exit 0 ;;
79 -- ) # Stop option processing
81 - ) # Use stdin as input.
84 echo "$me: invalid option $1$help" >&2
92 echo "$me: too many arguments$help" >&2
98 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
100 # CC_FOR_BUILD -- compiler used by this script.
101 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102 # use `HOST_CC' if defined, but it is deprecated.
104 set_cc_for_build
='case $CC_FOR_BUILD,$HOST_CC,$CC in
105 ,,) echo "int dummy(){}" > $dummy.c ;
106 for c in cc gcc c89 c99 ; do
107 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
108 if test $? = 0 ; then
109 CC_FOR_BUILD="$c"; break ;
112 rm -f $dummy.c $dummy.o $dummy.rel ;
113 if test x"$CC_FOR_BUILD" = x ; then
114 CC_FOR_BUILD=no_compiler_found ;
117 ,,*) CC_FOR_BUILD=$CC ;;
118 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
121 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
122 # (ghazi@noc.rutgers.edu 1994-08-24)
123 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
124 PATH
=$PATH:/.attbin
; export PATH
127 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
128 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
129 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
130 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
132 # Note: order is significant - the case branches are not exclusive.
134 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
136 # NetBSD (nbsd) targets should (where applicable) match one or
137 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
138 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
139 # switched to ELF, *-*-netbsd* would select the old
140 # object file format. This provides both forward
141 # compatibility and a consistent mechanism for selecting the
142 # object file format.
144 # Note: NetBSD doesn't particularly care about the vendor
145 # portion of the name. We always set it to "unknown".
146 sysctl
="sysctl -n hw.machine_arch"
147 UNAME_MACHINE_ARCH
=`(/sbin/$sysctl 2>/dev/null || \
148 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
149 case "${UNAME_MACHINE_ARCH}" in
150 arm
*) machine
=arm
-unknown ;;
151 sh3el
) machine
=shl
-unknown ;;
152 sh3eb
) machine
=sh
-unknown ;;
153 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
155 # The Operating System including object format, if it has switched
156 # to ELF recently, or will in the future.
157 case "${UNAME_MACHINE_ARCH}" in
158 arm
*|i386
|m68k
|ns32k
|sh3
*|sparc
|vax
)
159 eval $set_cc_for_build
160 if echo __ELF__
| $CC_FOR_BUILD -E - 2>/dev
/null \
161 | grep __ELF__
>/dev
/null
163 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
164 # Return netbsd for either. FIX?
175 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
176 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
177 # contains redundant information, the shorter form:
178 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
179 echo "${machine}-${os}${release}"
182 echo m68k
-unknown-openbsd${UNAME_RELEASE}
185 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
188 echo m68k
-unknown-openbsd${UNAME_RELEASE}
191 echo m68k
-unknown-openbsd${UNAME_RELEASE}
194 echo powerpc
-unknown-openbsd${UNAME_RELEASE}
197 echo m68k
-unknown-openbsd${UNAME_RELEASE}
200 echo m88k
-unknown-openbsd${UNAME_RELEASE}
203 echo powerpc
-unknown-openbsd${UNAME_RELEASE}
206 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
209 echo mipseb
-unknown-openbsd${UNAME_RELEASE}
212 echo m68k
-unknown-openbsd${UNAME_RELEASE}
215 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
218 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
221 if test $UNAME_RELEASE = "V4.0"; then
222 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
224 # A Vn.n version is a released version.
225 # A Tn.n version is a released field test version.
226 # A Xn.n version is an unreleased experimental baselevel.
227 # 1.2 uses "1.2" for uname -r.
231 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
238 .frame \$30,16,\$26,0
241 .long 0x47e03d80 # implver \$0
243 .long 0x47e20c21 # amask \$2,\$1
253 eval $set_cc_for_build
254 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
255 if test "$?" = 0 ; then
258 UNAME_MACHINE
="alpha"
261 UNAME_MACHINE
="alphaev5"
264 UNAME_MACHINE
="alphaev56"
267 UNAME_MACHINE
="alphapca56"
270 UNAME_MACHINE
="alphaev6"
273 UNAME_MACHINE
="alphaev67"
276 UNAME_MACHINE
="alphaev68"
280 rm -f $dummy.s
$dummy
281 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
283 Alpha\
*:Windows_NT
*:*)
284 # How do we know it's Interix rather than the generic POSIX subsystem?
285 # Should we change UNAME_MACHINE based on the output of uname instead
286 # of the specific Alpha model?
287 echo alpha
-pc-interix
289 21064:Windows_NT
:50:3)
290 echo alpha
-dec-winnt3.5
292 Amiga
*:UNIX_System_V
:4.0:*)
293 echo m68k
-unknown-sysv4
295 *:[Aa
]miga
[Oo
][Ss
]:*:*)
296 echo ${UNAME_MACHINE}-unknown-amigaos
298 *:[Mm
]orph
[Oo
][Ss
]:*:*)
299 echo ${UNAME_MACHINE}-unknown-morphos
301 #########################
305 # echo i370-ibm-openedition
307 *:OS390
:*:* | *:OS
/390:*:*)
310 *:OS400
:*:* | *:OS
/400:*:*)
314 echo "i386-pc-os2_emx"
318 #########################
320 echo i370
-ibm-openedition
322 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
323 echo arm
-acorn-riscix${UNAME_RELEASE}
325 SR2?
01:HI
-UX/MPP
:*:* | SR8000
:HI
-UX/MPP
:*:*)
326 echo hppa1.1
-hitachi-hiuxmpp
328 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC
-OSx*:*:*)
329 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
330 if test "`(/bin/universe) 2>/dev/null`" = att
; then
331 echo pyramid
-pyramid-sysv3
333 echo pyramid
-pyramid-bsd
337 echo pyramid
-pyramid-svr4
340 echo sparc
-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
342 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
343 echo sparc
-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
346 echo i386
-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
349 # According to config.sub, this is the proper way to canonicalize
350 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
351 # it's likely to be more like Solaris than SunOS4.
352 echo sparc
-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355 case "`/usr/bin/arch -k`" in
357 UNAME_RELEASE
=`uname -v`
360 # Japanese Language versions have a version number like `4.1.3-JL'.
361 echo sparc
-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
364 echo m68k
-sun-sunos${UNAME_RELEASE}
367 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
368 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
369 case "`/bin/arch`" in
371 echo m68k
-sun-sunos${UNAME_RELEASE}
374 echo sparc
-sun-sunos${UNAME_RELEASE}
379 echo sparc
-auspex-sunos${UNAME_RELEASE}
381 # The situation for MiNT is a little confusing. The machine name
382 # can be virtually everything (everything which is not
383 # "atarist" or "atariste" at least should have a processor
384 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
385 # to the lowercase version "mint" (or "freemint"). Finally
386 # the system name "TOS" denotes a system which is actually not
387 # MiNT. But MiNT is downward compatible to TOS, so this should
389 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
390 echo m68k
-atari-mint${UNAME_RELEASE}
392 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
393 echo m68k
-atari-mint${UNAME_RELEASE}
395 *falcon
*:*MiNT
:*:* | *falcon
*:*mint
:*:* | *falcon
*:*TOS
:*:*)
396 echo m68k
-atari-mint${UNAME_RELEASE}
398 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* | *milan
*:*TOS
:*:*)
399 echo m68k
-milan-mint${UNAME_RELEASE}
401 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* | *hades
*:*TOS
:*:*)
402 echo m68k
-hades-mint${UNAME_RELEASE}
404 *:*MiNT
:*:* | *:*mint
:*:* | *:*TOS
:*:*)
405 echo m68k
-unknown-mint${UNAME_RELEASE}
408 echo powerpc
-apple-machten${UNAME_RELEASE}
411 echo mips
-dec-mach_bsd4.3
414 echo mips
-dec-ultrix${UNAME_RELEASE}
417 echo vax
-dec-ultrix${UNAME_RELEASE}
419 2020:CLIX
:*:* | 2430:CLIX
:*:*)
420 echo clipper
-intergraph-clix${UNAME_RELEASE}
422 mips
:*:*:UMIPS
| mips
:*:*:RISCos
)
423 eval $set_cc_for_build
424 sed 's/^ //' << EOF >$dummy.c
426 #include <stdio.h> /* for printf() prototype */
427 int main (int argc, char *argv[]) {
429 int main (argc, argv) int argc; char *argv[]; {
431 #if defined (host_mips) && defined (MIPSEB)
432 #if defined (SYSTYPE_SYSV)
433 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
435 #if defined (SYSTYPE_SVR4)
436 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
438 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
439 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
445 $CC_FOR_BUILD $dummy.c
-o $dummy \
446 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
447 && rm -f $dummy.c
$dummy && exit 0
448 rm -f $dummy.c
$dummy
449 echo mips
-mips-riscos${UNAME_RELEASE}
451 Motorola
:PowerMAX_OS
:*:*)
452 echo powerpc
-motorola-powermax
454 Night_Hawk
:Power_UNIX
:*:*)
455 echo powerpc
-harris-powerunix
458 echo m88k
-harris-cxux7
461 echo m88k
-motorola-sysv4
464 echo m88k
-motorola-sysv3
467 # DG/UX returns AViiON for all architectures
468 UNAME_PROCESSOR
=`/usr/bin/uname -p`
469 if [ $UNAME_PROCESSOR = mc88100
] || [ $UNAME_PROCESSOR = mc88110
]
471 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
472 [ ${TARGET_BINARY_INTERFACE}x
= x
]
474 echo m88k
-dg-dgux${UNAME_RELEASE}
476 echo m88k
-dg-dguxbcs${UNAME_RELEASE}
479 echo i586
-dg-dgux${UNAME_RELEASE}
482 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
483 echo m88k
-dolphin-sysv3
486 # Delta 88k system running SVR3
487 echo m88k
-motorola-sysv3
489 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
490 echo m88k
-tektronix-sysv3
492 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
493 echo m68k
-tektronix-bsd
496 echo mips
-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
498 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
499 echo romp
-ibm-aix # uname -m gives an 8 hex-code CPU id
500 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
505 if [ -x /usr
/bin
/oslevel
] ; then
506 IBM_REV
=`/usr/bin/oslevel`
508 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
510 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
513 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
514 eval $set_cc_for_build
515 sed 's/^ //' << EOF >$dummy.c
516 #include <sys/systemcfg.h>
522 puts("powerpc-ibm-aix3.2.5");
526 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
527 rm -f $dummy.c
$dummy
528 echo rs6000
-ibm-aix3.2
.5
529 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
530 echo rs6000
-ibm-aix3.2
.4
532 echo rs6000
-ibm-aix3.2
536 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
537 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} | grep ' POWER' >/dev
/null
2>&1; then
542 if [ -x /usr
/bin
/oslevel
] ; then
543 IBM_REV
=`/usr/bin/oslevel`
545 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
547 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
552 ibmrt
:4.4BSD
:*|romp
-ibm:BSD
:*)
555 ibmrt
:*BSD
:*|romp
-ibm:BSD
:*) # covers RT/PC BSD and
556 echo romp
-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
557 exit 0 ;; # report: romp-ibm BSD 4.3
559 echo rs6000
-bull-bosx
564 9000/[34]??
:4.3bsd
:1.
*:*)
567 hp300
:4.4BSD
:*:* | 9000/[34]??
:4.3bsd
:2.
*:*)
570 9000/[34678]??
:HP
-UX:*:*)
571 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
572 case "${UNAME_MACHINE}" in
573 9000/31?
) HP_ARCH
=m68000
;;
574 9000/[34]??
) HP_ARCH
=m68k
;;
575 9000/[678][0-9][0-9])
576 if [ -x /usr
/bin
/getconf
]; then
577 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
578 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
579 case "${sc_cpu_version}" in
580 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
581 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
582 532) # CPU_PA_RISC2_0
583 case "${sc_kernel_bits}" in
584 32) HP_ARCH
="hppa2.0n" ;;
585 64) HP_ARCH
="hppa2.0w" ;;
586 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
590 if [ "${HP_ARCH}" = "" ]; then
591 eval $set_cc_for_build
592 sed 's/^ //' << EOF >$dummy.c
600 #if defined(_SC_KERNEL_BITS)
601 long bits = sysconf(_SC_KERNEL_BITS);
603 long cpu = sysconf (_SC_CPU_VERSION);
607 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
608 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
610 #if defined(_SC_KERNEL_BITS)
613 case 64: puts ("hppa2.0w"); break;
614 case 32: puts ("hppa2.0n"); break;
615 default: puts ("hppa2.0"); break;
617 #else /* !defined(_SC_KERNEL_BITS) */
618 puts ("hppa2.0"); break;
620 default: puts ("hppa1.0"); break;
625 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
626 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
627 rm -f $dummy.c
$dummy
630 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
633 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
634 echo ia64
-hp-hpux${HPUX_REV}
637 eval $set_cc_for_build
638 sed 's/^ //' << EOF >$dummy.c
643 long cpu = sysconf (_SC_CPU_VERSION);
644 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
645 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
647 if (CPU_IS_PA_RISC (cpu))
651 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
652 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
653 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
654 default: puts ("hppa-hitachi-hiuxwe2"); break;
657 else if (CPU_IS_HP_MC68K (cpu))
658 puts ("m68k-hitachi-hiuxwe2");
659 else puts ("unknown-hitachi-hiuxwe2");
663 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
664 rm -f $dummy.c
$dummy
665 echo unknown
-hitachi-hiuxwe2
667 9000/7??
:4.3bsd
:*:* | 9000/8?
[79]:4.3bsd
:*:* )
673 *9??
*:MPE
/iX
:*:* | *3000*:MPE
/iX
:*:*)
674 echo hppa1.0
-hp-mpeix
676 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
683 if [ -x /usr
/sbin
/sysversion
] ; then
684 echo ${UNAME_MACHINE}-unknown-osf1mk
686 echo ${UNAME_MACHINE}-unknown-osf1
690 echo hppa1.1
-hp-lites
692 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
695 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
696 if getsysinfo
-f scalar_acc
697 then echo c32
-convex-bsd
698 else echo c2
-convex-bsd
701 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
704 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
707 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
711 echo ymp
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
714 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
715 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
716 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
720 echo t90
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
723 echo alpha
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
726 echo alphaev5
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
729 echo sv1
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
732 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
733 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
734 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
735 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
737 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* | *:Ascend\ Embedded
/OS
:*:*)
738 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
741 echo sparc
-unknown-bsdi${UNAME_RELEASE}
744 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
747 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
750 echo ${UNAME_MACHINE}-pc-cygwin
753 echo ${UNAME_MACHINE}-pc-mingw32
756 echo ${UNAME_MACHINE}-pc-pw32
759 echo i386
-pc-interix3
761 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
762 # How do we know it's Interix rather than the generic POSIX subsystem?
763 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
764 # UNAME_MACHINE based on the output of uname instead of i386?
768 echo ${UNAME_MACHINE}-pc-uwin
771 echo powerpcle
-unknown-cygwin
774 echo powerpcle
-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
777 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
780 echo ${UNAME_MACHINE}-pc-minix
783 echo ${UNAME_MACHINE}-unknown-linux-gnu
786 echo ${UNAME_MACHINE}-unknown-linux-gnu
789 echo ${UNAME_MACHINE}-unknown-linux-gnu
792 eval $set_cc_for_build
793 sed 's/^ //' << EOF >$dummy.c
797 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
800 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
807 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
809 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
812 echo powerpc
-unknown-linux-gnu
815 echo powerpc64
-unknown-linux-gnu
818 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
819 EV5
) UNAME_MACHINE
=alphaev5
;;
820 EV56
) UNAME_MACHINE
=alphaev56
;;
821 PCA56
) UNAME_MACHINE
=alphapca56
;;
822 PCA57
) UNAME_MACHINE
=alphapca56
;;
823 EV6
) UNAME_MACHINE
=alphaev6
;;
824 EV67
) UNAME_MACHINE
=alphaev67
;;
825 EV68
*) UNAME_MACHINE
=alphaev68
;;
827 objdump
--private-headers /bin
/sh
| grep ld.so
.1 >/dev
/null
828 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
829 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
831 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
833 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
834 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
835 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
836 *) echo hppa
-unknown-linux-gnu ;;
839 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
840 echo hppa64
-unknown-linux-gnu
842 s390
:Linux
:*:* | s390x
:Linux
:*:*)
843 echo ${UNAME_MACHINE}-ibm-linux
846 echo ${UNAME_MACHINE}-unknown-linux-gnu
848 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
849 echo ${UNAME_MACHINE}-unknown-linux-gnu
852 echo x86_64
-unknown-linux-gnu
855 # The BFD linker knows what the default object file format is, so
856 # first see if it will tell us. cd to the root directory to prevent
857 # problems with other programs or directories called `ld' in the path.
858 # Set LC_ALL=C to ensure ld outputs messages in English.
859 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
860 | sed -ne '/supported targets:/!d
862 s/.*supported targets: *//
865 case "$ld_supported_targets" in
867 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
870 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
873 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
876 # Either a pre-BFD a.out linker (linux-gnuoldld) or
877 # one that does not give us useful --help.
878 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
881 # Determine whether the default compiler is a.out or elf
882 eval $set_cc_for_build
883 sed 's/^ //' << EOF >$dummy.c
884 #include <features.h>
896 #ifdef __INTEL_COMPILER
903 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
905 test x
"${LIBC}" != x
&& echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
906 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
909 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
910 # earlier versions are messed up and put the nodename in both
911 # sysname and nodename.
912 echo i386
-sequent-sysv4
914 i
*86:UNIX_SV
:4.2MP
:2.
*)
915 # Unixware is an offshoot of SVR4, but it has its own version
916 # number series starting with 2...
917 # I am not positive that other SVR4 systems won't match this,
918 # I just have to hope. -- rms.
919 # Use sysv4.2uw... so that sysv4* matches it.
920 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
922 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
923 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
924 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
925 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
927 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
931 case `/bin/uname -X | grep "^Machine"` in
932 *486*) UNAME_MACHINE
=i486
;;
933 *Pentium
) UNAME_MACHINE
=i586
;;
934 *Pent
*|*Celeron
) UNAME_MACHINE
=i686
;;
936 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
939 if test -f /usr
/options
/cb.name
; then
940 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
941 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
942 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
943 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
944 (/bin
/uname
-X|egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
945 (/bin
/uname
-X|egrep '^Machine.*Pentium' >/dev
/null
) \
946 && UNAME_MACHINE
=i586
947 (/bin
/uname
-X|egrep '^Machine.*Pent ?II' >/dev
/null
) \
948 && UNAME_MACHINE
=i686
949 (/bin
/uname
-X|egrep '^Machine.*Pentium Pro' >/dev
/null
) \
950 && UNAME_MACHINE
=i686
951 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
953 echo ${UNAME_MACHINE}-pc-sysv32
957 echo ${UNAME_MACHINE}-pc-msdosdjgpp
960 # Left here for compatibility:
961 # uname -m prints for DJGPP always 'pc', but it prints nothing about
962 # the processor, so we play safe by assuming i386.
963 echo i386
-pc-msdosdjgpp
971 i860
:*:4.
*:*) # i860-SVR4
972 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
973 echo i860
-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
974 else # Add other i860-SVR4 vendors below as they are discovered.
975 echo i860
-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
980 echo m68010
-convergent-sysv
983 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
984 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)
986 test -r /etc
/.relid \
987 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
988 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
989 && echo i486
-ncr-sysv4.3
${OS_REL} && exit 0
990 /bin
/uname
-p 2>/dev
/null
| /bin
/grep entium
>/dev
/null \
991 && echo i586
-ncr-sysv4.3
${OS_REL} && exit 0 ;;
992 3[34]??
:*:4.0:* | 3[34]??
,*:*:4.0:*)
993 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
994 && echo i486
-ncr-sysv4 && exit 0 ;;
995 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
996 echo m68k
-unknown-lynxos${UNAME_RELEASE}
998 mc68030
:UNIX_System_V
:4.
*:*)
999 echo m68k
-atari-sysv4
1001 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
1002 echo i386
-unknown-lynxos${UNAME_RELEASE}
1004 TSUNAMI
:LynxOS
:2.
*:*)
1005 echo sparc
-unknown-lynxos${UNAME_RELEASE}
1007 rs6000
:LynxOS
:2.
*:*)
1008 echo rs6000
-unknown-lynxos${UNAME_RELEASE}
1010 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
1011 echo powerpc
-unknown-lynxos${UNAME_RELEASE}
1013 SM
[BE
]S
:UNIX_SV
:*:*)
1014 echo mips
-dde-sysv${UNAME_RELEASE}
1016 RM
*:ReliantUNIX
-*:*:*)
1023 if uname
-p 2>/dev
/null
>/dev
/null
; then
1024 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1025 echo ${UNAME_MACHINE}-sni-sysv4
1030 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1031 # says <Richard.M.Bartel@ccMail.Census.GOV>
1032 echo i586
-unisys-sysv4
1034 *:UNIX_System_V
:4*:FTX
*)
1035 # From Gerald Hewes <hewes@openmarket.com>.
1036 # How about differentiating between stratus architectures? -djm
1037 echo hppa1.1
-stratus-sysv4
1040 # From seanf@swdc.stratus.com.
1041 echo i860
-stratus-sysv4
1044 # From Paul.Green@stratus.com.
1045 echo hppa1.1
-stratus-vos
1048 echo m68k
-apple-aux${UNAME_RELEASE}
1051 echo mips
-sony-newsos6
1053 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1054 if [ -d /usr
/nec
]; then
1055 echo mips
-nec-sysv${UNAME_RELEASE}
1057 echo mips
-unknown-sysv${UNAME_RELEASE}
1060 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1061 echo powerpc
-be-beos
1063 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1064 echo powerpc
-apple-beos
1066 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1070 echo sx4
-nec-superux${UNAME_RELEASE}
1073 echo sx5
-nec-superux${UNAME_RELEASE}
1075 Power
*:Rhapsody
:*:*)
1076 echo powerpc
-apple-rhapsody${UNAME_RELEASE}
1079 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1082 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1084 *:procnto
*:*:* | *:QNX
:[0123456789]*:*)
1085 UNAME_PROCESSOR
=`uname -p`
1086 if test "$UNAME_PROCESSOR" = "x86"; then
1087 UNAME_PROCESSOR
=i386
1090 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1095 NSR
-[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1096 echo nsr
-tandem-nsk${UNAME_RELEASE}
1099 echo mips
-compaq-nonstopux
1102 echo bs2000
-siemens-sysv
1104 DS
/*:UNIX_System_V
:*:*)
1105 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1108 # "uname -m" is not consistent, so use $cputype instead. 386
1109 # is converted to i386 for consistency with other x86
1110 # operating systems.
1111 if test "$cputype" = "386"; then
1114 UNAME_MACHINE
="$cputype"
1116 echo ${UNAME_MACHINE}-unknown-plan9
1119 # If we were able to find `uname', then EMX Unix compatibility
1120 # is probably installed.
1121 echo ${UNAME_MACHINE}-pc-os2-emx
1124 echo pdp10
-unknown-tops10
1127 echo pdp10
-unknown-tenex
1129 KS10
:TOPS
-20:*:* | KL10
:TOPS
-20:*:* | TYPE4
:TOPS
-20:*:*)
1130 echo pdp10
-dec-tops20
1132 XKL
-1:TOPS
-20:*:* | TYPE5
:TOPS
-20:*:*)
1133 echo pdp10
-xkl-tops20
1136 echo pdp10
-unknown-tops20
1139 echo pdp10
-unknown-its
1141 i
*86:XTS
-300:*:STOP
)
1142 echo ${UNAME_MACHINE}-unknown-stop
1145 echo ${UNAME_MACHINE}-unknown-atheos
1149 #echo '(No uname command or uname output not recognized.)' 1>&2
1150 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1152 eval $set_cc_for_build
1155 # include <sys/types.h>
1156 # include <sys/utsname.h>
1161 #if defined (MIPSEB)
1162 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1164 printf ("mips-sony-bsd\n"); exit (0);
1166 #include <sys/param.h>
1167 printf ("m68k-sony-newsos%s\n",
1177 #if defined (__arm) && defined (__acorn) && defined (__unix)
1178 printf ("arm-acorn-riscix"); exit (0);
1181 #if defined (hp300) && !defined (hpux)
1182 printf ("m68k-hp-bsd\n"); exit (0);
1186 #if !defined (__ARCHITECTURE__)
1187 #define __ARCHITECTURE__ "m68k"
1190 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1192 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1194 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1198 #if defined (MULTIMAX) || defined (n16)
1200 printf ("ns32k-encore-sysv\n"); exit (0);
1203 printf ("ns32k-encore-mach\n"); exit (0);
1205 printf ("ns32k-encore-bsd\n"); exit (0);
1210 #if defined (__386BSD__)
1211 printf ("i386-pc-bsd\n"); exit (0);
1214 #if defined (sequent)
1216 printf ("i386-sequent-dynix\n"); exit (0);
1218 #if defined (ns32000)
1219 printf ("ns32k-sequent-dynix\n"); exit (0);
1223 #if defined (_SEQUENT_)
1228 if (strncmp(un.version, "V2", 2) == 0) {
1229 printf ("i386-sequent-ptx2\n"); exit (0);
1231 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1232 printf ("i386-sequent-ptx1\n"); exit (0);
1234 printf ("i386-sequent-ptx\n"); exit (0);
1239 # if !defined (ultrix)
1240 # include <sys/param.h>
1243 printf ("vax-dec-bsd4.3\n"); exit (0);
1246 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1248 printf ("vax-dec-bsd\n"); exit (0);
1252 printf ("vax-dec-bsd\n"); exit (0);
1255 printf ("vax-dec-ultrix\n"); exit (0);
1259 #if defined (alliant) && defined (i860)
1260 printf ("i860-alliant-bsd\n"); exit (0);
1267 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1268 rm -f $dummy.c
$dummy
1270 # Apollos put the system type in the environment.
1272 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1274 # Convex versions that predate uname can use getsysinfo(1)
1276 if [ -x /usr
/convex
/getsysinfo
]
1278 case `getsysinfo -f cpu_type` in
1283 if getsysinfo
-f scalar_acc
1284 then echo c32
-convex-bsd
1285 else echo c2
-convex-bsd
1301 $0: unable to guess system type
1303 This script, last modified $timestamp, has failed to recognize
1304 the operating system you are using. It is advised that you
1305 download the most up to date version of the config scripts from
1307 ftp://ftp.gnu.org/pub/gnu/config/
1309 If the version you run ($0) is already up to date, please
1310 send the following data and any information you think might be
1311 pertinent to <config-patches@gnu.org> in order to provide the needed
1312 information to handle your system.
1314 config.guess timestamp = $timestamp
1316 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1317 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1318 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1319 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1321 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1322 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1324 hostinfo = `(hostinfo) 2>/dev/null`
1325 /bin/universe = `(/bin/universe) 2>/dev/null`
1326 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1327 /bin/arch = `(/bin/arch) 2>/dev/null`
1328 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1329 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1331 UNAME_MACHINE = ${UNAME_MACHINE}
1332 UNAME_RELEASE = ${UNAME_RELEASE}
1333 UNAME_SYSTEM = ${UNAME_SYSTEM}
1334 UNAME_VERSION = ${UNAME_VERSION}
1340 # eval: (add-hook 'write-file-hooks 'time-stamp)
1341 # time-stamp-start: "timestamp='"
1342 # time-stamp-format: "%:y-%02m-%02d"
1343 # time-stamp-end: "'"