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 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 sysctl
="sysctl -n hw.machine_arch"
142 UNAME_MACHINE_ARCH
=`(/sbin/$sysctl 2>/dev/null || \
143 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144 case "${UNAME_MACHINE_ARCH}" in
145 arm
*) machine
=arm-unknown
;;
146 sh3el
) machine
=shl-unknown
;;
147 sh3eb
) machine
=sh-unknown
;;
148 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
150 # The Operating System including object format, if it has switched
151 # to ELF recently, or will in the future.
152 case "${UNAME_MACHINE_ARCH}" in
153 arm
*|i386|m68k|ns32k|sh3
*|sparc|vax
)
154 eval $set_cc_for_build
155 if echo __ELF__ |
$CC_FOR_BUILD -E - 2>/dev
/null \
156 |
grep __ELF__
>/dev
/null
158 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
159 # Return netbsd for either. FIX?
170 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
171 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
172 # contains redundant information, the shorter form:
173 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
174 echo "${machine}-${os}${release}"
177 echo m68k-unknown-openbsd
${UNAME_RELEASE}
180 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
183 echo m68k-unknown-openbsd
${UNAME_RELEASE}
186 echo m68k-unknown-openbsd
${UNAME_RELEASE}
189 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
192 echo m68k-unknown-openbsd
${UNAME_RELEASE}
195 echo m88k-unknown-openbsd
${UNAME_RELEASE}
198 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
201 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
204 echo mipseb-unknown-openbsd
${UNAME_RELEASE}
207 echo m68k-unknown-openbsd
${UNAME_RELEASE}
210 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
213 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
216 if test $UNAME_RELEASE = "V4.0"; then
217 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
219 # A Vn.n version is a released version.
220 # A Tn.n version is a released field test version.
221 # A Xn.n version is an unreleased experimental baselevel.
222 # 1.2 uses "1.2" for uname -r.
226 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
233 .frame \$30,16,\$26,0
236 .long 0x47e03d80 # implver \$0
238 .long 0x47e20c21 # amask \$2,\$1
248 eval $set_cc_for_build
249 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
250 if test "$?" = 0 ; then
253 UNAME_MACHINE
="alpha"
256 UNAME_MACHINE
="alphaev5"
259 UNAME_MACHINE
="alphaev56"
262 UNAME_MACHINE
="alphapca56"
265 UNAME_MACHINE
="alphaev6"
268 UNAME_MACHINE
="alphaev67"
271 UNAME_MACHINE
="alphaev68"
275 rm -f $dummy.s
$dummy
276 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278 Alpha\
*:Windows_NT
*:*)
279 # How do we know it's Interix rather than the generic POSIX subsystem?
280 # Should we change UNAME_MACHINE based on the output of uname instead
281 # of the specific Alpha model?
282 echo alpha-pc-interix
284 21064:Windows_NT
:50:3)
285 echo alpha-dec-winnt3.5
287 Amiga
*:UNIX_System_V
:4.0:*)
288 echo m68k-unknown-sysv4
290 *:[Aa
]miga
[Oo
][Ss
]:*:*)
291 echo ${UNAME_MACHINE}-unknown-amigaos
293 *:[Mm
]orph
[Oo
][Ss
]:*:*)
294 echo ${UNAME_MACHINE}-unknown-morphos
297 echo i370-ibm-openedition
299 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
300 echo arm-acorn-riscix
${UNAME_RELEASE}
302 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
303 echo hppa1.1
-hitachi-hiuxmpp
305 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
306 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
307 if test "`(/bin/universe) 2>/dev/null`" = att
; then
308 echo pyramid-pyramid-sysv3
310 echo pyramid-pyramid-bsd
314 echo pyramid-pyramid-svr4
317 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
320 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
323 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
326 # According to config.sub, this is the proper way to canonicalize
327 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
328 # it's likely to be more like Solaris than SunOS4.
329 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332 case "`/usr/bin/arch -k`" in
334 UNAME_RELEASE
=`uname -v`
337 # Japanese Language versions have a version number like `4.1.3-JL'.
338 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
341 echo m68k-sun-sunos
${UNAME_RELEASE}
344 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
345 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
346 case "`/bin/arch`" in
348 echo m68k-sun-sunos
${UNAME_RELEASE}
351 echo sparc-sun-sunos
${UNAME_RELEASE}
356 echo sparc-auspex-sunos
${UNAME_RELEASE}
358 # The situation for MiNT is a little confusing. The machine name
359 # can be virtually everything (everything which is not
360 # "atarist" or "atariste" at least should have a processor
361 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
362 # to the lowercase version "mint" (or "freemint"). Finally
363 # the system name "TOS" denotes a system which is actually not
364 # MiNT. But MiNT is downward compatible to TOS, so this should
366 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
367 echo m68k-atari-mint
${UNAME_RELEASE}
369 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
370 echo m68k-atari-mint
${UNAME_RELEASE}
372 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
373 echo m68k-atari-mint
${UNAME_RELEASE}
375 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
376 echo m68k-milan-mint
${UNAME_RELEASE}
378 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
379 echo m68k-hades-mint
${UNAME_RELEASE}
381 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
382 echo m68k-unknown-mint
${UNAME_RELEASE}
385 echo powerpc-apple-machten
${UNAME_RELEASE}
388 echo mips-dec-mach_bsd4.3
391 echo mips-dec-ultrix
${UNAME_RELEASE}
394 echo vax-dec-ultrix
${UNAME_RELEASE}
396 2020:CLIX
:*:* |
2430:CLIX
:*:*)
397 echo clipper-intergraph-clix
${UNAME_RELEASE}
399 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
400 eval $set_cc_for_build
401 sed 's/^ //' << EOF >$dummy.c
403 #include <stdio.h> /* for printf() prototype */
404 int main (int argc, char *argv[]) {
406 int main (argc, argv) int argc; char *argv[]; {
408 #if defined (host_mips) && defined (MIPSEB)
409 #if defined (SYSTYPE_SYSV)
410 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
412 #if defined (SYSTYPE_SVR4)
413 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
415 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
416 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
422 $CC_FOR_BUILD $dummy.c
-o $dummy \
423 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
424 && rm -f $dummy.c
$dummy && exit 0
425 rm -f $dummy.c
$dummy
426 echo mips-mips-riscos
${UNAME_RELEASE}
428 Motorola
:PowerMAX_OS
:*:*)
429 echo powerpc-motorola-powermax
431 Night_Hawk
:Power_UNIX
:*:*)
432 echo powerpc-harris-powerunix
435 echo m88k-harris-cxux7
438 echo m88k-motorola-sysv4
441 echo m88k-motorola-sysv3
444 # DG/UX returns AViiON for all architectures
445 UNAME_PROCESSOR
=`/usr/bin/uname -p`
446 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
448 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
449 [ ${TARGET_BINARY_INTERFACE}x
= x
]
451 echo m88k-dg-dgux
${UNAME_RELEASE}
453 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
456 echo i586-dg-dgux
${UNAME_RELEASE}
459 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
460 echo m88k-dolphin-sysv3
463 # Delta 88k system running SVR3
464 echo m88k-motorola-sysv3
466 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
467 echo m88k-tektronix-sysv3
469 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
470 echo m68k-tektronix-bsd
473 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
475 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
476 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
477 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
482 if [ -x /usr
/bin
/oslevel
] ; then
483 IBM_REV
=`/usr/bin/oslevel`
485 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
487 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
490 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
491 eval $set_cc_for_build
492 sed 's/^ //' << EOF >$dummy.c
493 #include <sys/systemcfg.h>
499 puts("powerpc-ibm-aix3.2.5");
503 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
504 rm -f $dummy.c
$dummy
505 echo rs6000-ibm-aix3.2
.5
506 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
507 echo rs6000-ibm-aix3.2
.4
509 echo rs6000-ibm-aix3.2
513 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
514 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
519 if [ -x /usr
/bin
/oslevel
] ; then
520 IBM_REV
=`/usr/bin/oslevel`
522 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
524 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
529 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
532 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
533 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
534 exit 0 ;; # report: romp-ibm BSD 4.3
536 echo rs6000-bull-bosx
541 9000/[34]??
:4.3bsd
:1.
*:*)
544 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
547 9000/[34678]??
:HP-UX
:*:*)
548 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
549 case "${UNAME_MACHINE}" in
550 9000/31?
) HP_ARCH
=m68000
;;
551 9000/[34]??
) HP_ARCH
=m68k
;;
552 9000/[678][0-9][0-9])
553 if [ -x /usr
/bin
/getconf
]; then
554 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
555 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
556 case "${sc_cpu_version}" in
557 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
558 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
559 532) # CPU_PA_RISC2_0
560 case "${sc_kernel_bits}" in
561 32) HP_ARCH
="hppa2.0n" ;;
562 64) HP_ARCH
="hppa2.0w" ;;
563 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
567 if [ "${HP_ARCH}" = "" ]; then
568 eval $set_cc_for_build
569 sed 's/^ //' << EOF >$dummy.c
577 #if defined(_SC_KERNEL_BITS)
578 long bits = sysconf(_SC_KERNEL_BITS);
580 long cpu = sysconf (_SC_CPU_VERSION);
584 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
585 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
587 #if defined(_SC_KERNEL_BITS)
590 case 64: puts ("hppa2.0w"); break;
591 case 32: puts ("hppa2.0n"); break;
592 default: puts ("hppa2.0"); break;
594 #else /* !defined(_SC_KERNEL_BITS) */
595 puts ("hppa2.0"); break;
597 default: puts ("hppa1.0"); break;
602 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
603 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
604 rm -f $dummy.c
$dummy
607 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
610 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
611 echo ia64-hp-hpux
${HPUX_REV}
614 eval $set_cc_for_build
615 sed 's/^ //' << EOF >$dummy.c
620 long cpu = sysconf (_SC_CPU_VERSION);
621 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
622 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
624 if (CPU_IS_PA_RISC (cpu))
628 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
629 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
630 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
631 default: puts ("hppa-hitachi-hiuxwe2"); break;
634 else if (CPU_IS_HP_MC68K (cpu))
635 puts ("m68k-hitachi-hiuxwe2");
636 else puts ("unknown-hitachi-hiuxwe2");
640 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
641 rm -f $dummy.c
$dummy
642 echo unknown-hitachi-hiuxwe2
644 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
650 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
651 echo hppa1.0
-hp-mpeix
653 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
660 if [ -x /usr
/sbin
/sysversion
] ; then
661 echo ${UNAME_MACHINE}-unknown-osf1mk
663 echo ${UNAME_MACHINE}-unknown-osf1
667 echo hppa1.1
-hp-lites
669 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
672 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
673 if getsysinfo
-f scalar_acc
674 then echo c32-convex-bsd
675 else echo c2-convex-bsd
678 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
681 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
684 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
688 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
691 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
692 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
693 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
697 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
700 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
703 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
706 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
708 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
709 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
710 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
711 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
712 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
714 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
715 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
718 echo sparc-unknown-bsdi
${UNAME_RELEASE}
721 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
724 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
727 echo ${UNAME_MACHINE}-pc-cygwin
730 echo ${UNAME_MACHINE}-pc-mingw32
733 echo ${UNAME_MACHINE}-pc-pw32
736 echo i386-pc-interix3
738 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
739 # How do we know it's Interix rather than the generic POSIX subsystem?
740 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
741 # UNAME_MACHINE based on the output of uname instead of i386?
745 echo ${UNAME_MACHINE}-pc-uwin
748 echo powerpcle-unknown-cygwin
751 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
754 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
757 echo ${UNAME_MACHINE}-pc-minix
760 echo ${UNAME_MACHINE}-unknown-linux-gnu
763 echo ${UNAME_MACHINE}-unknown-linux
766 echo ${UNAME_MACHINE}-unknown-linux-gnu
769 eval $set_cc_for_build
770 sed 's/^ //' << EOF >$dummy.c
774 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
777 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
784 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
786 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
789 echo powerpc-unknown-linux-gnu
792 echo powerpc64-unknown-linux-gnu
795 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
796 EV5
) UNAME_MACHINE
=alphaev5
;;
797 EV56
) UNAME_MACHINE
=alphaev56
;;
798 PCA56
) UNAME_MACHINE
=alphapca56
;;
799 PCA57
) UNAME_MACHINE
=alphapca56
;;
800 EV6
) UNAME_MACHINE
=alphaev6
;;
801 EV67
) UNAME_MACHINE
=alphaev67
;;
802 EV68
*) UNAME_MACHINE
=alphaev68
;;
804 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
805 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
806 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
808 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
810 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
811 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
812 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
813 *) echo hppa-unknown-linux-gnu
;;
816 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
817 echo hppa64-unknown-linux-gnu
819 s390
:Linux
:*:* | s390x
:Linux
:*:*)
820 echo ${UNAME_MACHINE}-ibm-linux
823 echo ${UNAME_MACHINE}-unknown-linux-gnu
825 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
826 echo ${UNAME_MACHINE}-unknown-linux-gnu
829 echo x86_64-unknown-linux-gnu
832 # The BFD linker knows what the default object file format is, so
833 # first see if it will tell us. cd to the root directory to prevent
834 # problems with other programs or directories called `ld' in the path.
835 # Set LC_ALL=C to ensure ld outputs messages in English.
836 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
837 | sed -ne '/supported targets:/!d
839 s/.*supported targets: *//
842 case "$ld_supported_targets" in
844 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
847 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
850 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
853 # Either a pre-BFD a.out linker (linux-gnuoldld) or
854 # one that does not give us useful --help.
855 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
858 # Determine whether the default compiler is a.out or elf
859 eval $set_cc_for_build
860 sed 's/^ //' << EOF >$dummy.c
861 #include <features.h>
873 #ifdef __INTEL_COMPILER
880 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
882 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
883 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
886 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
887 # earlier versions are messed up and put the nodename in both
888 # sysname and nodename.
889 echo i386-sequent-sysv4
891 i
*86:UNIX_SV
:4.2MP
:2.
*)
892 # Unixware is an offshoot of SVR4, but it has its own version
893 # number series starting with 2...
894 # I am not positive that other SVR4 systems won't match this,
895 # I just have to hope. -- rms.
896 # Use sysv4.2uw... so that sysv4* matches it.
897 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
899 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
900 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
901 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
902 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
904 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
908 case `/bin/uname -X | grep "^Machine"` in
909 *486*) UNAME_MACHINE
=i486
;;
910 *Pentium
) UNAME_MACHINE
=i586
;;
911 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
913 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
916 if test -f /usr
/options
/cb.name
; then
917 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
918 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
919 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
920 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
921 (/bin
/uname
-X|
egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
922 (/bin
/uname
-X|
egrep '^Machine.*Pentium' >/dev
/null
) \
923 && UNAME_MACHINE
=i586
924 (/bin
/uname
-X|
egrep '^Machine.*Pent ?II' >/dev
/null
) \
925 && UNAME_MACHINE
=i686
926 (/bin
/uname
-X|
egrep '^Machine.*Pentium Pro' >/dev
/null
) \
927 && UNAME_MACHINE
=i686
928 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
930 echo ${UNAME_MACHINE}-pc-sysv32
934 echo ${UNAME_MACHINE}-pc-msdosdjgpp
937 # Left here for compatibility:
938 # uname -m prints for DJGPP always 'pc', but it prints nothing about
939 # the processor, so we play safe by assuming i386.
940 echo i386-pc-msdosdjgpp
948 i860
:*:4.
*:*) # i860-SVR4
949 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
950 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
951 else # Add other i860-SVR4 vendors below as they are discovered.
952 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
957 echo m68010-convergent-sysv
960 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
961 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)
963 test -r /etc
/.relid \
964 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
965 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
966 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
967 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
968 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
969 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
970 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
971 && echo i486-ncr-sysv4
&& exit 0 ;;
972 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
973 echo m68k-unknown-lynxos
${UNAME_RELEASE}
975 mc68030
:UNIX_System_V
:4.
*:*)
976 echo m68k-atari-sysv4
978 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
979 echo i386-unknown-lynxos
${UNAME_RELEASE}
981 TSUNAMI
:LynxOS
:2.
*:*)
982 echo sparc-unknown-lynxos
${UNAME_RELEASE}
985 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
987 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
988 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
991 echo mips-dde-sysv
${UNAME_RELEASE}
993 RM
*:ReliantUNIX-
*:*:*)
1000 if uname
-p 2>/dev
/null
>/dev
/null
; then
1001 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1002 echo ${UNAME_MACHINE}-sni-sysv4
1007 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1008 # says <Richard.M.Bartel@ccMail.Census.GOV>
1009 echo i586-unisys-sysv4
1011 *:UNIX_System_V
:4*:FTX
*)
1012 # From Gerald Hewes <hewes@openmarket.com>.
1013 # How about differentiating between stratus architectures? -djm
1014 echo hppa1.1
-stratus-sysv4
1017 # From seanf@swdc.stratus.com.
1018 echo i860-stratus-sysv4
1021 # From Paul.Green@stratus.com.
1022 echo hppa1.1
-stratus-vos
1025 echo m68k-apple-aux
${UNAME_RELEASE}
1028 echo mips-sony-newsos6
1030 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1031 if [ -d /usr
/nec
]; then
1032 echo mips-nec-sysv
${UNAME_RELEASE}
1034 echo mips-unknown-sysv
${UNAME_RELEASE}
1037 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1038 echo powerpc-be-beos
1040 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1041 echo powerpc-apple-beos
1043 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1047 echo sx4-nec-superux
${UNAME_RELEASE}
1050 echo sx5-nec-superux
${UNAME_RELEASE}
1052 Power
*:Rhapsody
:*:*)
1053 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1056 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1059 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1061 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1062 if test "${UNAME_MACHINE}" = "x86pc"; then
1064 echo i386-
${UNAME_MACHINE}-nto-qnx
1066 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1072 NSR-
[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1073 echo nsr-tandem-nsk
${UNAME_RELEASE}
1076 echo mips-compaq-nonstopux
1079 echo bs2000-siemens-sysv
1081 DS
/*:UNIX_System_V
:*:*)
1082 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1085 # "uname -m" is not consistent, so use $cputype instead. 386
1086 # is converted to i386 for consistency with other x86
1087 # operating systems.
1088 if test "$cputype" = "386"; then
1091 UNAME_MACHINE
="$cputype"
1093 echo ${UNAME_MACHINE}-unknown-plan9
1096 # If we were able to find `uname', then EMX Unix compatibility
1097 # is probably installed.
1098 echo ${UNAME_MACHINE}-pc-os2-emx
1101 echo pdp10-unknown-tops10
1104 echo pdp10-unknown-tenex
1106 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1107 echo pdp10-dec-tops20
1109 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1110 echo pdp10-xkl-tops20
1113 echo pdp10-unknown-tops20
1116 echo pdp10-unknown-its
1118 i
*86:XTS-300
:*:STOP
)
1119 echo ${UNAME_MACHINE}-unknown-stop
1122 echo ${UNAME_MACHINE}-unknown-atheos
1126 #echo '(No uname command or uname output not recognized.)' 1>&2
1127 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1129 eval $set_cc_for_build
1132 # include <sys/types.h>
1133 # include <sys/utsname.h>
1138 #if defined (MIPSEB)
1139 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1141 printf ("mips-sony-bsd\n"); exit (0);
1143 #include <sys/param.h>
1144 printf ("m68k-sony-newsos%s\n",
1154 #if defined (__arm) && defined (__acorn) && defined (__unix)
1155 printf ("arm-acorn-riscix"); exit (0);
1158 #if defined (hp300) && !defined (hpux)
1159 printf ("m68k-hp-bsd\n"); exit (0);
1163 #if !defined (__ARCHITECTURE__)
1164 #define __ARCHITECTURE__ "m68k"
1167 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1169 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1171 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1175 #if defined (MULTIMAX) || defined (n16)
1177 printf ("ns32k-encore-sysv\n"); exit (0);
1180 printf ("ns32k-encore-mach\n"); exit (0);
1182 printf ("ns32k-encore-bsd\n"); exit (0);
1187 #if defined (__386BSD__)
1188 printf ("i386-pc-bsd\n"); exit (0);
1191 #if defined (sequent)
1193 printf ("i386-sequent-dynix\n"); exit (0);
1195 #if defined (ns32000)
1196 printf ("ns32k-sequent-dynix\n"); exit (0);
1200 #if defined (_SEQUENT_)
1205 if (strncmp(un.version, "V2", 2) == 0) {
1206 printf ("i386-sequent-ptx2\n"); exit (0);
1208 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1209 printf ("i386-sequent-ptx1\n"); exit (0);
1211 printf ("i386-sequent-ptx\n"); exit (0);
1216 # if !defined (ultrix)
1217 # include <sys/param.h>
1220 printf ("vax-dec-bsd4.3\n"); exit (0);
1223 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1225 printf ("vax-dec-bsd\n"); exit (0);
1229 printf ("vax-dec-bsd\n"); exit (0);
1232 printf ("vax-dec-ultrix\n"); exit (0);
1236 #if defined (alliant) && defined (i860)
1237 printf ("i860-alliant-bsd\n"); exit (0);
1244 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1245 rm -f $dummy.c
$dummy
1247 # Apollos put the system type in the environment.
1249 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1251 # Convex versions that predate uname can use getsysinfo(1)
1253 if [ -x /usr
/convex
/getsysinfo
]
1255 case `getsysinfo -f cpu_type` in
1260 if getsysinfo
-f scalar_acc
1261 then echo c32-convex-bsd
1262 else echo c2-convex-bsd
1278 $0: unable to guess system type
1280 This script, last modified $timestamp, has failed to recognize
1281 the operating system you are using. It is advised that you
1282 download the most up to date version of the config scripts from
1284 ftp://ftp.gnu.org/pub/gnu/config/
1286 If the version you run ($0) is already up to date, please
1287 send the following data and any information you think might be
1288 pertinent to <config-patches@gnu.org> in order to provide the needed
1289 information to handle your system.
1291 config.guess timestamp = $timestamp
1293 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1294 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1295 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1296 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1298 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1299 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1301 hostinfo = `(hostinfo) 2>/dev/null`
1302 /bin/universe = `(/bin/universe) 2>/dev/null`
1303 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1304 /bin/arch = `(/bin/arch) 2>/dev/null`
1305 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1306 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1308 UNAME_MACHINE = ${UNAME_MACHINE}
1309 UNAME_RELEASE = ${UNAME_RELEASE}
1310 UNAME_SYSTEM = ${UNAME_SYSTEM}
1311 UNAME_VERSION = ${UNAME_VERSION}
1317 # eval: (add-hook 'write-file-hooks 'time-stamp)
1318 # time-stamp-start: "timestamp='"
1319 # time-stamp-format: "%:y-%02m-%02d"
1320 # time-stamp-end: "'"