source: git/config.guess @ 008733

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