root/main/trunk/gs2build/config.guess @ 32594

Revision 26797, 43.5 KB (checked in by davidb, 7 years ago)

Newer version of config.guess and config.sub to include architecture support for Android

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