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/crypto/heimdal/Attic/config.guess,v 1.2 2003/11/19 00:54:22 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 c99 ; 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 sysctl="sysctl -n hw.machine_arch"
143 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
144 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
145 case "${UNAME_MACHINE_ARCH}" in
146 arm*) machine=arm-unknown ;;
147 sh3el) machine=shl-unknown ;;
148 sh3eb) machine=sh-unknown ;;
149 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
151 # The Operating System including object format, if it has switched
152 # to ELF recently, or will in the future.
153 case "${UNAME_MACHINE_ARCH}" in
154 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
155 eval $set_cc_for_build
156 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
157 | grep __ELF__ >/dev/null
159 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
160 # Return netbsd for either. FIX?
171 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
172 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
173 # contains redundant information, the shorter form:
174 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
175 echo "${machine}-${os}${release}"
178 echo m68k-unknown-openbsd${UNAME_RELEASE}
181 echo mipsel-unknown-openbsd${UNAME_RELEASE}
184 echo m68k-unknown-openbsd${UNAME_RELEASE}
187 echo m68k-unknown-openbsd${UNAME_RELEASE}
190 echo powerpc-unknown-openbsd${UNAME_RELEASE}
193 echo m68k-unknown-openbsd${UNAME_RELEASE}
196 echo m88k-unknown-openbsd${UNAME_RELEASE}
199 echo powerpc-unknown-openbsd${UNAME_RELEASE}
202 echo mipsel-unknown-openbsd${UNAME_RELEASE}
205 echo mipseb-unknown-openbsd${UNAME_RELEASE}
208 echo m68k-unknown-openbsd${UNAME_RELEASE}
211 echo mipsel-unknown-openbsd${UNAME_RELEASE}
214 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
217 if test $UNAME_RELEASE = "V4.0"; then
218 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
220 # A Vn.n version is a released version.
221 # A Tn.n version is a released field test version.
222 # A Xn.n version is an unreleased experimental baselevel.
223 # 1.2 uses "1.2" for uname -r.
227 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
234 .frame \$30,16,\$26,0
237 .long 0x47e03d80 # implver \$0
239 .long 0x47e20c21 # amask \$2,\$1
249 eval $set_cc_for_build
250 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
251 if test "$?" = 0 ; then
254 UNAME_MACHINE="alpha"
257 UNAME_MACHINE="alphaev5"
260 UNAME_MACHINE="alphaev56"
263 UNAME_MACHINE="alphapca56"
266 UNAME_MACHINE="alphaev6"
269 UNAME_MACHINE="alphaev67"
272 UNAME_MACHINE="alphaev68"
276 rm -f $dummy.s $dummy
277 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
279 Alpha\ *:Windows_NT*:*)
280 # How do we know it's Interix rather than the generic POSIX subsystem?
281 # Should we change UNAME_MACHINE based on the output of uname instead
282 # of the specific Alpha model?
283 echo alpha-pc-interix
285 21064:Windows_NT:50:3)
286 echo alpha-dec-winnt3.5
288 Amiga*:UNIX_System_V:4.0:*)
289 echo m68k-unknown-sysv4
291 *:[Aa]miga[Oo][Ss]:*:*)
292 echo ${UNAME_MACHINE}-unknown-amigaos
294 *:[Mm]orph[Oo][Ss]:*:*)
295 echo ${UNAME_MACHINE}-unknown-morphos
298 echo i370-ibm-openedition
300 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301 echo arm-acorn-riscix${UNAME_RELEASE}
303 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
304 echo hppa1.1-hitachi-hiuxmpp
306 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
307 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
308 if test "`(/bin/universe) 2>/dev/null`" = att ; then
309 echo pyramid-pyramid-sysv3
311 echo pyramid-pyramid-bsd
315 echo pyramid-pyramid-svr4
318 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
320 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
321 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
324 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
327 # According to config.sub, this is the proper way to canonicalize
328 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
329 # it's likely to be more like Solaris than SunOS4.
330 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333 case "`/usr/bin/arch -k`" in
335 UNAME_RELEASE=`uname -v`
338 # Japanese Language versions have a version number like `4.1.3-JL'.
339 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
342 echo m68k-sun-sunos${UNAME_RELEASE}
345 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
346 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
347 case "`/bin/arch`" in
349 echo m68k-sun-sunos${UNAME_RELEASE}
352 echo sparc-sun-sunos${UNAME_RELEASE}
357 echo sparc-auspex-sunos${UNAME_RELEASE}
359 # The situation for MiNT is a little confusing. The machine name
360 # can be virtually everything (everything which is not
361 # "atarist" or "atariste" at least should have a processor
362 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
363 # to the lowercase version "mint" (or "freemint"). Finally
364 # the system name "TOS" denotes a system which is actually not
365 # MiNT. But MiNT is downward compatible to TOS, so this should
367 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
368 echo m68k-atari-mint${UNAME_RELEASE}
370 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
371 echo m68k-atari-mint${UNAME_RELEASE}
373 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
374 echo m68k-atari-mint${UNAME_RELEASE}
376 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
377 echo m68k-milan-mint${UNAME_RELEASE}
379 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
380 echo m68k-hades-mint${UNAME_RELEASE}
382 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
383 echo m68k-unknown-mint${UNAME_RELEASE}
386 echo powerpc-apple-machten${UNAME_RELEASE}
389 echo mips-dec-mach_bsd4.3
392 echo mips-dec-ultrix${UNAME_RELEASE}
395 echo vax-dec-ultrix${UNAME_RELEASE}
397 2020:CLIX:*:* | 2430:CLIX:*:*)
398 echo clipper-intergraph-clix${UNAME_RELEASE}
400 mips:*:*:UMIPS | mips:*:*:RISCos)
401 eval $set_cc_for_build
402 sed 's/^ //' << EOF >$dummy.c
404 #include <stdio.h> /* for printf() prototype */
405 int main (int argc, char *argv[]) {
407 int main (argc, argv) int argc; char *argv[]; {
409 #if defined (host_mips) && defined (MIPSEB)
410 #if defined (SYSTYPE_SYSV)
411 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
413 #if defined (SYSTYPE_SVR4)
414 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
416 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
417 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
423 $CC_FOR_BUILD $dummy.c -o $dummy \
424 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
425 && rm -f $dummy.c $dummy && exit 0
426 rm -f $dummy.c $dummy
427 echo mips-mips-riscos${UNAME_RELEASE}
429 Motorola:PowerMAX_OS:*:*)
430 echo powerpc-motorola-powermax
432 Night_Hawk:Power_UNIX:*:*)
433 echo powerpc-harris-powerunix
436 echo m88k-harris-cxux7
439 echo m88k-motorola-sysv4
442 echo m88k-motorola-sysv3
445 # DG/UX returns AViiON for all architectures
446 UNAME_PROCESSOR=`/usr/bin/uname -p`
447 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
449 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
450 [ ${TARGET_BINARY_INTERFACE}x = x ]
452 echo m88k-dg-dgux${UNAME_RELEASE}
454 echo m88k-dg-dguxbcs${UNAME_RELEASE}
457 echo i586-dg-dgux${UNAME_RELEASE}
460 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
461 echo m88k-dolphin-sysv3
464 # Delta 88k system running SVR3
465 echo m88k-motorola-sysv3
467 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
468 echo m88k-tektronix-sysv3
470 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
471 echo m68k-tektronix-bsd
474 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
476 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
477 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
478 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
483 if [ -x /usr/bin/oslevel ] ; then
484 IBM_REV=`/usr/bin/oslevel`
486 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
488 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
491 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
492 eval $set_cc_for_build
493 sed 's/^ //' << EOF >$dummy.c
494 #include <sys/systemcfg.h>
500 puts("powerpc-ibm-aix3.2.5");
504 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
505 rm -f $dummy.c $dummy
506 echo rs6000-ibm-aix3.2.5
507 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
508 echo rs6000-ibm-aix3.2.4
510 echo rs6000-ibm-aix3.2
514 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
515 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
520 if [ -x /usr/bin/oslevel ] ; then
521 IBM_REV=`/usr/bin/oslevel`
523 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
525 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
530 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
533 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
534 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
535 exit 0 ;; # report: romp-ibm BSD 4.3
537 echo rs6000-bull-bosx
542 9000/[34]??:4.3bsd:1.*:*)
545 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
548 9000/[34678]??:HP-UX:*:*)
549 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
550 case "${UNAME_MACHINE}" in
551 9000/31? ) HP_ARCH=m68000 ;;
552 9000/[34]?? ) HP_ARCH=m68k ;;
553 9000/[678][0-9][0-9])
554 if [ -x /usr/bin/getconf ]; then
555 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
556 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
557 case "${sc_cpu_version}" in
558 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
559 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
560 532) # CPU_PA_RISC2_0
561 case "${sc_kernel_bits}" in
562 32) HP_ARCH="hppa2.0n" ;;
563 64) HP_ARCH="hppa2.0w" ;;
564 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
568 if [ "${HP_ARCH}" = "" ]; then
569 eval $set_cc_for_build
570 sed 's/^ //' << EOF >$dummy.c
578 #if defined(_SC_KERNEL_BITS)
579 long bits = sysconf(_SC_KERNEL_BITS);
581 long cpu = sysconf (_SC_CPU_VERSION);
585 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
586 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
588 #if defined(_SC_KERNEL_BITS)
591 case 64: puts ("hppa2.0w"); break;
592 case 32: puts ("hppa2.0n"); break;
593 default: puts ("hppa2.0"); break;
595 #else /* !defined(_SC_KERNEL_BITS) */
596 puts ("hppa2.0"); break;
598 default: puts ("hppa1.0"); break;
603 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
604 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
605 rm -f $dummy.c $dummy
608 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
611 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
612 echo ia64-hp-hpux${HPUX_REV}
615 eval $set_cc_for_build
616 sed 's/^ //' << EOF >$dummy.c
621 long cpu = sysconf (_SC_CPU_VERSION);
622 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
623 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
625 if (CPU_IS_PA_RISC (cpu))
629 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
630 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
631 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
632 default: puts ("hppa-hitachi-hiuxwe2"); break;
635 else if (CPU_IS_HP_MC68K (cpu))
636 puts ("m68k-hitachi-hiuxwe2");
637 else puts ("unknown-hitachi-hiuxwe2");
641 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
642 rm -f $dummy.c $dummy
643 echo unknown-hitachi-hiuxwe2
645 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
651 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
652 echo hppa1.0-hp-mpeix
654 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
661 if [ -x /usr/sbin/sysversion ] ; then
662 echo ${UNAME_MACHINE}-unknown-osf1mk
664 echo ${UNAME_MACHINE}-unknown-osf1
668 echo hppa1.1-hp-lites
670 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
673 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
674 if getsysinfo -f scalar_acc
675 then echo c32-convex-bsd
676 else echo c2-convex-bsd
679 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
682 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
685 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/'
709 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
710 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
711 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
712 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
713 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
715 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
716 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
719 echo sparc-unknown-bsdi${UNAME_RELEASE}
722 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
725 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
728 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
731 echo ${UNAME_MACHINE}-pc-cygwin
734 echo ${UNAME_MACHINE}-pc-mingw32
737 echo ${UNAME_MACHINE}-pc-pw32
740 echo i386-pc-interix3
742 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
743 # How do we know it's Interix rather than the generic POSIX subsystem?
744 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
745 # UNAME_MACHINE based on the output of uname instead of i386?
749 echo ${UNAME_MACHINE}-pc-uwin
752 echo powerpcle-unknown-cygwin
755 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
758 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
761 echo ${UNAME_MACHINE}-pc-minix
764 echo ${UNAME_MACHINE}-unknown-linux-gnu
767 echo ${UNAME_MACHINE}-unknown-linux-gnu
770 echo ${UNAME_MACHINE}-unknown-linux-gnu
773 eval $set_cc_for_build
774 sed 's/^ //' << EOF >$dummy.c
778 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
781 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
788 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
790 test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
793 echo powerpc-unknown-linux-gnu
796 echo powerpc64-unknown-linux-gnu
799 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
800 EV5) UNAME_MACHINE=alphaev5 ;;
801 EV56) UNAME_MACHINE=alphaev56 ;;
802 PCA56) UNAME_MACHINE=alphapca56 ;;
803 PCA57) UNAME_MACHINE=alphapca56 ;;
804 EV6) UNAME_MACHINE=alphaev6 ;;
805 EV67) UNAME_MACHINE=alphaev67 ;;
806 EV68*) UNAME_MACHINE=alphaev68 ;;
808 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
809 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
810 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
812 parisc:Linux:*:* | hppa:Linux:*:*)
814 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
815 PA7*) echo hppa1.1-unknown-linux-gnu ;;
816 PA8*) echo hppa2.0-unknown-linux-gnu ;;
817 *) echo hppa-unknown-linux-gnu ;;
820 parisc64:Linux:*:* | hppa64:Linux:*:*)
821 echo hppa64-unknown-linux-gnu
823 s390:Linux:*:* | s390x:Linux:*:*)
824 echo ${UNAME_MACHINE}-ibm-linux
827 echo ${UNAME_MACHINE}-unknown-linux-gnu
829 sparc:Linux:*:* | sparc64:Linux:*:*)
830 echo ${UNAME_MACHINE}-unknown-linux-gnu
833 echo x86_64-unknown-linux-gnu
836 # The BFD linker knows what the default object file format is, so
837 # first see if it will tell us. cd to the root directory to prevent
838 # problems with other programs or directories called `ld' in the path.
839 # Set LC_ALL=C to ensure ld outputs messages in English.
840 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
841 | sed -ne '/supported targets:/!d
843 s/.*supported targets: *//
846 case "$ld_supported_targets" in
848 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
851 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
854 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
857 # Either a pre-BFD a.out linker (linux-gnuoldld) or
858 # one that does not give us useful --help.
859 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
862 # Determine whether the default compiler is a.out or elf
863 eval $set_cc_for_build
864 sed 's/^ //' << EOF >$dummy.c
865 #include <features.h>
877 #ifdef __INTEL_COMPILER
884 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
886 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
887 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
890 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
891 # earlier versions are messed up and put the nodename in both
892 # sysname and nodename.
893 echo i386-sequent-sysv4
895 i*86:UNIX_SV:4.2MP:2.*)
896 # Unixware is an offshoot of SVR4, but it has its own version
897 # number series starting with 2...
898 # I am not positive that other SVR4 systems won't match this,
899 # I just have to hope. -- rms.
900 # Use sysv4.2uw... so that sysv4* matches it.
901 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
903 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
904 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
905 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
906 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
908 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
912 case `/bin/uname -X | grep "^Machine"` in
913 *486*) UNAME_MACHINE=i486 ;;
914 *Pentium) UNAME_MACHINE=i586 ;;
915 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
917 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
920 if test -f /usr/options/cb.name; then
921 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
922 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
923 elif /bin/uname -X 2>/dev/null >/dev/null ; then
924 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
925 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
926 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
927 && UNAME_MACHINE=i586
928 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
929 && UNAME_MACHINE=i686
930 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
931 && UNAME_MACHINE=i686
932 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
934 echo ${UNAME_MACHINE}-pc-sysv32
938 echo ${UNAME_MACHINE}-pc-msdosdjgpp
941 # Left here for compatibility:
942 # uname -m prints for DJGPP always 'pc', but it prints nothing about
943 # the processor, so we play safe by assuming i386.
944 echo i386-pc-msdosdjgpp
952 i860:*:4.*:*) # i860-SVR4
953 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
954 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
955 else # Add other i860-SVR4 vendors below as they are discovered.
956 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
961 echo m68010-convergent-sysv
964 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
965 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)
967 test -r /etc/.relid \
968 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
969 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
970 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
971 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
972 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
973 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
974 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
975 && echo i486-ncr-sysv4 && exit 0 ;;
976 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
977 echo m68k-unknown-lynxos${UNAME_RELEASE}
979 mc68030:UNIX_System_V:4.*:*)
980 echo m68k-atari-sysv4
982 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
983 echo i386-unknown-lynxos${UNAME_RELEASE}
985 TSUNAMI:LynxOS:2.*:*)
986 echo sparc-unknown-lynxos${UNAME_RELEASE}
989 echo rs6000-unknown-lynxos${UNAME_RELEASE}
991 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
992 echo powerpc-unknown-lynxos${UNAME_RELEASE}
995 echo mips-dde-sysv${UNAME_RELEASE}
997 RM*:ReliantUNIX-*:*:*)
1004 if uname -p 2>/dev/null >/dev/null ; then
1005 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1006 echo ${UNAME_MACHINE}-sni-sysv4
1011 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1012 # says <Richard.M.Bartel@ccMail.Census.GOV>
1013 echo i586-unisys-sysv4
1015 *:UNIX_System_V:4*:FTX*)
1016 # From Gerald Hewes <hewes@openmarket.com>.
1017 # How about differentiating between stratus architectures? -djm
1018 echo hppa1.1-stratus-sysv4
1021 # From seanf@swdc.stratus.com.
1022 echo i860-stratus-sysv4
1025 # From Paul.Green@stratus.com.
1026 echo hppa1.1-stratus-vos
1029 echo m68k-apple-aux${UNAME_RELEASE}
1032 echo mips-sony-newsos6
1034 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1035 if [ -d /usr/nec ]; then
1036 echo mips-nec-sysv${UNAME_RELEASE}
1038 echo mips-unknown-sysv${UNAME_RELEASE}
1041 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1042 echo powerpc-be-beos
1044 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1045 echo powerpc-apple-beos
1047 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1051 echo sx4-nec-superux${UNAME_RELEASE}
1054 echo sx5-nec-superux${UNAME_RELEASE}
1056 Power*:Rhapsody:*:*)
1057 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1060 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1063 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1065 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1066 UNAME_PROCESSOR=`uname -p`
1067 if test "$UNAME_PROCESSOR" = "x86"; then
1068 UNAME_PROCESSOR=i386
1071 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1076 NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1077 echo nsr-tandem-nsk${UNAME_RELEASE}
1080 echo mips-compaq-nonstopux
1083 echo bs2000-siemens-sysv
1085 DS/*:UNIX_System_V:*:*)
1086 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1089 # "uname -m" is not consistent, so use $cputype instead. 386
1090 # is converted to i386 for consistency with other x86
1091 # operating systems.
1092 if test "$cputype" = "386"; then
1095 UNAME_MACHINE="$cputype"
1097 echo ${UNAME_MACHINE}-unknown-plan9
1100 # If we were able to find `uname', then EMX Unix compatibility
1101 # is probably installed.
1102 echo ${UNAME_MACHINE}-pc-os2-emx
1105 echo pdp10-unknown-tops10
1108 echo pdp10-unknown-tenex
1110 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1111 echo pdp10-dec-tops20
1113 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1114 echo pdp10-xkl-tops20
1117 echo pdp10-unknown-tops20
1120 echo pdp10-unknown-its
1122 i*86:XTS-300:*:STOP)
1123 echo ${UNAME_MACHINE}-unknown-stop
1126 echo ${UNAME_MACHINE}-unknown-atheos
1130 #echo '(No uname command or uname output not recognized.)' 1>&2
1131 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1133 eval $set_cc_for_build
1136 # include <sys/types.h>
1137 # include <sys/utsname.h>
1142 #if defined (MIPSEB)
1143 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1145 printf ("mips-sony-bsd\n"); exit (0);
1147 #include <sys/param.h>
1148 printf ("m68k-sony-newsos%s\n",
1158 #if defined (__arm) && defined (__acorn) && defined (__unix)
1159 printf ("arm-acorn-riscix"); exit (0);
1162 #if defined (hp300) && !defined (hpux)
1163 printf ("m68k-hp-bsd\n"); exit (0);
1167 #if !defined (__ARCHITECTURE__)
1168 #define __ARCHITECTURE__ "m68k"
1171 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1173 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1175 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1179 #if defined (MULTIMAX) || defined (n16)
1181 printf ("ns32k-encore-sysv\n"); exit (0);
1184 printf ("ns32k-encore-mach\n"); exit (0);
1186 printf ("ns32k-encore-bsd\n"); exit (0);
1191 #if defined (__386BSD__)
1192 printf ("i386-pc-bsd\n"); exit (0);
1195 #if defined (sequent)
1197 printf ("i386-sequent-dynix\n"); exit (0);
1199 #if defined (ns32000)
1200 printf ("ns32k-sequent-dynix\n"); exit (0);
1204 #if defined (_SEQUENT_)
1209 if (strncmp(un.version, "V2", 2) == 0) {
1210 printf ("i386-sequent-ptx2\n"); exit (0);
1212 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1213 printf ("i386-sequent-ptx1\n"); exit (0);
1215 printf ("i386-sequent-ptx\n"); exit (0);
1220 # if !defined (ultrix)
1221 # include <sys/param.h>
1224 printf ("vax-dec-bsd4.3\n"); exit (0);
1227 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1229 printf ("vax-dec-bsd\n"); exit (0);
1233 printf ("vax-dec-bsd\n"); exit (0);
1236 printf ("vax-dec-ultrix\n"); exit (0);
1240 #if defined (alliant) && defined (i860)
1241 printf ("i860-alliant-bsd\n"); exit (0);
1248 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1249 rm -f $dummy.c $dummy
1251 # Apollos put the system type in the environment.
1253 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1255 # Convex versions that predate uname can use getsysinfo(1)
1257 if [ -x /usr/convex/getsysinfo ]
1259 case `getsysinfo -f cpu_type` in
1264 if getsysinfo -f scalar_acc
1265 then echo c32-convex-bsd
1266 else echo c2-convex-bsd
1282 $0: unable to guess system type
1284 This script, last modified $timestamp, has failed to recognize
1285 the operating system you are using. It is advised that you
1286 download the most up to date version of the config scripts from
1288 ftp://ftp.gnu.org/pub/gnu/config/
1290 If the version you run ($0) is already up to date, please
1291 send the following data and any information you think might be
1292 pertinent to <config-patches@gnu.org> in order to provide the needed
1293 information to handle your system.
1295 config.guess timestamp = $timestamp
1297 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1298 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1299 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1300 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1302 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1303 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1305 hostinfo = `(hostinfo) 2>/dev/null`
1306 /bin/universe = `(/bin/universe) 2>/dev/null`
1307 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1308 /bin/arch = `(/bin/arch) 2>/dev/null`
1309 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1310 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1312 UNAME_MACHINE = ${UNAME_MACHINE}
1313 UNAME_RELEASE = ${UNAME_RELEASE}
1314 UNAME_SYSTEM = ${UNAME_SYSTEM}
1315 UNAME_VERSION = ${UNAME_VERSION}
1321 # eval: (add-hook 'write-file-hooks 'time-stamp)
1322 # time-stamp-start: "timestamp='"
1323 # time-stamp-format: "%:y-%02m-%02d"
1324 # time-stamp-end: "'"