source: parabix-LLVM/llvm_git/autoconf/config.guess @ 4136

Last change on this file since 4136 was 4078, checked in by linmengl, 5 years ago

checkin llvm-meng source

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