source: trunk/base/config.guess @ 143448

Last change on this file since 143448 was 58838, checked in by toby@…, 10 years ago

base: update config.* for the lulz

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