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 ${UNAME_MACHINE}-unknown-aros
300 echo i370-ibm-openedition
302 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
303 echo arm-acorn-riscix
${UNAME_RELEASE}
305 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
306 echo hppa1.1
-hitachi-hiuxmpp
308 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
309 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
310 if test "`(/bin/universe) 2>/dev/null`" = att
; then
311 echo pyramid-pyramid-sysv3
313 echo pyramid-pyramid-bsd
317 echo pyramid-pyramid-svr4
320 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
323 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
326 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329 # According to config.sub, this is the proper way to canonicalize
330 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
331 # it's likely to be more like Solaris than SunOS4.
332 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335 case "`/usr/bin/arch -k`" in
337 UNAME_RELEASE
=`uname -v`
340 # Japanese Language versions have a version number like `4.1.3-JL'.
341 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
344 echo m68k-sun-sunos
${UNAME_RELEASE}
347 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
348 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
349 case "`/bin/arch`" in
351 echo m68k-sun-sunos
${UNAME_RELEASE}
354 echo sparc-sun-sunos
${UNAME_RELEASE}
359 echo sparc-auspex-sunos
${UNAME_RELEASE}
361 # The situation for MiNT is a little confusing. The machine name
362 # can be virtually everything (everything which is not
363 # "atarist" or "atariste" at least should have a processor
364 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
365 # to the lowercase version "mint" (or "freemint"). Finally
366 # the system name "TOS" denotes a system which is actually not
367 # MiNT. But MiNT is downward compatible to TOS, so this should
369 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
370 echo m68k-atari-mint
${UNAME_RELEASE}
372 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
373 echo m68k-atari-mint
${UNAME_RELEASE}
375 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
376 echo m68k-atari-mint
${UNAME_RELEASE}
378 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
379 echo m68k-milan-mint
${UNAME_RELEASE}
381 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
382 echo m68k-hades-mint
${UNAME_RELEASE}
384 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
385 echo m68k-unknown-mint
${UNAME_RELEASE}
388 echo powerpc-apple-machten
${UNAME_RELEASE}
391 echo mips-dec-mach_bsd4.3
394 echo mips-dec-ultrix
${UNAME_RELEASE}
397 echo vax-dec-ultrix
${UNAME_RELEASE}
399 2020:CLIX
:*:* |
2430:CLIX
:*:*)
400 echo clipper-intergraph-clix
${UNAME_RELEASE}
402 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
403 eval $set_cc_for_build
404 sed 's/^ //' << EOF >$dummy.c
406 #include <stdio.h> /* for printf() prototype */
407 int main (int argc, char *argv[]) {
409 int main (argc, argv) int argc; char *argv[]; {
411 #if defined (host_mips) && defined (MIPSEB)
412 #if defined (SYSTYPE_SYSV)
413 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
415 #if defined (SYSTYPE_SVR4)
416 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
418 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
419 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
425 $CC_FOR_BUILD $dummy.c
-o $dummy \
426 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
427 && rm -f $dummy.c
$dummy && exit 0
428 rm -f $dummy.c
$dummy
429 echo mips-mips-riscos
${UNAME_RELEASE}
431 Motorola
:PowerMAX_OS
:*:*)
432 echo powerpc-motorola-powermax
434 Night_Hawk
:Power_UNIX
:*:*)
435 echo powerpc-harris-powerunix
438 echo m88k-harris-cxux7
441 echo m88k-motorola-sysv4
444 echo m88k-motorola-sysv3
447 # DG/UX returns AViiON for all architectures
448 UNAME_PROCESSOR
=`/usr/bin/uname -p`
449 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
451 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
452 [ ${TARGET_BINARY_INTERFACE}x
= x
]
454 echo m88k-dg-dgux
${UNAME_RELEASE}
456 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
459 echo i586-dg-dgux
${UNAME_RELEASE}
462 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
463 echo m88k-dolphin-sysv3
466 # Delta 88k system running SVR3
467 echo m88k-motorola-sysv3
469 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
470 echo m88k-tektronix-sysv3
472 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
473 echo m68k-tektronix-bsd
476 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
478 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
479 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
480 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
485 if [ -x /usr
/bin
/oslevel
] ; then
486 IBM_REV
=`/usr/bin/oslevel`
488 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
490 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
493 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
494 eval $set_cc_for_build
495 sed 's/^ //' << EOF >$dummy.c
496 #include <sys/systemcfg.h>
502 puts("powerpc-ibm-aix3.2.5");
506 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
507 rm -f $dummy.c
$dummy
508 echo rs6000-ibm-aix3.2
.5
509 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
510 echo rs6000-ibm-aix3.2
.4
512 echo rs6000-ibm-aix3.2
516 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
517 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
522 if [ -x /usr
/bin
/oslevel
] ; then
523 IBM_REV
=`/usr/bin/oslevel`
525 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
527 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
532 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
535 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
536 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
537 exit 0 ;; # report: romp-ibm BSD 4.3
539 echo rs6000-bull-bosx
544 9000/[34]??
:4.3bsd
:1.
*:*)
547 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
550 9000/[34678]??
:HP-UX
:*:*)
551 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
552 case "${UNAME_MACHINE}" in
553 9000/31?
) HP_ARCH
=m68000
;;
554 9000/[34]??
) HP_ARCH
=m68k
;;
555 9000/[678][0-9][0-9])
556 if [ -x /usr
/bin
/getconf
]; then
557 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
558 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
559 case "${sc_cpu_version}" in
560 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
561 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
562 532) # CPU_PA_RISC2_0
563 case "${sc_kernel_bits}" in
564 32) HP_ARCH
="hppa2.0n" ;;
565 64) HP_ARCH
="hppa2.0w" ;;
566 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
570 if [ "${HP_ARCH}" = "" ]; then
571 eval $set_cc_for_build
572 sed 's/^ //' << EOF >$dummy.c
580 #if defined(_SC_KERNEL_BITS)
581 long bits = sysconf(_SC_KERNEL_BITS);
583 long cpu = sysconf (_SC_CPU_VERSION);
587 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
588 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
590 #if defined(_SC_KERNEL_BITS)
593 case 64: puts ("hppa2.0w"); break;
594 case 32: puts ("hppa2.0n"); break;
595 default: puts ("hppa2.0"); break;
597 #else /* !defined(_SC_KERNEL_BITS) */
598 puts ("hppa2.0"); break;
600 default: puts ("hppa1.0"); break;
605 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
606 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
607 rm -f $dummy.c
$dummy
610 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
613 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
614 echo ia64-hp-hpux
${HPUX_REV}
617 eval $set_cc_for_build
618 sed 's/^ //' << EOF >$dummy.c
623 long cpu = sysconf (_SC_CPU_VERSION);
624 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
625 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
627 if (CPU_IS_PA_RISC (cpu))
631 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
632 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
633 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
634 default: puts ("hppa-hitachi-hiuxwe2"); break;
637 else if (CPU_IS_HP_MC68K (cpu))
638 puts ("m68k-hitachi-hiuxwe2");
639 else puts ("unknown-hitachi-hiuxwe2");
643 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
644 rm -f $dummy.c
$dummy
645 echo unknown-hitachi-hiuxwe2
647 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
653 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
654 echo hppa1.0
-hp-mpeix
656 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
663 if [ -x /usr
/sbin
/sysversion
] ; then
664 echo ${UNAME_MACHINE}-unknown-osf1mk
666 echo ${UNAME_MACHINE}-unknown-osf1
670 echo hppa1.1
-hp-lites
672 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
675 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
676 if getsysinfo
-f scalar_acc
677 then echo c32-convex-bsd
678 else echo c2-convex-bsd
681 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
684 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
687 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
691 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
694 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
695 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
696 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
700 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
703 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
706 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
709 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
711 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
712 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
713 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
714 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
715 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
717 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
718 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
721 echo sparc-unknown-bsdi
${UNAME_RELEASE}
724 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
727 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
730 echo ${UNAME_MACHINE}-pc-cygwin
733 echo ${UNAME_MACHINE}-pc-mingw32
736 echo ${UNAME_MACHINE}-pc-pw32
739 echo i386-pc-interix3
741 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
742 # How do we know it's Interix rather than the generic POSIX subsystem?
743 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
744 # UNAME_MACHINE based on the output of uname instead of i386?
748 echo ${UNAME_MACHINE}-pc-uwin
751 echo powerpcle-unknown-cygwin
754 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
757 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
760 echo ${UNAME_MACHINE}-pc-minix
763 echo ${UNAME_MACHINE}-unknown-linux-gnu
766 echo ${UNAME_MACHINE}-unknown-linux
769 echo ${UNAME_MACHINE}-unknown-linux-gnu
772 eval $set_cc_for_build
773 sed 's/^ //' << EOF >$dummy.c
777 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
780 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
787 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
789 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
792 echo powerpc-unknown-linux-gnu
795 echo powerpc64-unknown-linux-gnu
798 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
799 EV5
) UNAME_MACHINE
=alphaev5
;;
800 EV56
) UNAME_MACHINE
=alphaev56
;;
801 PCA56
) UNAME_MACHINE
=alphapca56
;;
802 PCA57
) UNAME_MACHINE
=alphapca56
;;
803 EV6
) UNAME_MACHINE
=alphaev6
;;
804 EV67
) UNAME_MACHINE
=alphaev67
;;
805 EV68
*) UNAME_MACHINE
=alphaev68
;;
807 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
808 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
809 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
811 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
813 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
814 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
815 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
816 *) echo hppa-unknown-linux-gnu
;;
819 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
820 echo hppa64-unknown-linux-gnu
822 s390
:Linux
:*:* | s390x
:Linux
:*:*)
823 echo ${UNAME_MACHINE}-ibm-linux
826 echo ${UNAME_MACHINE}-unknown-linux-gnu
828 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
829 echo ${UNAME_MACHINE}-unknown-linux-gnu
832 echo x86_64-unknown-linux-gnu
835 # The BFD linker knows what the default object file format is, so
836 # first see if it will tell us. cd to the root directory to prevent
837 # problems with other programs or directories called `ld' in the path.
838 # Set LC_ALL=C to ensure ld outputs messages in English.
839 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
840 | sed -ne '/supported targets:/!d
842 s/.*supported targets: *//
845 case "$ld_supported_targets" in
847 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
850 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
853 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
856 # Either a pre-BFD a.out linker (linux-gnuoldld) or
857 # one that does not give us useful --help.
858 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
861 # Determine whether the default compiler is a.out or elf
862 eval $set_cc_for_build
863 sed 's/^ //' << EOF >$dummy.c
864 #include <features.h>
876 #ifdef __INTEL_COMPILER
883 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
885 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
886 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
889 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
890 # earlier versions are messed up and put the nodename in both
891 # sysname and nodename.
892 echo i386-sequent-sysv4
894 i
*86:UNIX_SV
:4.2MP
:2.
*)
895 # Unixware is an offshoot of SVR4, but it has its own version
896 # number series starting with 2...
897 # I am not positive that other SVR4 systems won't match this,
898 # I just have to hope. -- rms.
899 # Use sysv4.2uw... so that sysv4* matches it.
900 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
902 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
903 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
904 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
905 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
907 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
911 case `/bin/uname -X | grep "^Machine"` in
912 *486*) UNAME_MACHINE
=i486
;;
913 *Pentium
) UNAME_MACHINE
=i586
;;
914 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
916 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
919 if test -f /usr
/options
/cb.name
; then
920 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
921 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
922 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
923 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
924 (/bin
/uname
-X|
egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
925 (/bin
/uname
-X|
egrep '^Machine.*Pentium' >/dev
/null
) \
926 && UNAME_MACHINE
=i586
927 (/bin
/uname
-X|
egrep '^Machine.*Pent ?II' >/dev
/null
) \
928 && UNAME_MACHINE
=i686
929 (/bin
/uname
-X|
egrep '^Machine.*Pentium Pro' >/dev
/null
) \
930 && UNAME_MACHINE
=i686
931 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
933 echo ${UNAME_MACHINE}-pc-sysv32
937 echo ${UNAME_MACHINE}-pc-msdosdjgpp
940 # Left here for compatibility:
941 # uname -m prints for DJGPP always 'pc', but it prints nothing about
942 # the processor, so we play safe by assuming i386.
943 echo i386-pc-msdosdjgpp
951 i860
:*:4.
*:*) # i860-SVR4
952 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
953 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
954 else # Add other i860-SVR4 vendors below as they are discovered.
955 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
960 echo m68010-convergent-sysv
963 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
964 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)
966 test -r /etc
/.relid \
967 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
968 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
969 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
970 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
971 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
972 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
973 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
974 && echo i486-ncr-sysv4
&& exit 0 ;;
975 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
976 echo m68k-unknown-lynxos
${UNAME_RELEASE}
978 mc68030
:UNIX_System_V
:4.
*:*)
979 echo m68k-atari-sysv4
981 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
982 echo i386-unknown-lynxos
${UNAME_RELEASE}
984 TSUNAMI
:LynxOS
:2.
*:*)
985 echo sparc-unknown-lynxos
${UNAME_RELEASE}
988 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
990 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
991 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
994 echo mips-dde-sysv
${UNAME_RELEASE}
996 RM
*:ReliantUNIX-
*:*:*)
1003 if uname
-p 2>/dev
/null
>/dev
/null
; then
1004 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1005 echo ${UNAME_MACHINE}-sni-sysv4
1010 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1011 # says <Richard.M.Bartel@ccMail.Census.GOV>
1012 echo i586-unisys-sysv4
1014 *:UNIX_System_V
:4*:FTX
*)
1015 # From Gerald Hewes <hewes@openmarket.com>.
1016 # How about differentiating between stratus architectures? -djm
1017 echo hppa1.1
-stratus-sysv4
1020 # From seanf@swdc.stratus.com.
1021 echo i860-stratus-sysv4
1024 # From Paul.Green@stratus.com.
1025 echo hppa1.1
-stratus-vos
1028 echo m68k-apple-aux
${UNAME_RELEASE}
1031 echo mips-sony-newsos6
1033 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1034 if [ -d /usr
/nec
]; then
1035 echo mips-nec-sysv
${UNAME_RELEASE}
1037 echo mips-unknown-sysv
${UNAME_RELEASE}
1040 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1041 echo powerpc-be-beos
1043 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1044 echo powerpc-apple-beos
1046 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1050 echo sx4-nec-superux
${UNAME_RELEASE}
1053 echo sx5-nec-superux
${UNAME_RELEASE}
1055 Power
*:Rhapsody
:*:*)
1056 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1059 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1062 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1064 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1065 if test "${UNAME_MACHINE}" = "x86pc"; then
1067 echo i386-
${UNAME_MACHINE}-nto-qnx
1069 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1075 NSR-
[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1076 echo nsr-tandem-nsk
${UNAME_RELEASE}
1079 echo mips-compaq-nonstopux
1082 echo bs2000-siemens-sysv
1084 DS
/*:UNIX_System_V
:*:*)
1085 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1088 # "uname -m" is not consistent, so use $cputype instead. 386
1089 # is converted to i386 for consistency with other x86
1090 # operating systems.
1091 if test "$cputype" = "386"; then
1094 UNAME_MACHINE
="$cputype"
1096 echo ${UNAME_MACHINE}-unknown-plan9
1099 # If we were able to find `uname', then EMX Unix compatibility
1100 # is probably installed.
1101 echo ${UNAME_MACHINE}-pc-os2-emx
1104 echo pdp10-unknown-tops10
1107 echo pdp10-unknown-tenex
1109 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1110 echo pdp10-dec-tops20
1112 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1113 echo pdp10-xkl-tops20
1116 echo pdp10-unknown-tops20
1119 echo pdp10-unknown-its
1121 i
*86:XTS-300
:*:STOP
)
1122 echo ${UNAME_MACHINE}-unknown-stop
1125 echo ${UNAME_MACHINE}-unknown-atheos
1129 #echo '(No uname command or uname output not recognized.)' 1>&2
1130 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1132 eval $set_cc_for_build
1135 # include <sys/types.h>
1136 # include <sys/utsname.h>
1141 #if defined (MIPSEB)
1142 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1144 printf ("mips-sony-bsd\n"); exit (0);
1146 #include <sys/param.h>
1147 printf ("m68k-sony-newsos%s\n",
1157 #if defined (__arm) && defined (__acorn) && defined (__unix)
1158 printf ("arm-acorn-riscix"); exit (0);
1161 #if defined (hp300) && !defined (hpux)
1162 printf ("m68k-hp-bsd\n"); exit (0);
1166 #if !defined (__ARCHITECTURE__)
1167 #define __ARCHITECTURE__ "m68k"
1170 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1172 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1174 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1178 #if defined (MULTIMAX) || defined (n16)
1180 printf ("ns32k-encore-sysv\n"); exit (0);
1183 printf ("ns32k-encore-mach\n"); exit (0);
1185 printf ("ns32k-encore-bsd\n"); exit (0);
1190 #if defined (__386BSD__)
1191 printf ("i386-pc-bsd\n"); exit (0);
1194 #if defined (sequent)
1196 printf ("i386-sequent-dynix\n"); exit (0);
1198 #if defined (ns32000)
1199 printf ("ns32k-sequent-dynix\n"); exit (0);
1203 #if defined (_SEQUENT_)
1208 if (strncmp(un.version, "V2", 2) == 0) {
1209 printf ("i386-sequent-ptx2\n"); exit (0);
1211 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1212 printf ("i386-sequent-ptx1\n"); exit (0);
1214 printf ("i386-sequent-ptx\n"); exit (0);
1219 # if !defined (ultrix)
1220 # include <sys/param.h>
1223 printf ("vax-dec-bsd4.3\n"); exit (0);
1226 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1228 printf ("vax-dec-bsd\n"); exit (0);
1232 printf ("vax-dec-bsd\n"); exit (0);
1235 printf ("vax-dec-ultrix\n"); exit (0);
1239 #if defined (alliant) && defined (i860)
1240 printf ("i860-alliant-bsd\n"); exit (0);
1247 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1248 rm -f $dummy.c
$dummy
1250 # Apollos put the system type in the environment.
1252 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1254 # Convex versions that predate uname can use getsysinfo(1)
1256 if [ -x /usr
/convex
/getsysinfo
]
1258 case `getsysinfo -f cpu_type` in
1263 if getsysinfo
-f scalar_acc
1264 then echo c32-convex-bsd
1265 else echo c2-convex-bsd
1281 $0: unable to guess system type
1283 This script, last modified $timestamp, has failed to recognize
1284 the operating system you are using. It is advised that you
1285 download the most up to date version of the config scripts from
1287 ftp://ftp.gnu.org/pub/gnu/config/
1289 If the version you run ($0) is already up to date, please
1290 send the following data and any information you think might be
1291 pertinent to <config-patches@gnu.org> in order to provide the needed
1292 information to handle your system.
1294 config.guess timestamp = $timestamp
1296 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1297 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1298 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1299 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1301 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1302 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1304 hostinfo = `(hostinfo) 2>/dev/null`
1305 /bin/universe = `(/bin/universe) 2>/dev/null`
1306 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1307 /bin/arch = `(/bin/arch) 2>/dev/null`
1308 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1309 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1311 UNAME_MACHINE = ${UNAME_MACHINE}
1312 UNAME_RELEASE = ${UNAME_RELEASE}
1313 UNAME_SYSTEM = ${UNAME_SYSTEM}
1314 UNAME_VERSION = ${UNAME_VERSION}
1320 # eval: (add-hook 'write-file-hooks 'time-stamp)
1321 # time-stamp-start: "timestamp='"
1322 # time-stamp-format: "%:y-%02m-%02d"
1323 # time-stamp-end: "'"