root/trunk/config.guess

Revision 164, 44.4 kB (checked in by dragorn, 7 weeks ago)

Updated aclocal/ltmain/libtool to latest versions
Added libnl+mac80211 control code
Added linux /sys driver derivation code

  • Property svn:executable set to *
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
5#   Free Software Foundation, Inc.
6
7timestamp='2008-01-23'
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 <per@bothner.com>.
31# Please send patches to <config-patches@gnu.org>.  Submit a context
32# diff and a properly formatted ChangeLog 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# The plan is that this can be called by configure scripts if you
39# don't specify an explicit build system type.
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, 2001,
602002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61
62This is free software; see the source for copying conditions.  There is NO
63warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64
65help="
66Try \`$me --help' for more information."
67
68# Parse command line
69while test $# -gt 0 ; do
70  case $1 in
71    --time-stamp | --time* | -t )
72       echo "$timestamp" ; exit ;;
73    --version | -v )
74       echo "$version" ; exit ;;
75    --help | --h* | -h )
76       echo "$usage"; exit ;;
77    -- )     # Stop option processing
78       shift; break ;;
79    - ) # Use stdin as input.
80       break ;;
81    -* )
82       echo "$me: invalid option $1$help" >&2
83       exit 1 ;;
84    * )
85       break ;;
86  esac
87done
88
89if test $# != 0; then
90  echo "$me: too many arguments$help" >&2
91  exit 1
92fi
93
94trap 'exit 1' 1 2 15
95
96# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97# compiler to aid in system detection is discouraged as it requires
98# temporary files to be created and, as you can see below, it is a
99# headache to deal with in a portable fashion.
100
101# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102# use `HOST_CC' if defined, but it is deprecated.
103
104# Portable tmp directory creation inspired by the Autoconf team.
105
106set_cc_for_build='
107trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109: ${TMPDIR=/tmp} ;
110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114dummy=$tmp/dummy ;
115tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116case $CC_FOR_BUILD,$HOST_CC,$CC in
117 ,,)    echo "int x;" > $dummy.c ;
118        for c in cc gcc c89 c99 ; do
119          if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120             CC_FOR_BUILD="$c"; break ;
121          fi ;
122        done ;
123        if test x"$CC_FOR_BUILD" = x ; then
124          CC_FOR_BUILD=no_compiler_found ;
125        fi
126        ;;
127 ,,*)   CC_FOR_BUILD=$CC ;;
128 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129esac ; set_cc_for_build= ;'
130
131# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132# (ghazi@noc.rutgers.edu 1994-08-24)
133if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134        PATH=$PATH:/.attbin ; export PATH
135fi
136
137UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141
142if [ "${UNAME_SYSTEM}" = "Linux" ] ; then
143        eval $set_cc_for_build
144        cat << EOF > $dummy.c
145        #include <features.h>
146        #ifdef __UCLIBC__
147        # ifdef __UCLIBC_CONFIG_VERSION__
148        LIBC=uclibc __UCLIBC_CONFIG_VERSION__
149        # else
150        LIBC=uclibc
151        # endif
152        #else
153        LIBC=gnu
154        #endif
155EOF
156        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
157fi
158
159# Note: order is significant - the case branches are not exclusive.
160
161case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
162    *:NetBSD:*:*)
163        # NetBSD (nbsd) targets should (where applicable) match one or
164        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
165        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
166        # switched to ELF, *-*-netbsd* would select the old
167        # object file format.  This provides both forward
168        # compatibility and a consistent mechanism for selecting the
169        # object file format.
170        #
171        # Note: NetBSD doesn't particularly care about the vendor
172        # portion of the name.  We always set it to "unknown".
173        sysctl="sysctl -n hw.machine_arch"
174        UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
175            /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
176        case "${UNAME_MACHINE_ARCH}" in
177            armeb) machine=armeb-unknown ;;
178            arm*) machine=arm-unknown ;;
179            sh3el) machine=shl-unknown ;;
180            sh3eb) machine=sh-unknown ;;
181            sh5el) machine=sh5le-unknown ;;
182            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
183        esac
184        # The Operating System including object format, if it has switched
185        # to ELF recently, or will in the future.
186        case "${UNAME_MACHINE_ARCH}" in
187            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
188                eval $set_cc_for_build
189                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
190                        | grep __ELF__ >/dev/null
191                then
192                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
193                    # Return netbsd for either.  FIX?
194                    os=netbsd
195                else
196                    os=netbsdelf
197                fi
198                ;;
199            *)
200                os=netbsd
201                ;;
202        esac
203        # The OS release
204        # Debian GNU/NetBSD machines have a different userland, and
205        # thus, need a distinct triplet. However, they do not need
206        # kernel version information, so it can be replaced with a
207        # suitable tag, in the style of linux-gnu.
208        case "${UNAME_VERSION}" in
209            Debian*)
210                release='-gnu'
211                ;;
212            *)
213                release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
214                ;;
215        esac
216        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
217        # contains redundant information, the shorter form:
218        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
219        echo "${machine}-${os}${release}"
220        exit ;;
221    *:OpenBSD:*:*)
222        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
223        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
224        exit ;;
225    *:ekkoBSD:*:*)
226        echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
227        exit ;;
228    *:SolidBSD:*:*)
229        echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
230        exit ;;
231    macppc:MirBSD:*:*)
232        echo powerpc-unknown-mirbsd${UNAME_RELEASE}
233        exit ;;
234    *:MirBSD:*:*)
235        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
236        exit ;;
237    alpha:OSF1:*:*)
238        case $UNAME_RELEASE in
239        *4.0)
240                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
241                ;;
242        *5.*)
243                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
244                ;;
245        esac
246        # According to Compaq, /usr/sbin/psrinfo has been available on
247        # OSF/1 and Tru64 systems produced since 1995.  I hope that
248        # covers most systems running today.  This code pipes the CPU
249        # types through head -n 1, so we only detect the type of CPU 0.
250        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
251        case "$ALPHA_CPU_TYPE" in
252            "EV4 (21064)")
253                UNAME_MACHINE="alpha" ;;
254            "EV4.5 (21064)")
255                UNAME_MACHINE="alpha" ;;
256            "LCA4 (21066/21068)")
257                UNAME_MACHINE="alpha" ;;
258            "EV5 (21164)")
259                UNAME_MACHINE="alphaev5" ;;
260            "EV5.6 (21164A)")
261                UNAME_MACHINE="alphaev56" ;;
262            "EV5.6 (21164PC)")
263                UNAME_MACHINE="alphapca56" ;;
264            "EV5.7 (21164PC)")
265                UNAME_MACHINE="alphapca57" ;;
266            "EV6 (21264)")
267                UNAME_MACHINE="alphaev6" ;;
268            "EV6.7 (21264A)")
269                UNAME_MACHINE="alphaev67" ;;
270            "EV6.8CB (21264C)")
271                UNAME_MACHINE="alphaev68" ;;
272            "EV6.8AL (21264B)")
273                UNAME_MACHINE="alphaev68" ;;
274            "EV6.8CX (21264D)")
275                UNAME_MACHINE="alphaev68" ;;
276            "EV6.9A (21264/EV69A)")
277                UNAME_MACHINE="alphaev69" ;;
278            "EV7 (21364)")
279                UNAME_MACHINE="alphaev7" ;;
280            "EV7.9 (21364A)")
281                UNAME_MACHINE="alphaev79" ;;
282        esac
283        # A Pn.n version is a patched version.
284        # A Vn.n version is a released version.
285        # A Tn.n version is a released field test version.
286        # A Xn.n version is an unreleased experimental baselevel.
287        # 1.2 uses "1.2" for uname -r.
288        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
289        exit ;;
290    Alpha\ *:Windows_NT*:*)
291        # How do we know it's Interix rather than the generic POSIX subsystem?
292        # Should we change UNAME_MACHINE based on the output of uname instead
293        # of the specific Alpha model?
294        echo alpha-pc-interix
295        exit ;;
296    21064:Windows_NT:50:3)
297        echo alpha-dec-winnt3.5
298        exit ;;
299    Amiga*:UNIX_System_V:4.0:*)
300        echo m68k-unknown-sysv4
301        exit ;;
302    *:[Aa]miga[Oo][Ss]:*:*)
303        echo ${UNAME_MACHINE}-unknown-amigaos
304        exit ;;
305    *:[Mm]orph[Oo][Ss]:*:*)
306        echo ${UNAME_MACHINE}-unknown-morphos
307        exit ;;
308    *:OS/390:*:*)
309        echo i370-ibm-openedition
310        exit ;;
311    *:z/VM:*:*)
312        echo s390-ibm-zvmoe
313        exit ;;
314    *:OS400:*:*)
315        echo powerpc-ibm-os400
316        exit ;;
317    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
318        echo arm-acorn-riscix${UNAME_RELEASE}
319        exit ;;
320    arm:riscos:*:*|arm:RISCOS:*:*)
321        echo arm-unknown-riscos
322        exit ;;
323    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
324        echo hppa1.1-hitachi-hiuxmpp
325        exit ;;
326    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
327        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
328        if test "`(/bin/universe) 2>/dev/null`" = att ; then
329                echo pyramid-pyramid-sysv3
330        else
331                echo pyramid-pyramid-bsd
332        fi
333        exit ;;
334    NILE*:*:*:dcosx)
335        echo pyramid-pyramid-svr4
336        exit ;;
337    DRS?6000:unix:4.0:6*)
338        echo sparc-icl-nx6
339        exit ;;
340    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
341        case `/usr/bin/uname -p` in
342            sparc) echo sparc-icl-nx7; exit ;;
343        esac ;;
344    sun4H:SunOS:5.*:*)
345        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
346        exit ;;
347    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
348        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
349        exit ;;
350    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
351        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
352        exit ;;
353    sun4*:SunOS:6*:*)
354        # According to config.sub, this is the proper way to canonicalize
355        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
356        # it's likely to be more like Solaris than SunOS4.
357        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
358        exit ;;
359    sun4*:SunOS:*:*)
360        case "`/usr/bin/arch -k`" in
361            Series*|S4*)
362                UNAME_RELEASE=`uname -v`
363                ;;
364        esac
365        # Japanese Language versions have a version number like `4.1.3-JL'.
366        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
367        exit ;;
368    sun3*:SunOS:*:*)
369        echo m68k-sun-sunos${UNAME_RELEASE}
370        exit ;;
371    sun*:*:4.2BSD:*)
372        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
373        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
374        case "`/bin/arch`" in
375            sun3)
376                echo m68k-sun-sunos${UNAME_RELEASE}
377                ;;
378            sun4)
379                echo sparc-sun-sunos${UNAME_RELEASE}
380                ;;
381        esac
382        exit ;;
383    aushp:SunOS:*:*)
384        echo sparc-auspex-sunos${UNAME_RELEASE}
385        exit ;;
386    # The situation for MiNT is a little confusing.  The machine name
387    # can be virtually everything (everything which is not
388    # "atarist" or "atariste" at least should have a processor
389    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
390    # to the lowercase version "mint" (or "freemint").  Finally
391    # the system name "TOS" denotes a system which is actually not
392    # MiNT.  But MiNT is downward compatible to TOS, so this should
393    # be no problem.
394    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
395        echo m68k-atari-mint${UNAME_RELEASE}
396        exit ;;
397    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
398        echo m68k-atari-mint${UNAME_RELEASE}
399        exit ;;
400    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
401        echo m68k-atari-mint${UNAME_RELEASE}
402        exit ;;
403    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
404        echo m68k-milan-mint${UNAME_RELEASE}
405        exit ;;
406    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
407        echo m68k-hades-mint${UNAME_RELEASE}
408        exit ;;
409    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
410        echo m68k-unknown-mint${UNAME_RELEASE}
411        exit ;;
412    m68k:machten:*:*)
413        echo m68k-apple-machten${UNAME_RELEASE}
414        exit ;;
415    powerpc:machten:*:*)
416        echo powerpc-apple-machten${UNAME_RELEASE}
417        exit ;;
418    RISC*:Mach:*:*)
419        echo mips-dec-mach_bsd4.3
420        exit ;;
421    RISC*:ULTRIX:*:*)
422        echo mips-dec-ultrix${UNAME_RELEASE}
423        exit ;;
424    VAX*:ULTRIX*:*:*)
425        echo vax-dec-ultrix${UNAME_RELEASE}
426        exit ;;
427    2020:CLIX:*:* | 2430:CLIX:*:*)
428        echo clipper-intergraph-clix${UNAME_RELEASE}
429        exit ;;
430    mips:*:*:UMIPS | mips:*:*:RISCos)
431        eval $set_cc_for_build
432        sed 's/^        //' << EOF >$dummy.c
433#ifdef __cplusplus
434#include <stdio.h>  /* for printf() prototype */
435        int main (int argc, char *argv[]) {
436#else
437        int main (argc, argv) int argc; char *argv[]; {
438#endif
439        #if defined (host_mips) && defined (MIPSEB)
440        #if defined (SYSTYPE_SYSV)
441          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
442        #endif
443        #if defined (SYSTYPE_SVR4)
444          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
445        #endif
446        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
447          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
448        #endif
449        #endif
450          exit (-1);
451        }
452EOF
453        $CC_FOR_BUILD -o $dummy $dummy.c &&
454          dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
455          SYSTEM_NAME=`$dummy $dummyarg` &&
456            { echo "$SYSTEM_NAME"; exit; }
457        echo mips-mips-riscos${UNAME_RELEASE}
458        exit ;;
459    Motorola:PowerMAX_OS:*:*)
460        echo powerpc-motorola-powermax
461        exit ;;
462    Motorola:*:4.3:PL8-*)
463        echo powerpc-harris-powermax
464        exit ;;
465    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
466        echo powerpc-harris-powermax
467        exit ;;
468    Night_Hawk:Power_UNIX:*:*)
469        echo powerpc-harris-powerunix
470        exit ;;
471    m88k:CX/UX:7*:*)
472        echo m88k-harris-cxux7
473        exit ;;
474    m88k:*:4*:R4*)
475        echo m88k-motorola-sysv4
476        exit ;;
477    m88k:*:3*:R3*)
478        echo m88k-motorola-sysv3
479        exit ;;
480    AViiON:dgux:*:*)
481        # DG/UX returns AViiON for all architectures
482        UNAME_PROCESSOR=`/usr/bin/uname -p`
483        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
484        then
485            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
486               [ ${TARGET_BINARY_INTERFACE}x = x ]
487            then
488                echo m88k-dg-dgux${UNAME_RELEASE}
489            else
490                echo m88k-dg-dguxbcs${UNAME_RELEASE}
491            fi
492        else
493            echo i586-dg-dgux${UNAME_RELEASE}
494        fi
495        exit ;;
496    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
497        echo m88k-dolphin-sysv3
498        exit ;;
499    M88*:*:R3*:*)
500        # Delta 88k system running SVR3
501        echo m88k-motorola-sysv3
502        exit ;;
503    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
504        echo m88k-tektronix-sysv3
505        exit ;;
506    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
507        echo m68k-tektronix-bsd
508        exit ;;
509    *:IRIX*:*:*)
510        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
511        exit ;;
512    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
513        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
514        exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
515    i*86:AIX:*:*)
516        echo i386-ibm-aix
517        exit ;;
518    ia64:AIX:*:*)
519        if [ -x /usr/bin/oslevel ] ; then
520                IBM_REV=`/usr/bin/oslevel`
521        else
522                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
523        fi
524        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
525        exit ;;
526    *:AIX:2:3)
527        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
528                eval $set_cc_for_build
529                sed 's/^                //' << EOF >$dummy.c
530                #include <sys/systemcfg.h>
531
532                main()
533                        {
534                        if (!__power_pc())
535                                exit(1);
536                        puts("powerpc-ibm-aix3.2.5");
537                        exit(0);
538                        }
539EOF
540                if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
541                then
542                        echo "$SYSTEM_NAME"
543                else
544                        echo rs6000-ibm-aix3.2.5
545                fi
546        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
547                echo rs6000-ibm-aix3.2.4
548        else
549                echo rs6000-ibm-aix3.2
550        fi
551        exit ;;
552    *:AIX:*:[456])
553        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
554        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
555                IBM_ARCH=rs6000
556        else
557                IBM_ARCH=powerpc
558        fi
559        if [ -x /usr/bin/oslevel ] ; then
560                IBM_REV=`/usr/bin/oslevel`
561        else
562                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
563        fi
564        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
565        exit ;;
566    *:AIX:*:*)
567        echo rs6000-ibm-aix
568        exit ;;
569    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
570        echo romp-ibm-bsd4.4
571        exit ;;
572    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
573        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
574        exit ;;                             # report: romp-ibm BSD 4.3
575    *:BOSX:*:*)
576        echo rs6000-bull-bosx
577        exit ;;
578    DPX/2?00:B.O.S.:*:*)
579        echo m68k-bull-sysv3
580        exit ;;
581    9000/[34]??:4.3bsd:1.*:*)
582        echo m68k-hp-bsd
583        exit ;;
584    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
585        echo m68k-hp-bsd4.4
586        exit ;;
587    9000/[34678]??:HP-UX:*:*)
588        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
589        case "${UNAME_MACHINE}" in
590            9000/31? )            HP_ARCH=m68000 ;;
591            9000/[34]?? )         HP_ARCH=m68k ;;
592            9000/[678][0-9][0-9])
593                if [ -x /usr/bin/getconf ]; then
594                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
595                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
596                    case "${sc_cpu_version}" in
597                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
598                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
599                      532)                      # CPU_PA_RISC2_0
600                        case "${sc_kernel_bits}" in
601                          32) HP_ARCH="hppa2.0n" ;;
602                          64) HP_ARCH="hppa2.0w" ;;
603                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
604                        esac ;;
605                    esac
606                fi
607                if [ "${HP_ARCH}" = "" ]; then
608                    eval $set_cc_for_build
609                    sed 's/^              //' << EOF >$dummy.c
610
611              #define _HPUX_SOURCE
612              #include <stdlib.h>
613              #include <unistd.h>
614
615              int main ()
616              {
617              #if defined(_SC_KERNEL_BITS)
618                  long bits = sysconf(_SC_KERNEL_BITS);
619              #endif
620                  long cpu  = sysconf (_SC_CPU_VERSION);
621
622                  switch (cpu)
623                {
624                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
625                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
626                case CPU_PA_RISC2_0:
627              #if defined(_SC_KERNEL_BITS)
628                    switch (bits)
629                        {
630                        case 64: puts ("hppa2.0w"); break;
631                        case 32: puts ("hppa2.0n"); break;
632                        default: puts ("hppa2.0"); break;
633                        } break;
634              #else  /* !defined(_SC_KERNEL_BITS) */
635                    puts ("hppa2.0"); break;
636              #endif
637                default: puts ("hppa1.0"); break;
638                }
639                  exit (0);
640              }
641EOF
642                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
643                    test -z "$HP_ARCH" && HP_ARCH=hppa
644                fi ;;
645        esac
646        if [ ${HP_ARCH} = "hppa2.0w" ]
647        then
648            eval $set_cc_for_build
649
650            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
651            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
652            # generating 64-bit code.  GNU and HP use different nomenclature:
653            #
654            # $ CC_FOR_BUILD=cc ./config.guess
655            # => hppa2.0w-hp-hpux11.23
656            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
657            # => hppa64-hp-hpux11.23
658
659            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
660                grep __LP64__ >/dev/null
661            then
662                HP_ARCH="hppa2.0w"
663            else
664                HP_ARCH="hppa64"
665            fi
666        fi
667        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
668        exit ;;
669    ia64:HP-UX:*:*)
670        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
671        echo ia64-hp-hpux${HPUX_REV}
672        exit ;;
673    3050*:HI-UX:*:*)
674        eval $set_cc_for_build
675        sed 's/^        //' << EOF >$dummy.c
676        #include <unistd.h>
677        int
678        main ()
679        {
680          long cpu = sysconf (_SC_CPU_VERSION);
681          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
682             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
683             results, however.  */
684          if (CPU_IS_PA_RISC (cpu))
685            {
686              switch (cpu)
687                {
688                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
689                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
690                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
691                  default: puts ("hppa-hitachi-hiuxwe2"); break;
692                }
693            }
694          else if (CPU_IS_HP_MC68K (cpu))
695            puts ("m68k-hitachi-hiuxwe2");
696          else puts ("unknown-hitachi-hiuxwe2");
697          exit (0);
698        }
699EOF
700        $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
701                { echo "$SYSTEM_NAME"; exit; }
702        echo unknown-hitachi-hiuxwe2
703        exit ;;
704    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
705        echo hppa1.1-hp-bsd
706        exit ;;
707    9000/8??:4.3bsd:*:*)
708        echo hppa1.0-hp-bsd
709        exit ;;
710    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
711        echo hppa1.0-hp-mpeix
712        exit ;;
713    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
714        echo hppa1.1-hp-osf
715        exit ;;
716    hp8??:OSF1:*:*)
717        echo hppa1.0-hp-osf
718        exit ;;
719    i*86:OSF1:*:*)
720        if [ -x /usr/sbin/sysversion ] ; then
721            echo ${UNAME_MACHINE}-unknown-osf1mk
722        else
723            echo ${UNAME_MACHINE}-unknown-osf1
724        fi
725        exit ;;
726    parisc*:Lites*:*:*)
727        echo hppa1.1-hp-lites
728        exit ;;
729    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
730        echo c1-convex-bsd
731        exit ;;
732    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
733        if getsysinfo -f scalar_acc
734        then echo c32-convex-bsd
735        else echo c2-convex-bsd
736        fi
737        exit ;;
738    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
739        echo c34-convex-bsd
740        exit ;;
741    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
742        echo c38-convex-bsd
743        exit ;;
744    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
745        echo c4-convex-bsd
746        exit ;;
747    CRAY*Y-MP:*:*:*)
748        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
749        exit ;;
750    CRAY*[A-Z]90:*:*:*)
751        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
752        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
753              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
754              -e 's/\.[^.]*$/.X/'
755        exit ;;
756    CRAY*TS:*:*:*)
757        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
758        exit ;;
759    CRAY*T3E:*:*:*)
760        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
761        exit ;;
762    CRAY*SV1:*:*:*)
763        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
764        exit ;;
765    *:UNICOS/mp:*:*)
766        echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767        exit ;;
768    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
769        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
770        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
771        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
772        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
773        exit ;;
774    5000:UNIX_System_V:4.*:*)
775        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
776        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
777        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
778        exit ;;
779    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
780        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
781        exit ;;
782    sparc*:BSD/OS:*:*)
783        echo sparc-unknown-bsdi${UNAME_RELEASE}
784        exit ;;
785    *:BSD/OS:*:*)
786        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
787        exit ;;
788    *:FreeBSD:*:*)
789        case ${UNAME_MACHINE} in
790            pc98)
791                echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
792            amd64)
793                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
794            *)
795                echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796        esac
797        exit ;;
798    i*:CYGWIN*:*)
799        echo ${UNAME_MACHINE}-pc-cygwin
800        exit ;;
801    *:MINGW*:*)
802        echo ${UNAME_MACHINE}-pc-mingw32
803        exit ;;
804    i*:windows32*:*)
805        # uname -m includes "-pc" on this system.
806        echo ${UNAME_MACHINE}-mingw32
807        exit ;;
808    i*:PW*:*)
809        echo ${UNAME_MACHINE}-pc-pw32
810        exit ;;
811    *:Interix*:[3456]*)
812        case ${UNAME_MACHINE} in
813            x86)
814                echo i586-pc-interix${UNAME_RELEASE}
815                exit ;;
816            EM64T | authenticamd)
817                echo x86_64-unknown-interix${UNAME_RELEASE}
818                exit ;;
819            IA64)
820                echo ia64-unknown-interix${UNAME_RELEASE}
821                exit ;;
822        esac ;;
823    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
824        echo i${UNAME_MACHINE}-pc-mks
825        exit ;;
826    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
827        # How do we know it's Interix rather than the generic POSIX subsystem?
828        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
829        # UNAME_MACHINE based on the output of uname instead of i386?
830        echo i586-pc-interix
831        exit ;;
832    i*:UWIN*:*)
833        echo ${UNAME_MACHINE}-pc-uwin
834        exit ;;
835    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
836        echo x86_64-unknown-cygwin
837        exit ;;
838    p*:CYGWIN*:*)
839        echo powerpcle-unknown-cygwin
840        exit ;;
841    prep*:SunOS:5.*:*)
842        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
843        exit ;;
844    *:GNU:*:*)
845        # the GNU system
846        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
847        exit ;;
848    *:GNU/*:*:*)
849        # other systems with GNU libc and userland
850        echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
851        exit ;;
852    i*86:Minix:*:*)
853        echo ${UNAME_MACHINE}-pc-minix
854        exit ;;
855    arm*:Linux:*:*)
856        eval $set_cc_for_build
857        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
858            | grep -q __ARM_EABI__
859        then
860            echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
861        else
862            echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
863        fi
864        exit ;;
865    avr32*:Linux:*:*)
866        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
867        exit ;;
868    cris:Linux:*:*)
869        echo cris-axis-linux-${LIBC}
870        exit ;;
871    crisv32:Linux:*:*)
872        echo crisv32-axis-linux-${LIBC}
873        exit ;;
874    frv:Linux:*:*)
875        echo frv-unknown-linux-${LIBC}
876        exit ;;
877    ia64:Linux:*:*)
878        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
879        exit ;;
880    m32r*:Linux:*:*)
881        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
882        exit ;;
883    m68*:Linux:*:*)
884        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
885        exit ;;
886    mips:Linux:*:*)
887        eval $set_cc_for_build
888        sed 's/^        //' << EOF >$dummy.c
889        #undef CPU
890        #undef mips
891        #undef mipsel
892        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
893        CPU=mipsel
894        #else
895        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
896        CPU=mips
897        #else
898        CPU=
899        #endif
900        #endif
901EOF
902        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
903            /^CPU/{
904                s: ::g
905                p
906            }'`"
907        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
908        ;;
909    mips64:Linux:*:*)
910        eval $set_cc_for_build
911        sed 's/^        //' << EOF >$dummy.c
912        #undef CPU
913        #undef mips64
914        #undef mips64el
915        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
916        CPU=mips64el
917        #else
918        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
919        CPU=mips64
920        #else
921        CPU=
922        #endif
923        #endif
924EOF
925        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
926            /^CPU/{
927                s: ::g
928                p
929            }'`"
930        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
931        ;;
932    or32:Linux:*:*)
933        echo or32-unknown-linux-${LIBC}
934        exit ;;
935    ppc:Linux:*:*)
936        echo powerpc-unknown-linux-${LIBC}
937        exit ;;
938    ppc64:Linux:*:*)
939        echo powerpc64-unknown-linux-${LIBC}
940        exit ;;
941    alpha:Linux:*:*)
942        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
943          EV5)   UNAME_MACHINE=alphaev5 ;;
944          EV56)  UNAME_MACHINE=alphaev56 ;;
945          PCA56) UNAME_MACHINE=alphapca56 ;;
946          PCA57) UNAME_MACHINE=alphapca56 ;;
947          EV6)   UNAME_MACHINE=alphaev6 ;;
948          EV67)  UNAME_MACHINE=alphaev67 ;;
949          EV68*) UNAME_MACHINE=alphaev68 ;;
950        esac
951        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
952        if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
953        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
954        exit ;;
955    parisc:Linux:*:* | hppa:Linux:*:*)
956        # Look for CPU level
957        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
958          PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
959          PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
960          *)    echo hppa-unknown-linux-${LIBC} ;;
961        esac
962        exit ;;
963    parisc64:Linux:*:* | hppa64:Linux:*:*)
964        echo hppa64-unknown-linux-${LIBC}
965        exit ;;
966    s390:Linux:*:* | s390x:Linux:*:*)
967        echo ${UNAME_MACHINE}-ibm-linux
968        exit ;;
969    sh64*:Linux:*:*)
970        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
971        exit ;;
972    sh*:Linux:*:*)
973        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
974        exit ;;
975    sparc:Linux:*:* | sparc64:Linux:*:*)
976        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
977        exit ;;
978    vax:Linux:*:*)
979        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
980        exit ;;
981    x86_64:Linux:*:*)
982        echo x86_64-unknown-linux-${LIBC}
983        exit ;;
984    xtensa*:Linux:*:*)
985        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
986        exit ;;
987    i*86:Linux:*:*)
988        # The BFD linker knows what the default object file format is, so
989        # first see if it will tell us. cd to the root directory to prevent
990        # problems with other programs or directories called `ld' in the path.
991        # Set LC_ALL=C to ensure ld outputs messages in English.
992        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
993                         | sed -ne '/supported targets:/!d
994                                    s/[         ][      ]*/ /g
995                                    s/.*supported targets: *//
996                                    s/ .*//
997                                    p'`
998        case "$ld_supported_targets" in
999          elf32-i386)
1000                TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
1001                ;;
1002          a.out-i386-linux)
1003                echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
1004                exit ;;
1005          coff-i386)
1006                echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
1007                exit ;;
1008          "")
1009                # Either a pre-BFD a.out linker (linux-gnuoldld) or
1010                # one that does not give us useful --help.
1011                echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
1012                exit ;;
1013        esac
1014        # This should get integrated into the C code below, but now we hack
1015        if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
1016        # Determine whether the default compiler is a.out or elf
1017        eval $set_cc_for_build
1018        sed 's/^        //' << EOF >$dummy.c
1019        #include <features.h>
1020        #ifdef __ELF__
1021        # ifdef __GLIBC__
1022        #  if __GLIBC__ >= 2
1023        LIBC=gnu
1024        #  else
1025        LIBC=gnulibc1
1026        #  endif
1027        # else
1028        LIBC=gnulibc1
1029        # endif
1030        #else
1031        #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1032        LIBC=gnu
1033        #else
1034        LIBC=gnuaout
1035        #endif
1036        #endif
1037        #ifdef __dietlibc__
1038        LIBC=dietlibc
1039        #endif
1040EOF
1041        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1042            /^LIBC/{
1043                s: ::g
1044                p
1045            }'`"
1046        test x"${LIBC}" != x && {
1047                echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1048                exit
1049        }
1050        test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1051        ;;
1052    i*86:DYNIX/ptx:4*:*)
1053        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1054        # earlier versions are messed up and put the nodename in both
1055        # sysname and nodename.
1056        echo i386-sequent-sysv4
1057        exit ;;
1058    i*86:UNIX_SV:4.2MP:2.*)
1059        # Unixware is an offshoot of SVR4, but it has its own version
1060        # number series starting with 2...
1061        # I am not positive that other SVR4 systems won't match this,
1062        # I just have to hope.  -- rms.
1063        # Use sysv4.2uw... so that sysv4* matches it.
1064        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1065        exit ;;
1066    i*86:OS/2:*:*)
1067        # If we were able to find `uname', then EMX Unix compatibility
1068        # is probably installed.
1069        echo ${UNAME_MACHINE}-pc-os2-emx
1070        exit ;;
1071    i*86:XTS-300:*:STOP)
1072        echo ${UNAME_MACHINE}-unknown-stop
1073        exit ;;
1074    i*86:atheos:*:*)
1075        echo ${UNAME_MACHINE}-unknown-atheos
1076        exit ;;
1077    i*86:syllable:*:*)
1078        echo ${UNAME_MACHINE}-pc-syllable
1079        exit ;;
1080    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1081        echo i386-unknown-lynxos${UNAME_RELEASE}
1082        exit ;;
1083    i*86:*DOS:*:*)
1084        echo ${UNAME_MACHINE}-pc-msdosdjgpp
1085        exit ;;
1086    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1087        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1088        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1089                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1090        else
1091                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1092        fi
1093        exit ;;
1094    i*86:*:5:[678]*)
1095        # UnixWare 7.x, OpenUNIX and OpenServer 6.
1096        case `/bin/uname -X | grep "^Machine"` in
1097            *486*)           UNAME_MACHINE=i486 ;;
1098            *Pentium)        UNAME_MACHINE=i586 ;;
1099            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1100        esac
1101        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1102        exit ;;
1103    i*86:*:3.2:*)
1104        if test -f /usr/options/cb.name; then
1105                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1106                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1107        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1108                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1109                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1110                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1111                        && UNAME_MACHINE=i586
1112                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1113                        && UNAME_MACHINE=i686
1114                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1115                        && UNAME_MACHINE=i686
1116                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1117        else
1118                echo ${UNAME_MACHINE}-pc-sysv32
1119        fi
1120        exit ;;
1121    pc:*:*:*)
1122        # Left here for compatibility:
1123        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1124        # the processor, so we play safe by assuming i386.
1125        echo i386-pc-msdosdjgpp
1126        exit ;;
1127    Intel:Mach:3*:*)
1128        echo i386-pc-mach3
1129        exit ;;
1130    paragon:*:*:*)
1131        echo i860-intel-osf1
1132        exit ;;
1133    i860:*:4.*:*) # i860-SVR4
1134        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1135          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1136        else # Add other i860-SVR4 vendors below as they are discovered.
1137          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1138        fi
1139        exit ;;
1140    mini*:CTIX:SYS*5:*)
1141        # "miniframe"
1142        echo m68010-convergent-sysv
1143        exit ;;
1144    mc68k:UNIX:SYSTEM5:3.51m)
1145        echo m68k-convergent-sysv
1146        exit ;;
1147    M680?0:D-NIX:5.3:*)
1148        echo m68k-diab-dnix
1149        exit ;;
1150    M68*:*:R3V[5678]*:*)
1151        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1152    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)
1153        OS_REL=''
1154        test -r /etc/.relid \
1155        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1156        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1157          && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1158        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1159          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1160    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1161        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162          && { echo i486-ncr-sysv4; exit; } ;;
1163    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1164        echo m68k-unknown-lynxos${UNAME_RELEASE}
1165        exit ;;
1166    mc68030:UNIX_System_V:4.*:*)
1167        echo m68k-atari-sysv4
1168        exit ;;
1169    TSUNAMI:LynxOS:2.*:*)
1170        echo sparc-unknown-lynxos${UNAME_RELEASE}
1171        exit ;;
1172    rs6000:LynxOS:2.*:*)
1173        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1174        exit ;;
1175    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1176        echo powerpc-unknown-lynxos${UNAME_RELEASE}
1177        exit ;;
1178    SM[BE]S:UNIX_SV:*:*)
1179        echo mips-dde-sysv${UNAME_RELEASE}
1180        exit ;;
1181    RM*:ReliantUNIX-*:*:*)
1182        echo mips-sni-sysv4
1183        exit ;;
1184    RM*:SINIX-*:*:*)
1185        echo mips-sni-sysv4
1186        exit ;;
1187    *:SINIX-*:*:*)
1188        if uname -p 2>/dev/null >/dev/null ; then
1189                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1190                echo ${UNAME_MACHINE}-sni-sysv4
1191        else
1192                echo ns32k-sni-sysv
1193        fi
1194        exit ;;
1195    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1196                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1197        echo i586-unisys-sysv4
1198        exit ;;
1199    *:UNIX_System_V:4*:FTX*)
1200        # From Gerald Hewes <hewes@openmarket.com>.
1201        # How about differentiating between stratus architectures? -djm
1202        echo hppa1.1-stratus-sysv4
1203        exit ;;
1204    *:*:*:FTX*)
1205        # From seanf@swdc.stratus.com.
1206        echo i860-stratus-sysv4
1207        exit ;;
1208    i*86:VOS:*:*)
1209        # From Paul.Green@stratus.com.
1210        echo ${UNAME_MACHINE}-stratus-vos
1211        exit ;;
1212    *:VOS:*:*)
1213        # From Paul.Green@stratus.com.
1214        echo hppa1.1-stratus-vos
1215        exit ;;
1216    mc68*:A/UX:*:*)
1217        echo m68k-apple-aux${UNAME_RELEASE}
1218        exit ;;
1219    news*:NEWS-OS:6*:*)
1220        echo mips-sony-newsos6
1221        exit ;;
1222    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1223        if [ -d /usr/nec ]; then
1224                echo mips-nec-sysv${UNAME_RELEASE}
1225        else
1226                echo mips-unknown-sysv${UNAME_RELEASE}
1227        fi
1228        exit ;;
1229    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1230        echo powerpc-be-beos
1231        exit ;;
1232    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1233        echo powerpc-apple-beos
1234        exit ;;
1235    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1236        echo i586-pc-beos
1237        exit ;;
1238    SX-4:SUPER-UX:*:*)
1239        echo sx4-nec-superux${UNAME_RELEASE}
1240        exit ;;
1241    SX-5:SUPER-UX:*:*)
1242        echo sx5-nec-superux${UNAME_RELEASE}