2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002, 2003 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 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94 # compiler to aid in system detection is discouraged as it requires
95 # temporary files to be created and, as you can see below, it is a
96 # headache to deal with in a portable fashion.
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
101 # Portable tmp directory creation inspired by the Autoconf team.
104 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
105 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
107 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
108 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
109 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
110 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
112 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
113 case $CC_FOR_BUILD,$HOST_CC,$CC in
114 ,,) echo "int x;" > $dummy.c ;
115 for c in cc gcc c89 c99 ; do
116 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
117 CC_FOR_BUILD="$c"; break ;
120 if test x"$CC_FOR_BUILD" = x ; then
121 CC_FOR_BUILD=no_compiler_found ;
124 ,,*) CC_FOR_BUILD=$CC ;;
125 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129 # (ghazi@noc.rutgers.edu 1994-08-24)
130 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
131 PATH=$PATH:/.attbin ; export PATH
134 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
135 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
136 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
137 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140 if test -f /etc/whitebox-release ; then
142 elif test -f /etc/redhat-release ; then
148 # Note: order is significant - the case branches are not exclusive.
150 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
152 # NetBSD (nbsd) targets should (where applicable) match one or
153 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
154 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
155 # switched to ELF, *-*-netbsd* would select the old
156 # object file format. This provides both forward
157 # compatibility and a consistent mechanism for selecting the
158 # object file format.
160 # Note: NetBSD doesn't particularly care about the vendor
161 # portion of the name. We always set it to "unknown".
162 sysctl="sysctl -n hw.machine_arch"
163 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
164 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
165 case "${UNAME_MACHINE_ARCH}" in
166 armeb) machine=armeb-unknown ;;
167 arm*) machine=arm-unknown ;;
168 sh3el) machine=shl-unknown ;;
169 sh3eb) machine=sh-unknown ;;
170 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
172 # The Operating System including object format, if it has switched
173 # to ELF recently, or will in the future.
174 case "${UNAME_MACHINE_ARCH}" in
175 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
176 eval $set_cc_for_build
177 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
178 | grep __ELF__ >/dev/null
180 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
181 # Return netbsd for either. FIX?
192 # Debian GNU/NetBSD machines have a different userland, and
193 # thus, need a distinct triplet. However, they do not need
194 # kernel version information, so it can be replaced with a
195 # suitable tag, in the style of linux-gnu.
196 case "${UNAME_VERSION}" in
201 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
204 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
205 # contains redundant information, the shorter form:
206 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
207 echo "${machine}-${os}${release}"
210 echo m68k-unknown-openbsd${UNAME_RELEASE}
213 echo mipsel-unknown-openbsd${UNAME_RELEASE}
216 echo m68k-unknown-openbsd${UNAME_RELEASE}
219 echo m68k-unknown-openbsd${UNAME_RELEASE}
222 echo powerpc-unknown-openbsd${UNAME_RELEASE}
225 echo m68k-unknown-openbsd${UNAME_RELEASE}
228 echo m88k-unknown-openbsd${UNAME_RELEASE}
231 echo powerpc-unknown-openbsd${UNAME_RELEASE}
234 echo mipsel-unknown-openbsd${UNAME_RELEASE}
237 echo mipseb-unknown-openbsd${UNAME_RELEASE}
240 echo m68k-unknown-openbsd${UNAME_RELEASE}
243 echo mipsel-unknown-openbsd${UNAME_RELEASE}
246 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
249 if test $UNAME_RELEASE = "V4.0"; then
250 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
252 # According to Compaq, /usr/sbin/psrinfo has been available on
253 # OSF/1 and Tru64 systems produced since 1995. I hope that
254 # covers most systems running today. This code pipes the CPU
255 # types through head -n 1, so we only detect the type of CPU 0.
256 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
257 case "$ALPHA_CPU_TYPE" in
259 UNAME_MACHINE="alpha" ;;
261 UNAME_MACHINE="alpha" ;;
262 "LCA4 (21066/21068)")
263 UNAME_MACHINE="alpha" ;;
265 UNAME_MACHINE="alphaev5" ;;
267 UNAME_MACHINE="alphaev56" ;;
269 UNAME_MACHINE="alphapca56" ;;
271 UNAME_MACHINE="alphapca57" ;;
273 UNAME_MACHINE="alphaev6" ;;
275 UNAME_MACHINE="alphaev67" ;;
277 UNAME_MACHINE="alphaev68" ;;
279 UNAME_MACHINE="alphaev68" ;;
281 UNAME_MACHINE="alphaev68" ;;
282 "EV6.9A (21264/EV69A)")
283 UNAME_MACHINE="alphaev69" ;;
285 UNAME_MACHINE="alphaev7" ;;
287 UNAME_MACHINE="alphaev79" ;;
289 # A Vn.n version is a released version.
290 # A Tn.n version is a released field test version.
291 # A Xn.n version is an unreleased experimental baselevel.
292 # 1.2 uses "1.2" for uname -r.
293 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
298 Alpha\ *:Windows_NT*:*)
299 # How do we know it's Interix rather than the generic POSIX subsystem?
300 # Should we change UNAME_MACHINE based on the output of uname instead
301 # of the specific Alpha model?
302 echo alpha-pc-interix
304 21064:Windows_NT:50:3)
305 echo alpha-dec-winnt3.5
307 Amiga*:UNIX_System_V:4.0:*)
308 echo m68k-unknown-sysv4
310 *:[Aa]miga[Oo][Ss]:*:*)
311 echo ${UNAME_MACHINE}-unknown-amigaos
313 *:[Mm]orph[Oo][Ss]:*:*)
314 echo ${UNAME_MACHINE}-unknown-morphos
317 echo i370-ibm-openedition
319 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
320 echo arm-acorn-riscix${UNAME_RELEASE}
322 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
323 echo hppa1.1-hitachi-hiuxmpp
325 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
326 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
327 if test "`(/bin/universe) 2>/dev/null`" = att ; then
328 echo pyramid-pyramid-sysv3
330 echo pyramid-pyramid-bsd
334 echo pyramid-pyramid-svr4
336 DRS?6000:unix:4.0:6*)
339 DRS?6000:UNIX_SV:4.2*:7*)
340 case `/usr/bin/uname -p` in
341 sparc) echo sparc-icl-nx7 && exit 0 ;;
344 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
346 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
347 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
353 # According to config.sub, this is the proper way to canonicalize
354 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
355 # it's likely to be more like Solaris than SunOS4.
356 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
359 case "`/usr/bin/arch -k`" in
361 UNAME_RELEASE=`uname -v`
364 # Japanese Language versions have a version number like `4.1.3-JL'.
365 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
368 echo m68k-sun-sunos${UNAME_RELEASE}
371 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
372 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
373 case "`/bin/arch`" in
375 echo m68k-sun-sunos${UNAME_RELEASE}
378 echo sparc-sun-sunos${UNAME_RELEASE}
383 echo sparc-auspex-sunos${UNAME_RELEASE}
385 # The situation for MiNT is a little confusing. The machine name
386 # can be virtually everything (everything which is not
387 # "atarist" or "atariste" at least should have a processor
388 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
389 # to the lowercase version "mint" (or "freemint"). Finally
390 # the system name "TOS" denotes a system which is actually not
391 # MiNT. But MiNT is downward compatible to TOS, so this should
393 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
394 echo m68k-atari-mint${UNAME_RELEASE}
396 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
397 echo m68k-atari-mint${UNAME_RELEASE}
399 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
400 echo m68k-atari-mint${UNAME_RELEASE}
402 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
403 echo m68k-milan-mint${UNAME_RELEASE}
405 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
406 echo m68k-hades-mint${UNAME_RELEASE}
408 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
409 echo m68k-unknown-mint${UNAME_RELEASE}
412 echo powerpc-apple-machten${UNAME_RELEASE}
415 echo mips-dec-mach_bsd4.3
418 echo mips-dec-ultrix${UNAME_RELEASE}
421 echo vax-dec-ultrix${UNAME_RELEASE}
423 2020:CLIX:*:* | 2430:CLIX:*:*)
424 echo clipper-intergraph-clix${UNAME_RELEASE}
426 mips:*:*:UMIPS | mips:*:*:RISCos)
427 eval $set_cc_for_build
428 sed 's/^ //' << EOF >$dummy.c
430 #include <stdio.h> /* for printf() prototype */
431 int main (int argc, char *argv[]) {
433 int main (argc, argv) int argc; char *argv[]; {
435 #if defined (host_mips) && defined (MIPSEB)
436 #if defined (SYSTYPE_SYSV)
437 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
439 #if defined (SYSTYPE_SVR4)
440 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
442 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
443 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
449 $CC_FOR_BUILD -o $dummy $dummy.c \
450 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
452 echo mips-mips-riscos${UNAME_RELEASE}
454 Motorola:PowerMAX_OS:*:*)
455 echo powerpc-motorola-powermax
457 Motorola:*:4.3:PL8-*)
458 echo powerpc-harris-powermax
460 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
461 echo powerpc-harris-powermax
463 Night_Hawk:Power_UNIX:*:*)
464 echo powerpc-harris-powerunix
467 echo m88k-harris-cxux7
470 echo m88k-motorola-sysv4
473 echo m88k-motorola-sysv3
476 # DG/UX returns AViiON for all architectures
477 UNAME_PROCESSOR=`/usr/bin/uname -p`
478 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
480 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
481 [ ${TARGET_BINARY_INTERFACE}x = x ]
483 echo m88k-dg-dgux${UNAME_RELEASE}
485 echo m88k-dg-dguxbcs${UNAME_RELEASE}
488 echo i586-dg-dgux${UNAME_RELEASE}
491 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
492 echo m88k-dolphin-sysv3
495 # Delta 88k system running SVR3
496 echo m88k-motorola-sysv3
498 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
499 echo m88k-tektronix-sysv3
501 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
502 echo m68k-tektronix-bsd
505 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
507 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
508 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
509 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
514 if [ -x /usr/bin/oslevel ] ; then
515 IBM_REV=`/usr/bin/oslevel`
517 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
519 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
522 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
523 eval $set_cc_for_build
524 sed 's/^ //' << EOF >$dummy.c
525 #include <sys/systemcfg.h>
531 puts("powerpc-ibm-aix3.2.5");
535 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
536 echo rs6000-ibm-aix3.2.5
537 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
538 echo rs6000-ibm-aix3.2.4
540 echo rs6000-ibm-aix3.2
544 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
545 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
550 if [ -x /usr/bin/oslevel ] ; then
551 IBM_REV=`/usr/bin/oslevel`
553 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
555 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
560 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
563 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
564 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
565 exit 0 ;; # report: romp-ibm BSD 4.3
567 echo rs6000-bull-bosx
572 9000/[34]??:4.3bsd:1.*:*)
575 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
578 9000/[34678]??:HP-UX:*:*)
579 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
580 case "${UNAME_MACHINE}" in
581 9000/31? ) HP_ARCH=m68000 ;;
582 9000/[34]?? ) HP_ARCH=m68k ;;
583 9000/[678][0-9][0-9])
584 if [ -x /usr/bin/getconf ]; then
585 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
586 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
587 case "${sc_cpu_version}" in
588 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
589 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
590 532) # CPU_PA_RISC2_0
591 case "${sc_kernel_bits}" in
592 32) HP_ARCH="hppa2.0n" ;;
593 64) HP_ARCH="hppa2.0w" ;;
594 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
598 if [ "${HP_ARCH}" = "" ]; then
599 eval $set_cc_for_build
600 sed 's/^ //' << EOF >$dummy.c
608 #if defined(_SC_KERNEL_BITS)
609 long bits = sysconf(_SC_KERNEL_BITS);
611 long cpu = sysconf (_SC_CPU_VERSION);
615 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
616 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
618 #if defined(_SC_KERNEL_BITS)
621 case 64: puts ("hppa2.0w"); break;
622 case 32: puts ("hppa2.0n"); break;
623 default: puts ("hppa2.0"); break;
625 #else /* !defined(_SC_KERNEL_BITS) */
626 puts ("hppa2.0"); break;
628 default: puts ("hppa1.0"); break;
633 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
634 test -z "$HP_ARCH" && HP_ARCH=hppa
637 if [ ${HP_ARCH} = "hppa2.0w" ]
639 # avoid double evaluation of $set_cc_for_build
640 test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
641 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
648 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
651 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
652 echo ia64-hp-hpux${HPUX_REV}
655 eval $set_cc_for_build
656 sed 's/^ //' << EOF >$dummy.c
661 long cpu = sysconf (_SC_CPU_VERSION);
662 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
663 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
665 if (CPU_IS_PA_RISC (cpu))
669 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
670 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
671 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
672 default: puts ("hppa-hitachi-hiuxwe2"); break;
675 else if (CPU_IS_HP_MC68K (cpu))
676 puts ("m68k-hitachi-hiuxwe2");
677 else puts ("unknown-hitachi-hiuxwe2");
681 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
682 echo unknown-hitachi-hiuxwe2
684 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
690 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
691 echo hppa1.0-hp-mpeix
693 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
700 if [ -x /usr/sbin/sysversion ] ; then
701 echo ${UNAME_MACHINE}-unknown-osf1mk
703 echo ${UNAME_MACHINE}-unknown-osf1
707 echo hppa1.1-hp-lites
709 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
712 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
713 if getsysinfo -f scalar_acc
714 then echo c32-convex-bsd
715 else echo c2-convex-bsd
718 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
721 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
724 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
728 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
732 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
733 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
737 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746 echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
749 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
750 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
751 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
752 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
754 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
755 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
758 echo sparc-unknown-bsdi${UNAME_RELEASE}
761 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
763 *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
764 # Determine whether the default compiler uses glibc.
765 eval $set_cc_for_build
766 sed 's/^ //' << EOF >$dummy.c
767 #include <features.h>
774 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
775 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
778 echo ${UNAME_MACHINE}-pc-cygwin
781 echo ${UNAME_MACHINE}-pc-mingw32
784 echo ${UNAME_MACHINE}-pc-pw32
787 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
789 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
790 echo i${UNAME_MACHINE}-pc-mks
792 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
793 # How do we know it's Interix rather than the generic POSIX subsystem?
794 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
795 # UNAME_MACHINE based on the output of uname instead of i386?
799 echo ${UNAME_MACHINE}-pc-uwin
802 echo powerpcle-unknown-cygwin
805 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
808 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
811 echo ${UNAME_MACHINE}-pc-minix
814 echo ${UNAME_MACHINE}-unknown-linux-gnu
817 echo cris-axis-linux-gnu
820 echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
823 echo ${UNAME_MACHINE}-unknown-linux-gnu
826 eval $set_cc_for_build
827 sed 's/^ //' << EOF >$dummy.c
831 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
834 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
841 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
842 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
845 eval $set_cc_for_build
846 sed 's/^ //' << EOF >$dummy.c
850 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
853 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
860 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
861 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
864 echo powerpc-${VENDOR:-unknown}-linux-gnu
867 echo powerpc64-${VENDOR:-unknown}-linux-gnu
870 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
871 EV5) UNAME_MACHINE=alphaev5 ;;
872 EV56) UNAME_MACHINE=alphaev56 ;;
873 PCA56) UNAME_MACHINE=alphapca56 ;;
874 PCA57) UNAME_MACHINE=alphapca56 ;;
875 EV6) UNAME_MACHINE=alphaev6 ;;
876 EV67) UNAME_MACHINE=alphaev67 ;;
877 EV68*) UNAME_MACHINE=alphaev68 ;;
879 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
880 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
881 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
883 parisc:Linux:*:* | hppa:Linux:*:*)
885 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
886 PA7*) echo hppa1.1-unknown-linux-gnu ;;
887 PA8*) echo hppa2.0-unknown-linux-gnu ;;
888 *) echo hppa-unknown-linux-gnu ;;
891 parisc64:Linux:*:* | hppa64:Linux:*:*)
892 echo hppa64-unknown-linux-gnu
894 s390:Linux:*:* | s390x:Linux:*:*)
895 echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
898 echo ${UNAME_MACHINE}-unknown-linux-gnu
901 echo ${UNAME_MACHINE}-unknown-linux-gnu
903 sparc:Linux:*:* | sparc64:Linux:*:*)
904 echo ${UNAME_MACHINE}-unknown-linux-gnu
907 echo x86_64-${VENDOR:-unknown}-linux-gnu
910 # The BFD linker knows what the default object file format is, so
911 # first see if it will tell us. cd to the root directory to prevent
912 # problems with other programs or directories called `ld' in the path.
913 # Set LC_ALL=C to ensure ld outputs messages in English.
914 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
915 | sed -ne '/supported targets:/!d
917 s/.*supported targets: *//
920 case "$ld_supported_targets" in
922 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
925 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
928 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
931 # Either a pre-BFD a.out linker (linux-gnuoldld) or
932 # one that does not give us useful --help.
933 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
936 # Determine whether the default compiler is a.out or elf
937 eval $set_cc_for_build
938 sed 's/^ //' << EOF >$dummy.c
939 #include <features.h>
951 #ifdef __INTEL_COMPILER
958 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
959 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
960 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
963 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
964 # earlier versions are messed up and put the nodename in both
965 # sysname and nodename.
966 echo i386-sequent-sysv4
968 i*86:UNIX_SV:4.2MP:2.*)
969 # Unixware is an offshoot of SVR4, but it has its own version
970 # number series starting with 2...
971 # I am not positive that other SVR4 systems won't match this,
972 # I just have to hope. -- rms.
973 # Use sysv4.2uw... so that sysv4* matches it.
974 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
977 # If we were able to find `uname', then EMX Unix compatibility
978 # is probably installed.
979 echo ${UNAME_MACHINE}-pc-os2-emx
982 echo ${UNAME_MACHINE}-unknown-stop
985 echo ${UNAME_MACHINE}-unknown-atheos
987 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
988 echo i386-unknown-lynxos${UNAME_RELEASE}
991 echo ${UNAME_MACHINE}-pc-msdosdjgpp
993 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
994 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
995 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
996 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
998 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1002 case `/bin/uname -X | grep "^Machine"` in
1003 *486*) UNAME_MACHINE=i486 ;;
1004 *Pentium) UNAME_MACHINE=i586 ;;
1005 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1007 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1010 if test -f /usr/options/cb.name; then
1011 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1012 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1013 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1014 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1015 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1016 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1017 && UNAME_MACHINE=i586
1018 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1019 && UNAME_MACHINE=i686
1020 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1021 && UNAME_MACHINE=i686
1022 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1024 echo ${UNAME_MACHINE}-pc-sysv32
1028 # Left here for compatibility:
1029 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1030 # the processor, so we play safe by assuming i386.
1031 echo i386-pc-msdosdjgpp
1037 echo i860-intel-osf1
1039 i860:*:4.*:*) # i860-SVR4
1040 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1041 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1042 else # Add other i860-SVR4 vendors below as they are discovered.
1043 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1048 echo m68010-convergent-sysv
1050 mc68k:UNIX:SYSTEM5:3.51m)
1051 echo m68k-convergent-sysv
1057 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1058 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 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
1060 test -r /etc/.relid \
1061 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1062 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1063 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1064 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1065 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1066 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1067 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1068 && echo i486-ncr-sysv4 && exit 0 ;;
1069 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1070 echo m68k-unknown-lynxos${UNAME_RELEASE}
1072 mc68030:UNIX_System_V:4.*:*)
1073 echo m68k-atari-sysv4
1075 TSUNAMI:LynxOS:2.*:*)
1076 echo sparc-unknown-lynxos${UNAME_RELEASE}
1078 rs6000:LynxOS:2.*:*)
1079 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1081 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1082 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1084 SM[BE]S:UNIX_SV:*:*)
1085 echo mips-dde-sysv${UNAME_RELEASE}
1087 RM*:ReliantUNIX-*:*:*)
1094 if uname -p 2>/dev/null >/dev/null ; then
1095 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1096 echo ${UNAME_MACHINE}-sni-sysv4
1101 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1102 # says <Richard.M.Bartel@ccMail.Census.GOV>
1103 echo i586-unisys-sysv4
1105 *:UNIX_System_V:4*:FTX*)
1106 # From Gerald Hewes <hewes@openmarket.com>.
1107 # How about differentiating between stratus architectures? -djm
1108 echo hppa1.1-stratus-sysv4
1111 # From seanf@swdc.stratus.com.
1112 echo i860-stratus-sysv4
1115 # From Paul.Green@stratus.com.
1116 echo hppa1.1-stratus-vos
1119 echo m68k-apple-aux${UNAME_RELEASE}
1122 echo mips-sony-newsos6
1124 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1125 if [ -d /usr/nec ]; then
1126 echo mips-nec-sysv${UNAME_RELEASE}
1128 echo mips-unknown-sysv${UNAME_RELEASE}
1131 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1132 echo powerpc-be-beos
1134 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1135 echo powerpc-apple-beos
1137 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1141 echo sx4-nec-superux${UNAME_RELEASE}
1144 echo sx5-nec-superux${UNAME_RELEASE}
1147 echo sx6-nec-superux${UNAME_RELEASE}
1149 Power*:Rhapsody:*:*)
1150 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1153 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1157 *86) UNAME_PROCESSOR=i686 ;;
1158 powerpc) UNAME_PROCESSOR=powerpc ;;
1160 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1162 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1163 UNAME_PROCESSOR=`uname -p`
1164 if test "$UNAME_PROCESSOR" = "x86"; then
1165 UNAME_PROCESSOR=i386
1168 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1173 NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1174 echo nsr-tandem-nsk${UNAME_RELEASE}
1177 echo mips-compaq-nonstopux
1180 echo bs2000-siemens-sysv
1182 DS/*:UNIX_System_V:*:*)
1183 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1186 # "uname -m" is not consistent, so use $cputype instead. 386
1187 # is converted to i386 for consistency with other x86
1188 # operating systems.
1189 if test "$cputype" = "386"; then
1192 UNAME_MACHINE="$cputype"
1194 echo ${UNAME_MACHINE}-unknown-plan9
1197 echo pdp10-unknown-tops10
1200 echo pdp10-unknown-tenex
1202 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1203 echo pdp10-dec-tops20
1205 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1206 echo pdp10-xkl-tops20
1209 echo pdp10-unknown-tops20
1212 echo pdp10-unknown-its
1215 echo mips-sei-seiux${UNAME_RELEASE}
1219 #echo '(No uname command or uname output not recognized.)' 1>&2
1220 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1222 eval $set_cc_for_build
1225 # include <sys/types.h>
1226 # include <sys/utsname.h>
1231 #if defined (MIPSEB)
1232 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1234 printf ("mips-sony-bsd\n"); exit (0);
1236 #include <sys/param.h>
1237 printf ("m68k-sony-newsos%s\n",
1247 #if defined (__arm) && defined (__acorn) && defined (__unix)
1248 printf ("arm-acorn-riscix"); exit (0);
1251 #if defined (hp300) && !defined (hpux)
1252 printf ("m68k-hp-bsd\n"); exit (0);
1256 #if !defined (__ARCHITECTURE__)
1257 #define __ARCHITECTURE__ "m68k"
1260 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1262 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1264 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1268 #if defined (MULTIMAX) || defined (n16)
1270 printf ("ns32k-encore-sysv\n"); exit (0);
1273 printf ("ns32k-encore-mach\n"); exit (0);
1275 printf ("ns32k-encore-bsd\n"); exit (0);
1280 #if defined (__386BSD__)
1281 printf ("i386-pc-bsd\n"); exit (0);
1284 #if defined (sequent)
1286 printf ("i386-sequent-dynix\n"); exit (0);
1288 #if defined (ns32000)
1289 printf ("ns32k-sequent-dynix\n"); exit (0);
1293 #if defined (_SEQUENT_)
1298 if (strncmp(un.version, "V2", 2) == 0) {
1299 printf ("i386-sequent-ptx2\n"); exit (0);
1301 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1302 printf ("i386-sequent-ptx1\n"); exit (0);
1304 printf ("i386-sequent-ptx\n"); exit (0);
1309 # if !defined (ultrix)
1310 # include <sys/param.h>
1313 printf ("vax-dec-bsd4.3\n"); exit (0);
1316 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1318 printf ("vax-dec-bsd\n"); exit (0);
1322 printf ("vax-dec-bsd\n"); exit (0);
1325 printf ("vax-dec-ultrix\n"); exit (0);
1329 #if defined (alliant) && defined (i860)
1330 printf ("i860-alliant-bsd\n"); exit (0);
1337 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1339 # Apollos put the system type in the environment.
1341 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1343 # Convex versions that predate uname can use getsysinfo(1)
1345 if [ -x /usr/convex/getsysinfo ]
1347 case `getsysinfo -f cpu_type` in
1352 if getsysinfo -f scalar_acc
1353 then echo c32-convex-bsd
1354 else echo c2-convex-bsd
1370 $0: unable to guess system type
1372 This script, last modified $timestamp, has failed to recognize
1373 the operating system you are using. It is advised that you
1374 download the most up to date version of the config scripts from
1376 ftp://ftp.gnu.org/pub/gnu/config/
1378 If the version you run ($0) is already up to date, please
1379 send the following data and any information you think might be
1380 pertinent to <config-patches@gnu.org> in order to provide the needed
1381 information to handle your system.
1383 config.guess timestamp = $timestamp
1385 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1386 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1387 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1388 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1390 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1391 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1393 hostinfo = `(hostinfo) 2>/dev/null`
1394 /bin/universe = `(/bin/universe) 2>/dev/null`
1395 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1396 /bin/arch = `(/bin/arch) 2>/dev/null`
1397 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1398 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1400 UNAME_MACHINE = ${UNAME_MACHINE}
1401 UNAME_RELEASE = ${UNAME_RELEASE}
1402 UNAME_SYSTEM = ${UNAME_SYSTEM}
1403 UNAME_VERSION = ${UNAME_VERSION}
1409 # eval: (add-hook 'write-file-hooks 'time-stamp)
1410 # time-stamp-start: "timestamp='"
1411 # time-stamp-format: "%:y-%02m-%02d"
1412 # time-stamp-end: "'"