source: src/router/quagga/config.guess @ 18797

Last change on this file since 18797 was 18797, checked in by BrainSlayer, 14 months ago

update quagga

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