source: rtems/config.guess @ 6903c7cd

4.11
Last change on this file since 6903c7cd was 6903c7cd, checked in by Ralf Corsépius <ralf.corsepius@…>, on Feb 22, 2012 at 11:20:57 AM

2012-02-22 Ralf Corsépius <ralf.corsepius@…>

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