source: rtems/config.guess @ 38c0b112

4.115
Last change on this file since 38c0b112 was 06e1086, checked in by Ralf Corsépius <ralf.corsepius@…>, on 10/09/12 at 12:38:43

Import from automake-1.12.4.

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