2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002 Free Software Foundation, Inc.
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <per@bothner.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me
=`echo "$0" | sed -e 's,.*/,,'`
43 Output the configuration name of the system \`$me' is run on.
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63 Try \`$me --help' for more information."
66 while test $# -gt 0 ; do
68 --time-stamp |
--time* |
-t )
69 echo "$timestamp" ; exit 0 ;;
71 echo "$version" ; exit 0 ;;
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
76 - ) # Use stdin as input.
79 echo "$me: invalid option $1$help" >&2
87 echo "$me: too many arguments$help" >&2
93 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94 # compiler to aid in system detection is discouraged as it requires
95 # temporary files to be created and, as you can see below, it is a
96 # headache to deal with in a portable fashion.
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
101 # This shell variable is my proudest work .. or something. --bje
103 set_cc_for_build
='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104 (old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105 || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106 dummy=$tmpdir/dummy ;
107 files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108 trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
109 case $CC_FOR_BUILD,$HOST_CC,$CC in
110 ,,) echo "int x;" > $dummy.c ;
111 for c in cc gcc c89 c99 ; do
112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113 CC_FOR_BUILD="$c"; break ;
117 if test x"$CC_FOR_BUILD" = x ; then
118 CC_FOR_BUILD=no_compiler_found ;
121 ,,*) CC_FOR_BUILD=$CC ;;
122 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
126 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127 # (ghazi@noc.rutgers.edu 1994-08-24)
128 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
129 PATH
=$PATH:/.attbin
; export PATH
132 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
133 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
134 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
135 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
137 # Note: order is significant - the case branches are not exclusive.
139 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
141 # NetBSD (nbsd) targets should (where applicable) match one or
142 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
143 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
144 # switched to ELF, *-*-netbsd* would select the old
145 # object file format. This provides both forward
146 # compatibility and a consistent mechanism for selecting the
147 # object file format.
149 # Note: NetBSD doesn't particularly care about the vendor
150 # portion of the name. We always set it to "unknown".
151 sysctl
="sysctl -n hw.machine_arch"
152 UNAME_MACHINE_ARCH
=`(/sbin/$sysctl 2>/dev/null || \
153 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
154 case "${UNAME_MACHINE_ARCH}" in
155 armeb
) machine
=armeb-unknown
;;
156 arm
*) machine
=arm-unknown
;;
157 sh3el
) machine
=shl-unknown
;;
158 sh3eb
) machine
=sh-unknown
;;
159 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
161 # The Operating System including object format, if it has switched
162 # to ELF recently, or will in the future.
163 case "${UNAME_MACHINE_ARCH}" in
164 arm
*|i386|m68k|ns32k|sh3
*|sparc|vax
)
165 eval $set_cc_for_build
166 if echo __ELF__ |
$CC_FOR_BUILD -E - 2>/dev
/null \
167 |
grep __ELF__
>/dev
/null
169 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
170 # Return netbsd for either. FIX?
181 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
182 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
183 # contains redundant information, the shorter form:
184 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
185 echo "${machine}-${os}${release}"
188 echo m68k-unknown-openbsd
${UNAME_RELEASE}
191 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
194 echo m68k-unknown-openbsd
${UNAME_RELEASE}
197 echo m68k-unknown-openbsd
${UNAME_RELEASE}
200 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
203 echo m68k-unknown-openbsd
${UNAME_RELEASE}
206 echo m88k-unknown-openbsd
${UNAME_RELEASE}
209 echo powerpc-unknown-openbsd
${UNAME_RELEASE}
212 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
215 echo mipseb-unknown-openbsd
${UNAME_RELEASE}
218 echo m68k-unknown-openbsd
${UNAME_RELEASE}
221 echo mipsel-unknown-openbsd
${UNAME_RELEASE}
224 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
227 if test $UNAME_RELEASE = "V4.0"; then
228 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
230 # A Vn.n version is a released version.
231 # A Tn.n version is a released field test version.
232 # A Xn.n version is an unreleased experimental baselevel.
233 # 1.2 uses "1.2" for uname -r.
234 eval $set_cc_for_build
238 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
245 .frame \$30,16,\$26,0
248 .long 0x47e03d80 # implver \$0
250 .long 0x47e20c21 # amask \$2,\$1
260 $CC_FOR_BUILD -o $dummy $dummy.s
2>/dev
/null
261 if test "$?" = 0 ; then
264 UNAME_MACHINE
="alpha"
267 UNAME_MACHINE
="alphaev5"
270 UNAME_MACHINE
="alphaev56"
273 UNAME_MACHINE
="alphapca56"
276 UNAME_MACHINE
="alphaev6"
279 UNAME_MACHINE
="alphaev67"
282 UNAME_MACHINE
="alphaev68"
285 UNAME_MACHINE
="alphaev7"
289 rm -f $dummy.s
$dummy && rmdir $tmpdir
290 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
292 Alpha\
*:Windows_NT
*:*)
293 # How do we know it's Interix rather than the generic POSIX subsystem?
294 # Should we change UNAME_MACHINE based on the output of uname instead
295 # of the specific Alpha model?
296 echo alpha-pc-interix
298 21064:Windows_NT
:50:3)
299 echo alpha-dec-winnt3.5
301 Amiga
*:UNIX_System_V
:4.0:*)
302 echo m68k-unknown-sysv4
304 *:[Aa
]miga
[Oo
][Ss
]:*:*)
305 echo ${UNAME_MACHINE}-unknown-amigaos
307 *:[Mm
]orph
[Oo
][Ss
]:*:*)
308 echo ${UNAME_MACHINE}-unknown-morphos
311 echo i370-ibm-openedition
313 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
314 echo arm-acorn-riscix
${UNAME_RELEASE}
316 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
317 echo hppa1.1
-hitachi-hiuxmpp
319 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
320 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321 if test "`(/bin/universe) 2>/dev/null`" = att
; then
322 echo pyramid-pyramid-sysv3
324 echo pyramid-pyramid-bsd
328 echo pyramid-pyramid-svr4
330 DRS?
6000:UNIX_SV
:4.2*:7*)
331 case `/usr/bin/uname -p` in
332 sparc
) echo sparc-icl-nx7
&& exit 0 ;;
335 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
338 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344 # According to config.sub, this is the proper way to canonicalize
345 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
346 # it's likely to be more like Solaris than SunOS4.
347 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350 case "`/usr/bin/arch -k`" in
352 UNAME_RELEASE
=`uname -v`
355 # Japanese Language versions have a version number like `4.1.3-JL'.
356 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
359 echo m68k-sun-sunos
${UNAME_RELEASE}
362 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
363 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
364 case "`/bin/arch`" in
366 echo m68k-sun-sunos
${UNAME_RELEASE}
369 echo sparc-sun-sunos
${UNAME_RELEASE}
374 echo sparc-auspex-sunos
${UNAME_RELEASE}
376 # The situation for MiNT is a little confusing. The machine name
377 # can be virtually everything (everything which is not
378 # "atarist" or "atariste" at least should have a processor
379 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
380 # to the lowercase version "mint" (or "freemint"). Finally
381 # the system name "TOS" denotes a system which is actually not
382 # MiNT. But MiNT is downward compatible to TOS, so this should
384 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
385 echo m68k-atari-mint
${UNAME_RELEASE}
387 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
388 echo m68k-atari-mint
${UNAME_RELEASE}
390 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
391 echo m68k-atari-mint
${UNAME_RELEASE}
393 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
394 echo m68k-milan-mint
${UNAME_RELEASE}
396 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
397 echo m68k-hades-mint
${UNAME_RELEASE}
399 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
400 echo m68k-unknown-mint
${UNAME_RELEASE}
403 echo powerpc-apple-machten
${UNAME_RELEASE}
406 echo mips-dec-mach_bsd4.3
409 echo mips-dec-ultrix
${UNAME_RELEASE}
412 echo vax-dec-ultrix
${UNAME_RELEASE}
414 2020:CLIX
:*:* |
2430:CLIX
:*:*)
415 echo clipper-intergraph-clix
${UNAME_RELEASE}
417 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
418 eval $set_cc_for_build
419 sed 's/^ //' << EOF >$dummy.c
421 #include <stdio.h> /* for printf() prototype */
422 int main (int argc, char *argv[]) {
424 int main (argc, argv) int argc; char *argv[]; {
426 #if defined (host_mips) && defined (MIPSEB)
427 #if defined (SYSTYPE_SYSV)
428 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
430 #if defined (SYSTYPE_SVR4)
431 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
433 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
434 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
440 $CC_FOR_BUILD -o $dummy $dummy.c \
441 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
442 && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
443 rm -f $dummy.c
$dummy && rmdir $tmpdir
444 echo mips-mips-riscos
${UNAME_RELEASE}
446 Motorola
:PowerMAX_OS
:*:*)
447 echo powerpc-motorola-powermax
449 Motorola
:*:4.3:PL8-
*)
450 echo powerpc-harris-powermax
452 Night_Hawk
:*:*:PowerMAX_OS | Synergy
:PowerMAX_OS
:*:*)
453 echo powerpc-harris-powermax
455 Night_Hawk
:Power_UNIX
:*:*)
456 echo powerpc-harris-powerunix
459 echo m88k-harris-cxux7
462 echo m88k-motorola-sysv4
465 echo m88k-motorola-sysv3
468 # DG/UX returns AViiON for all architectures
469 UNAME_PROCESSOR
=`/usr/bin/uname -p`
470 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
472 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
473 [ ${TARGET_BINARY_INTERFACE}x
= x
]
475 echo m88k-dg-dgux
${UNAME_RELEASE}
477 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
480 echo i586-dg-dgux
${UNAME_RELEASE}
483 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
484 echo m88k-dolphin-sysv3
487 # Delta 88k system running SVR3
488 echo m88k-motorola-sysv3
490 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
491 echo m88k-tektronix-sysv3
493 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
494 echo m68k-tektronix-bsd
497 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
499 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
500 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
501 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
506 if [ -x /usr
/bin
/oslevel
] ; then
507 IBM_REV
=`/usr/bin/oslevel`
509 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
511 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
514 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
515 eval $set_cc_for_build
516 sed 's/^ //' << EOF >$dummy.c
517 #include <sys/systemcfg.h>
523 puts("powerpc-ibm-aix3.2.5");
527 $CC_FOR_BUILD -o $dummy $dummy.c
&& $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
528 rm -f $dummy.c
$dummy && rmdir $tmpdir
529 echo rs6000-ibm-aix3.2
.5
530 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
531 echo rs6000-ibm-aix3.2
.4
533 echo rs6000-ibm-aix3.2
537 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
538 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
543 if [ -x /usr
/bin
/oslevel
] ; then
544 IBM_REV
=`/usr/bin/oslevel`
546 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
548 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
553 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
556 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
557 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
558 exit 0 ;; # report: romp-ibm BSD 4.3
560 echo rs6000-bull-bosx
565 9000/[34]??
:4.3bsd
:1.
*:*)
568 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
571 9000/[34678]??
:HP-UX
:*:*)
572 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
573 case "${UNAME_MACHINE}" in
574 9000/31?
) HP_ARCH
=m68000
;;
575 9000/[34]??
) HP_ARCH
=m68k
;;
576 9000/[678][0-9][0-9])
577 if [ -x /usr
/bin
/getconf
]; then
578 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
579 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
580 case "${sc_cpu_version}" in
581 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
582 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
583 532) # CPU_PA_RISC2_0
584 case "${sc_kernel_bits}" in
585 32) HP_ARCH
="hppa2.0n" ;;
586 64) HP_ARCH
="hppa2.0w" ;;
587 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
591 if [ "${HP_ARCH}" = "" ]; then
592 eval $set_cc_for_build
593 sed 's/^ //' << EOF >$dummy.c
601 #if defined(_SC_KERNEL_BITS)
602 long bits = sysconf(_SC_KERNEL_BITS);
604 long cpu = sysconf (_SC_CPU_VERSION);
608 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
609 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
611 #if defined(_SC_KERNEL_BITS)
614 case 64: puts ("hppa2.0w"); break;
615 case 32: puts ("hppa2.0n"); break;
616 default: puts ("hppa2.0"); break;
618 #else /* !defined(_SC_KERNEL_BITS) */
619 puts ("hppa2.0"); break;
621 default: puts ("hppa1.0"); break;
626 (CCOPTS
= $CC_FOR_BUILD -o $dummy $dummy.c
2>/dev
/null
) && HP_ARCH
=`$dummy`
627 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
628 rm -f $dummy.c
$dummy && rmdir $tmpdir
631 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
634 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
635 echo ia64-hp-hpux
${HPUX_REV}
638 eval $set_cc_for_build
639 sed 's/^ //' << EOF >$dummy.c
644 long cpu = sysconf (_SC_CPU_VERSION);
645 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
646 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
648 if (CPU_IS_PA_RISC (cpu))
652 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
653 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
654 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
655 default: puts ("hppa-hitachi-hiuxwe2"); break;
658 else if (CPU_IS_HP_MC68K (cpu))
659 puts ("m68k-hitachi-hiuxwe2");
660 else puts ("unknown-hitachi-hiuxwe2");
664 $CC_FOR_BUILD -o $dummy $dummy.c
&& $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
665 rm -f $dummy.c
$dummy && rmdir $tmpdir
666 echo unknown-hitachi-hiuxwe2
668 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
674 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
675 echo hppa1.0
-hp-mpeix
677 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
684 if [ -x /usr
/sbin
/sysversion
] ; then
685 echo ${UNAME_MACHINE}-unknown-osf1mk
687 echo ${UNAME_MACHINE}-unknown-osf1
691 echo hppa1.1
-hp-lites
693 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
696 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
697 if getsysinfo
-f scalar_acc
698 then echo c32-convex-bsd
699 else echo c2-convex-bsd
702 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
705 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
708 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
712 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
715 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
716 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
717 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
721 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
724 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
727 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
730 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
732 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
733 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
734 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
735 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
736 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
738 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
739 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
742 echo sparc-unknown-bsdi
${UNAME_RELEASE}
745 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
748 # Determine whether the default compiler uses glibc.
749 eval $set_cc_for_build
750 sed 's/^ //' << EOF >$dummy.c
751 #include <features.h>
758 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
759 rm -f $dummy.c
&& rmdir $tmpdir
760 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
763 echo ${UNAME_MACHINE}-pc-cygwin
766 echo ${UNAME_MACHINE}-pc-mingw32
769 echo ${UNAME_MACHINE}-pc-pw32
772 echo i386-pc-interix3
774 [345]86:Windows_95
:* |
[345]86:Windows_98
:* |
[345]86:Windows_NT
:*)
775 echo i
${UNAME_MACHINE}-pc-mks
777 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
778 # How do we know it's Interix rather than the generic POSIX subsystem?
779 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
780 # UNAME_MACHINE based on the output of uname instead of i386?
784 echo ${UNAME_MACHINE}-pc-uwin
787 echo powerpcle-unknown-cygwin
790 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
793 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
796 echo ${UNAME_MACHINE}-pc-minix
799 echo ${UNAME_MACHINE}-unknown-linux-gnu
802 echo ${UNAME_MACHINE}-unknown-linux-gnu
805 echo ${UNAME_MACHINE}-unknown-linux-gnu
808 eval $set_cc_for_build
809 sed 's/^ //' << EOF >$dummy.c
813 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
816 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
823 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
824 rm -f $dummy.c
&& rmdir $tmpdir
825 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
828 echo powerpc-unknown-linux-gnu
831 echo powerpc64-unknown-linux-gnu
834 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
835 EV5
) UNAME_MACHINE
=alphaev5
;;
836 EV56
) UNAME_MACHINE
=alphaev56
;;
837 PCA56
) UNAME_MACHINE
=alphapca56
;;
838 PCA57
) UNAME_MACHINE
=alphapca56
;;
839 EV6
) UNAME_MACHINE
=alphaev6
;;
840 EV67
) UNAME_MACHINE
=alphaev67
;;
841 EV68
*) UNAME_MACHINE
=alphaev68
;;
843 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
844 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
845 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
847 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
849 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
850 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
851 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
852 *) echo hppa-unknown-linux-gnu
;;
855 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
856 echo hppa64-unknown-linux-gnu
858 s390
:Linux
:*:* | s390x
:Linux
:*:*)
859 echo ${UNAME_MACHINE}-ibm-linux
862 echo ${UNAME_MACHINE}-unknown-linux-gnu
864 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
865 echo ${UNAME_MACHINE}-unknown-linux-gnu
868 echo x86_64-unknown-linux-gnu
871 # The BFD linker knows what the default object file format is, so
872 # first see if it will tell us. cd to the root directory to prevent
873 # problems with other programs or directories called `ld' in the path.
874 # Set LC_ALL=C to ensure ld outputs messages in English.
875 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
876 | sed -ne '/supported targets:/!d
878 s/.*supported targets: *//
881 case "$ld_supported_targets" in
883 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
886 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
889 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
892 # Either a pre-BFD a.out linker (linux-gnuoldld) or
893 # one that does not give us useful --help.
894 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
897 # Determine whether the default compiler is a.out or elf
898 eval $set_cc_for_build
899 sed 's/^ //' << EOF >$dummy.c
900 #include <features.h>
912 #ifdef __INTEL_COMPILER
919 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
920 rm -f $dummy.c
&& rmdir $tmpdir
921 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
922 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
925 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
926 # earlier versions are messed up and put the nodename in both
927 # sysname and nodename.
928 echo i386-sequent-sysv4
930 i
*86:UNIX_SV
:4.2MP
:2.
*)
931 # Unixware is an offshoot of SVR4, but it has its own version
932 # number series starting with 2...
933 # I am not positive that other SVR4 systems won't match this,
934 # I just have to hope. -- rms.
935 # Use sysv4.2uw... so that sysv4* matches it.
936 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
938 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
939 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
940 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
941 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
943 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
947 case `/bin/uname -X | grep "^Machine"` in
948 *486*) UNAME_MACHINE
=i486
;;
949 *Pentium
) UNAME_MACHINE
=i586
;;
950 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
952 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
955 if test -f /usr
/options
/cb.name
; then
956 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
957 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
958 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
959 UNAME_REL
=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
960 (/bin
/uname
-X|
grep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
961 (/bin
/uname
-X|
grep '^Machine.*Pentium' >/dev
/null
) \
962 && UNAME_MACHINE
=i586
963 (/bin
/uname
-X|
grep '^Machine.*Pent *II' >/dev
/null
) \
964 && UNAME_MACHINE
=i686
965 (/bin
/uname
-X|
grep '^Machine.*Pentium Pro' >/dev
/null
) \
966 && UNAME_MACHINE
=i686
967 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
969 echo ${UNAME_MACHINE}-pc-sysv32
973 echo ${UNAME_MACHINE}-pc-msdosdjgpp
976 # Left here for compatibility:
977 # uname -m prints for DJGPP always 'pc', but it prints nothing about
978 # the processor, so we play safe by assuming i386.
979 echo i386-pc-msdosdjgpp
987 i860
:*:4.
*:*) # i860-SVR4
988 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
989 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
990 else # Add other i860-SVR4 vendors below as they are discovered.
991 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
996 echo m68010-convergent-sysv
998 mc68k
:UNIX
:SYSTEM5
:3.51m
)
999 echo m68k-convergent-sysv
1005 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
1006 3[34]??
:*:4.0:3.0 |
3[34]??A
:*:4.0:3.0 |
3[34]??
,*:*:4.0:3.0 |
3[34]??
/*:*:4.0:3.0 |
4400:*:4.0:3.0 |
4850:*:4.0:3.0 | SKA40
:*:4.0:3.0)
1008 test -r /etc
/.relid \
1009 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1010 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1011 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
1012 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
1013 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
1014 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
1015 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1016 && echo i486-ncr-sysv4
&& exit 0 ;;
1017 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
1018 echo m68k-unknown-lynxos
${UNAME_RELEASE}
1020 mc68030
:UNIX_System_V
:4.
*:*)
1021 echo m68k-atari-sysv4
1023 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
1024 echo i386-unknown-lynxos
${UNAME_RELEASE}
1026 TSUNAMI
:LynxOS
:2.
*:*)
1027 echo sparc-unknown-lynxos
${UNAME_RELEASE}
1029 rs6000
:LynxOS
:2.
*:*)
1030 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
1032 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
1033 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
1035 SM
[BE
]S
:UNIX_SV
:*:*)
1036 echo mips-dde-sysv
${UNAME_RELEASE}
1038 RM
*:ReliantUNIX-
*:*:*)
1045 if uname
-p 2>/dev
/null
>/dev
/null
; then
1046 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1047 echo ${UNAME_MACHINE}-sni-sysv4
1052 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1053 # says <Richard.M.Bartel@ccMail.Census.GOV>
1054 echo i586-unisys-sysv4
1056 *:UNIX_System_V
:4*:FTX
*)
1057 # From Gerald Hewes <hewes@openmarket.com>.
1058 # How about differentiating between stratus architectures? -djm
1059 echo hppa1.1
-stratus-sysv4
1062 # From seanf@swdc.stratus.com.
1063 echo i860-stratus-sysv4
1066 # From Paul.Green@stratus.com.
1067 echo hppa1.1
-stratus-vos
1070 echo m68k-apple-aux
${UNAME_RELEASE}
1073 echo mips-sony-newsos6
1075 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1076 if [ -d /usr
/nec
]; then
1077 echo mips-nec-sysv
${UNAME_RELEASE}
1079 echo mips-unknown-sysv
${UNAME_RELEASE}
1082 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1083 echo powerpc-be-beos
1085 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1086 echo powerpc-apple-beos
1088 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1092 echo sx4-nec-superux
${UNAME_RELEASE}
1095 echo sx5-nec-superux
${UNAME_RELEASE}
1098 echo sx6-nec-superux
${UNAME_RELEASE}
1100 Power
*:Rhapsody
:*:*)
1101 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1104 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1107 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1109 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1110 UNAME_PROCESSOR
=`uname -p`
1111 if test "$UNAME_PROCESSOR" = "x86"; then
1112 UNAME_PROCESSOR
=i386
1115 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1120 NSR-
[DGKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1121 echo nsr-tandem-nsk
${UNAME_RELEASE}
1124 echo mips-compaq-nonstopux
1127 echo bs2000-siemens-sysv
1129 DS
/*:UNIX_System_V
:*:*)
1130 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1133 # "uname -m" is not consistent, so use $cputype instead. 386
1134 # is converted to i386 for consistency with other x86
1135 # operating systems.
1136 if test "$cputype" = "386"; then
1139 UNAME_MACHINE
="$cputype"
1141 echo ${UNAME_MACHINE}-unknown-plan9
1144 # If we were able to find `uname', then EMX Unix compatibility
1145 # is probably installed.
1146 echo ${UNAME_MACHINE}-pc-os2-emx
1149 echo pdp10-unknown-tops10
1152 echo pdp10-unknown-tenex
1154 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1155 echo pdp10-dec-tops20
1157 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1158 echo pdp10-xkl-tops20
1161 echo pdp10-unknown-tops20
1164 echo pdp10-unknown-its
1166 i
*86:XTS-300
:*:STOP
)
1167 echo ${UNAME_MACHINE}-unknown-stop
1170 echo ${UNAME_MACHINE}-unknown-atheos
1174 #echo '(No uname command or uname output not recognized.)' 1>&2
1175 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1177 eval $set_cc_for_build
1180 # include <sys/types.h>
1181 # include <sys/utsname.h>
1186 #if defined (MIPSEB)
1187 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1189 printf ("mips-sony-bsd\n"); exit (0);
1191 #include <sys/param.h>
1192 printf ("m68k-sony-newsos%s\n",
1202 #if defined (__arm) && defined (__acorn) && defined (__unix)
1203 printf ("arm-acorn-riscix"); exit (0);
1206 #if defined (hp300) && !defined (hpux)
1207 printf ("m68k-hp-bsd\n"); exit (0);
1211 #if !defined (__ARCHITECTURE__)
1212 #define __ARCHITECTURE__ "m68k"
1215 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1217 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1219 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1223 #if defined (MULTIMAX) || defined (n16)
1225 printf ("ns32k-encore-sysv\n"); exit (0);
1228 printf ("ns32k-encore-mach\n"); exit (0);
1230 printf ("ns32k-encore-bsd\n"); exit (0);
1235 #if defined (__386BSD__)
1236 printf ("i386-pc-bsd\n"); exit (0);
1239 #if defined (sequent)
1241 printf ("i386-sequent-dynix\n"); exit (0);
1243 #if defined (ns32000)
1244 printf ("ns32k-sequent-dynix\n"); exit (0);
1248 #if defined (_SEQUENT_)
1253 if (strncmp(un.version, "V2", 2) == 0) {
1254 printf ("i386-sequent-ptx2\n"); exit (0);
1256 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1257 printf ("i386-sequent-ptx1\n"); exit (0);
1259 printf ("i386-sequent-ptx\n"); exit (0);
1264 # if !defined (ultrix)
1265 # include <sys/param.h>
1268 printf ("vax-dec-bsd4.3\n"); exit (0);
1271 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1273 printf ("vax-dec-bsd\n"); exit (0);
1277 printf ("vax-dec-bsd\n"); exit (0);
1280 printf ("vax-dec-ultrix\n"); exit (0);
1284 #if defined (alliant) && defined (i860)
1285 printf ("i860-alliant-bsd\n"); exit (0);
1292 $CC_FOR_BUILD -o $dummy $dummy.c
2>/dev
/null
&& $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
1293 rm -f $dummy.c
$dummy && rmdir $tmpdir
1295 # Apollos put the system type in the environment.
1297 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1299 # Convex versions that predate uname can use getsysinfo(1)
1301 if [ -x /usr
/convex
/getsysinfo
]
1303 case `getsysinfo -f cpu_type` in
1308 if getsysinfo
-f scalar_acc
1309 then echo c32-convex-bsd
1310 else echo c2-convex-bsd
1326 $0: unable to guess system type
1328 This script, last modified $timestamp, has failed to recognize
1329 the operating system you are using. It is advised that you
1330 download the most up to date version of the config scripts from
1332 ftp://ftp.gnu.org/pub/gnu/config/
1334 If the version you run ($0) is already up to date, please
1335 send the following data and any information you think might be
1336 pertinent to <config-patches@gnu.org> in order to provide the needed
1337 information to handle your system.
1339 config.guess timestamp = $timestamp
1341 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1342 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1343 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1344 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1346 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1347 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1349 hostinfo = `(hostinfo) 2>/dev/null`
1350 /bin/universe = `(/bin/universe) 2>/dev/null`
1351 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1352 /bin/arch = `(/bin/arch) 2>/dev/null`
1353 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1354 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1356 UNAME_MACHINE = ${UNAME_MACHINE}
1357 UNAME_RELEASE = ${UNAME_RELEASE}
1358 UNAME_SYSTEM = ${UNAME_SYSTEM}
1359 UNAME_VERSION = ${UNAME_VERSION}
1365 # eval: (add-hook 'write-file-hooks 'time-stamp)
1366 # time-stamp-start: "timestamp='"
1367 # time-stamp-format: "%:y-%02m-%02d"
1368 # time-stamp-end: "'"