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.
5 # $DragonFly: src/contrib/binutils/Attic/config.guess,v 1.2 2003/11/19 00:51:30 dillon Exp $
9 # This file is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 # As a special exception to the GNU General Public License, if you
24 # distribute this file as part of a program that contains a
25 # configuration script generated by Autoconf, you may include it under
26 # the same distribution terms that you use for the rest of that program.
28 # Originally written by Per Bothner <per@bothner.com>.
29 # Please send patches to <config-patches@gnu.org>. Submit a context
30 # diff and a properly formatted ChangeLog entry.
32 # This script attempts to guess a canonical system name similar to
33 # config.sub. If it succeeds, it prints the system name on stdout, and
34 # exits with 0. Otherwise, it exits with 1.
36 # The plan is that this can be called by configure scripts if you
37 # don't specify an explicit build system type.
39 me=`echo "$0" | sed -e 's,.*/,,'`
44 Output the configuration name of the system \`$me' is run on.
47 -h, --help print this help, then exit
48 -t, --time-stamp print date of last modification, then exit
49 -v, --version print version number, then exit
51 Report bugs and patches to <config-patches@gnu.org>."
54 GNU config.guess ($timestamp)
56 Originally written by Per Bothner.
57 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
58 Free Software Foundation, Inc.
60 This is free software; see the source for copying conditions. There is NO
61 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64 Try \`$me --help' for more information."
67 while test $# -gt 0 ; do
69 --time-stamp | --time* | -t )
70 echo "$timestamp" ; exit 0 ;;
72 echo "$version" ; exit 0 ;;
74 echo "$usage"; exit 0 ;;
75 -- ) # Stop option processing
77 - ) # Use stdin as input.
80 echo "$me: invalid option $1$help" >&2
88 echo "$me: too many arguments$help" >&2
94 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
96 # CC_FOR_BUILD -- compiler used by this script.
97 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
98 # use `HOST_CC' if defined, but it is deprecated.
100 set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
101 ,,) echo "int dummy(){}" > $dummy.c ;
102 for c in cc gcc c89 ; do
103 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
104 if test $? = 0 ; then
105 CC_FOR_BUILD="$c"; break ;
108 rm -f $dummy.c $dummy.o $dummy.rel ;
109 if test x"$CC_FOR_BUILD" = x ; then
110 CC_FOR_BUILD=no_compiler_found ;
113 ,,*) CC_FOR_BUILD=$CC ;;
114 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
117 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
118 # (ghazi@noc.rutgers.edu 1994-08-24)
119 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
120 PATH=$PATH:/.attbin ; export PATH
123 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
124 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
125 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
126 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
128 # Note: order is significant - the case branches are not exclusive.
130 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
132 # NetBSD (nbsd) targets should (where applicable) match one or
133 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
134 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
135 # switched to ELF, *-*-netbsd* would select the old
136 # object file format. This provides both forward
137 # compatibility and a consistent mechanism for selecting the
138 # object file format.
140 # Note: NetBSD doesn't particularly care about the vendor
141 # portion of the name. We always set it to "unknown".
142 UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
143 UNAME_MACHINE_ARCH=unknown
144 case "${UNAME_MACHINE_ARCH}" in
145 arm*) machine=arm-unknown ;;
146 sh3el) machine=shl-unknown ;;
147 sh3eb) machine=sh-unknown ;;
148 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
150 # The Operating System including object format, if it has switched
151 # to ELF recently, or will in the future.
152 case "${UNAME_MACHINE_ARCH}" in
153 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
154 eval $set_cc_for_build
155 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
156 | grep __ELF__ >/dev/null
158 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
159 # Return netbsd for either. FIX?
170 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
171 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
172 # contains redundant information, the shorter form:
173 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
174 echo "${machine}-${os}${release}"
177 echo m68k-unknown-openbsd${UNAME_RELEASE}
180 echo mipsel-unknown-openbsd${UNAME_RELEASE}
183 echo m68k-unknown-openbsd${UNAME_RELEASE}
186 echo m68k-unknown-openbsd${UNAME_RELEASE}
189 echo powerpc-unknown-openbsd${UNAME_RELEASE}
192 echo m68k-unknown-openbsd${UNAME_RELEASE}
195 echo m88k-unknown-openbsd${UNAME_RELEASE}
198 echo powerpc-unknown-openbsd${UNAME_RELEASE}
201 echo mipsel-unknown-openbsd${UNAME_RELEASE}
204 echo mipseb-unknown-openbsd${UNAME_RELEASE}
207 echo m68k-unknown-openbsd${UNAME_RELEASE}
210 echo mipsel-unknown-openbsd${UNAME_RELEASE}
213 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
216 if test $UNAME_RELEASE = "V4.0"; then
217 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
219 # A Vn.n version is a released version.
220 # A Tn.n version is a released field test version.
221 # A Xn.n version is an unreleased experimental baselevel.
222 # 1.2 uses "1.2" for uname -r.
226 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
233 .frame \$30,16,\$26,0
236 .long 0x47e03d80 # implver \$0
238 .long 0x47e20c21 # amask \$2,\$1
248 eval $set_cc_for_build
249 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
250 if test "$?" = 0 ; then
253 UNAME_MACHINE="alpha"
256 UNAME_MACHINE="alphaev5"
259 UNAME_MACHINE="alphaev56"
262 UNAME_MACHINE="alphapca56"
265 UNAME_MACHINE="alphaev6"
268 UNAME_MACHINE="alphaev67"
271 UNAME_MACHINE="alphaev68"
275 rm -f $dummy.s $dummy
276 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278 Alpha\ *:Windows_NT*:*)
279 # How do we know it's Interix rather than the generic POSIX subsystem?
280 # Should we change UNAME_MACHINE based on the output of uname instead
281 # of the specific Alpha model?
282 echo alpha-pc-interix
284 21064:Windows_NT:50:3)
285 echo alpha-dec-winnt3.5
287 Amiga*:UNIX_System_V:4.0:*)
288 echo m68k-unknown-sysv4
290 *:[Aa]miga[Oo][Ss]:*:*)
291 echo ${UNAME_MACHINE}-unknown-amigaos
293 *:[Mm]orph[Oo][Ss]:*:*)
294 echo ${UNAME_MACHINE}-unknown-morphos
297 echo i370-ibm-openedition
299 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300 echo arm-acorn-riscix${UNAME_RELEASE}
302 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
303 echo hppa1.1-hitachi-hiuxmpp
305 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
306 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
307 if test "`(/bin/universe) 2>/dev/null`" = att ; then
308 echo pyramid-pyramid-sysv3
310 echo pyramid-pyramid-bsd
314 echo pyramid-pyramid-svr4
317 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
320 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
323 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
326 # According to config.sub, this is the proper way to canonicalize
327 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
328 # it's likely to be more like Solaris than SunOS4.
329 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332 case "`/usr/bin/arch -k`" in
334 UNAME_RELEASE=`uname -v`
337 # Japanese Language versions have a version number like `4.1.3-JL'.
338 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
341 echo m68k-sun-sunos${UNAME_RELEASE}
344 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
345 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
346 case "`/bin/arch`" in
348 echo m68k-sun-sunos${UNAME_RELEASE}
351 echo sparc-sun-sunos${UNAME_RELEASE}
356 echo sparc-auspex-sunos${UNAME_RELEASE}
358 # The situation for MiNT is a little confusing. The machine name
359 # can be virtually everything (everything which is not
360 # "atarist" or "atariste" at least should have a processor
361 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
362 # to the lowercase version "mint" (or "freemint"). Finally
363 # the system name "TOS" denotes a system which is actually not
364 # MiNT. But MiNT is downward compatible to TOS, so this should
366 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
367 echo m68k-atari-mint${UNAME_RELEASE}
369 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
370 echo m68k-atari-mint${UNAME_RELEASE}
372 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
373 echo m68k-atari-mint${UNAME_RELEASE}
375 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
376 echo m68k-milan-mint${UNAME_RELEASE}
378 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
379 echo m68k-hades-mint${UNAME_RELEASE}
381 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
382 echo m68k-unknown-mint${UNAME_RELEASE}
385 echo powerpc-apple-machten${UNAME_RELEASE}
388 echo mips-dec-mach_bsd4.3
391 echo mips-dec-ultrix${UNAME_RELEASE}
394 echo vax-dec-ultrix${UNAME_RELEASE}
396 2020:CLIX:*:* | 2430:CLIX:*:*)
397 echo clipper-intergraph-clix${UNAME_RELEASE}
399 mips:*:*:UMIPS | mips:*:*:RISCos)
400 eval $set_cc_for_build
401 sed 's/^ //' << EOF >$dummy.c
403 #include <stdio.h> /* for printf() prototype */
404 int main (int argc, char *argv[]) {
406 int main (argc, argv) int argc; char *argv[]; {
408 #if defined (host_mips) && defined (MIPSEB)
409 #if defined (SYSTYPE_SYSV)
410 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
412 #if defined (SYSTYPE_SVR4)
413 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
415 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
416 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
422 $CC_FOR_BUILD $dummy.c -o $dummy \
423 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
424 && rm -f $dummy.c $dummy && exit 0
425 rm -f $dummy.c $dummy
426 echo mips-mips-riscos${UNAME_RELEASE}
428 Motorola:PowerMAX_OS:*:*)
429 echo powerpc-motorola-powermax
431 Night_Hawk:Power_UNIX:*:*)
432 echo powerpc-harris-powerunix
435 echo m88k-harris-cxux7
438 echo m88k-motorola-sysv4
441 echo m88k-motorola-sysv3
444 # DG/UX returns AViiON for all architectures
445 UNAME_PROCESSOR=`/usr/bin/uname -p`
446 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
448 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
449 [ ${TARGET_BINARY_INTERFACE}x = x ]
451 echo m88k-dg-dgux${UNAME_RELEASE}
453 echo m88k-dg-dguxbcs${UNAME_RELEASE}
456 echo i586-dg-dgux${UNAME_RELEASE}
459 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
460 echo m88k-dolphin-sysv3
463 # Delta 88k system running SVR3
464 echo m88k-motorola-sysv3
466 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
467 echo m88k-tektronix-sysv3
469 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
470 echo m68k-tektronix-bsd
473 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
475 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
476 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
477 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
482 if [ -x /usr/bin/oslevel ] ; then
483 IBM_REV=`/usr/bin/oslevel`
485 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
487 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
490 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
491 eval $set_cc_for_build
492 sed 's/^ //' << EOF >$dummy.c
493 #include <sys/systemcfg.h>
499 puts("powerpc-ibm-aix3.2.5");
503 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
504 rm -f $dummy.c $dummy
505 echo rs6000-ibm-aix3.2.5
506 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
507 echo rs6000-ibm-aix3.2.4
509 echo rs6000-ibm-aix3.2
513 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
514 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
519 if [ -x /usr/bin/oslevel ] ; then
520 IBM_REV=`/usr/bin/oslevel`
522 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
524 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
529 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
532 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
533 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
534 exit 0 ;; # report: romp-ibm BSD 4.3
536 echo rs6000-bull-bosx
541 9000/[34]??:4.3bsd:1.*:*)
544 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
547 9000/[34678]??:HP-UX:*:*)
548 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
549 case "${UNAME_MACHINE}" in
550 9000/31? ) HP_ARCH=m68000 ;;
551 9000/[34]?? ) HP_ARCH=m68k ;;
552 9000/[678][0-9][0-9])
553 if [ -x /usr/bin/getconf ]; then
554 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
555 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
556 case "${sc_cpu_version}" in
557 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
558 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
559 532) # CPU_PA_RISC2_0
560 case "${sc_kernel_bits}" in
561 32) HP_ARCH="hppa2.0n" ;;
562 64) HP_ARCH="hppa2.0w" ;;
563 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
567 if [ "${HP_ARCH}" = "" ]; then
568 eval $set_cc_for_build
569 sed 's/^ //' << EOF >$dummy.c
577 #if defined(_SC_KERNEL_BITS)
578 long bits = sysconf(_SC_KERNEL_BITS);
580 long cpu = sysconf (_SC_CPU_VERSION);
584 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
585 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
587 #if defined(_SC_KERNEL_BITS)
590 case 64: puts ("hppa2.0w"); break;
591 case 32: puts ("hppa2.0n"); break;
592 default: puts ("hppa2.0"); break;
594 #else /* !defined(_SC_KERNEL_BITS) */
595 puts ("hppa2.0"); break;
597 default: puts ("hppa1.0"); break;
602 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
603 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
604 rm -f $dummy.c $dummy
607 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
610 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
611 echo ia64-hp-hpux${HPUX_REV}
614 eval $set_cc_for_build
615 sed 's/^ //' << EOF >$dummy.c
620 long cpu = sysconf (_SC_CPU_VERSION);
621 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
622 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
624 if (CPU_IS_PA_RISC (cpu))
628 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
629 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
630 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
631 default: puts ("hppa-hitachi-hiuxwe2"); break;
634 else if (CPU_IS_HP_MC68K (cpu))
635 puts ("m68k-hitachi-hiuxwe2");
636 else puts ("unknown-hitachi-hiuxwe2");
640 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
641 rm -f $dummy.c $dummy
642 echo unknown-hitachi-hiuxwe2
644 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
650 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
651 echo hppa1.0-hp-mpeix
653 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
660 if [ -x /usr/sbin/sysversion ] ; then
661 echo ${UNAME_MACHINE}-unknown-osf1mk
663 echo ${UNAME_MACHINE}-unknown-osf1
667 echo hppa1.1-hp-lites
669 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
672 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
673 if getsysinfo -f scalar_acc
674 then echo c32-convex-bsd
675 else echo c2-convex-bsd
678 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
681 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
684 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
688 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
691 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
692 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
693 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
697 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
700 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
703 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
706 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
709 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
710 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
711 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
712 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
714 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
715 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
718 echo sparc-unknown-bsdi${UNAME_RELEASE}
721 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
724 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
727 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
730 echo ${UNAME_MACHINE}-pc-cygwin
733 echo ${UNAME_MACHINE}-pc-mingw32
736 echo ${UNAME_MACHINE}-pc-pw32
739 echo i386-pc-interix3
741 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
742 # How do we know it's Interix rather than the generic POSIX subsystem?
743 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
744 # UNAME_MACHINE based on the output of uname instead of i386?
748 echo ${UNAME_MACHINE}-pc-uwin
751 echo powerpcle-unknown-cygwin
754 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
757 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
760 echo ${UNAME_MACHINE}-pc-minix
763 echo ${UNAME_MACHINE}-unknown-linux-gnu
766 echo ${UNAME_MACHINE}-unknown-linux
769 echo ${UNAME_MACHINE}-unknown-linux-gnu
772 eval $set_cc_for_build
773 sed 's/^ //' << EOF >$dummy.c
777 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
780 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
787 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
789 test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
792 echo powerpc-unknown-linux-gnu
795 echo powerpc64-unknown-linux-gnu
798 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
799 EV5) UNAME_MACHINE=alphaev5 ;;
800 EV56) UNAME_MACHINE=alphaev56 ;;
801 PCA56) UNAME_MACHINE=alphapca56 ;;
802 PCA57) UNAME_MACHINE=alphapca56 ;;
803 EV6) UNAME_MACHINE=alphaev6 ;;
804 EV67) UNAME_MACHINE=alphaev67 ;;
805 EV68*) UNAME_MACHINE=alphaev68 ;;
807 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
808 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
809 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
811 parisc:Linux:*:* | hppa:Linux:*:*)
813 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
814 PA7*) echo hppa1.1-unknown-linux-gnu ;;
815 PA8*) echo hppa2.0-unknown-linux-gnu ;;
816 *) echo hppa-unknown-linux-gnu ;;
819 parisc64:Linux:*:* | hppa64:Linux:*:*)
820 echo hppa64-unknown-linux-gnu
822 s390:Linux:*:* | s390x:Linux:*:*)
823 echo ${UNAME_MACHINE}-ibm-linux
826 echo ${UNAME_MACHINE}-unknown-linux-gnu
828 sparc:Linux:*:* | sparc64:Linux:*:*)
829 echo ${UNAME_MACHINE}-unknown-linux-gnu
832 echo x86_64-unknown-linux-gnu
835 # The BFD linker knows what the default object file format is, so
836 # first see if it will tell us. cd to the root directory to prevent
837 # problems with other programs or directories called `ld' in the path.
838 # Set LC_ALL=C to ensure ld outputs messages in English.
839 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
840 | sed -ne '/supported targets:/!d
842 s/.*supported targets: *//
845 case "$ld_supported_targets" in
847 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
850 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
853 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
856 # Either a pre-BFD a.out linker (linux-gnuoldld) or
857 # one that does not give us useful --help.
858 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
861 # Determine whether the default compiler is a.out or elf
862 eval $set_cc_for_build
863 sed 's/^ //' << EOF >$dummy.c
864 #include <features.h>
876 #ifdef __INTEL_COMPILER
883 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
885 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
886 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
889 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
890 # earlier versions are messed up and put the nodename in both
891 # sysname and nodename.
892 echo i386-sequent-sysv4
894 i*86:UNIX_SV:4.2MP:2.*)
895 # Unixware is an offshoot of SVR4, but it has its own version
896 # number series starting with 2...
897 # I am not positive that other SVR4 systems won't match this,
898 # I just have to hope. -- rms.
899 # Use sysv4.2uw... so that sysv4* matches it.
900 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
902 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
903 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
904 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
905 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
907 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
911 case `/bin/uname -X | grep "^Machine"` in
912 *486*) UNAME_MACHINE=i486 ;;
913 *Pentium) UNAME_MACHINE=i586 ;;
914 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
916 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
919 if test -f /usr/options/cb.name; then
920 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
921 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
922 elif /bin/uname -X 2>/dev/null >/dev/null ; then
923 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
924 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
925 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
926 && UNAME_MACHINE=i586
927 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
928 && UNAME_MACHINE=i686
929 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
930 && UNAME_MACHINE=i686
931 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
933 echo ${UNAME_MACHINE}-pc-sysv32
937 echo ${UNAME_MACHINE}-pc-msdosdjgpp
940 # Left here for compatibility:
941 # uname -m prints for DJGPP always 'pc', but it prints nothing about
942 # the processor, so we play safe by assuming i386.
943 echo i386-pc-msdosdjgpp
951 i860:*:4.*:*) # i860-SVR4
952 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
953 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
954 else # Add other i860-SVR4 vendors below as they are discovered.
955 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
960 echo m68010-convergent-sysv
963 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
964 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
966 test -r /etc/.relid \
967 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
968 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
969 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
970 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
971 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
972 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
973 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
974 && echo i486-ncr-sysv4 && exit 0 ;;
975 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
976 echo m68k-unknown-lynxos${UNAME_RELEASE}
978 mc68030:UNIX_System_V:4.*:*)
979 echo m68k-atari-sysv4
981 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
982 echo i386-unknown-lynxos${UNAME_RELEASE}
984 TSUNAMI:LynxOS:2.*:*)
985 echo sparc-unknown-lynxos${UNAME_RELEASE}
988 echo rs6000-unknown-lynxos${UNAME_RELEASE}
990 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
991 echo powerpc-unknown-lynxos${UNAME_RELEASE}
994 echo mips-dde-sysv${UNAME_RELEASE}
996 RM*:ReliantUNIX-*:*:*)
1003 if uname -p 2>/dev/null >/dev/null ; then
1004 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1005 echo ${UNAME_MACHINE}-sni-sysv4
1010 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1011 # says <Richard.M.Bartel@ccMail.Census.GOV>
1012 echo i586-unisys-sysv4
1014 *:UNIX_System_V:4*:FTX*)
1015 # From Gerald Hewes <hewes@openmarket.com>.
1016 # How about differentiating between stratus architectures? -djm
1017 echo hppa1.1-stratus-sysv4
1020 # From seanf@swdc.stratus.com.
1021 echo i860-stratus-sysv4
1024 # From Paul.Green@stratus.com.
1025 echo hppa1.1-stratus-vos
1028 echo m68k-apple-aux${UNAME_RELEASE}
1031 echo mips-sony-newsos6
1033 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1034 if [ -d /usr/nec ]; then
1035 echo mips-nec-sysv${UNAME_RELEASE}
1037 echo mips-unknown-sysv${UNAME_RELEASE}
1040 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1041 echo powerpc-be-beos
1043 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1044 echo powerpc-apple-beos
1046 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1050 echo sx4-nec-superux${UNAME_RELEASE}
1053 echo sx5-nec-superux${UNAME_RELEASE}
1055 Power*:Rhapsody:*:*)
1056 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1059 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1062 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1064 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1065 if test "${UNAME_MACHINE}" = "x86pc"; then
1067 echo i386-${UNAME_MACHINE}-nto-qnx
1069 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1075 NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1076 echo nsr-tandem-nsk${UNAME_RELEASE}
1079 echo mips-compaq-nonstopux
1082 echo bs2000-siemens-sysv
1084 DS/*:UNIX_System_V:*:*)
1085 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1088 # "uname -m" is not consistent, so use $cputype instead. 386
1089 # is converted to i386 for consistency with other x86
1090 # operating systems.
1091 if test "$cputype" = "386"; then
1094 UNAME_MACHINE="$cputype"
1096 echo ${UNAME_MACHINE}-unknown-plan9
1099 # If we were able to find `uname', then EMX Unix compatibility
1100 # is probably installed.
1101 echo ${UNAME_MACHINE}-pc-os2-emx
1104 echo pdp10-unknown-tops10
1107 echo pdp10-unknown-tenex
1109 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1110 echo pdp10-dec-tops20
1112 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1113 echo pdp10-xkl-tops20
1116 echo pdp10-unknown-tops20
1119 echo pdp10-unknown-its
1121 i*86:XTS-300:*:STOP)
1122 echo ${UNAME_MACHINE}-unknown-stop
1125 echo ${UNAME_MACHINE}-unknown-atheos
1129 #echo '(No uname command or uname output not recognized.)' 1>&2
1130 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1132 eval $set_cc_for_build
1135 # include <sys/types.h>
1136 # include <sys/utsname.h>
1141 #if defined (MIPSEB)
1142 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1144 printf ("mips-sony-bsd\n"); exit (0);
1146 #include <sys/param.h>
1147 printf ("m68k-sony-newsos%s\n",
1157 #if defined (__arm) && defined (__acorn) && defined (__unix)
1158 printf ("arm-acorn-riscix"); exit (0);
1161 #if defined (hp300) && !defined (hpux)
1162 printf ("m68k-hp-bsd\n"); exit (0);
1166 #if !defined (__ARCHITECTURE__)
1167 #define __ARCHITECTURE__ "m68k"
1170 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1172 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1174 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1178 #if defined (MULTIMAX) || defined (n16)
1180 printf ("ns32k-encore-sysv\n"); exit (0);
1183 printf ("ns32k-encore-mach\n"); exit (0);
1185 printf ("ns32k-encore-bsd\n"); exit (0);
1190 #if defined (__386BSD__)
1191 printf ("i386-pc-bsd\n"); exit (0);
1194 #if defined (sequent)
1196 printf ("i386-sequent-dynix\n"); exit (0);
1198 #if defined (ns32000)
1199 printf ("ns32k-sequent-dynix\n"); exit (0);
1203 #if defined (_SEQUENT_)
1208 if (strncmp(un.version, "V2", 2) == 0) {
1209 printf ("i386-sequent-ptx2\n"); exit (0);
1211 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1212 printf ("i386-sequent-ptx1\n"); exit (0);
1214 printf ("i386-sequent-ptx\n"); exit (0);
1219 # if !defined (ultrix)
1220 # include <sys/param.h>
1223 printf ("vax-dec-bsd4.3\n"); exit (0);
1226 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1228 printf ("vax-dec-bsd\n"); exit (0);
1232 printf ("vax-dec-bsd\n"); exit (0);
1235 printf ("vax-dec-ultrix\n"); exit (0);
1239 #if defined (alliant) && defined (i860)
1240 printf ("i860-alliant-bsd\n"); exit (0);
1247 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1248 rm -f $dummy.c $dummy
1250 # Apollos put the system type in the environment.
1252 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1254 # Convex versions that predate uname can use getsysinfo(1)
1256 if [ -x /usr/convex/getsysinfo ]
1258 case `getsysinfo -f cpu_type` in
1263 if getsysinfo -f scalar_acc
1264 then echo c32-convex-bsd
1265 else echo c2-convex-bsd
1281 $0: unable to guess system type
1283 This script, last modified $timestamp, has failed to recognize
1284 the operating system you are using. It is advised that you
1285 download the most up to date version of the config scripts from
1287 ftp://ftp.gnu.org/pub/gnu/config/
1289 If the version you run ($0) is already up to date, please
1290 send the following data and any information you think might be
1291 pertinent to <config-patches@gnu.org> in order to provide the needed
1292 information to handle your system.
1294 config.guess timestamp = $timestamp
1296 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1297 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1298 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1299 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1301 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1302 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1304 hostinfo = `(hostinfo) 2>/dev/null`
1305 /bin/universe = `(/bin/universe) 2>/dev/null`
1306 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1307 /bin/arch = `(/bin/arch) 2>/dev/null`
1308 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1309 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1311 UNAME_MACHINE = ${UNAME_MACHINE}
1312 UNAME_RELEASE = ${UNAME_RELEASE}
1313 UNAME_SYSTEM = ${UNAME_SYSTEM}
1314 UNAME_VERSION = ${UNAME_VERSION}
1320 # eval: (add-hook 'write-file-hooks 'time-stamp)
1321 # time-stamp-start: "timestamp='"
1322 # time-stamp-format: "%:y-%02m-%02d"
1323 # time-stamp-end: "'"