2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 # 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 <bothner@cygnus.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 UNAME_MACHINE_ARCH
=`(uname -p) 2>/dev/null` || \
142 UNAME_MACHINE_ARCH
=unknown
143 case "${UNAME_MACHINE_ARCH}" in
144 arm
*) machine
=arm
-unknown ;;
145 sh3el
) machine
=shl
-unknown ;;
146 sh3eb
) machine
=sh
-unknown ;;
147 *) machine
=${UNAME_MACHINE_ARCH}-unknown ;;
149 # The Operating System including object format, if it has switched
150 # to ELF recently, or will in the future.
151 case "${UNAME_MACHINE_ARCH}" in
152 arm
*|i386
|m68k
|ns32k
|sh3
*|sparc
|vax
)
153 eval $set_cc_for_build
154 if echo __ELF__
| $CC_FOR_BUILD -E - 2>/dev
/null \
155 | grep __ELF__
>/dev
/null
157 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158 # Return netbsd for either. FIX?
169 release
=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171 # contains redundant information, the shorter form:
172 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173 echo "${machine}-${os}${release}"
176 echo m68k
-unknown-openbsd${UNAME_RELEASE}
179 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
182 echo m68k
-unknown-openbsd${UNAME_RELEASE}
185 echo m68k
-unknown-openbsd${UNAME_RELEASE}
188 echo powerpc
-unknown-openbsd${UNAME_RELEASE}
191 echo m68k
-unknown-openbsd${UNAME_RELEASE}
194 echo m88k
-unknown-openbsd${UNAME_RELEASE}
197 echo powerpc
-unknown-openbsd${UNAME_RELEASE}
200 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
203 echo mipseb
-unknown-openbsd${UNAME_RELEASE}
206 echo m68k
-unknown-openbsd${UNAME_RELEASE}
209 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
212 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
215 if test $UNAME_RELEASE = "V4.0"; then
216 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
218 # A Vn.n version is a released version.
219 # A Tn.n version is a released field test version.
220 # A Xn.n version is an unreleased experimental baselevel.
221 # 1.2 uses "1.2" for uname -r.
225 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
232 .frame \$30,16,\$26,0
235 .long 0x47e03d80 # implver \$0
237 .long 0x47e20c21 # amask \$2,\$1
247 eval $set_cc_for_build
248 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
249 if test "$?" = 0 ; then
252 UNAME_MACHINE
="alpha"
255 UNAME_MACHINE
="alphaev5"
258 UNAME_MACHINE
="alphaev56"
261 UNAME_MACHINE
="alphapca56"
264 UNAME_MACHINE
="alphaev6"
267 UNAME_MACHINE
="alphaev67"
270 UNAME_MACHINE
="alphaev68"
274 rm -f $dummy.s
$dummy
275 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277 Alpha\
*:Windows_NT
*:*)
278 # How do we know it's Interix rather than the generic POSIX subsystem?
279 # Should we change UNAME_MACHINE based on the output of uname instead
280 # of the specific Alpha model?
281 echo alpha
-pc-interix
283 21064:Windows_NT
:50:3)
284 echo alpha
-dec-winnt3.5
286 Amiga
*:UNIX_System_V
:4.0:*)
287 echo m68k
-unknown-sysv4
289 *:[Aa
]miga
[Oo
][Ss
]:*:*)
290 echo ${UNAME_MACHINE}-unknown-amigaos
293 echo i370
-ibm-openedition
295 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
296 echo arm
-acorn-riscix${UNAME_RELEASE}
298 SR2?
01:HI
-UX/MPP
:*:* | SR8000
:HI
-UX/MPP
:*:*)
299 echo hppa1.1
-hitachi-hiuxmpp
301 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC
-OSx*:*:*)
302 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
303 if test "`(/bin/universe) 2>/dev/null`" = att
; then
304 echo pyramid
-pyramid-sysv3
306 echo pyramid
-pyramid-bsd
310 echo pyramid
-pyramid-svr4
313 echo sparc
-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
315 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
316 echo sparc
-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 echo i386
-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322 # According to config.sub, this is the proper way to canonicalize
323 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
324 # it's likely to be more like Solaris than SunOS4.
325 echo sparc
-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 case "`/usr/bin/arch -k`" in
330 UNAME_RELEASE
=`uname -v`
333 # Japanese Language versions have a version number like `4.1.3-JL'.
334 echo sparc
-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
337 echo m68k
-sun-sunos${UNAME_RELEASE}
340 UNAME_RELEASE
=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
341 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
342 case "`/bin/arch`" in
344 echo m68k
-sun-sunos${UNAME_RELEASE}
347 echo sparc
-sun-sunos${UNAME_RELEASE}
352 echo sparc
-auspex-sunos${UNAME_RELEASE}
354 # The situation for MiNT is a little confusing. The machine name
355 # can be virtually everything (everything which is not
356 # "atarist" or "atariste" at least should have a processor
357 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
358 # to the lowercase version "mint" (or "freemint"). Finally
359 # the system name "TOS" denotes a system which is actually not
360 # MiNT. But MiNT is downward compatible to TOS, so this should
362 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
363 echo m68k
-atari-mint${UNAME_RELEASE}
365 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
366 echo m68k
-atari-mint${UNAME_RELEASE}
368 *falcon
*:*MiNT
:*:* | *falcon
*:*mint
:*:* | *falcon
*:*TOS
:*:*)
369 echo m68k
-atari-mint${UNAME_RELEASE}
371 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* | *milan
*:*TOS
:*:*)
372 echo m68k
-milan-mint${UNAME_RELEASE}
374 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* | *hades
*:*TOS
:*:*)
375 echo m68k
-hades-mint${UNAME_RELEASE}
377 *:*MiNT
:*:* | *:*mint
:*:* | *:*TOS
:*:*)
378 echo m68k
-unknown-mint${UNAME_RELEASE}
381 echo powerpc
-apple-machten${UNAME_RELEASE}
384 echo mips
-dec-mach_bsd4.3
387 echo mips
-dec-ultrix${UNAME_RELEASE}
390 echo vax
-dec-ultrix${UNAME_RELEASE}
392 2020:CLIX
:*:* | 2430:CLIX
:*:*)
393 echo clipper
-intergraph-clix${UNAME_RELEASE}
395 mips
:*:*:UMIPS
| mips
:*:*:RISCos
)
396 eval $set_cc_for_build
397 sed 's/^ //' << EOF >$dummy.c
399 #include <stdio.h> /* for printf() prototype */
400 int main (int argc, char *argv[]) {
402 int main (argc, argv) int argc; char *argv[]; {
404 #if defined (host_mips) && defined (MIPSEB)
405 #if defined (SYSTYPE_SYSV)
406 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
408 #if defined (SYSTYPE_SVR4)
409 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
411 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
412 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
418 $CC_FOR_BUILD $dummy.c
-o $dummy \
419 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420 && rm -f $dummy.c
$dummy && exit 0
421 rm -f $dummy.c
$dummy
422 echo mips
-mips-riscos${UNAME_RELEASE}
424 Motorola
:PowerMAX_OS
:*:*)
425 echo powerpc
-motorola-powermax
427 Night_Hawk
:Power_UNIX
:*:*)
428 echo powerpc
-harris-powerunix
431 echo m88k
-harris-cxux7
434 echo m88k
-motorola-sysv4
437 echo m88k
-motorola-sysv3
440 # DG/UX returns AViiON for all architectures
441 UNAME_PROCESSOR
=`/usr/bin/uname -p`
442 if [ $UNAME_PROCESSOR = mc88100
] || [ $UNAME_PROCESSOR = mc88110
]
444 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
445 [ ${TARGET_BINARY_INTERFACE}x
= x
]
447 echo m88k
-dg-dgux${UNAME_RELEASE}
449 echo m88k
-dg-dguxbcs${UNAME_RELEASE}
452 echo i586
-dg-dgux${UNAME_RELEASE}
455 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
456 echo m88k
-dolphin-sysv3
459 # Delta 88k system running SVR3
460 echo m88k
-motorola-sysv3
462 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
463 echo m88k
-tektronix-sysv3
465 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
466 echo m68k
-tektronix-bsd
469 echo mips
-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
471 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
472 echo romp
-ibm-aix # uname -m gives an 8 hex-code CPU id
473 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
478 if [ -x /usr
/bin
/oslevel
] ; then
479 IBM_REV
=`/usr/bin/oslevel`
481 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
483 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
486 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
487 eval $set_cc_for_build
488 sed 's/^ //' << EOF >$dummy.c
489 #include <sys/systemcfg.h>
495 puts("powerpc-ibm-aix3.2.5");
499 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
500 rm -f $dummy.c
$dummy
501 echo rs6000
-ibm-aix3.2
.5
502 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
503 echo rs6000
-ibm-aix3.2
.4
505 echo rs6000
-ibm-aix3.2
509 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
510 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} | grep ' POWER' >/dev
/null
2>&1; then
515 if [ -x /usr
/bin
/oslevel
] ; then
516 IBM_REV
=`/usr/bin/oslevel`
518 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
520 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
525 ibmrt
:4.4BSD
:*|romp
-ibm:BSD
:*)
528 ibmrt
:*BSD
:*|romp
-ibm:BSD
:*) # covers RT/PC BSD and
529 echo romp
-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
530 exit 0 ;; # report: romp-ibm BSD 4.3
532 echo rs6000
-bull-bosx
537 9000/[34]??
:4.3bsd
:1.
*:*)
540 hp300
:4.4BSD
:*:* | 9000/[34]??
:4.3bsd
:2.
*:*)
543 9000/[34678]??
:HP
-UX:*:*)
544 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
545 case "${UNAME_MACHINE}" in
546 9000/31?
) HP_ARCH
=m68000
;;
547 9000/[34]??
) HP_ARCH
=m68k
;;
548 9000/[678][0-9][0-9])
549 if [ -x /usr
/bin
/getconf
]; then
550 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
551 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
552 case "${sc_cpu_version}" in
553 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
554 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
555 532) # CPU_PA_RISC2_0
556 case "${sc_kernel_bits}" in
557 32) HP_ARCH
="hppa2.0n" ;;
558 64) HP_ARCH
="hppa2.0w" ;;
559 '') HP_ARCH
="hppa2.0" ;; # HP-UX 10.20
563 if [ "${HP_ARCH}" = "" ]; then
564 eval $set_cc_for_build
565 sed 's/^ //' << EOF >$dummy.c
573 #if defined(_SC_KERNEL_BITS)
574 long bits = sysconf(_SC_KERNEL_BITS);
576 long cpu = sysconf (_SC_CPU_VERSION);
580 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
581 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
583 #if defined(_SC_KERNEL_BITS)
586 case 64: puts ("hppa2.0w"); break;
587 case 32: puts ("hppa2.0n"); break;
588 default: puts ("hppa2.0"); break;
590 #else /* !defined(_SC_KERNEL_BITS) */
591 puts ("hppa2.0"); break;
593 default: puts ("hppa1.0"); break;
598 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
599 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
600 rm -f $dummy.c
$dummy
603 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
606 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
607 echo ia64
-hp-hpux${HPUX_REV}
610 eval $set_cc_for_build
611 sed 's/^ //' << EOF >$dummy.c
616 long cpu = sysconf (_SC_CPU_VERSION);
617 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
618 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
620 if (CPU_IS_PA_RISC (cpu))
624 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
625 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
626 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
627 default: puts ("hppa-hitachi-hiuxwe2"); break;
630 else if (CPU_IS_HP_MC68K (cpu))
631 puts ("m68k-hitachi-hiuxwe2");
632 else puts ("unknown-hitachi-hiuxwe2");
636 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
637 rm -f $dummy.c
$dummy
638 echo unknown
-hitachi-hiuxwe2
640 9000/7??
:4.3bsd
:*:* | 9000/8?
[79]:4.3bsd
:*:* )
646 *9??
*:MPE
/iX
:*:* | *3000*:MPE
/iX
:*:*)
647 echo hppa1.0
-hp-mpeix
649 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
656 if [ -x /usr
/sbin
/sysversion
] ; then
657 echo ${UNAME_MACHINE}-unknown-osf1mk
659 echo ${UNAME_MACHINE}-unknown-osf1
663 echo hppa1.1
-hp-lites
665 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
668 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
669 if getsysinfo
-f scalar_acc
670 then echo c32
-convex-bsd
671 else echo c2
-convex-bsd
674 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
677 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
680 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
687 echo ymp
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
690 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
691 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
692 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
696 echo t90
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
699 echo alpha
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702 echo alphaev5
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705 echo sv1
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708 echo cray2
-cray-unicos
710 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
711 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
712 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
713 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
714 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
716 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* | *:Ascend\ Embedded
/OS
:*:*)
717 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
720 echo sparc
-unknown-bsdi${UNAME_RELEASE}
723 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
726 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
729 echo ${UNAME_MACHINE}-pc-cygwin
732 echo ${UNAME_MACHINE}-pc-mingw32
735 echo ${UNAME_MACHINE}-pc-pw32
737 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
738 # How do we know it's Interix rather than the generic POSIX subsystem?
739 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
740 # UNAME_MACHINE based on the output of uname instead of i386?
744 echo ${UNAME_MACHINE}-pc-uwin
747 echo powerpcle
-unknown-cygwin
750 echo powerpcle
-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
753 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
756 echo ${UNAME_MACHINE}-pc-minix
759 echo ${UNAME_MACHINE}-unknown-linux-gnu
762 echo ${UNAME_MACHINE}-unknown-linux
765 echo ${UNAME_MACHINE}-unknown-linux-gnu
768 eval $set_cc_for_build
769 sed 's/^ //' << EOF >$dummy.c
770 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
773 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
780 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
782 test x
"${CPU}" != x
&& echo "${CPU}-pc-linux-gnu" && exit 0
785 echo powerpc
-unknown-linux-gnu
788 echo powerpc64
-unknown-linux-gnu
791 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
792 EV5
) UNAME_MACHINE
=alphaev5
;;
793 EV56
) UNAME_MACHINE
=alphaev56
;;
794 PCA56
) UNAME_MACHINE
=alphapca56
;;
795 PCA57
) UNAME_MACHINE
=alphapca56
;;
796 EV6
) UNAME_MACHINE
=alphaev6
;;
797 EV67
) UNAME_MACHINE
=alphaev67
;;
798 EV68
*) UNAME_MACHINE
=alphaev68
;;
800 objdump
--private-headers /bin
/sh
| grep ld.so
.1 >/dev
/null
801 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
802 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
804 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
806 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
807 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
808 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
809 *) echo hppa
-unknown-linux-gnu ;;
812 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
813 echo hppa64
-unknown-linux-gnu
815 s390
:Linux
:*:* | s390x
:Linux
:*:*)
816 echo ${UNAME_MACHINE}-ibm-linux
819 echo ${UNAME_MACHINE}-unknown-linux-gnu
821 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
822 echo ${UNAME_MACHINE}-unknown-linux-gnu
825 echo x86_64
-unknown-linux-gnu
828 # The BFD linker knows what the default object file format is, so
829 # first see if it will tell us. cd to the root directory to prevent
830 # problems with other programs or directories called `ld' in the path.
831 ld_supported_targets
=`cd /; ld --help 2>&1 \
832 | sed -ne '/supported targets:/!d
834 s/.*supported targets: *//
837 case "$ld_supported_targets" in
839 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
842 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
845 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
848 # Either a pre-BFD a.out linker (linux-gnuoldld) or
849 # one that does not give us useful --help.
850 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
853 # Determine whether the default compiler is a.out or elf
854 eval $set_cc_for_build
855 sed 's/^ //' << EOF >$dummy.c
856 #include <features.h>
871 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
873 test x
"${LIBC}" != x
&& echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
874 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
877 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
878 # earlier versions are messed up and put the nodename in both
879 # sysname and nodename.
880 echo i386
-sequent-sysv4
882 i
*86:UNIX_SV
:4.2MP
:2.
*)
883 # Unixware is an offshoot of SVR4, but it has its own version
884 # number series starting with 2...
885 # I am not positive that other SVR4 systems won't match this,
886 # I just have to hope. -- rms.
887 # Use sysv4.2uw... so that sysv4* matches it.
888 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
890 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
891 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
892 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
893 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
895 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
899 case `/bin/uname -X | grep "^Machine"` in
900 *486*) UNAME_MACHINE
=i486
;;
901 *Pentium
) UNAME_MACHINE
=i586
;;
902 *Pent
*|*Celeron
) UNAME_MACHINE
=i686
;;
904 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
907 if test -f /usr
/options
/cb.name
; then
908 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
909 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
910 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
911 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
912 (/bin
/uname
-X|egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
913 (/bin
/uname
-X|egrep '^Machine.*Pentium' >/dev
/null
) \
914 && UNAME_MACHINE
=i586
915 (/bin
/uname
-X|egrep '^Machine.*Pent ?II' >/dev
/null
) \
916 && UNAME_MACHINE
=i686
917 (/bin
/uname
-X|egrep '^Machine.*Pentium Pro' >/dev
/null
) \
918 && UNAME_MACHINE
=i686
919 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
921 echo ${UNAME_MACHINE}-pc-sysv32
925 echo ${UNAME_MACHINE}-pc-msdosdjgpp
928 # Left here for compatibility:
929 # uname -m prints for DJGPP always 'pc', but it prints nothing about
930 # the processor, so we play safe by assuming i386.
931 echo i386
-pc-msdosdjgpp
939 i860
:*:4.
*:*) # i860-SVR4
940 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
941 echo i860
-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
942 else # Add other i860-SVR4 vendors below as they are discovered.
943 echo i860
-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
948 echo m68010
-convergent-sysv
951 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
952 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)
954 test -r /etc
/.relid \
955 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
956 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
957 && echo i486
-ncr-sysv4.3
${OS_REL} && exit 0
958 /bin
/uname
-p 2>/dev
/null
| /bin
/grep entium
>/dev
/null \
959 && echo i586
-ncr-sysv4.3
${OS_REL} && exit 0 ;;
960 3[34]??
:*:4.0:* | 3[34]??
,*:*:4.0:*)
961 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
962 && echo i486
-ncr-sysv4 && exit 0 ;;
963 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
964 echo m68k
-unknown-lynxos${UNAME_RELEASE}
966 mc68030
:UNIX_System_V
:4.
*:*)
967 echo m68k
-atari-sysv4
969 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
970 echo i386
-unknown-lynxos${UNAME_RELEASE}
972 TSUNAMI
:LynxOS
:2.
*:*)
973 echo sparc
-unknown-lynxos${UNAME_RELEASE}
976 echo rs6000
-unknown-lynxos${UNAME_RELEASE}
978 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
979 echo powerpc
-unknown-lynxos${UNAME_RELEASE}
982 echo mips
-dde-sysv${UNAME_RELEASE}
984 RM
*:ReliantUNIX
-*:*:*)
991 if uname
-p 2>/dev
/null
>/dev
/null
; then
992 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
993 echo ${UNAME_MACHINE}-sni-sysv4
998 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
999 # says <Richard.M.Bartel@ccMail.Census.GOV>
1000 echo i586
-unisys-sysv4
1002 *:UNIX_System_V
:4*:FTX
*)
1003 # From Gerald Hewes <hewes@openmarket.com>.
1004 # How about differentiating between stratus architectures? -djm
1005 echo hppa1.1
-stratus-sysv4
1008 # From seanf@swdc.stratus.com.
1009 echo i860
-stratus-sysv4
1012 # From Paul.Green@stratus.com.
1013 echo hppa1.1
-stratus-vos
1016 echo m68k
-apple-aux${UNAME_RELEASE}
1019 echo mips
-sony-newsos6
1021 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1022 if [ -d /usr
/nec
]; then
1023 echo mips
-nec-sysv${UNAME_RELEASE}
1025 echo mips
-unknown-sysv${UNAME_RELEASE}
1028 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1029 echo powerpc
-be-beos
1031 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1032 echo powerpc
-apple-beos
1034 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1038 echo sx4
-nec-superux${UNAME_RELEASE}
1041 echo sx5
-nec-superux${UNAME_RELEASE}
1043 Power
*:Rhapsody
:*:*)
1044 echo powerpc
-apple-rhapsody${UNAME_RELEASE}
1047 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1050 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1052 *:procnto
*:*:* | *:QNX
:[0123456789]*:*)
1053 if test "${UNAME_MACHINE}" = "x86pc"; then
1056 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1061 NSR
-[GKLNPTVW
]:NONSTOP_KERNEL
:*:*)
1062 echo nsr
-tandem-nsk${UNAME_RELEASE}
1065 echo mips
-compaq-nonstopux
1068 echo bs2000
-siemens-sysv
1070 DS
/*:UNIX_System_V
:*:*)
1071 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1074 # "uname -m" is not consistent, so use $cputype instead. 386
1075 # is converted to i386 for consistency with other x86
1076 # operating systems.
1077 if test "$cputype" = "386"; then
1080 UNAME_MACHINE
="$cputype"
1082 echo ${UNAME_MACHINE}-unknown-plan9
1085 # If we were able to find `uname', then EMX Unix compatibility
1086 # is probably installed.
1087 echo ${UNAME_MACHINE}-pc-os2-emx
1090 echo pdp10
-unknown-tops10
1093 echo pdp10
-unknown-tenex
1095 KS10
:TOPS
-20:*:* | KL10
:TOPS
-20:*:* | TYPE4
:TOPS
-20:*:*)
1096 echo pdp10
-dec-tops20
1098 XKL
-1:TOPS
-20:*:* | TYPE5
:TOPS
-20:*:*)
1099 echo pdp10
-xkl-tops20
1102 echo pdp10
-unknown-tops20
1105 echo pdp10
-unknown-its
1107 i
*86:XTS
-300:*:STOP
)
1108 echo ${UNAME_MACHINE}-unknown-stop
1111 echo ${UNAME_MACHINE}-unknown-atheos
1115 #echo '(No uname command or uname output not recognized.)' 1>&2
1116 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1118 eval $set_cc_for_build
1121 # include <sys/types.h>
1122 # include <sys/utsname.h>
1127 #if defined (MIPSEB)
1128 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1130 printf ("mips-sony-bsd\n"); exit (0);
1132 #include <sys/param.h>
1133 printf ("m68k-sony-newsos%s\n",
1143 #if defined (__arm) && defined (__acorn) && defined (__unix)
1144 printf ("arm-acorn-riscix"); exit (0);
1147 #if defined (hp300) && !defined (hpux)
1148 printf ("m68k-hp-bsd\n"); exit (0);
1152 #if !defined (__ARCHITECTURE__)
1153 #define __ARCHITECTURE__ "m68k"
1156 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1158 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1160 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1164 #if defined (MULTIMAX) || defined (n16)
1166 printf ("ns32k-encore-sysv\n"); exit (0);
1169 printf ("ns32k-encore-mach\n"); exit (0);
1171 printf ("ns32k-encore-bsd\n"); exit (0);
1176 #if defined (__386BSD__)
1177 printf ("i386-pc-bsd\n"); exit (0);
1180 #if defined (sequent)
1182 printf ("i386-sequent-dynix\n"); exit (0);
1184 #if defined (ns32000)
1185 printf ("ns32k-sequent-dynix\n"); exit (0);
1189 #if defined (_SEQUENT_)
1194 if (strncmp(un.version, "V2", 2) == 0) {
1195 printf ("i386-sequent-ptx2\n"); exit (0);
1197 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1198 printf ("i386-sequent-ptx1\n"); exit (0);
1200 printf ("i386-sequent-ptx\n"); exit (0);
1205 # if !defined (ultrix)
1206 # include <sys/param.h>
1209 printf ("vax-dec-bsd4.3\n"); exit (0);
1212 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1214 printf ("vax-dec-bsd\n"); exit (0);
1218 printf ("vax-dec-bsd\n"); exit (0);
1221 printf ("vax-dec-ultrix\n"); exit (0);
1225 #if defined (alliant) && defined (i860)
1226 printf ("i860-alliant-bsd\n"); exit (0);
1233 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1234 rm -f $dummy.c
$dummy
1236 # Apollos put the system type in the environment.
1238 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1240 # Convex versions that predate uname can use getsysinfo(1)
1242 if [ -x /usr
/convex
/getsysinfo
]
1244 case `getsysinfo -f cpu_type` in
1249 if getsysinfo
-f scalar_acc
1250 then echo c32
-convex-bsd
1251 else echo c2
-convex-bsd
1267 $0: unable to guess system type
1269 This script, last modified $timestamp, has failed to recognize
1270 the operating system you are using. It is advised that you
1271 download the most up to date version of the config scripts from
1273 ftp://ftp.gnu.org/pub/gnu/config/
1275 If the version you run ($0) is already up to date, please
1276 send the following data and any information you think might be
1277 pertinent to <config-patches@gnu.org> in order to provide the needed
1278 information to handle your system.
1280 config.guess timestamp = $timestamp
1282 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1283 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1284 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1285 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1287 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1288 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1290 hostinfo = `(hostinfo) 2>/dev/null`
1291 /bin/universe = `(/bin/universe) 2>/dev/null`
1292 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1293 /bin/arch = `(/bin/arch) 2>/dev/null`
1294 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1295 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1297 UNAME_MACHINE = ${UNAME_MACHINE}
1298 UNAME_RELEASE = ${UNAME_RELEASE}
1299 UNAME_SYSTEM = ${UNAME_SYSTEM}
1300 UNAME_VERSION = ${UNAME_VERSION}
1306 # eval: (add-hook 'write-file-hooks 'time-stamp)
1307 # time-stamp-start: "timestamp='"
1308 # time-stamp-format: "%:y-%02m-%02d"
1309 # time-stamp-end: "'"