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 # Written by Per Bothner <bothner@cygnus.com>.
28 # Please send patches to <config-patches@gnu.org>.
30 # This script attempts to guess a canonical system name similar to
31 # config.sub. If it succeeds, it prints the system name on stdout, and
32 # exits with 0. Otherwise, it exits with 1.
34 # The plan is that this can be called by configure scripts if you
35 # don't specify an explicit build system type.
37 me
=`echo "$0" | sed -e 's,.*/,,'`
42 Output the configuration name of the system \`$me' is run on.
45 -h, --help print this help, then exit
46 -t, --time-stamp print date of last modification, then exit
47 -v, --version print version number, then exit
49 Report bugs and patches to <config-patches@gnu.org>."
52 GNU config.guess ($timestamp)
54 Originally written by Per Bothner.
55 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56 Free Software Foundation, Inc.
58 This is free software; see the source for copying conditions. There is NO
59 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
62 Try \`$me --help' for more information."
65 while test $# -gt 0 ; do
67 --time-stamp | --time* | -t )
68 echo "$timestamp" ; exit 0 ;;
70 echo "$version" ; exit 0 ;;
72 echo "$usage"; exit 0 ;;
73 -- ) # Stop option processing
75 - ) # Use stdin as input.
78 echo "$me: invalid option $1$help" >&2
86 echo "$me: too many arguments$help" >&2
92 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94 # CC_FOR_BUILD -- compiler used by this script.
95 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96 # use `HOST_CC' if defined, but it is deprecated.
98 set_cc_for_build
='case $CC_FOR_BUILD,$HOST_CC,$CC in
99 ,,) echo "int dummy(){}" > $dummy.c ;
100 for c in cc gcc c89 ; do
101 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102 if test $? = 0 ; then
103 CC_FOR_BUILD="$c"; break ;
106 rm -f $dummy.c $dummy.o $dummy.rel ;
107 if test x"$CC_FOR_BUILD" = x ; then
108 CC_FOR_BUILD=no_compiler_found ;
111 ,,*) CC_FOR_BUILD=$CC ;;
112 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
115 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
116 # (ghazi@noc.rutgers.edu 1994-08-24)
117 if (test -f /.attbin
/uname
) >/dev
/null
2>&1 ; then
118 PATH
=$PATH:/.attbin
; export PATH
121 UNAME_MACHINE
=`(uname -m) 2>/dev/null` || UNAME_MACHINE
=unknown
122 UNAME_RELEASE
=`(uname -r) 2>/dev/null` || UNAME_RELEASE
=unknown
123 UNAME_SYSTEM
=`(uname -s) 2>/dev/null` || UNAME_SYSTEM
=unknown
124 UNAME_VERSION
=`(uname -v) 2>/dev/null` || UNAME_VERSION
=unknown
126 # Note: order is significant - the case branches are not exclusive.
128 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130 # Netbsd (nbsd) targets should (where applicable) match one or
131 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
133 # switched to ELF, *-*-netbsd* would select the old
134 # object file format. This provides both forward
135 # compatibility and a consistent mechanism for selecting the
136 # object file format.
137 # Determine the machine/vendor (is the vendor relevant).
138 case "${UNAME_MACHINE}" in
139 amiga
) machine
=m68k
-unknown ;;
140 arm32
) machine
=arm
-unknown ;;
141 atari
*) machine
=m68k
-atari ;;
142 sun3
*) machine
=m68k
-sun ;;
143 mac68k
) machine
=m68k
-apple ;;
144 macppc
) machine
=powerpc
-apple ;;
145 hp3
[0-9][05]) machine
=m68k
-hp ;;
146 ibmrt
|romp
-ibm) machine
=romp
-ibm ;;
147 *) machine
=${UNAME_MACHINE}-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}" in
152 i386
|sparc
|amiga
|arm
*|hp300
|mvme68k
|vax
|atari
|luna68k
|mac68k
|news68k
|next68k
|pc532
|sun3
*|x68k
)
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 if test $UNAME_RELEASE = "V4.0"; then
177 UNAME_RELEASE
=`/usr/sbin/sizer -v | awk '{print $3}'`
179 # A Vn.n version is a released version.
180 # A Tn.n version is a released field test version.
181 # A Xn.n version is an unreleased experimental baselevel.
182 # 1.2 uses "1.2" for uname -r.
186 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
193 .frame \$30,16,\$26,0
196 .long 0x47e03d80 # implver \$0
198 .long 0x47e20c21 # amask \$2,\$1
208 eval $set_cc_for_build
209 $CC_FOR_BUILD $dummy.s
-o $dummy 2>/dev
/null
210 if test "$?" = 0 ; then
213 UNAME_MACHINE
="alpha"
216 UNAME_MACHINE
="alphaev5"
219 UNAME_MACHINE
="alphaev56"
222 UNAME_MACHINE
="alphapca56"
225 UNAME_MACHINE
="alphaev6"
228 UNAME_MACHINE
="alphaev67"
231 UNAME_MACHINE
="alphaev68"
235 rm -f $dummy.s
$dummy
236 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
238 Alpha\
*:Windows_NT
*:*)
239 # How do we know it's Interix rather than the generic POSIX subsystem?
240 # Should we change UNAME_MACHINE based on the output of uname instead
241 # of the specific Alpha model?
242 echo alpha
-pc-interix
244 21064:Windows_NT
:50:3)
245 echo alpha
-dec-winnt3.5
247 Amiga
*:UNIX_System_V
:4.0:*)
248 echo m68k
-unknown-sysv4
251 echo m68k
-unknown-openbsd${UNAME_RELEASE}
253 *:[Aa
]miga
[Oo
][Ss
]:*:*)
254 echo ${UNAME_MACHINE}-unknown-amigaos
257 echo mips64el
-unknown-openbsd${UNAME_RELEASE}
260 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
263 echo mips
-unknown-openbsd${UNAME_RELEASE}
266 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
269 echo mips
-unknown-openbsd${UNAME_RELEASE}
272 echo mipsel
-unknown-openbsd${UNAME_RELEASE}
275 echo i370
-ibm-openedition
277 arm
:RISC
*:1.
[012]*:*|arm
:riscix
:1.
[012]*:*)
278 echo arm
-acorn-riscix${UNAME_RELEASE}
280 SR2?
01:HI
-UX/MPP
:*:* | SR8000
:HI
-UX/MPP
:*:*)
281 echo hppa1.1
-hitachi-hiuxmpp
283 Pyramid
*:OSx
*:*:* | MIS
*:OSx
*:*:* | MIS
*:SMP_DC
-OSx*:*:*)
284 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
285 if test "`(/bin/universe) 2>/dev/null`" = att
; then
286 echo pyramid
-pyramid-sysv3
288 echo pyramid
-pyramid-bsd
292 echo pyramid
-pyramid-svr4
295 echo sparc
-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
297 sun4
*:SunOS
:5.
*:* | tadpole
*:SunOS
:5.
*:*)
298 echo sparc
-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
301 echo i386
-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
304 # According to config.sub, this is the proper way to canonicalize
305 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
306 # it's likely to be more like Solaris than SunOS4.
307 echo sparc
-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
310 case "`/usr/bin/arch -k`" in
312 UNAME_RELEASE
=`uname -v`
315 # Japanese Language versions have a version number like `4.1.3-JL'.
316 echo sparc
-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
319 echo m68k
-sun-sunos${UNAME_RELEASE}
322 UNAME_RELEASE
=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE
=3
324 case "`/bin/arch`" in
326 echo m68k
-sun-sunos${UNAME_RELEASE}
329 echo sparc
-sun-sunos${UNAME_RELEASE}
334 echo sparc
-auspex-sunos${UNAME_RELEASE}
337 echo m68k
-unknown-openbsd${UNAME_RELEASE}
339 # The situation for MiNT is a little confusing. The machine name
340 # can be virtually everything (everything which is not
341 # "atarist" or "atariste" at least should have a processor
342 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
343 # to the lowercase version "mint" (or "freemint"). Finally
344 # the system name "TOS" denotes a system which is actually not
345 # MiNT. But MiNT is downward compatible to TOS, so this should
347 atarist
[e
]:*MiNT
:*:* | atarist
[e
]:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
348 echo m68k
-atari-mint${UNAME_RELEASE}
350 atari
*:*MiNT
:*:* | atari
*:*mint
:*:* | atarist
[e
]:*TOS
:*:*)
351 echo m68k
-atari-mint${UNAME_RELEASE}
353 *falcon
*:*MiNT
:*:* | *falcon
*:*mint
:*:* | *falcon
*:*TOS
:*:*)
354 echo m68k
-atari-mint${UNAME_RELEASE}
356 milan
*:*MiNT
:*:* | milan
*:*mint
:*:* | *milan
*:*TOS
:*:*)
357 echo m68k
-milan-mint${UNAME_RELEASE}
359 hades
*:*MiNT
:*:* | hades
*:*mint
:*:* | *hades
*:*TOS
:*:*)
360 echo m68k
-hades-mint${UNAME_RELEASE}
362 *:*MiNT
:*:* | *:*mint
:*:* | *:*TOS
:*:*)
363 echo m68k
-unknown-mint${UNAME_RELEASE}
366 echo m68k
-unknown-openbsd${UNAME_RELEASE}
369 echo m68k
-unknown-openbsd${UNAME_RELEASE}
372 echo m68k
-unknown-openbsd${UNAME_RELEASE}
375 echo m88k
-unknown-openbsd${UNAME_RELEASE}
378 echo powerpc
-apple-machten${UNAME_RELEASE}
381 echo mips
-dec-mach_bsd4.3
384 echo mips
-dec-ultrix${UNAME_RELEASE}
387 echo vax
-dec-ultrix${UNAME_RELEASE}
389 2020:CLIX
:*:* | 2430:CLIX
:*:*)
390 echo clipper
-intergraph-clix${UNAME_RELEASE}
392 mips
:*:*:UMIPS
| mips
:*:*:RISCos
)
393 sed 's/^ //' << EOF >$dummy.c
395 #include <stdio.h> /* for printf() prototype */
396 int main (int argc, char *argv[]) {
398 int main (argc, argv) int argc; char *argv[]; {
400 #if defined (host_mips) && defined (MIPSEB)
401 #if defined (SYSTYPE_SYSV)
402 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
404 #if defined (SYSTYPE_SVR4)
405 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
407 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
408 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
414 eval $set_cc_for_build
415 $CC_FOR_BUILD $dummy.c
-o $dummy \
416 && .
/$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
417 && rm -f $dummy.c
$dummy && exit 0
418 rm -f $dummy.c
$dummy
419 echo mips
-mips-riscos${UNAME_RELEASE}
421 Motorola
:PowerMAX_OS
:*:*)
422 echo powerpc
-motorola-powermax
424 Night_Hawk
:Power_UNIX
:*:*)
425 echo powerpc
-harris-powerunix
428 echo m88k
-harris-cxux7
431 echo m88k
-motorola-sysv4
434 echo m88k
-motorola-sysv3
437 # DG/UX returns AViiON for all architectures
438 UNAME_PROCESSOR
=`/usr/bin/uname -p`
439 if [ $UNAME_PROCESSOR = mc88100
] || [ $UNAME_PROCESSOR = mc88110
]
441 if [ ${TARGET_BINARY_INTERFACE}x
= m88kdguxelfx
] || \
442 [ ${TARGET_BINARY_INTERFACE}x
= x
]
444 echo m88k
-dg-dgux${UNAME_RELEASE}
446 echo m88k
-dg-dguxbcs${UNAME_RELEASE}
449 echo i586
-dg-dgux${UNAME_RELEASE}
452 M88
*:DolphinOS
:*:*) # DolphinOS (SVR3)
453 echo m88k
-dolphin-sysv3
456 # Delta 88k system running SVR3
457 echo m88k
-motorola-sysv3
459 XD88
*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
460 echo m88k
-tektronix-sysv3
462 Tek43
[0-9][0-9]:UTek
:*:*) # Tektronix 4300 system running UTek (BSD)
463 echo m68k
-tektronix-bsd
466 echo mips
-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
468 ????????
:AIX?
:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
469 echo romp
-ibm-aix # uname -m gives an 8 hex-code CPU id
470 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
475 if [ -x /usr
/bin
/oslevel
] ; then
476 IBM_REV
=`/usr/bin/oslevel`
478 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
480 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
483 if grep bos325
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
484 sed 's/^ //' << EOF >$dummy.c
485 #include <sys/systemcfg.h>
491 puts("powerpc-ibm-aix3.2.5");
495 eval $set_cc_for_build
496 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
497 rm -f $dummy.c
$dummy
498 echo rs6000
-ibm-aix3.2
.5
499 elif grep bos324
/usr
/include
/stdio.h
>/dev
/null
2>&1; then
500 echo rs6000
-ibm-aix3.2
.4
502 echo rs6000
-ibm-aix3.2
506 IBM_CPU_ID
=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
507 if /usr
/sbin
/lsattr
-El ${IBM_CPU_ID} | grep ' POWER' >/dev
/null
2>&1; then
512 if [ -x /usr
/bin
/oslevel
] ; then
513 IBM_REV
=`/usr/bin/oslevel`
515 IBM_REV
=${UNAME_VERSION}.
${UNAME_RELEASE}
517 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
522 ibmrt
:4.4BSD
:*|romp
-ibm:BSD
:*)
525 ibmrt
:*BSD
:*|romp
-ibm:BSD
:*) # covers RT/PC BSD and
526 echo romp
-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
527 exit 0 ;; # report: romp-ibm BSD 4.3
529 echo rs6000
-bull-bosx
534 9000/[34]??
:4.3bsd
:1.
*:*)
537 hp300
:4.4BSD
:*:* | 9000/[34]??
:4.3bsd
:2.
*:*)
540 9000/[34678]??
:HP
-UX:*:*)
541 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
542 case "${UNAME_MACHINE}" in
543 9000/31?
) HP_ARCH
=m68000
;;
544 9000/[34]??
) HP_ARCH
=m68k
;;
545 9000/[678][0-9][0-9])
546 case "${HPUX_REV}" in
548 if [ -x /usr
/bin
/getconf
]; then
549 sc_cpu_version
=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
550 sc_kernel_bits
=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
551 case "${sc_cpu_version}" in
552 523) HP_ARCH
="hppa1.0" ;; # CPU_PA_RISC1_0
553 528) HP_ARCH
="hppa1.1" ;; # CPU_PA_RISC1_1
554 532) # CPU_PA_RISC2_0
555 case "${sc_kernel_bits}" in
556 32) HP_ARCH
="hppa2.0n" ;;
557 64) HP_ARCH
="hppa2.0w" ;;
562 if [ "${HP_ARCH}" = "" ]; then
563 sed 's/^ //' << EOF >$dummy.c
571 #if defined(_SC_KERNEL_BITS)
572 long bits = sysconf(_SC_KERNEL_BITS);
574 long cpu = sysconf (_SC_CPU_VERSION);
578 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
579 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
581 #if defined(_SC_KERNEL_BITS)
584 case 64: puts ("hppa2.0w"); break;
585 case 32: puts ("hppa2.0n"); break;
586 default: puts ("hppa2.0"); break;
588 #else /* !defined(_SC_KERNEL_BITS) */
589 puts ("hppa2.0"); break;
591 default: puts ("hppa1.0"); break;
596 eval $set_cc_for_build
597 (CCOPTS
= $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
) && HP_ARCH
=`./$dummy`
598 if test -z "$HP_ARCH"; then HP_ARCH
=hppa
; fi
599 rm -f $dummy.c
$dummy
602 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
605 HPUX_REV
=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
606 echo ia64
-hp-hpux${HPUX_REV}
609 sed 's/^ //' << EOF >$dummy.c
614 long cpu = sysconf (_SC_CPU_VERSION);
615 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
616 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
618 if (CPU_IS_PA_RISC (cpu))
622 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
623 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
624 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
625 default: puts ("hppa-hitachi-hiuxwe2"); break;
628 else if (CPU_IS_HP_MC68K (cpu))
629 puts ("m68k-hitachi-hiuxwe2");
630 else puts ("unknown-hitachi-hiuxwe2");
634 eval $set_cc_for_build
635 $CC_FOR_BUILD $dummy.c
-o $dummy && .
/$dummy && rm -f $dummy.c
$dummy && exit 0
636 rm -f $dummy.c
$dummy
637 echo unknown
-hitachi-hiuxwe2
639 9000/7??
:4.3bsd
:*:* | 9000/8?
[79]:4.3bsd
:*:* )
645 *9??
*:MPE
/iX
:*:* | *3000*:MPE
/iX
:*:*)
646 echo hppa1.0
-hp-mpeix
648 hp7??
:OSF1
:*:* | hp8?
[79]:OSF1
:*:* )
655 if [ -x /usr
/sbin
/sysversion
] ; then
656 echo ${UNAME_MACHINE}-unknown-osf1mk
658 echo ${UNAME_MACHINE}-unknown-osf1
662 echo hppa1.1
-hp-lites
665 echo hppa
-unknown-openbsd
667 C1
*:ConvexOS
:*:* | convex
:ConvexOS
:C1
*:*)
670 C2
*:ConvexOS
:*:* | convex
:ConvexOS
:C2
*:*)
671 if getsysinfo
-f scalar_acc
672 then echo c32
-convex-bsd
673 else echo c2
-convex-bsd
676 C34
*:ConvexOS
:*:* | convex
:ConvexOS
:C34
*:*)
679 C38
*:ConvexOS
:*:* | convex
:ConvexOS
:C38
*:*)
682 C4
*:ConvexOS
:*:* | convex
:ConvexOS
:C4
*:*)
689 echo ymp
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
692 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
693 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
694 -e y
/ABCDEFGHIJKLMNOPQRSTUVWXYZ
/abcdefghijklmnopqrstuvwxyz
/ \
698 echo t90
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701 echo alpha
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704 echo alphaev5
-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707 echo sv1
-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710 echo cray2
-cray-unicos
712 F30
[01]:UNIX_System_V
:*:* | F700
:UNIX_System_V
:*:*)
713 FUJITSU_PROC
=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
714 FUJITSU_SYS
=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
715 FUJITSU_REL
=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
716 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
719 echo m68k
-unknown-openbsd${UNAME_RELEASE}
721 i
*86:BSD
/386:*:* | i
*86:BSD
/OS
:*:* | *:Ascend\ Embedded
/OS
:*:*)
722 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
725 echo sparc
-unknown-bsdi${UNAME_RELEASE}
728 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
731 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
734 echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
737 echo ${UNAME_MACHINE}-pc-cygwin
740 echo ${UNAME_MACHINE}-pc-mingw32
743 echo ${UNAME_MACHINE}-pc-pw32
745 i
*:Windows_NT
*:* | Pentium
*:Windows_NT
*:*)
746 # How do we know it's Interix rather than the generic POSIX subsystem?
747 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
748 # UNAME_MACHINE based on the output of uname instead of i386?
752 echo ${UNAME_MACHINE}-pc-uwin
755 echo powerpcle
-unknown-cygwin
758 echo powerpcle
-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
761 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
764 echo ${UNAME_MACHINE}-pc-minix
767 echo ${UNAME_MACHINE}-unknown-linux-gnu
770 echo ${UNAME_MACHINE}-unknown-linux
773 echo ${UNAME_MACHINE}-unknown-linux-gnu
776 case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
777 big
) echo mips
-unknown-linux-gnu && exit 0 ;;
778 little
) echo mipsel
-unknown-linux-gnu && exit 0 ;;
782 echo powerpc
-unknown-linux-gnu
785 echo powerpc64
-unknown-linux-gnu
788 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
789 EV5
) UNAME_MACHINE
=alphaev5
;;
790 EV56
) UNAME_MACHINE
=alphaev56
;;
791 PCA56
) UNAME_MACHINE
=alphapca56
;;
792 PCA57
) UNAME_MACHINE
=alphapca56
;;
793 EV6
) UNAME_MACHINE
=alphaev6
;;
794 EV67
) UNAME_MACHINE
=alphaev67
;;
795 EV68
*) UNAME_MACHINE
=alphaev68
;;
797 objdump
--private-headers /bin
/sh
| grep ld.so
.1 >/dev
/null
798 if test "$?" = 0 ; then LIBC
="libc1" ; else LIBC
="" ; fi
799 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
801 parisc
:Linux
:*:* | hppa
:Linux
:*:*)
803 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
804 PA7
*) echo hppa1.1
-unknown-linux-gnu ;;
805 PA8
*) echo hppa2.0
-unknown-linux-gnu ;;
806 *) echo hppa
-unknown-linux-gnu ;;
809 parisc64
:Linux
:*:* | hppa64
:Linux
:*:*)
810 echo hppa64
-unknown-linux-gnu
812 s390
:Linux
:*:* | s390x
:Linux
:*:*)
813 echo ${UNAME_MACHINE}-ibm-linux
816 echo ${UNAME_MACHINE}-unknown-linux-gnu
818 sparc
:Linux
:*:* | sparc64
:Linux
:*:*)
819 echo ${UNAME_MACHINE}-unknown-linux-gnu
822 echo x86_64
-unknown-linux-gnu
825 # The BFD linker knows what the default object file format is, so
826 # first see if it will tell us. cd to the root directory to prevent
827 # problems with other programs or directories called `ld' in the path.
828 ld_supported_targets
=`cd /; ld --help 2>&1 \
829 | sed -ne '/supported targets:/!d
831 s/.*supported targets: *//
834 case "$ld_supported_targets" in
836 TENTATIVE
="${UNAME_MACHINE}-pc-linux-gnu"
839 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
842 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
845 # Either a pre-BFD a.out linker (linux-gnuoldld) or
846 # one that does not give us useful --help.
847 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
850 # Determine whether the default compiler is a.out or elf
852 #include <features.h>
854 #include <stdio.h> /* for printf() prototype */
855 int main (int argc, char *argv[]) {
857 int main (argc, argv) int argc; char *argv[]; {
862 printf ("%s-pc-linux-gnu\n", argv[1]);
864 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
867 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
870 printf ("%s-pc-linux-gnuaout\n", argv[1]);
875 eval $set_cc_for_build
876 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy "${UNAME_MACHINE}" && rm -f $dummy.c
$dummy && exit 0
877 rm -f $dummy.c
$dummy
878 test x
"${TENTATIVE}" != x
&& echo "${TENTATIVE}" && exit 0
881 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
882 # earlier versions are messed up and put the nodename in both
883 # sysname and nodename.
884 echo i386
-sequent-sysv4
886 i
*86:UNIX_SV
:4.2MP
:2.
*)
887 # Unixware is an offshoot of SVR4, but it has its own version
888 # number series starting with 2...
889 # I am not positive that other SVR4 systems won't match this,
890 # I just have to hope. -- rms.
891 # Use sysv4.2uw... so that sysv4* matches it.
892 echo ${UNAME_MACHINE}-pc-sysv4.2uw
${UNAME_VERSION}
894 i
*86:*:4.
*:* | i
*86:SYSTEM_V
:4.
*:*)
895 UNAME_REL
=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
896 if grep Novell
/usr
/include
/link.h
>/dev
/null
2>/dev
/null
; then
897 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
899 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
903 case `/bin/uname -X | grep "^Machine"` in
904 *486*) UNAME_MACHINE
=i486
;;
905 *Pentium
) UNAME_MACHINE
=i586
;;
906 *Pent
*|*Celeron
) UNAME_MACHINE
=i686
;;
908 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
911 if test -f /usr
/options
/cb.name
; then
912 UNAME_REL
=`sed -n 's/.*Version //p' </usr/options/cb.name`
913 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
914 elif /bin
/uname
-X 2>/dev
/null
>/dev
/null
; then
915 UNAME_REL
=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
916 (/bin
/uname
-X|egrep i80486
>/dev
/null
) && UNAME_MACHINE
=i486
917 (/bin
/uname
-X|egrep '^Machine.*Pentium' >/dev
/null
) \
918 && UNAME_MACHINE
=i586
919 (/bin
/uname
-X|egrep '^Machine.*Pent ?II' >/dev
/null
) \
920 && UNAME_MACHINE
=i686
921 (/bin
/uname
-X|egrep '^Machine.*Pentium Pro' >/dev
/null
) \
922 && UNAME_MACHINE
=i686
923 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
925 echo ${UNAME_MACHINE}-pc-sysv32
929 echo ${UNAME_MACHINE}-pc-msdosdjgpp
932 # Left here for compatibility:
933 # uname -m prints for DJGPP always 'pc', but it prints nothing about
934 # the processor, so we play safe by assuming i386.
935 echo i386
-pc-msdosdjgpp
943 i860
:*:4.
*:*) # i860-SVR4
944 if grep Stardent
/usr
/include
/sys
/uadmin.h
>/dev
/null
2>&1 ; then
945 echo i860
-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
946 else # Add other i860-SVR4 vendors below as they are discovered.
947 echo i860
-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
952 echo m68010
-convergent-sysv
955 test -r /sysV68
&& echo 'm68k-motorola-sysv' && exit 0 ;;
956 3[34]??
:*:4.0:3.0 | 3[34]??A
:*:4.0:3.0 | 3[34]??
,*:*:4.0:3.0 | 4850:*:4.0:3.0)
958 test -r /etc
/.relid \
959 && OS_REL
=.
`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
960 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
961 && echo i486
-ncr-sysv4.3
${OS_REL} && exit 0
962 /bin
/uname
-p 2>/dev
/null
| /bin
/grep entium
>/dev
/null \
963 && echo i586
-ncr-sysv4.3
${OS_REL} && exit 0 ;;
964 3[34]??
:*:4.0:* | 3[34]??
,*:*:4.0:*)
965 /bin
/uname
-p 2>/dev
/null
| grep 86 >/dev
/null \
966 && echo i486
-ncr-sysv4 && exit 0 ;;
967 m68
*:LynxOS
:2.
*:* | m68
*:LynxOS
:3.0*:*)
968 echo m68k
-unknown-lynxos${UNAME_RELEASE}
970 mc68030
:UNIX_System_V
:4.
*:*)
971 echo m68k
-atari-sysv4
973 i
*86:LynxOS
:2.
*:* | i
*86:LynxOS
:3.
[01]*:* | i
*86:LynxOS
:4.0*:*)
974 echo i386
-unknown-lynxos${UNAME_RELEASE}
976 TSUNAMI
:LynxOS
:2.
*:*)
977 echo sparc
-unknown-lynxos${UNAME_RELEASE}
980 echo rs6000
-unknown-lynxos${UNAME_RELEASE}
982 PowerPC
:LynxOS
:2.
*:* | PowerPC
:LynxOS
:3.
[01]*:* | PowerPC
:LynxOS
:4.0*:*)
983 echo powerpc
-unknown-lynxos${UNAME_RELEASE}
986 echo mips
-dde-sysv${UNAME_RELEASE}
988 RM
*:ReliantUNIX
-*:*:*)
995 if uname
-p 2>/dev
/null
>/dev
/null
; then
996 UNAME_MACHINE
=`(uname -p) 2>/dev/null`
997 echo ${UNAME_MACHINE}-sni-sysv4
1002 PENTIUM
:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1003 # says <Richard.M.Bartel@ccMail.Census.GOV>
1004 echo i586
-unisys-sysv4
1006 *:UNIX_System_V
:4*:FTX
*)
1007 # From Gerald Hewes <hewes@openmarket.com>.
1008 # How about differentiating between stratus architectures? -djm
1009 echo hppa1.1
-stratus-sysv4
1012 # From seanf@swdc.stratus.com.
1013 echo i860
-stratus-sysv4
1016 # From Paul.Green@stratus.com.
1017 echo hppa1.1
-stratus-vos
1020 echo m68k
-apple-aux${UNAME_RELEASE}
1023 echo mips
-sony-newsos6
1025 R
[34]000:*System_V
*:*:* | R4000
:UNIX_SYSV
:*:* | R
*000:UNIX_SV
:*:*)
1026 if [ -d /usr
/nec
]; then
1027 echo mips
-nec-sysv${UNAME_RELEASE}
1029 echo mips
-unknown-sysv${UNAME_RELEASE}
1032 BeBox
:BeOS
:*:*) # BeOS running on hardware made by Be, PPC only.
1033 echo powerpc
-be-beos
1035 BeMac
:BeOS
:*:*) # BeOS running on Mac or Mac clone, PPC only.
1036 echo powerpc
-apple-beos
1038 BePC
:BeOS
:*:*) # BeOS running on Intel PC compatible.
1042 echo sx4
-nec-superux${UNAME_RELEASE}
1045 echo sx5
-nec-superux${UNAME_RELEASE}
1047 Power
*:Rhapsody
:*:*)
1048 echo powerpc
-apple-rhapsody${UNAME_RELEASE}
1051 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1054 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1056 *:procnto
*:*:* | *:QNX
:[0123456789]*:*)
1057 if test "${UNAME_MACHINE}" = "x86pc"; then
1060 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1065 NSR
-[KW
]:NONSTOP_KERNEL
:*:*)
1066 echo nsr
-tandem-nsk${UNAME_RELEASE}
1069 echo mips
-compaq-nonstopux
1072 echo bs2000
-siemens-sysv
1074 DS
/*:UNIX_System_V
:*:*)
1075 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1078 # "uname -m" is not consistent, so use $cputype instead. 386
1079 # is converted to i386 for consistency with other x86
1080 # operating systems.
1081 if test "$cputype" = "386"; then
1084 UNAME_MACHINE
="$cputype"
1086 echo ${UNAME_MACHINE}-unknown-plan9
1089 # If we were able to find `uname', then EMX Unix compatibility
1090 # is probably installed.
1091 echo ${UNAME_MACHINE}-pc-os2-emx
1094 echo pdp10
-unknown-tops10
1097 echo pdp10
-unknown-tenex
1099 KS10
:TOPS
-20:*:* | KL10
:TOPS
-20:*:* | TYPE4
:TOPS
-20:*:*)
1100 echo pdp10
-dec-tops20
1102 XKL
-1:TOPS
-20:*:* | TYPE5
:TOPS
-20:*:*)
1103 echo pdp10
-xkl-tops20
1106 echo pdp10
-unknown-tops20
1109 echo pdp10
-unknown-its
1111 i
*86:XTS
-300:*:STOP
)
1112 echo ${UNAME_MACHINE}-unknown-stop
1116 #echo '(No uname command or uname output not recognized.)' 1>&2
1117 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
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 eval $set_cc_for_build
1234 $CC_FOR_BUILD $dummy.c
-o $dummy 2>/dev
/null
&& .
/$dummy && rm -f $dummy.c
$dummy && exit 0
1235 rm -f $dummy.c
$dummy
1237 # Apollos put the system type in the environment.
1239 test -d /usr
/apollo
&& { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1241 # Convex versions that predate uname can use getsysinfo(1)
1243 if [ -x /usr
/convex
/getsysinfo
]
1245 case `getsysinfo -f cpu_type` in
1250 if getsysinfo
-f scalar_acc
1251 then echo c32
-convex-bsd
1252 else echo c2
-convex-bsd
1268 $0: unable to guess system type
1270 This script, last modified $timestamp, has failed to recognize
1271 the operating system you are using. It is advised that you
1272 download the most up to date version of the config scripts from
1274 ftp://ftp.gnu.org/pub/gnu/config/
1276 If the version you run ($0) is already up to date, please
1277 send the following data and any information you think might be
1278 pertinent to <config-patches@gnu.org> in order to provide the needed
1279 information to handle your system.
1281 config.guess timestamp = $timestamp
1283 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1284 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1285 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1286 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1288 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1289 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1291 hostinfo = `(hostinfo) 2>/dev/null`
1292 /bin/universe = `(/bin/universe) 2>/dev/null`
1293 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1294 /bin/arch = `(/bin/arch) 2>/dev/null`
1295 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1296 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1298 UNAME_MACHINE = ${UNAME_MACHINE}
1299 UNAME_RELEASE = ${UNAME_RELEASE}
1300 UNAME_SYSTEM = ${UNAME_SYSTEM}
1301 UNAME_VERSION = ${UNAME_VERSION}
1307 # eval: (add-hook 'write-file-hooks 'time-stamp)
1308 # time-stamp-start: "timestamp='"
1309 # time-stamp-format: "%:y-%02m-%02d"
1310 # time-stamp-end: "'"