2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002 Free Software Foundation, Inc.
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <per@bothner.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me=`echo "$0" | sed -e 's,.*/,,'`
43 Output the configuration name of the system \`$me' is run on.
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63 Try \`$me --help' for more information."
66 while test $# -gt 0 ; do
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
71 echo "$version" ; exit 0 ;;
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
76 - ) # Use stdin as input.
79 echo "$me: invalid option $1$help" >&2
87 echo "$me: too many arguments$help" >&2
93 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95 # CC_FOR_BUILD -- compiler used by this script.
96 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97 # use `HOST_CC' if defined, but it is deprecated.
99 set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,) echo "int dummy(){}" > $dummy.c ;
101 for c in cc gcc c89 c99 ; do
102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
104 CC_FOR_BUILD="$c"; break ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
108 if test x"$CC_FOR_BUILD" = x ; then
109 CC_FOR_BUILD=no_compiler_found ;
112 ,,*) CC_FOR_BUILD=$CC ;;
113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
116 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117 # (ghazi@noc.rutgers.edu 1994-08-24)
118 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119 PATH=$PATH:/.attbin ; export PATH
122 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
127 # Note: order is significant - the case branches are not exclusive.
129 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
131 # NetBSD (nbsd) targets should (where applicable) match one or
132 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134 # switched to ELF, *-*-netbsd* would select the old
135 # object file format. This provides both forward
136 # compatibility and a consistent mechanism for selecting the
137 # object file format.
139 # Note: NetBSD doesn't particularly care about the vendor
140 # portion of the name. We always set it to "unknown".
141 sysctl="sysctl -n hw.machine_arch"
142 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
143 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144 case "${UNAME_MACHINE_ARCH}" in
145 armeb) machine=armeb-unknown ;;
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:*:*:PowerMAX_OS)
433 echo powerpc-harris-powermax
435 Night_Hawk:Power_UNIX:*:*)
436 echo powerpc-harris-powerunix
439 echo m88k-harris-cxux7
442 echo m88k-motorola-sysv4
445 echo m88k-motorola-sysv3
448 # DG/UX returns AViiON for all architectures
449 UNAME_PROCESSOR=`/usr/bin/uname -p`
450 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
452 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
453 [ ${TARGET_BINARY_INTERFACE}x = x ]
455 echo m88k-dg-dgux${UNAME_RELEASE}
457 echo m88k-dg-dguxbcs${UNAME_RELEASE}
460 echo i586-dg-dgux${UNAME_RELEASE}
463 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
464 echo m88k-dolphin-sysv3
467 # Delta 88k system running SVR3
468 echo m88k-motorola-sysv3
470 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
471 echo m88k-tektronix-sysv3
473 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
474 echo m68k-tektronix-bsd
477 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
479 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
480 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
481 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
486 if [ -x /usr/bin/oslevel ] ; then
487 IBM_REV=`/usr/bin/oslevel`
489 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
491 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
494 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
495 eval $set_cc_for_build
496 sed 's/^ //' << EOF >$dummy.c
497 #include <sys/systemcfg.h>
503 puts("powerpc-ibm-aix3.2.5");
507 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
508 rm -f $dummy.c $dummy
509 echo rs6000-ibm-aix3.2.5
510 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
511 echo rs6000-ibm-aix3.2.4
513 echo rs6000-ibm-aix3.2
517 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
518 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
523 if [ -x /usr/bin/oslevel ] ; then
524 IBM_REV=`/usr/bin/oslevel`
526 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
528 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
533 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
536 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
537 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
538 exit 0 ;; # report: romp-ibm BSD 4.3
540 echo rs6000-bull-bosx
545 9000/[34]??:4.3bsd:1.*:*)
548 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
551 9000/[34678]??:HP-UX:*:*)
552 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
553 case "${UNAME_MACHINE}" in
554 9000/31? ) HP_ARCH=m68000 ;;
555 9000/[34]?? ) HP_ARCH=m68k ;;
556 9000/[678][0-9][0-9])
557 if [ -x /usr/bin/getconf ]; then
558 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
559 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
560 case "${sc_cpu_version}" in
561 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
562 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
563 532) # CPU_PA_RISC2_0
564 case "${sc_kernel_bits}" in
565 32) HP_ARCH="hppa2.0n" ;;
566 64) HP_ARCH="hppa2.0w" ;;
567 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
571 if [ "${HP_ARCH}" = "" ]; then
572 eval $set_cc_for_build
573 sed 's/^ //' << EOF >$dummy.c
581 #if defined(_SC_KERNEL_BITS)
582 long bits = sysconf(_SC_KERNEL_BITS);
584 long cpu = sysconf (_SC_CPU_VERSION);
588 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
589 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
591 #if defined(_SC_KERNEL_BITS)
594 case 64: puts ("hppa2.0w"); break;
595 case 32: puts ("hppa2.0n"); break;
596 default: puts ("hppa2.0"); break;
598 #else /* !defined(_SC_KERNEL_BITS) */
599 puts ("hppa2.0"); break;
601 default: puts ("hppa1.0"); break;
606 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
607 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
608 rm -f $dummy.c $dummy
611 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
614 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
615 echo ia64-hp-hpux${HPUX_REV}
618 eval $set_cc_for_build
619 sed 's/^ //' << EOF >$dummy.c
624 long cpu = sysconf (_SC_CPU_VERSION);
625 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
626 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
628 if (CPU_IS_PA_RISC (cpu))
632 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
633 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
634 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
635 default: puts ("hppa-hitachi-hiuxwe2"); break;
638 else if (CPU_IS_HP_MC68K (cpu))
639 puts ("m68k-hitachi-hiuxwe2");
640 else puts ("unknown-hitachi-hiuxwe2");
644 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
645 rm -f $dummy.c $dummy
646 echo unknown-hitachi-hiuxwe2
648 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
654 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
655 echo hppa1.0-hp-mpeix
657 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
664 if [ -x /usr/sbin/sysversion ] ; then
665 echo ${UNAME_MACHINE}-unknown-osf1mk
667 echo ${UNAME_MACHINE}-unknown-osf1
671 echo hppa1.1-hp-lites
673 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
676 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
677 if getsysinfo -f scalar_acc
678 then echo c32-convex-bsd
679 else echo c2-convex-bsd
682 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
685 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
688 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
692 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
695 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
701 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
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}"
718 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
719 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
722 echo sparc-unknown-bsdi${UNAME_RELEASE}
725 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
728 echo ${UNAME_MACHINE}-unknown-freebsd`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|grep Release|sed -e 's/.*= //')`
925 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
926 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
927 && UNAME_MACHINE=i586
928 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
929 && UNAME_MACHINE=i686
930 (/bin/uname -X|grep '^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 | 4400:*: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: "'"