source: rtems/config.guess @ 6273201

4.115
Last change on this file since 6273201 was 0b61e27, checked in by Joel Sherrill <joel.sherrill@…>, on 04/26/12 at 13:38:06

Update config.guess and config.sub

  • Property mode set to 100755
File size: 43.8 KB
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5#   2011, 2012 Free Software Foundation, Inc.
6
7timestamp='2012-02-10'
8
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.
13#
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.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, see <http://www.gnu.org/licenses/>.
21#
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.
26
27
28# Originally written by Per Bothner.  Please send patches (context
29# diff format) to <config-patches@gnu.org> and include a ChangeLog
30# entry.
31#
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.
35#
36# You can get the latest version of this script from:
37# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
38
39me=`echo "$0" | sed -e 's,.*/,,'`
40
41usage="\
42Usage: $0 [OPTION]
43
44Output the configuration name of the system \`$me' is run on.
45
46Operation modes:
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
50
51Report bugs and patches to <config-patches@gnu.org>."
52
53version="\
54GNU config.guess ($timestamp)
55
56Originally written by Per Bothner.
57Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
582001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59Free Software Foundation, Inc.
60
61This is free software; see the source for copying conditions.  There is NO
62warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
64help="
65Try \`$me --help' for more information."
66
67# Parse command line
68while test $# -gt 0 ; do
69  case $1 in
70    --time-stamp | --time* | -t )
71       echo "$timestamp" ; exit ;;
72    --version | -v )
73       echo "$version" ; exit ;;
74    --help | --h* | -h )
75       echo "$usage"; exit ;;
76    -- )     # Stop option processing
77       shift; break ;;
78    - ) # Use stdin as input.
79       break ;;
80    -* )
81       echo "$me: invalid option $1$help" >&2
82       exit 1 ;;
83    * )
84       break ;;
85  esac
86done
87
88if test $# != 0; then
89  echo "$me: too many arguments$help" >&2
90  exit 1
91fi
92
93trap 'exit 1' 1 2 15
94
95# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96# compiler to aid in system detection is discouraged as it requires
97# temporary files to be created and, as you can see below, it is a
98# headache to deal with in a portable fashion.
99
100# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101# use `HOST_CC' if defined, but it is deprecated.
102
103# Portable tmp directory creation inspired by the Autoconf team.
104
105set_cc_for_build='
106trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108: ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113dummy=$tmp/dummy ;
114tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115case $CC_FOR_BUILD,$HOST_CC,$CC in
116 ,,)    echo "int x;" > $dummy.c ;
117        for c in cc gcc c89 c99 ; do
118          if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119             CC_FOR_BUILD="$c"; break ;
120          fi ;
121        done ;
122        if test x"$CC_FOR_BUILD" = x ; then
123          CC_FOR_BUILD=no_compiler_found ;
124        fi
125        ;;
126 ,,*)   CC_FOR_BUILD=$CC ;;
127 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
128esac ; set_cc_for_build= ;'
129
130# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131# (ghazi@noc.rutgers.edu 1994-08-24)
132if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133        PATH=$PATH:/.attbin ; export PATH
134fi
135
136UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
139UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
141# Note: order is significant - the case branches are not exclusive.
142
143case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144    *:NetBSD:*:*)
145        # NetBSD (nbsd) targets should (where applicable) match one or
146        # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
147        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
148        # switched to ELF, *-*-netbsd* would select the old
149        # object file format.  This provides both forward
150        # compatibility and a consistent mechanism for selecting the
151        # object file format.
152        #
153        # Note: NetBSD doesn't particularly care about the vendor
154        # portion of the name.  We always set it to "unknown".
155        sysctl="sysctl -n hw.machine_arch"
156        UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157            /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158        case "${UNAME_MACHINE_ARCH}" in
159            armeb) machine=armeb-unknown ;;
160            arm*) machine=arm-unknown ;;
161            sh3el) machine=shl-unknown ;;
162            sh3eb) machine=sh-unknown ;;
163            sh5el) machine=sh5le-unknown ;;
164            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165        esac
166        # The Operating System including object format, if it has switched
167        # to ELF recently, or will in the future.
168        case "${UNAME_MACHINE_ARCH}" in
169            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170                eval $set_cc_for_build
171                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172                        | grep -q __ELF__
173                then
174                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175                    # Return netbsd for either.  FIX?
176                    os=netbsd
177                else
178                    os=netbsdelf
179                fi
180                ;;
181            *)
182                os=netbsd
183                ;;
184        esac
185        # The OS release
186        # Debian GNU/NetBSD machines have a different userland, and
187        # thus, need a distinct triplet. However, they do not need
188        # kernel version information, so it can be replaced with a
189        # suitable tag, in the style of linux-gnu.
190        case "${UNAME_VERSION}" in
191            Debian*)
192                release='-gnu'
193                ;;
194            *)
195                release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196                ;;
197        esac
198        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199        # contains redundant information, the shorter form:
200        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201        echo "${machine}-${os}${release}"
202        exit ;;
203    *:OpenBSD:*:*)
204        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206        exit ;;
207    *:ekkoBSD:*:*)
208        echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209        exit ;;
210    *:SolidBSD:*:*)
211        echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212        exit ;;
213    macppc:MirBSD:*:*)
214        echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215        exit ;;
216    *:MirBSD:*:*)
217        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218        exit ;;
219    alpha:OSF1:*:*)
220        case $UNAME_RELEASE in
221        *4.0)
222                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223                ;;
224        *5.*)
225                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226                ;;
227        esac
228        # According to Compaq, /usr/sbin/psrinfo has been available on
229        # OSF/1 and Tru64 systems produced since 1995.  I hope that
230        # covers most systems running today.  This code pipes the CPU
231        # types through head -n 1, so we only detect the type of CPU 0.
232        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233        case "$ALPHA_CPU_TYPE" in
234            "EV4 (21064)")
235                UNAME_MACHINE="alpha" ;;
236            "EV4.5 (21064)")
237                UNAME_MACHINE="alpha" ;;
238            "LCA4 (21066/21068)")
239                UNAME_MACHINE="alpha" ;;
240            "EV5 (21164)")
241                UNAME_MACHINE="alphaev5" ;;
242            "EV5.6 (21164A)")
243                UNAME_MACHINE="alphaev56" ;;
244            "EV5.6 (21164PC)")
245                UNAME_MACHINE="alphapca56" ;;
246            "EV5.7 (21164PC)")
247                UNAME_MACHINE="alphapca57" ;;
248            "EV6 (21264)")
249                UNAME_MACHINE="alphaev6" ;;
250            "EV6.7 (21264A)")
251                UNAME_MACHINE="alphaev67" ;;
252            "EV6.8CB (21264C)")
253                UNAME_MACHINE="alphaev68" ;;
254            "EV6.8AL (21264B)")
255                UNAME_MACHINE="alphaev68" ;;
256            "EV6.8CX (21264D)")
257                UNAME_MACHINE="alphaev68" ;;
258            "EV6.9A (21264/EV69A)")
259                UNAME_MACHINE="alphaev69" ;;
260            "EV7 (21364)")
261                UNAME_MACHINE="alphaev7" ;;
262            "EV7.9 (21364A)")
263                UNAME_MACHINE="alphaev79" ;;
264        esac
265        # A Pn.n version is a patched version.
266        # A Vn.n version is a released version.
267        # A Tn.n version is a released field test version.
268        # A Xn.n version is an unreleased experimental baselevel.
269        # 1.2 uses "1.2" for uname -r.
270        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
272        exitcode=$?
273        trap '' 0
274        exit $exitcode ;;
275    Alpha\ *:Windows_NT*:*)
276        # How do we know it's Interix rather than the generic POSIX subsystem?
277        # Should we change UNAME_MACHINE based on the output of uname instead
278        # of the specific Alpha model?
279        echo alpha-pc-interix
280        exit ;;
281    21064:Windows_NT:50:3)
282        echo alpha-dec-winnt3.5
283        exit ;;
284    Amiga*:UNIX_System_V:4.0:*)
285        echo m68k-unknown-sysv4
286        exit ;;
287    *:[Aa]miga[Oo][Ss]:*:*)
288        echo ${UNAME_MACHINE}-unknown-amigaos
289        exit ;;
290    *:[Mm]orph[Oo][Ss]:*:*)
291        echo ${UNAME_MACHINE}-unknown-morphos
292        exit ;;
293    *:OS/390:*:*)
294        echo i370-ibm-openedition
295        exit ;;
296    *:z/VM:*:*)
297        echo s390-ibm-zvmoe
298        exit ;;
299    *:OS400:*:*)
300        echo powerpc-ibm-os400
301        exit ;;
302    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
303        echo arm-acorn-riscix${UNAME_RELEASE}
304        exit ;;
305    arm:riscos:*:*|arm:RISCOS:*:*)
306        echo arm-unknown-riscos
307        exit ;;
308    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
309        echo hppa1.1-hitachi-hiuxmpp
310        exit ;;
311    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
312        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
313        if test "`(/bin/universe) 2>/dev/null`" = att ; then
314                echo pyramid-pyramid-sysv3
315        else
316                echo pyramid-pyramid-bsd
317        fi
318        exit ;;
319    NILE*:*:*:dcosx)
320        echo pyramid-pyramid-svr4
321        exit ;;
322    DRS?6000:unix:4.0:6*)
323        echo sparc-icl-nx6
324        exit ;;
325    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
326        case `/usr/bin/uname -p` in
327            sparc) echo sparc-icl-nx7; exit ;;
328        esac ;;
329    s390x:SunOS:*:*)
330        echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331        exit ;;
332    sun4H:SunOS:5.*:*)
333        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334        exit ;;
335    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
336        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337        exit ;;
338    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
339        echo i386-pc-auroraux${UNAME_RELEASE}
340        exit ;;
341    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
342        eval $set_cc_for_build
343        SUN_ARCH="i386"
344        # If there is a compiler, see if it is configured for 64-bit objects.
345        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
346        # This test works for both compilers.
347        if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
348            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
349                (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
350                grep IS_64BIT_ARCH >/dev/null
351            then
352                SUN_ARCH="x86_64"
353            fi
354        fi
355        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356        exit ;;
357    sun4*:SunOS:6*:*)
358        # According to config.sub, this is the proper way to canonicalize
359        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
360        # it's likely to be more like Solaris than SunOS4.
361        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362        exit ;;
363    sun4*:SunOS:*:*)
364        case "`/usr/bin/arch -k`" in
365            Series*|S4*)
366                UNAME_RELEASE=`uname -v`
367                ;;
368        esac
369        # Japanese Language versions have a version number like `4.1.3-JL'.
370        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
371        exit ;;
372    sun3*:SunOS:*:*)
373        echo m68k-sun-sunos${UNAME_RELEASE}
374        exit ;;
375    sun*:*:4.2BSD:*)
376        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
378        case "`/bin/arch`" in
379            sun3)
380                echo m68k-sun-sunos${UNAME_RELEASE}
381                ;;
382            sun4)
383                echo sparc-sun-sunos${UNAME_RELEASE}
384                ;;
385        esac
386        exit ;;
387    aushp:SunOS:*:*)
388        echo sparc-auspex-sunos${UNAME_RELEASE}
389        exit ;;
390    # The situation for MiNT is a little confusing.  The machine name
391    # can be virtually everything (everything which is not
392    # "atarist" or "atariste" at least should have a processor
393    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
394    # to the lowercase version "mint" (or "freemint").  Finally
395    # the system name "TOS" denotes a system which is actually not
396    # MiNT.  But MiNT is downward compatible to TOS, so this should
397    # be no problem.
398    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
399        echo m68k-atari-mint${UNAME_RELEASE}
400        exit ;;
401    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402        echo m68k-atari-mint${UNAME_RELEASE}
403        exit ;;
404    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
405        echo m68k-atari-mint${UNAME_RELEASE}
406        exit ;;
407    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
408        echo m68k-milan-mint${UNAME_RELEASE}
409        exit ;;
410    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
411        echo m68k-hades-mint${UNAME_RELEASE}
412        exit ;;
413    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
414        echo m68k-unknown-mint${UNAME_RELEASE}
415        exit ;;
416    m68k:machten:*:*)
417        echo m68k-apple-machten${UNAME_RELEASE}
418        exit ;;
419    powerpc:machten:*:*)
420        echo powerpc-apple-machten${UNAME_RELEASE}
421        exit ;;
422    RISC*:Mach:*:*)
423        echo mips-dec-mach_bsd4.3
424        exit ;;
425    RISC*:ULTRIX:*:*)
426        echo mips-dec-ultrix${UNAME_RELEASE}
427        exit ;;
428    VAX*:ULTRIX*:*:*)
429        echo vax-dec-ultrix${UNAME_RELEASE}
430        exit ;;
431    2020:CLIX:*:* | 2430:CLIX:*:*)
432        echo clipper-intergraph-clix${UNAME_RELEASE}
433        exit ;;
434    mips:*:*:UMIPS | mips:*:*:RISCos)
435        eval $set_cc_for_build
436        sed 's/^        //' << EOF >$dummy.c
437#ifdef __cplusplus
438#include <stdio.h>  /* for printf() prototype */
439        int main (int argc, char *argv[]) {
440#else
441        int main (argc, argv) int argc; char *argv[]; {
442#endif
443        #if defined (host_mips) && defined (MIPSEB)
444        #if defined (SYSTYPE_SYSV)
445          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
446        #endif
447        #if defined (SYSTYPE_SVR4)
448          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
449        #endif
450        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
451          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
452        #endif
453        #endif
454          exit (-1);
455        }
456EOF
457        $CC_FOR_BUILD -o $dummy $dummy.c &&
458          dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
459          SYSTEM_NAME=`$dummy $dummyarg` &&
460            { echo "$SYSTEM_NAME"; exit; }
461        echo mips-mips-riscos${UNAME_RELEASE}
462        exit ;;
463    Motorola:PowerMAX_OS:*:*)
464        echo powerpc-motorola-powermax
465        exit ;;
466    Motorola:*:4.3:PL8-*)
467        echo powerpc-harris-powermax
468        exit ;;
469    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
470        echo powerpc-harris-powermax
471        exit ;;
472    Night_Hawk:Power_UNIX:*:*)
473        echo powerpc-harris-powerunix
474        exit ;;
475    m88k:CX/UX:7*:*)
476        echo m88k-harris-cxux7
477        exit ;;
478    m88k:*:4*:R4*)
479        echo m88k-motorola-sysv4
480        exit ;;
481    m88k:*:3*:R3*)
482        echo m88k-motorola-sysv3
483        exit ;;
484    AViiON:dgux:*:*)
485        # DG/UX returns AViiON for all architectures
486        UNAME_PROCESSOR=`/usr/bin/uname -p`
487        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488        then
489            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
490               [ ${TARGET_BINARY_INTERFACE}x = x ]
491            then
492                echo m88k-dg-dgux${UNAME_RELEASE}
493            else
494                echo m88k-dg-dguxbcs${UNAME_RELEASE}
495            fi
496        else
497            echo i586-dg-dgux${UNAME_RELEASE}
498        fi
499        exit ;;
500    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
501        echo m88k-dolphin-sysv3
502        exit ;;
503    M88*:*:R3*:*)
504        # Delta 88k system running SVR3
505        echo m88k-motorola-sysv3
506        exit ;;
507    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
508        echo m88k-tektronix-sysv3
509        exit ;;
510    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
511        echo m68k-tektronix-bsd
512        exit ;;
513    *:IRIX*:*:*)
514        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
515        exit ;;
516    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
517        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
518        exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
519    i*86:AIX:*:*)
520        echo i386-ibm-aix
521        exit ;;
522    ia64:AIX:*:*)
523        if [ -x /usr/bin/oslevel ] ; then
524                IBM_REV=`/usr/bin/oslevel`
525        else
526                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527        fi
528        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
529        exit ;;
530    *:AIX:2:3)
531        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
532                eval $set_cc_for_build
533                sed 's/^                //' << EOF >$dummy.c
534                #include <sys/systemcfg.h>
535
536                main()
537                        {
538                        if (!__power_pc())
539                                exit(1);
540                        puts("powerpc-ibm-aix3.2.5");
541                        exit(0);
542                        }
543EOF
544                if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
545                then
546                        echo "$SYSTEM_NAME"
547                else
548                        echo rs6000-ibm-aix3.2.5
549                fi
550        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
551                echo rs6000-ibm-aix3.2.4
552        else
553                echo rs6000-ibm-aix3.2
554        fi
555        exit ;;
556    *:AIX:*:[4567])
557        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
558        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
559                IBM_ARCH=rs6000
560        else
561                IBM_ARCH=powerpc
562        fi
563        if [ -x /usr/bin/oslevel ] ; then
564                IBM_REV=`/usr/bin/oslevel`
565        else
566                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
567        fi
568        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
569        exit ;;
570    *:AIX:*:*)
571        echo rs6000-ibm-aix
572        exit ;;
573    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
574        echo romp-ibm-bsd4.4
575        exit ;;
576    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
577        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
578        exit ;;                             # report: romp-ibm BSD 4.3
579    *:BOSX:*:*)
580        echo rs6000-bull-bosx
581        exit ;;
582    DPX/2?00:B.O.S.:*:*)
583        echo m68k-bull-sysv3
584        exit ;;
585    9000/[34]??:4.3bsd:1.*:*)
586        echo m68k-hp-bsd
587        exit ;;
588    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
589        echo m68k-hp-bsd4.4
590        exit ;;
591    9000/[34678]??:HP-UX:*:*)
592        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
593        case "${UNAME_MACHINE}" in
594            9000/31? )            HP_ARCH=m68000 ;;
595            9000/[34]?? )         HP_ARCH=m68k ;;
596            9000/[678][0-9][0-9])
597                if [ -x /usr/bin/getconf ]; then
598                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
599                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
600                    case "${sc_cpu_version}" in
601                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
602                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
603                      532)                      # CPU_PA_RISC2_0
604                        case "${sc_kernel_bits}" in
605                          32) HP_ARCH="hppa2.0n" ;;
606                          64) HP_ARCH="hppa2.0w" ;;
607                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
608                        esac ;;
609                    esac
610                fi
611                if [ "${HP_ARCH}" = "" ]; then
612                    eval $set_cc_for_build
613                    sed 's/^            //' << EOF >$dummy.c
614
615                #define _HPUX_SOURCE
616                #include <stdlib.h>
617                #include <unistd.h>
618
619                int main ()
620                {
621                #if defined(_SC_KERNEL_BITS)
622                    long bits = sysconf(_SC_KERNEL_BITS);
623                #endif
624                    long cpu  = sysconf (_SC_CPU_VERSION);
625
626                    switch (cpu)
627                        {
628                        case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
629                        case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
630                        case CPU_PA_RISC2_0:
631                #if defined(_SC_KERNEL_BITS)
632                            switch (bits)
633                                {
634                                case 64: puts ("hppa2.0w"); break;
635                                case 32: puts ("hppa2.0n"); break;
636                                default: puts ("hppa2.0"); break;
637                                } break;
638                #else  /* !defined(_SC_KERNEL_BITS) */
639                            puts ("hppa2.0"); break;
640                #endif
641                        default: puts ("hppa1.0"); break;
642                        }
643                    exit (0);
644                }
645EOF
646                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
647                    test -z "$HP_ARCH" && HP_ARCH=hppa
648                fi ;;
649        esac
650        if [ ${HP_ARCH} = "hppa2.0w" ]
651        then
652            eval $set_cc_for_build
653
654            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
655            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
656            # generating 64-bit code.  GNU and HP use different nomenclature:
657            #
658            # $ CC_FOR_BUILD=cc ./config.guess
659            # => hppa2.0w-hp-hpux11.23
660            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
661            # => hppa64-hp-hpux11.23
662
663            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
664                grep -q __LP64__
665            then
666                HP_ARCH="hppa2.0w"
667            else
668                HP_ARCH="hppa64"
669            fi
670        fi
671        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
672        exit ;;
673    ia64:HP-UX:*:*)
674        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
675        echo ia64-hp-hpux${HPUX_REV}
676        exit ;;
677    3050*:HI-UX:*:*)
678        eval $set_cc_for_build
679        sed 's/^        //' << EOF >$dummy.c
680        #include <unistd.h>
681        int
682        main ()
683        {
684          long cpu = sysconf (_SC_CPU_VERSION);
685          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
686             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
687             results, however.  */
688          if (CPU_IS_PA_RISC (cpu))
689            {
690              switch (cpu)
691                {
692                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
693                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
694                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
695                  default: puts ("hppa-hitachi-hiuxwe2"); break;
696                }
697            }
698          else if (CPU_IS_HP_MC68K (cpu))
699            puts ("m68k-hitachi-hiuxwe2");
700          else puts ("unknown-hitachi-hiuxwe2");
701          exit (0);
702        }
703EOF
704        $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
705                { echo "$SYSTEM_NAME"; exit; }
706        echo unknown-hitachi-hiuxwe2
707        exit ;;
708    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
709        echo hppa1.1-hp-bsd
710        exit ;;
711    9000/8??:4.3bsd:*:*)
712        echo hppa1.0-hp-bsd
713        exit ;;
714    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
715        echo hppa1.0-hp-mpeix
716        exit ;;
717    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
718        echo hppa1.1-hp-osf
719        exit ;;
720    hp8??:OSF1:*:*)
721        echo hppa1.0-hp-osf
722        exit ;;
723    i*86:OSF1:*:*)
724        if [ -x /usr/sbin/sysversion ] ; then
725            echo ${UNAME_MACHINE}-unknown-osf1mk
726        else
727            echo ${UNAME_MACHINE}-unknown-osf1
728        fi
729        exit ;;
730    parisc*:Lites*:*:*)
731        echo hppa1.1-hp-lites
732        exit ;;
733    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
734        echo c1-convex-bsd
735        exit ;;
736    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
737        if getsysinfo -f scalar_acc
738        then echo c32-convex-bsd
739        else echo c2-convex-bsd
740        fi
741        exit ;;
742    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
743        echo c34-convex-bsd
744        exit ;;
745    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
746        echo c38-convex-bsd
747        exit ;;
748    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
749        echo c4-convex-bsd
750        exit ;;
751    CRAY*Y-MP:*:*:*)
752        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753        exit ;;
754    CRAY*[A-Z]90:*:*:*)
755        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
756        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
757              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
758              -e 's/\.[^.]*$/.X/'
759        exit ;;
760    CRAY*TS:*:*:*)
761        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
762        exit ;;
763    CRAY*T3E:*:*:*)
764        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
765        exit ;;
766    CRAY*SV1:*:*:*)
767        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
768        exit ;;
769    *:UNICOS/mp:*:*)
770        echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771        exit ;;
772    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
773        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
774        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
776        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777        exit ;;
778    5000:UNIX_System_V:4.*:*)
779        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
780        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
781        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
782        exit ;;
783    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
784        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
785        exit ;;
786    sparc*:BSD/OS:*:*)
787        echo sparc-unknown-bsdi${UNAME_RELEASE}
788        exit ;;
789    *:BSD/OS:*:*)
790        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
791        exit ;;
792    *:FreeBSD:*:*)
793        UNAME_PROCESSOR=`/usr/bin/uname -p`
794        case ${UNAME_PROCESSOR} in
795            amd64)
796                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797            *)
798                echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799        esac
800        exit ;;
801    i*:CYGWIN*:*)
802        echo ${UNAME_MACHINE}-pc-cygwin
803        exit ;;
804    *:MINGW*:*)
805        echo ${UNAME_MACHINE}-pc-mingw32
806        exit ;;
807    i*:MSYS*:*)
808        echo ${UNAME_MACHINE}-pc-msys
809        exit ;;
810    i*:windows32*:*)
811        # uname -m includes "-pc" on this system.
812        echo ${UNAME_MACHINE}-mingw32
813        exit ;;
814    i*:PW*:*)
815        echo ${UNAME_MACHINE}-pc-pw32
816        exit ;;
817    *:Interix*:*)
818        case ${UNAME_MACHINE} in
819            x86)
820                echo i586-pc-interix${UNAME_RELEASE}
821                exit ;;
822            authenticamd | genuineintel | EM64T)
823                echo x86_64-unknown-interix${UNAME_RELEASE}
824                exit ;;
825            IA64)
826                echo ia64-unknown-interix${UNAME_RELEASE}
827                exit ;;
828        esac ;;
829    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
830        echo i${UNAME_MACHINE}-pc-mks
831        exit ;;
832    8664:Windows_NT:*)
833        echo x86_64-pc-mks
834        exit ;;
835    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
836        # How do we know it's Interix rather than the generic POSIX subsystem?
837        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
838        # UNAME_MACHINE based on the output of uname instead of i386?
839        echo i586-pc-interix
840        exit ;;
841    i*:UWIN*:*)
842        echo ${UNAME_MACHINE}-pc-uwin
843        exit ;;
844    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
845        echo x86_64-unknown-cygwin
846        exit ;;
847    p*:CYGWIN*:*)
848        echo powerpcle-unknown-cygwin
849        exit ;;
850    prep*:SunOS:5.*:*)
851        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
852        exit ;;
853    *:GNU:*:*)
854        # the GNU system
855        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
856        exit ;;
857    *:GNU/*:*:*)
858        # other systems with GNU libc and userland
859        echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
860        exit ;;
861    i*86:Minix:*:*)
862        echo ${UNAME_MACHINE}-pc-minix
863        exit ;;
864    aarch64:Linux:*:*)
865        echo ${UNAME_MACHINE}-unknown-linux-gnu
866        exit ;;
867    aarch64_be:Linux:*:*)
868        UNAME_MACHINE=aarch64_be
869        echo ${UNAME_MACHINE}-unknown-linux-gnu
870        exit ;;
871    alpha:Linux:*:*)
872        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
873          EV5)   UNAME_MACHINE=alphaev5 ;;
874          EV56)  UNAME_MACHINE=alphaev56 ;;
875          PCA56) UNAME_MACHINE=alphapca56 ;;
876          PCA57) UNAME_MACHINE=alphapca56 ;;
877          EV6)   UNAME_MACHINE=alphaev6 ;;
878          EV67)  UNAME_MACHINE=alphaev67 ;;
879          EV68*) UNAME_MACHINE=alphaev68 ;;
880        esac
881        objdump --private-headers /bin/sh | grep -q ld.so.1
882        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
884        exit ;;
885    arm*:Linux:*:*)
886        eval $set_cc_for_build
887        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
888            | grep -q __ARM_EABI__
889        then
890            echo ${UNAME_MACHINE}-unknown-linux-gnu
891        else
892            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
893                | grep -q __ARM_PCS_VFP
894            then
895                echo ${UNAME_MACHINE}-unknown-linux-gnueabi
896            else
897                echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
898            fi
899        fi
900        exit ;;
901    avr32*:Linux:*:*)
902        echo ${UNAME_MACHINE}-unknown-linux-gnu
903        exit ;;
904    cris:Linux:*:*)
905        echo ${UNAME_MACHINE}-axis-linux-gnu
906        exit ;;
907    crisv32:Linux:*:*)
908        echo ${UNAME_MACHINE}-axis-linux-gnu
909        exit ;;
910    frv:Linux:*:*)
911        echo ${UNAME_MACHINE}-unknown-linux-gnu
912        exit ;;
913    hexagon:Linux:*:*)
914        echo ${UNAME_MACHINE}-unknown-linux-gnu
915        exit ;;
916    i*86:Linux:*:*)
917        LIBC=gnu
918        eval $set_cc_for_build
919        sed 's/^        //' << EOF >$dummy.c
920        #ifdef __dietlibc__
921        LIBC=dietlibc
922        #endif
923EOF
924        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
925        echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
926        exit ;;
927    ia64:Linux:*:*)
928        echo ${UNAME_MACHINE}-unknown-linux-gnu
929        exit ;;
930    m32r*:Linux:*:*)
931        echo ${UNAME_MACHINE}-unknown-linux-gnu
932        exit ;;
933    m68*:Linux:*:*)
934        echo ${UNAME_MACHINE}-unknown-linux-gnu
935        exit ;;
936    mips:Linux:*:* | mips64:Linux:*:*)
937        eval $set_cc_for_build
938        sed 's/^        //' << EOF >$dummy.c
939        #undef CPU
940        #undef ${UNAME_MACHINE}
941        #undef ${UNAME_MACHINE}el
942        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
943        CPU=${UNAME_MACHINE}el
944        #else
945        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
946        CPU=${UNAME_MACHINE}
947        #else
948        CPU=
949        #endif
950        #endif
951EOF
952        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
953        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
954        ;;
955    or32:Linux:*:*)
956        echo ${UNAME_MACHINE}-unknown-linux-gnu
957        exit ;;
958    padre:Linux:*:*)
959        echo sparc-unknown-linux-gnu
960        exit ;;
961    parisc64:Linux:*:* | hppa64:Linux:*:*)
962        echo hppa64-unknown-linux-gnu
963        exit ;;
964    parisc:Linux:*:* | hppa:Linux:*:*)
965        # Look for CPU level
966        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
967          PA7*) echo hppa1.1-unknown-linux-gnu ;;
968          PA8*) echo hppa2.0-unknown-linux-gnu ;;
969          *)    echo hppa-unknown-linux-gnu ;;
970        esac
971        exit ;;
972    ppc64:Linux:*:*)
973        echo powerpc64-unknown-linux-gnu
974        exit ;;
975    ppc:Linux:*:*)
976        echo powerpc-unknown-linux-gnu
977        exit ;;
978    s390:Linux:*:* | s390x:Linux:*:*)
979        echo ${UNAME_MACHINE}-ibm-linux
980        exit ;;
981    sh64*:Linux:*:*)
982        echo ${UNAME_MACHINE}-unknown-linux-gnu
983        exit ;;
984    sh*:Linux:*:*)
985        echo ${UNAME_MACHINE}-unknown-linux-gnu
986        exit ;;
987    sparc:Linux:*:* | sparc64:Linux:*:*)
988        echo ${UNAME_MACHINE}-unknown-linux-gnu
989        exit ;;
990    tile*:Linux:*:*)
991        echo ${UNAME_MACHINE}-unknown-linux-gnu
992        exit ;;
993    vax:Linux:*:*)
994        echo ${UNAME_MACHINE}-dec-linux-gnu
995        exit ;;
996    x86_64:Linux:*:*)
997        echo ${UNAME_MACHINE}-unknown-linux-gnu
998        exit ;;
999    xtensa*:Linux:*:*)
1000        echo ${UNAME_MACHINE}-unknown-linux-gnu
1001        exit ;;
1002    i*86:DYNIX/ptx:4*:*)
1003        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1004        # earlier versions are messed up and put the nodename in both
1005        # sysname and nodename.
1006        echo i386-sequent-sysv4
1007        exit ;;
1008    i*86:UNIX_SV:4.2MP:2.*)
1009        # Unixware is an offshoot of SVR4, but it has its own version
1010        # number series starting with 2...
1011        # I am not positive that other SVR4 systems won't match this,
1012        # I just have to hope.  -- rms.
1013        # Use sysv4.2uw... so that sysv4* matches it.
1014        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1015        exit ;;
1016    i*86:OS/2:*:*)
1017        # If we were able to find `uname', then EMX Unix compatibility
1018        # is probably installed.
1019        echo ${UNAME_MACHINE}-pc-os2-emx
1020        exit ;;
1021    i*86:XTS-300:*:STOP)
1022        echo ${UNAME_MACHINE}-unknown-stop
1023        exit ;;
1024    i*86:atheos:*:*)
1025        echo ${UNAME_MACHINE}-unknown-atheos
1026        exit ;;
1027    i*86:syllable:*:*)
1028        echo ${UNAME_MACHINE}-pc-syllable
1029        exit ;;
1030    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1031        echo i386-unknown-lynxos${UNAME_RELEASE}
1032        exit ;;
1033    i*86:*DOS:*:*)
1034        echo ${UNAME_MACHINE}-pc-msdosdjgpp
1035        exit ;;
1036    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1037        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1038        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1039                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1040        else
1041                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1042        fi
1043        exit ;;
1044    i*86:*:5:[678]*)
1045        # UnixWare 7.x, OpenUNIX and OpenServer 6.
1046        case `/bin/uname -X | grep "^Machine"` in
1047            *486*)           UNAME_MACHINE=i486 ;;
1048            *Pentium)        UNAME_MACHINE=i586 ;;
1049            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1050        esac
1051        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1052        exit ;;
1053    i*86:*:3.2:*)
1054        if test -f /usr/options/cb.name; then
1055                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1056                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1057        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1058                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1059                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1060                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1061                        && UNAME_MACHINE=i586
1062                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1063                        && UNAME_MACHINE=i686
1064                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1065                        && UNAME_MACHINE=i686
1066                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1067        else
1068                echo ${UNAME_MACHINE}-pc-sysv32
1069        fi
1070        exit ;;
1071    pc:*:*:*)
1072        # Left here for compatibility:
1073        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1074        # the processor, so we play safe by assuming i586.
1075        # Note: whatever this is, it MUST be the same as what config.sub
1076        # prints for the "djgpp" host, or else GDB configury will decide that
1077        # this is a cross-build.
1078        echo i586-pc-msdosdjgpp
1079        exit ;;
1080    Intel:Mach:3*:*)
1081        echo i386-pc-mach3
1082        exit ;;
1083    paragon:*:*:*)
1084        echo i860-intel-osf1
1085        exit ;;
1086    i860:*:4.*:*) # i860-SVR4
1087        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1088          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1089        else # Add other i860-SVR4 vendors below as they are discovered.
1090          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1091        fi
1092        exit ;;
1093    mini*:CTIX:SYS*5:*)
1094        # "miniframe"
1095        echo m68010-convergent-sysv
1096        exit ;;
1097    mc68k:UNIX:SYSTEM5:3.51m)
1098        echo m68k-convergent-sysv
1099        exit ;;
1100    M680?0:D-NIX:5.3:*)
1101        echo m68k-diab-dnix
1102        exit ;;
1103    M68*:*:R3V[5678]*:*)
1104        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1105    3[345]??:*: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 | S7501*:*:4.0:3.0)
1106        OS_REL=''
1107        test -r /etc/.relid \
1108        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1109        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110          && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1111        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1112          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1113    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1114        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1115          && { echo i486-ncr-sysv4; exit; } ;;
1116    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1117        OS_REL='.3'
1118        test -r /etc/.relid \
1119            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1120        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121            && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1122        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123            && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1124        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1125            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1126    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1127        echo m68k-unknown-lynxos${UNAME_RELEASE}
1128        exit ;;
1129    mc68030:UNIX_System_V:4.*:*)
1130        echo m68k-atari-sysv4
1131        exit ;;
1132    TSUNAMI:LynxOS:2.*:*)
1133        echo sparc-unknown-lynxos${UNAME_RELEASE}
1134        exit ;;
1135    rs6000:LynxOS:2.*:*)
1136        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1137        exit ;;
1138    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1139        echo powerpc-unknown-lynxos${UNAME_RELEASE}
1140        exit ;;
1141    SM[BE]S:UNIX_SV:*:*)
1142        echo mips-dde-sysv${UNAME_RELEASE}
1143        exit ;;
1144    RM*:ReliantUNIX-*:*:*)
1145        echo mips-sni-sysv4
1146        exit ;;
1147    RM*:SINIX-*:*:*)
1148        echo mips-sni-sysv4
1149        exit ;;
1150    *:SINIX-*:*:*)
1151        if uname -p 2>/dev/null >/dev/null ; then
1152                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1153                echo ${UNAME_MACHINE}-sni-sysv4
1154        else
1155                echo ns32k-sni-sysv
1156        fi
1157        exit ;;
1158    PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1159                        # says <Richard.M.Bartel@ccMail.Census.GOV>
1160        echo i586-unisys-sysv4
1161        exit ;;
1162    *:UNIX_System_V:4*:FTX*)
1163        # From Gerald Hewes <hewes@openmarket.com>.
1164        # How about differentiating between stratus architectures? -djm
1165        echo hppa1.1-stratus-sysv4
1166        exit ;;
1167    *:*:*:FTX*)
1168        # From seanf@swdc.stratus.com.
1169        echo i860-stratus-sysv4
1170        exit ;;
1171    i*86:VOS:*:*)
1172        # From Paul.Green@stratus.com.
1173        echo ${UNAME_MACHINE}-stratus-vos
1174        exit ;;
1175    *:VOS:*:*)
1176        # From Paul.Green@stratus.com.
1177        echo hppa1.1-stratus-vos
1178        exit ;;
1179    mc68*:A/UX:*:*)
1180        echo m68k-apple-aux${UNAME_RELEASE}
1181        exit ;;
1182    news*:NEWS-OS:6*:*)
1183        echo mips-sony-newsos6
1184        exit ;;
1185    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1186        if [ -d /usr/nec ]; then
1187                echo mips-nec-sysv${UNAME_RELEASE}
1188        else
1189                echo mips-unknown-sysv${UNAME_RELEASE}
1190        fi
1191        exit ;;
1192    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1193        echo powerpc-be-beos
1194        exit ;;
1195    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1196        echo powerpc-apple-beos
1197        exit ;;
1198    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1199        echo i586-pc-beos
1200        exit ;;
1201    BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1202        echo i586-pc-haiku
1203        exit ;;
1204    SX-4:SUPER-UX:*:*)
1205        echo sx4-nec-superux${UNAME_RELEASE}
1206        exit ;;
1207    SX-5:SUPER-UX:*:*)
1208        echo sx5-nec-superux${UNAME_RELEASE}
1209        exit ;;
1210    SX-6:SUPER-UX:*:*)
1211        echo sx6-nec-superux${UNAME_RELEASE}
1212        exit ;;
1213    SX-7:SUPER-UX:*:*)
1214        echo sx7-nec-superux${UNAME_RELEASE}
1215        exit ;;
1216    SX-8:SUPER-UX:*:*)
1217        echo sx8-nec-superux${UNAME_RELEASE}
1218        exit ;;
1219    SX-8R:SUPER-UX:*:*)
1220        echo sx8r-nec-superux${UNAME_RELEASE}
1221        exit ;;
1222    Power*:Rhapsody:*:*)
1223        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1224        exit ;;
1225    *:Rhapsody:*:*)
1226        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1227        exit ;;
1228    *:Darwin:*:*)
1229        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1230        case $UNAME_PROCESSOR in
1231            i386)
1232                eval $set_cc_for_build
1233                if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1234                  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1235                      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1236                      grep IS_64BIT_ARCH >/dev/null
1237                  then
1238                      UNAME_PROCESSOR="x86_64"
1239                  fi
1240                fi ;;
1241            unknown) UNAME_PROCESSOR=powerpc ;;
1242        esac
1243        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1244        exit ;;
1245    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1246        UNAME_PROCESSOR=`uname -p`
1247        if test "$UNAME_PROCESSOR" = "x86"; then
1248                UNAME_PROCESSOR=i386
1249                UNAME_MACHINE=pc
1250        fi
1251        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1252        exit ;;
1253    *:QNX:*:4*)
1254        echo i386-pc-qnx
1255        exit ;;
1256    NEO-?:NONSTOP_KERNEL:*:*)
1257        echo neo-tandem-nsk${UNAME_RELEASE}
1258        exit ;;
1259    NSE-?:NONSTOP_KERNEL:*:*)
1260        echo nse-tandem-nsk${UNAME_RELEASE}
1261        exit ;;
1262    NSR-?:NONSTOP_KERNEL:*:*)
1263        echo nsr-tandem-nsk${UNAME_RELEASE}
1264        exit ;;
1265    *:NonStop-UX:*:*)
1266        echo mips-compaq-nonstopux
1267        exit ;;
1268    BS2000:POSIX*:*:*)
1269        echo bs2000-siemens-sysv
1270        exit ;;
1271    DS/*:UNIX_System_V:*:*)
1272        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1273        exit ;;
1274    *:Plan9:*:*)
1275        # "uname -m" is not consistent, so use $cputype instead. 386
1276        # is converted to i386 for consistency with other x86
1277        # operating systems.
1278        if test "$cputype" = "386"; then
1279            UNAME_MACHINE=i386
1280        else
1281            UNAME_MACHINE="$cputype"
1282        fi
1283        echo ${UNAME_MACHINE}-unknown-plan9
1284        exit ;;
1285    *:TOPS-10:*:*)
1286        echo pdp10-unknown-tops10
1287        exit ;;
1288    *:TENEX:*:*)
1289        echo pdp10-unknown-tenex
1290        exit ;;
1291    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1292        echo pdp10-dec-tops20
1293        exit ;;
1294    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1295        echo pdp10-xkl-tops20
1296        exit ;;
1297    *:TOPS-20:*:*)
1298        echo pdp10-unknown-tops20
1299        exit ;;
1300    *:ITS:*:*)
1301        echo pdp10-unknown-its
1302        exit ;;
1303    SEI:*:*:SEIUX)
1304        echo mips-sei-seiux${UNAME_RELEASE}
1305        exit ;;
1306    *:DragonFly:*:*)
1307        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1308        exit ;;
1309    *:*VMS:*:*)
1310        UNAME_MACHINE=`(uname -p) 2>/dev/null`
1311        case "${UNAME_MACHINE}" in
1312            A*) echo alpha-dec-vms ; exit ;;
1313            I*) echo ia64-dec-vms ; exit ;;
1314            V*) echo vax-dec-vms ; exit ;;
1315        esac ;;
1316    *:XENIX:*:SysV)
1317        echo i386-pc-xenix
1318        exit ;;
1319    i*86:skyos:*:*)
1320        echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1321        exit ;;
1322    i*86:rdos:*:*)
1323        echo ${UNAME_MACHINE}-pc-rdos
1324        exit ;;
1325    i*86:AROS:*:*)
1326        echo ${UNAME_MACHINE}-pc-aros
1327        exit ;;
1328    x86_64:VMkernel:*:*)
1329        echo ${UNAME_MACHINE}-unknown-esx
1330        exit ;;
1331esac
1332
1333#echo '(No uname command or uname output not recognized.)' 1>&2
1334#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1335
1336eval $set_cc_for_build
1337cat >$dummy.c <<EOF
1338#ifdef _SEQUENT_
1339# include <sys/types.h>
1340# include <sys/utsname.h>
1341#endif
1342main ()
1343{
1344#if defined (sony)
1345#if defined (MIPSEB)
1346  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1347     I don't know....  */
1348  printf ("mips-sony-bsd\n"); exit (0);
1349#else
1350#include <sys/param.h>
1351  printf ("m68k-sony-newsos%s\n",
1352#ifdef NEWSOS4
1353        "4"
1354#else
1355        ""
1356#endif
1357        ); exit (0);
1358#endif
1359#endif
1360
1361#if defined (__arm) && defined (__acorn) && defined (__unix)
1362  printf ("arm-acorn-riscix\n"); exit (0);
1363#endif
1364
1365#if defined (hp300) && !defined (hpux)
1366  printf ("m68k-hp-bsd\n"); exit (0);
1367#endif
1368
1369#if defined (NeXT)
1370#if !defined (__ARCHITECTURE__)
1371#define __ARCHITECTURE__ "m68k"
1372#endif
1373  int version;
1374  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1375  if (version < 4)
1376    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1377  else
1378    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1379  exit (0);
1380#endif
1381
1382#if defined (MULTIMAX) || defined (n16)
1383#if defined (UMAXV)
1384  printf ("ns32k-encore-sysv\n"); exit (0);
1385#else
1386#if defined (CMU)
1387  printf ("ns32k-encore-mach\n"); exit (0);
1388#else
1389  printf ("ns32k-encore-bsd\n"); exit (0);
1390#endif
1391#endif
1392#endif
1393
1394#if defined (__386BSD__)
1395  printf ("i386-pc-bsd\n"); exit (0);
1396#endif
1397
1398#if defined (sequent)
1399#if defined (i386)
1400  printf ("i386-sequent-dynix\n"); exit (0);
1401#endif
1402#if defined (ns32000)
1403  printf ("ns32k-sequent-dynix\n"); exit (0);
1404#endif
1405#endif
1406
1407#if defined (_SEQUENT_)
1408    struct utsname un;
1409
1410    uname(&un);
1411
1412    if (strncmp(un.version, "V2", 2) == 0) {
1413        printf ("i386-sequent-ptx2\n"); exit (0);
1414    }
1415    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1416        printf ("i386-sequent-ptx1\n"); exit (0);
1417    }
1418    printf ("i386-sequent-ptx\n"); exit (0);
1419
1420#endif
1421
1422#if defined (vax)
1423# if !defined (ultrix)
1424#  include <sys/param.h>
1425#  if defined (BSD)
1426#   if BSD == 43
1427      printf ("vax-dec-bsd4.3\n"); exit (0);
1428#   else
1429#    if BSD == 199006
1430      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1431#    else
1432      printf ("vax-dec-bsd\n"); exit (0);
1433#    endif
1434#   endif
1435#  else
1436    printf ("vax-dec-bsd\n"); exit (0);
1437#  endif
1438# else
1439    printf ("vax-dec-ultrix\n"); exit (0);
1440# endif
1441#endif
1442
1443#if defined (alliant) && defined (i860)
1444  printf ("i860-alliant-bsd\n"); exit (0);
1445#endif
1446
1447  exit (1);
1448}
1449EOF
1450
1451$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1452        { echo "$SYSTEM_NAME"; exit; }
1453
1454# Apollos put the system type in the environment.
1455
1456test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1457
1458# Convex versions that predate uname can use getsysinfo(1)
1459
1460if [ -x /usr/convex/getsysinfo ]
1461then
1462    case `getsysinfo -f cpu_type` in
1463    c1*)
1464        echo c1-convex-bsd
1465        exit ;;
1466    c2*)
1467        if getsysinfo -f scalar_acc
1468        then echo c32-convex-bsd
1469        else echo c2-convex-bsd
1470        fi
1471        exit ;;
1472    c34*)
1473        echo c34-convex-bsd
1474        exit ;;
1475    c38*)
1476        echo c38-convex-bsd
1477        exit ;;
1478    c4*)
1479        echo c4-convex-bsd
1480        exit ;;
1481    esac
1482fi
1483
1484cat >&2 <<EOF
1485$0: unable to guess system type
1486
1487This script, last modified $timestamp, has failed to recognize
1488the operating system you are using. It is advised that you
1489download the most up to date version of the config scripts from
1490
1491  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1492and
1493  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1494
1495If the version you run ($0) is already up to date, please
1496send the following data and any information you think might be
1497pertinent to <config-patches@gnu.org> in order to provide the needed
1498information to handle your system.
1499
1500config.guess timestamp = $timestamp
1501
1502uname -m = `(uname -m) 2>/dev/null || echo unknown`
1503uname -r = `(uname -r) 2>/dev/null || echo unknown`
1504uname -s = `(uname -s) 2>/dev/null || echo unknown`
1505uname -v = `(uname -v) 2>/dev/null || echo unknown`
1506
1507/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1508/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1509
1510hostinfo               = `(hostinfo) 2>/dev/null`
1511/bin/universe          = `(/bin/universe) 2>/dev/null`
1512/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1513/bin/arch              = `(/bin/arch) 2>/dev/null`
1514/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1515/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1516
1517UNAME_MACHINE = ${UNAME_MACHINE}
1518UNAME_RELEASE = ${UNAME_RELEASE}
1519UNAME_SYSTEM  = ${UNAME_SYSTEM}
1520UNAME_VERSION = ${UNAME_VERSION}
1521EOF
1522
1523exit 1
1524
1525# Local variables:
1526# eval: (add-hook 'write-file-hooks 'time-stamp)
1527# time-stamp-start: "timestamp='"
1528# time-stamp-format: "%:y-%02m-%02d"
1529# time-stamp-end: "'"
1530# End:
Note: See TracBrowser for help on using the repository browser.