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 $dummy.c -c -o $dummy.o) >/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.
237 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
244 .frame \$30,16,\$26,0
247 .long 0x47e03d80 # implver \$0
249 .long 0x47e20c21 # amask \$2,\$1
259 eval $set_cc_for_build
260 $CC_FOR_BUILD $dummy.s
-o $dummy 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"
286 rm -f $dummy.s
$dummy && dir
$tmpdir
287 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
289 Alpha\
*:Windows_NT
*:*)
290 # How do we know it's Interix rather than the generic POSIX subsystem?
291 # Should we change UNAME_MACHINE based on the output of uname instead
292 # of the specific Alpha model?
293 echo alpha-pc-interix
295 21064:Windows_NT
:50:3)
296 echo alpha-dec-winnt3.5
298 Amiga
*:UNIX_System_V
:4.0:*)
299 echo m68k-unknown-sysv4
301 *:[Aa
]miga
[Oo
][Ss
]:*:*)
302 echo ${UNAME_MACHINE}-unknown-amigaos
304 *:[Mm
]orph
[Oo
][Ss
]:*:*)
305 echo ${UNAME_MACHINE}-unknown-morphos
308 echo i370-ibm-openedition
310 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
311 echo arm-acorn-riscix
${UNAME_RELEASE}
313 SR2?
01:HI-UX
/MPP
:*:* | SR8000
:HI-UX
/MPP
:*:*)
314 echo hppa1.1
-hitachi-hiuxmpp
316 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC-OSx
*:*:*)
317 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
318 if test "`(/bin/universe) 2>/dev/null`" = att
; then
319 echo pyramid-pyramid-sysv3
321 echo pyramid-pyramid-bsd
325 echo pyramid-pyramid-svr4
327 DSR?
6000:UNIX_SV
:4.2*:7*)
328 case `/usr/bin/uname -p` in
329 sparc
) echo sparc-icl-nx7
&& exit 0 ;;
332 echo sparc-hal-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
335 echo sparc-sun-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
338 echo i386-pc-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341 # According to config.sub, this is the proper way to canonicalize
342 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
343 # it's likely to be more like Solaris than SunOS4.
344 echo sparc-sun-solaris3
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
347 case "`/usr/bin/arch -k`" in
349 UNAME_RELEASE
=`uname -v`
352 # Japanese Language versions have a version number like `4.1.3-JL'.
353 echo sparc-sun-sunos
`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
356 echo m68k-sun-sunos
${UNAME_RELEASE}
359 UNAME_RELEASE
=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
360 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
361 case "`/bin/arch`" in
363 echo m68k-sun-sunos
${UNAME_RELEASE}
366 echo sparc-sun-sunos
${UNAME_RELEASE}
371 echo sparc-auspex-sunos
${UNAME_RELEASE}
373 # The situation for MiNT is a little confusing. The machine name
374 # can be virtually everything (everything which is not
375 # "atarist" or "atariste" at least should have a processor
376 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
377 # to the lowercase version "mint" (or "freemint"). Finally
378 # the system name "TOS" denotes a system which is actually not
379 # MiNT. But MiNT is downward compatible to TOS, so this should
381 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
382 echo m68k-atari-mint
${UNAME_RELEASE}
384 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
385 echo m68k-atari-mint
${UNAME_RELEASE}
387 *falcon
*:*MiNT
:*:* |
*falcon
*:*mint
:*:* |
*falcon
*:*TOS
:*:*)
388 echo m68k-atari-mint
${UNAME_RELEASE}
390 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* |
*milan
*:*TOS
:*:*)
391 echo m68k-milan-mint
${UNAME_RELEASE}
393 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* |
*hades
*:*TOS
:*:*)
394 echo m68k-hades-mint
${UNAME_RELEASE}
396 *:*MiNT
:*:* |
*:*mint
:*:* |
*:*TOS
:*:*)
397 echo m68k-unknown-mint
${UNAME_RELEASE}
400 echo powerpc-apple-machten
${UNAME_RELEASE}
403 echo mips-dec-mach_bsd4.3
406 echo mips-dec-ultrix
${UNAME_RELEASE}
409 echo vax-dec-ultrix
${UNAME_RELEASE}
411 2020:CLIX
:*:* |
2430:CLIX
:*:*)
412 echo clipper-intergraph-clix
${UNAME_RELEASE}
414 mips
:*:*:UMIPS | mips
:*:*:RISCos
)
415 eval $set_cc_for_build
416 sed 's/^ //' << EOF >$dummy.c
418 #include <stdio.h> /* for printf() prototype */
419 int main (int argc, char *argv[]) {
421 int main (argc, argv) int argc; char *argv[]; {
423 #if defined (host_mips) && defined (MIPSEB)
424 #if defined (SYSTYPE_SYSV)
425 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
427 #if defined (SYSTYPE_SVR4)
428 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
430 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
431 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
437 $CC_FOR_BUILD $dummy.c
-o $dummy \
438 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
439 && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
440 rm -f $dummy.c
$dummy && rmdir $tmpdir
441 echo mips-mips-riscos
${UNAME_RELEASE}
443 Motorola
:PowerMAX_OS
:*:*)
444 echo powerpc-motorola-powermax
446 Night_Hawk
:*:*:PowerMAX_OS
)
447 echo powerpc-harris-powermax
449 Night_Hawk
:Power_UNIX
:*:*)
450 echo powerpc-harris-powerunix
453 echo m88k-harris-cxux7
456 echo m88k-motorola-sysv4
459 echo m88k-motorola-sysv3
462 # DG/UX returns AViiON for all architectures
463 UNAME_PROCESSOR
=`/usr/bin/uname -p`
464 if [ $UNAME_PROCESSOR = mc88100
] ||
[ $UNAME_PROCESSOR = mc88110
]
466 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
467 [ ${TARGET_BINARY_INTERFACE}x
= x
]
469 echo m88k-dg-dgux
${UNAME_RELEASE}
471 echo m88k-dg-dguxbcs
${UNAME_RELEASE}
474 echo i586-dg-dgux
${UNAME_RELEASE}
477 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
478 echo m88k-dolphin-sysv3
481 # Delta 88k system running SVR3
482 echo m88k-motorola-sysv3
484 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
485 echo m88k-tektronix-sysv3
487 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
488 echo m68k-tektronix-bsd
491 echo mips-sgi-irix
`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
493 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
494 echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
495 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
500 if [ -x /usr
/bin
/oslevel
] ; then
501 IBM_REV
=`/usr/bin/oslevel`
503 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
505 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
508 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
509 eval $set_cc_for_build
510 sed 's/^ //' << EOF >$dummy.c
511 #include <sys/systemcfg.h>
517 puts("powerpc-ibm-aix3.2.5");
521 $CC_FOR_BUILD $dummy.c
-o $dummy && $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
522 rm -f $dummy.c
$dummy && rmdir $tmpdir
523 echo rs6000-ibm-aix3.2
.5
524 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
525 echo rs6000-ibm-aix3.2
.4
527 echo rs6000-ibm-aix3.2
531 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
532 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} |
grep ' POWER' >/dev
/null
2>&1; then
537 if [ -x /usr
/bin
/oslevel
] ; then
538 IBM_REV
=`/usr/bin/oslevel`
540 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
542 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547 ibmrt
:4.4BSD
:*|romp-ibm
:BSD
:*)
550 ibmrt
:*BSD
:*|romp-ibm
:BSD
:*) # covers RT/PC BSD and
551 echo romp-ibm-bsd
${UNAME_RELEASE} # 4.3 with uname added to
552 exit 0 ;; # report: romp-ibm BSD 4.3
554 echo rs6000-bull-bosx
559 9000/[34]??
:4.3bsd
:1.
*:*)
562 hp300
:4.4BSD
:*:* |
9000/[34]??
:4.3bsd
:2.
*:*)
565 9000/[34678]??
:HP-UX
:*:*)
566 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
567 case "${UNAME_MACHINE}" in
568 9000/31?
) HP_ARCH
=m68000
;;
569 9000/[34]??
) HP_ARCH
=m68k
;;
570 9000/[678][0-9][0-9])
571 if [ -x /usr
/bin
/getconf
]; then
572 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
573 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
574 case "${sc_cpu_version}" in
575 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
576 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
577 532) # CPU_PA_RISC2_0
578 case "${sc_kernel_bits}" in
579 32) HP_ARCH
="hppa2.0n" ;;
580 64) HP_ARCH
="hppa2.0w" ;;
581 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
585 if [ "${HP_ARCH}" = "" ]; then
586 eval $set_cc_for_build
587 sed 's/^ //' << EOF >$dummy.c
595 #if defined(_SC_KERNEL_BITS)
596 long bits = sysconf(_SC_KERNEL_BITS);
598 long cpu = sysconf (_SC_CPU_VERSION);
602 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
603 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
605 #if defined(_SC_KERNEL_BITS)
608 case 64: puts ("hppa2.0w"); break;
609 case 32: puts ("hppa2.0n"); break;
610 default: puts ("hppa2.0"); break;
612 #else /* !defined(_SC_KERNEL_BITS) */
613 puts ("hppa2.0"); break;
615 default: puts ("hppa1.0"); break;
620 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`$dummy`
621 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
622 rm -f $dummy.c
$dummy && rmdir $tmpdir
625 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
628 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
629 echo ia64-hp-hpux
${HPUX_REV}
632 eval $set_cc_for_build
633 sed 's/^ //' << EOF >$dummy.c
638 long cpu = sysconf (_SC_CPU_VERSION);
639 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
640 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
642 if (CPU_IS_PA_RISC (cpu))
646 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
647 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
648 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
649 default: puts ("hppa-hitachi-hiuxwe2"); break;
652 else if (CPU_IS_HP_MC68K (cpu))
653 puts ("m68k-hitachi-hiuxwe2");
654 else puts ("unknown-hitachi-hiuxwe2");
658 $CC_FOR_BUILD $dummy.c
-o $dummy && $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
659 rm -f $dummy.c
$dummy && rmdir $tmpdir
660 echo unknown-hitachi-hiuxwe2
662 9000/7??
:4.3bsd
:*:* |
9000/8?
[79]:4.3bsd
:*:* )
668 *9??
*:MPE
/iX
:*:* |
*3000*:MPE
/iX
:*:*)
669 echo hppa1.0
-hp-mpeix
671 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
678 if [ -x /usr
/sbin
/sysversion
] ; then
679 echo ${UNAME_MACHINE}-unknown-osf1mk
681 echo ${UNAME_MACHINE}-unknown-osf1
685 echo hppa1.1
-hp-lites
687 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
690 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
691 if getsysinfo
-f scalar_acc
692 then echo c32-convex-bsd
693 else echo c2-convex-bsd
696 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
699 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
702 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
706 echo ymp-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
709 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
710 |
sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
711 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
715 echo t90-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
718 echo alpha-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
721 echo alphaev5-cray-unicosmk
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
724 echo sv1-cray-unicos
${UNAME_RELEASE} |
sed -e 's/\.[^.]*$/.X/'
726 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
727 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
728 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
729 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
730 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
732 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* |
*:Ascend\ Embedded
/OS
:*:*)
733 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
736 echo sparc-unknown-bsdi
${UNAME_RELEASE}
739 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
742 # Determine whether the default compiler uses glibc.
743 eval $set_cc_for_build
744 sed 's/^ //' << EOF >$dummy.c
745 #include <features.h>
752 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
753 rm -f $dummy.c
&& rmdir $tmpdir
754 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
757 echo ${UNAME_MACHINE}-pc-cygwin
760 echo ${UNAME_MACHINE}-pc-mingw32
763 echo ${UNAME_MACHINE}-pc-pw32
766 echo i386-pc-interix3
768 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
769 # How do we know it's Interix rather than the generic POSIX subsystem?
770 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
771 # UNAME_MACHINE based on the output of uname instead of i386?
775 echo ${UNAME_MACHINE}-pc-uwin
778 echo powerpcle-unknown-cygwin
781 echo powerpcle-unknown-solaris2
`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
784 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
787 echo ${UNAME_MACHINE}-pc-minix
790 echo ${UNAME_MACHINE}-unknown-linux-gnu
793 echo ${UNAME_MACHINE}-unknown-linux-gnu
796 echo ${UNAME_MACHINE}-unknown-linux-gnu
799 eval $set_cc_for_build
800 sed 's/^ //' << EOF >$dummy.c
804 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
807 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
814 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
815 rm -f $dummy.c
&& rmdir $tmpdir
816 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
819 echo powerpc-unknown-linux-gnu
822 echo powerpc64-unknown-linux-gnu
825 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
826 EV5
) UNAME_MACHINE
=alphaev5
;;
827 EV56
) UNAME_MACHINE
=alphaev56
;;
828 PCA56
) UNAME_MACHINE
=alphapca56
;;
829 PCA57
) UNAME_MACHINE
=alphapca56
;;
830 EV6
) UNAME_MACHINE
=alphaev6
;;
831 EV67
) UNAME_MACHINE
=alphaev67
;;
832 EV68
*) UNAME_MACHINE
=alphaev68
;;
834 objdump
--private-headers /bin
/sh |
grep ld.so
.1 >/dev
/null
835 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
836 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
838 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
840 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
841 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
842 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
843 *) echo hppa-unknown-linux-gnu
;;
846 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
847 echo hppa64-unknown-linux-gnu
849 s390
:Linux
:*:* | s390x
:Linux
:*:*)
850 echo ${UNAME_MACHINE}-ibm-linux
853 echo ${UNAME_MACHINE}-unknown-linux-gnu
855 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
856 echo ${UNAME_MACHINE}-unknown-linux-gnu
859 echo x86_64-unknown-linux-gnu
862 # The BFD linker knows what the default object file format is, so
863 # first see if it will tell us. cd to the root directory to prevent
864 # problems with other programs or directories called `ld' in the path.
865 # Set LC_ALL=C to ensure ld outputs messages in English.
866 ld_supported_targets
=`cd /; LC_ALL=C ld --help 2>&1 \
867 | sed -ne '/supported targets:/!d
869 s/.*supported targets: *//
872 case "$ld_supported_targets" in
874 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
877 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
880 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
883 # Either a pre-BFD a.out linker (linux-gnuoldld) or
884 # one that does not give us useful --help.
885 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
888 # Determine whether the default compiler is a.out or elf
889 eval $set_cc_for_build
890 sed 's/^ //' << EOF >$dummy.c
891 #include <features.h>
903 #ifdef __INTEL_COMPILER
910 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
911 rm -f $dummy.c
&& rmdir $tmpdir
912 test x
"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
913 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
916 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
917 # earlier versions are messed up and put the nodename in both
918 # sysname and nodename.
919 echo i386-sequent-sysv4
921 i
*86:UNIX_SV
:4.2MP
:2.
*)
922 # Unixware is an offshoot of SVR4, but it has its own version
923 # number series starting with 2...
924 # I am not positive that other SVR4 systems won't match this,
925 # I just have to hope. -- rms.
926 # Use sysv4.2uw... so that sysv4* matches it.
927 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
929 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
930 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
931 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
932 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
934 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
938 case `/bin/uname -X | grep "^Machine"` in
939 *486*) UNAME_MACHINE
=i486
;;
940 *Pentium
) UNAME_MACHINE
=i586
;;
941 *Pent
*|
*Celeron
) UNAME_MACHINE
=i686
;;
943 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
946 if test -f /usr
/options
/cb.name
; then
947 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
948 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
949 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
950 UNAME_REL
=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
951 (/bin
/uname
-X|
grep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
952 (/bin
/uname
-X|
grep '^Machine.*Pentium' >/dev
/null
) \
953 && UNAME_MACHINE
=i586
954 (/bin
/uname
-X|
grep '^Machine.*Pent *II' >/dev
/null
) \
955 && UNAME_MACHINE
=i686
956 (/bin
/uname
-X|
grep '^Machine.*Pentium Pro' >/dev
/null
) \
957 && UNAME_MACHINE
=i686
958 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
960 echo ${UNAME_MACHINE}-pc-sysv32
964 echo ${UNAME_MACHINE}-pc-msdosdjgpp
967 # Left here for compatibility:
968 # uname -m prints for DJGPP always 'pc', but it prints nothing about
969 # the processor, so we play safe by assuming i386.
970 echo i386-pc-msdosdjgpp
978 i860
:*:4.
*:*) # i860-SVR4
979 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
980 echo i860-stardent-sysv
${UNAME_RELEASE} # Stardent Vistra i860-SVR4
981 else # Add other i860-SVR4 vendors below as they are discovered.
982 echo i860-unknown-sysv
${UNAME_RELEASE} # Unknown i860-SVR4
987 echo m68010-convergent-sysv
990 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
991 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)
993 test -r /etc
/.relid \
994 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
995 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
996 && echo i486-ncr-sysv4.3
${OS_REL} && exit 0
997 /bin
/uname
-p 2>/dev
/null |
/bin
/grep entium
>/dev
/null \
998 && echo i586-ncr-sysv4.3
${OS_REL} && exit 0 ;;
999 3[34]??
:*:4.0:* |
3[34]??
,*:*:4.0:*)
1000 /bin
/uname
-p 2>/dev
/null |
grep 86 >/dev
/null \
1001 && echo i486-ncr-sysv4
&& exit 0 ;;
1002 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
1003 echo m68k-unknown-lynxos
${UNAME_RELEASE}
1005 mc68030
:UNIX_System_V
:4.
*:*)
1006 echo m68k-atari-sysv4
1008 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
1009 echo i386-unknown-lynxos
${UNAME_RELEASE}
1011 TSUNAMI
:LynxOS
:2.
*:*)
1012 echo sparc-unknown-lynxos
${UNAME_RELEASE}
1014 rs6000
:LynxOS
:2.
*:*)
1015 echo rs6000-unknown-lynxos
${UNAME_RELEASE}
1017 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
1018 echo powerpc-unknown-lynxos
${UNAME_RELEASE}
1020 SM
[BE
]S
:UNIX_SV
:*:*)
1021 echo mips-dde-sysv
${UNAME_RELEASE}
1023 RM
*:ReliantUNIX-
*:*:*)
1030 if uname
-p 2>/dev
/null
>/dev
/null
; then
1031 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
1032 echo ${UNAME_MACHINE}-sni-sysv4
1037 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1038 # says <Richard.M.Bartel@ccMail.Census.GOV>
1039 echo i586-unisys-sysv4
1041 *:UNIX_System_V
:4*:FTX
*)
1042 # From Gerald Hewes <hewes@openmarket.com>.
1043 # How about differentiating between stratus architectures? -djm
1044 echo hppa1.1
-stratus-sysv4
1047 # From seanf@swdc.stratus.com.
1048 echo i860-stratus-sysv4
1051 # From Paul.Green@stratus.com.
1052 echo hppa1.1
-stratus-vos
1055 echo m68k-apple-aux
${UNAME_RELEASE}
1058 echo mips-sony-newsos6
1060 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1061 if [ -d /usr
/nec
]; then
1062 echo mips-nec-sysv
${UNAME_RELEASE}
1064 echo mips-unknown-sysv
${UNAME_RELEASE}
1067 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1068 echo powerpc-be-beos
1070 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1071 echo powerpc-apple-beos
1073 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1077 echo sx4-nec-superux
${UNAME_RELEASE}
1080 echo sx5-nec-superux
${UNAME_RELEASE}
1082 Power
*:Rhapsody
:*:*)
1083 echo powerpc-apple-rhapsody
${UNAME_RELEASE}
1086 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1089 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1091 *:procnto
*:*:* |
*:QNX
:[0123456789]*:*)
1092 UNAME_PROCESSOR
=`uname -p`
1093 if test "$UNAME_PROCESSOR" = "x86"; then
1094 UNAME_PROCESSOR
=i386
1097 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1102 NSR-
[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1103 echo nsr-tandem-nsk
${UNAME_RELEASE}
1106 echo mips-compaq-nonstopux
1109 echo bs2000-siemens-sysv
1111 DS
/*:UNIX_System_V
:*:*)
1112 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1115 # "uname -m" is not consistent, so use $cputype instead. 386
1116 # is converted to i386 for consistency with other x86
1117 # operating systems.
1118 if test "$cputype" = "386"; then
1121 UNAME_MACHINE
="$cputype"
1123 echo ${UNAME_MACHINE}-unknown-plan9
1126 # If we were able to find `uname', then EMX Unix compatibility
1127 # is probably installed.
1128 echo ${UNAME_MACHINE}-pc-os2-emx
1131 echo pdp10-unknown-tops10
1134 echo pdp10-unknown-tenex
1136 KS10
:TOPS-20
:*:* | KL10
:TOPS-20
:*:* | TYPE4
:TOPS-20
:*:*)
1137 echo pdp10-dec-tops20
1139 XKL-1
:TOPS-20
:*:* | TYPE5
:TOPS-20
:*:*)
1140 echo pdp10-xkl-tops20
1143 echo pdp10-unknown-tops20
1146 echo pdp10-unknown-its
1148 i
*86:XTS-300
:*:STOP
)
1149 echo ${UNAME_MACHINE}-unknown-stop
1152 echo ${UNAME_MACHINE}-unknown-atheos
1156 #echo '(No uname command or uname output not recognized.)' 1>&2
1157 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1159 eval $set_cc_for_build
1162 # include <sys/types.h>
1163 # include <sys/utsname.h>
1168 #if defined (MIPSEB)
1169 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1171 printf ("mips-sony-bsd\n"); exit (0);
1173 #include <sys/param.h>
1174 printf ("m68k-sony-newsos%s\n",
1184 #if defined (__arm) && defined (__acorn) && defined (__unix)
1185 printf ("arm-acorn-riscix"); exit (0);
1188 #if defined (hp300) && !defined (hpux)
1189 printf ("m68k-hp-bsd\n"); exit (0);
1193 #if !defined (__ARCHITECTURE__)
1194 #define __ARCHITECTURE__ "m68k"
1197 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1199 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1201 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1205 #if defined (MULTIMAX) || defined (n16)
1207 printf ("ns32k-encore-sysv\n"); exit (0);
1210 printf ("ns32k-encore-mach\n"); exit (0);
1212 printf ("ns32k-encore-bsd\n"); exit (0);
1217 #if defined (__386BSD__)
1218 printf ("i386-pc-bsd\n"); exit (0);
1221 #if defined (sequent)
1223 printf ("i386-sequent-dynix\n"); exit (0);
1225 #if defined (ns32000)
1226 printf ("ns32k-sequent-dynix\n"); exit (0);
1230 #if defined (_SEQUENT_)
1235 if (strncmp(un.version, "V2", 2) == 0) {
1236 printf ("i386-sequent-ptx2\n"); exit (0);
1238 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1239 printf ("i386-sequent-ptx1\n"); exit (0);
1241 printf ("i386-sequent-ptx\n"); exit (0);
1246 # if !defined (ultrix)
1247 # include <sys/param.h>
1250 printf ("vax-dec-bsd4.3\n"); exit (0);
1253 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1255 printf ("vax-dec-bsd\n"); exit (0);
1259 printf ("vax-dec-bsd\n"); exit (0);
1262 printf ("vax-dec-ultrix\n"); exit (0);
1266 #if defined (alliant) && defined (i860)
1267 printf ("i860-alliant-bsd\n"); exit (0);
1274 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& $dummy && rm -f $dummy.c
$dummy && rmdir $tmpdir && exit 0
1275 rm -f $dummy.c
$dummy && rmdir $tmpdir
1277 # Apollos put the system type in the environment.
1279 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1281 # Convex versions that predate uname can use getsysinfo(1)
1283 if [ -x /usr
/convex
/getsysinfo
]
1285 case `getsysinfo -f cpu_type` in
1290 if getsysinfo
-f scalar_acc
1291 then echo c32-convex-bsd
1292 else echo c2-convex-bsd
1308 $0: unable to guess system type
1310 This script, last modified $timestamp, has failed to recognize
1311 the operating system you are using. It is advised that you
1312 download the most up to date version of the config scripts from
1314 ftp://ftp.gnu.org/pub/gnu/config/
1316 If the version you run ($0) is already up to date, please
1317 send the following data and any information you think might be
1318 pertinent to <config-patches@gnu.org> in order to provide the needed
1319 information to handle your system.
1321 config.guess timestamp = $timestamp
1323 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1324 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1325 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1326 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1328 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1329 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1331 hostinfo = `(hostinfo) 2>/dev/null`
1332 /bin/universe = `(/bin/universe) 2>/dev/null`
1333 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1334 /bin/arch = `(/bin/arch) 2>/dev/null`
1335 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1336 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1338 UNAME_MACHINE = ${UNAME_MACHINE}
1339 UNAME_RELEASE = ${UNAME_RELEASE}
1340 UNAME_SYSTEM = ${UNAME_SYSTEM}
1341 UNAME_VERSION = ${UNAME_VERSION}
1347 # eval: (add-hook 'write-file-hooks 'time-stamp)
1348 # time-stamp-start: "timestamp='"
1349 # time-stamp-format: "%:y-%02m-%02d"
1350 # time-stamp-end: "'"