source: trunk/third/ggv/config.guess @ 18703

Revision 18703, 37.6 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18702, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002 Free Software Foundation, Inc.
5
6timestamp='2002-03-20'
7
8# This file is free software; you can redistribute it and/or modify it
9# under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16# General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21#
22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under
25# the same distribution terms that you use for the rest of that program.
26
27# Originally written by Per Bothner <per@bothner.com>.
28# Please send patches to <config-patches@gnu.org>.  Submit a context
29# diff and a properly formatted ChangeLog entry.
30#
31# This script attempts to guess a canonical system name similar to
32# config.sub.  If it succeeds, it prints the system name on stdout, and
33# exits with 0.  Otherwise, it exits with 1.
34#
35# The plan is that this can be called by configure scripts if you
36# don't specify an explicit build system type.
37
38me=`echo "$0" | sed -e 's,.*/,,'`
39
40usage="\
41Usage: $0 [OPTION]
42
43Output the configuration name of the system \`$me' is run on.
44
45Operation modes:
46  -h, --help         print this help, then exit
47  -t, --time-stamp   print date of last modification, then exit
48  -v, --version      print version number, then exit
49
50Report bugs and patches to <config-patches@gnu.org>."
51
52version="\
53GNU config.guess ($timestamp)
54
55Originally written by Per Bothner.
56Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57Free Software Foundation, Inc.
58
59This is free software; see the source for copying conditions.  There is NO
60warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
61
62help="
63Try \`$me --help' for more information."
64
65# Parse command line
66while test $# -gt 0 ; do
67  case $1 in
68    --time-stamp | --time* | -t )
69       echo "$timestamp" ; exit 0 ;;
70    --version | -v )
71       echo "$version" ; exit 0 ;;
72    --help | --h* | -h )
73       echo "$usage"; exit 0 ;;
74    -- )     # Stop option processing
75       shift; break ;;
76    - ) # Use stdin as input.
77       break ;;
78    -* )
79       echo "$me: invalid option $1$help" >&2
80       exit 1 ;;
81    * )
82       break ;;
83  esac
84done
85
86if test $# != 0; then
87  echo "$me: too many arguments$help" >&2
88  exit 1
89fi
90
91
92dummy=dummy-$$
93trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
95# CC_FOR_BUILD -- compiler used by this script.
96# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97# use `HOST_CC' if defined, but it is deprecated.
98
99set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,)    echo "int dummy(){}" > $dummy.c ;
101        for c in cc gcc c89 c99 ; do
102          ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103          if test $? = 0 ; then
104             CC_FOR_BUILD="$c"; break ;
105          fi ;
106        done ;
107        rm -f $dummy.c $dummy.o $dummy.rel ;
108        if test x"$CC_FOR_BUILD" = x ; then
109          CC_FOR_BUILD=no_compiler_found ;
110        fi
111        ;;
112 ,,*)   CC_FOR_BUILD=$CC ;;
113 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
114esac'
115
116# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117# (ghazi@noc.rutgers.edu 1994-08-24)
118if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119        PATH=$PATH:/.attbin ; export PATH
120fi
121
122UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
125UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
127# Note: order is significant - the case branches are not exclusive.
128
129case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130    *:NetBSD:*:*)
131        # NetBSD (nbsd) targets should (where applicable) match one or
132        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
134        # switched to ELF, *-*-netbsd* would select the old
135        # object file format.  This provides both forward
136        # compatibility and a consistent mechanism for selecting the
137        # object file format.
138        #
139        # Note: NetBSD doesn't particularly care about the vendor
140        # portion of the name.  We always set it to "unknown".
141        sysctl="sysctl -n hw.machine_arch"
142        UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
143            /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144        case "${UNAME_MACHINE_ARCH}" in
145            arm*) machine=arm-unknown ;;
146            sh3el) machine=shl-unknown ;;
147            sh3eb) machine=sh-unknown ;;
148            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
149        esac
150        # The Operating System including object format, if it has switched
151        # to ELF recently, or will in the future.
152        case "${UNAME_MACHINE_ARCH}" in
153            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
154                eval $set_cc_for_build
155                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
156                        | grep __ELF__ >/dev/null
157                then
158                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
159                    # Return netbsd for either.  FIX?
160                    os=netbsd
161                else
162                    os=netbsdelf
163                fi
164                ;;
165            *)
166                os=netbsd
167                ;;
168        esac
169        # The OS release
170        release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
171        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
172        # contains redundant information, the shorter form:
173        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
174        echo "${machine}-${os}${release}"
175        exit 0 ;;
176    amiga:OpenBSD:*:*)
177        echo m68k-unknown-openbsd${UNAME_RELEASE}
178        exit 0 ;;
179    arc:OpenBSD:*:*)
180        echo mipsel-unknown-openbsd${UNAME_RELEASE}
181        exit 0 ;;
182    hp300:OpenBSD:*:*)
183        echo m68k-unknown-openbsd${UNAME_RELEASE}
184        exit 0 ;;
185    mac68k:OpenBSD:*:*)
186        echo m68k-unknown-openbsd${UNAME_RELEASE}
187        exit 0 ;;
188    macppc:OpenBSD:*:*)
189        echo powerpc-unknown-openbsd${UNAME_RELEASE}
190        exit 0 ;;
191    mvme68k:OpenBSD:*:*)
192        echo m68k-unknown-openbsd${UNAME_RELEASE}
193        exit 0 ;;
194    mvme88k:OpenBSD:*:*)
195        echo m88k-unknown-openbsd${UNAME_RELEASE}
196        exit 0 ;;
197    mvmeppc:OpenBSD:*:*)
198        echo powerpc-unknown-openbsd${UNAME_RELEASE}
199        exit 0 ;;
200    pmax:OpenBSD:*:*)
201        echo mipsel-unknown-openbsd${UNAME_RELEASE}
202        exit 0 ;;
203    sgi:OpenBSD:*:*)
204        echo mipseb-unknown-openbsd${UNAME_RELEASE}
205        exit 0 ;;
206    sun3:OpenBSD:*:*)
207        echo m68k-unknown-openbsd${UNAME_RELEASE}
208        exit 0 ;;
209    wgrisc:OpenBSD:*:*)
210        echo mipsel-unknown-openbsd${UNAME_RELEASE}
211        exit 0 ;;
212    *:OpenBSD:*:*)
213        echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
214        exit 0 ;;
215    alpha:OSF1:*:*)
216        if test $UNAME_RELEASE = "V4.0"; then
217                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
218        fi
219        # A Vn.n version is a released version.
220        # A Tn.n version is a released field test version.
221        # A Xn.n version is an unreleased experimental baselevel.
222        # 1.2 uses "1.2" for uname -r.
223        cat <<EOF >$dummy.s
224        .data
225\$Lformat:
226        .byte 37,100,45,37,120,10,0     # "%d-%x\n"
227
228        .text
229        .globl main
230        .align 4
231        .ent main
232main:
233        .frame \$30,16,\$26,0
234        ldgp \$29,0(\$27)
235        .prologue 1
236        .long 0x47e03d80 # implver \$0
237        lda \$2,-1
238        .long 0x47e20c21 # amask \$2,\$1
239        lda \$16,\$Lformat
240        mov \$0,\$17
241        not \$1,\$18
242        jsr \$26,printf
243        ldgp \$29,0(\$26)
244        mov 0,\$16
245        jsr \$26,exit
246        .end main
247EOF
248        eval $set_cc_for_build
249        $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
250        if test "$?" = 0 ; then
251                case `./$dummy` in
252                        0-0)
253                                UNAME_MACHINE="alpha"
254                                ;;
255                        1-0)
256                                UNAME_MACHINE="alphaev5"
257                                ;;
258                        1-1)
259                                UNAME_MACHINE="alphaev56"
260                                ;;
261                        1-101)
262                                UNAME_MACHINE="alphapca56"
263                                ;;
264                        2-303)
265                                UNAME_MACHINE="alphaev6"
266                                ;;
267                        2-307)
268                                UNAME_MACHINE="alphaev67"
269                                ;;
270                        2-1307)
271                                UNAME_MACHINE="alphaev68"
272                                ;;
273                esac
274        fi
275        rm -f $dummy.s $dummy
276        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277        exit 0 ;;
278    Alpha\ *:Windows_NT*:*)
279        # How do we know it's Interix rather than the generic POSIX subsystem?
280        # Should we change UNAME_MACHINE based on the output of uname instead
281        # of the specific Alpha model?
282        echo alpha-pc-interix
283        exit 0 ;;
284    21064:Windows_NT:50:3)
285        echo alpha-dec-winnt3.5
286        exit 0 ;;
287    Amiga*:UNIX_System_V:4.0:*)
288        echo m68k-unknown-sysv4
289        exit 0;;
290    *:[Aa]miga[Oo][Ss]:*:*)
291        echo ${UNAME_MACHINE}-unknown-amigaos
292        exit 0 ;;
293    *:[Mm]orph[Oo][Ss]:*:*)
294        echo ${UNAME_MACHINE}-unknown-morphos
295        exit 0 ;;
296    *:OS/390:*:*)
297        echo i370-ibm-openedition
298        exit 0 ;;
299    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300        echo arm-acorn-riscix${UNAME_RELEASE}
301        exit 0;;
302    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
303        echo hppa1.1-hitachi-hiuxmpp
304        exit 0;;
305    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
306        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
307        if test "`(/bin/universe) 2>/dev/null`" = att ; then
308                echo pyramid-pyramid-sysv3
309        else
310                echo pyramid-pyramid-bsd
311        fi
312        exit 0 ;;
313    NILE*:*:*:dcosx)
314        echo pyramid-pyramid-svr4
315        exit 0 ;;
316    sun4H:SunOS:5.*:*)
317        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
318        exit 0 ;;
319    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
320        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
321        exit 0 ;;
322    i86pc:SunOS:5.*:*)
323        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
324        exit 0 ;;
325    sun4*:SunOS:6*:*)
326        # According to config.sub, this is the proper way to canonicalize
327        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
328        # it's likely to be more like Solaris than SunOS4.
329        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330        exit 0 ;;
331    sun4*:SunOS:*:*)
332        case "`/usr/bin/arch -k`" in
333            Series*|S4*)
334                UNAME_RELEASE=`uname -v`
335                ;;
336        esac
337        # Japanese Language versions have a version number like `4.1.3-JL'.
338        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
339        exit 0 ;;
340    sun3*:SunOS:*:*)
341        echo m68k-sun-sunos${UNAME_RELEASE}
342        exit 0 ;;
343    sun*:*:4.2BSD:*)
344        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
345        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
346        case "`/bin/arch`" in
347            sun3)
348                echo m68k-sun-sunos${UNAME_RELEASE}
349                ;;
350            sun4)
351                echo sparc-sun-sunos${UNAME_RELEASE}
352                ;;
353        esac
354        exit 0 ;;
355    aushp:SunOS:*:*)
356        echo sparc-auspex-sunos${UNAME_RELEASE}
357        exit 0 ;;
358    # The situation for MiNT is a little confusing.  The machine name
359    # can be virtually everything (everything which is not
360    # "atarist" or "atariste" at least should have a processor
361    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
362    # to the lowercase version "mint" (or "freemint").  Finally
363    # the system name "TOS" denotes a system which is actually not
364    # MiNT.  But MiNT is downward compatible to TOS, so this should
365    # be no problem.
366    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
367        echo m68k-atari-mint${UNAME_RELEASE}
368        exit 0 ;;
369    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
370        echo m68k-atari-mint${UNAME_RELEASE}
371        exit 0 ;;
372    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
373        echo m68k-atari-mint${UNAME_RELEASE}
374        exit 0 ;;
375    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
376        echo m68k-milan-mint${UNAME_RELEASE}
377        exit 0 ;;
378    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
379        echo m68k-hades-mint${UNAME_RELEASE}
380        exit 0 ;;
381    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
382        echo m68k-unknown-mint${UNAME_RELEASE}
383        exit 0 ;;
384    powerpc:machten:*:*)
385        echo powerpc-apple-machten${UNAME_RELEASE}
386        exit 0 ;;
387    RISC*:Mach:*:*)
388        echo mips-dec-mach_bsd4.3
389        exit 0 ;;
390    RISC*:ULTRIX:*:*)
391        echo mips-dec-ultrix${UNAME_RELEASE}
392        exit 0 ;;
393    VAX*:ULTRIX*:*:*)
394        echo vax-dec-ultrix${UNAME_RELEASE}
395        exit 0 ;;
396    2020:CLIX:*:* | 2430:CLIX:*:*)
397        echo clipper-intergraph-clix${UNAME_RELEASE}
398        exit 0 ;;
399    mips:*:*:UMIPS | mips:*:*:RISCos)
400        eval $set_cc_for_build
401        sed 's/^        //' << EOF >$dummy.c
402#ifdef __cplusplus
403#include <stdio.h>  /* for printf() prototype */
404        int main (int argc, char *argv[]) {
405#else
406        int main (argc, argv) int argc; char *argv[]; {
407#endif
408        #if defined (host_mips) && defined (MIPSEB)
409        #if defined (SYSTYPE_SYSV)
410          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
411        #endif
412        #if defined (SYSTYPE_SVR4)
413          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
414        #endif
415        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
416          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
417        #endif
418        #endif
419          exit (-1);
420        }
421EOF
422        $CC_FOR_BUILD $dummy.c -o $dummy \
423          && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
424          && rm -f $dummy.c $dummy && exit 0
425        rm -f $dummy.c $dummy
426        echo mips-mips-riscos${UNAME_RELEASE}
427        exit 0 ;;
428    Motorola:PowerMAX_OS:*:*)
429        echo powerpc-motorola-powermax
430        exit 0 ;;
431    Night_Hawk:Power_UNIX:*:*)
432        echo powerpc-harris-powerunix
433        exit 0 ;;
434    m88k:CX/UX:7*:*)
435        echo m88k-harris-cxux7
436        exit 0 ;;
437    m88k:*:4*:R4*)
438        echo m88k-motorola-sysv4
439        exit 0 ;;
440    m88k:*:3*:R3*)
441        echo m88k-motorola-sysv3
442        exit 0 ;;
443    AViiON:dgux:*:*)
444        # DG/UX returns AViiON for all architectures
445        UNAME_PROCESSOR=`/usr/bin/uname -p`
446        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
447        then
448            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
449               [ ${TARGET_BINARY_INTERFACE}x = x ]
450            then
451                echo m88k-dg-dgux${UNAME_RELEASE}
452            else
453                echo m88k-dg-dguxbcs${UNAME_RELEASE}
454            fi
455        else
456            echo i586-dg-dgux${UNAME_RELEASE}
457        fi
458        exit 0 ;;
459    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
460        echo m88k-dolphin-sysv3
461        exit 0 ;;
462    M88*:*:R3*:*)
463        # Delta 88k system running SVR3
464        echo m88k-motorola-sysv3
465        exit 0 ;;
466    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
467        echo m88k-tektronix-sysv3
468        exit 0 ;;
469    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
470        echo m68k-tektronix-bsd
471        exit 0 ;;
472    *:IRIX*:*:*)
473        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
474        exit 0 ;;
475    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
476        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
477        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
478    i*86:AIX:*:*)
479        echo i386-ibm-aix
480        exit 0 ;;
481    ia64:AIX:*:*)
482        if [ -x /usr/bin/oslevel ] ; then
483                IBM_REV=`/usr/bin/oslevel`
484        else
485                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
486        fi
487        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
488        exit 0 ;;
489    *:AIX:2:3)
490        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
491                eval $set_cc_for_build
492                sed 's/^                //' << EOF >$dummy.c
493                #include <sys/systemcfg.h>
494
495                main()
496                        {
497                        if (!__power_pc())
498                                exit(1);
499                        puts("powerpc-ibm-aix3.2.5");
500                        exit(0);
501                        }
502EOF
503                $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
504                rm -f $dummy.c $dummy
505                echo rs6000-ibm-aix3.2.5
506        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
507                echo rs6000-ibm-aix3.2.4
508        else
509                echo rs6000-ibm-aix3.2
510        fi
511        exit 0 ;;
512    *:AIX:*:[45])
513        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
514        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
515                IBM_ARCH=rs6000
516        else
517                IBM_ARCH=powerpc
518        fi
519        if [ -x /usr/bin/oslevel ] ; then
520                IBM_REV=`/usr/bin/oslevel`
521        else
522                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
523        fi
524        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
525        exit 0 ;;
526    *:AIX:*:*)
527        echo rs6000-ibm-aix
528        exit 0 ;;
529    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
530        echo romp-ibm-bsd4.4
531        exit 0 ;;
532    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
533        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
534        exit 0 ;;                           # report: romp-ibm BSD 4.3
535    *:BOSX:*:*)
536        echo rs6000-bull-bosx
537        exit 0 ;;
538    DPX/2?00:B.O.S.:*:*)
539        echo m68k-bull-sysv3
540        exit 0 ;;
541    9000/[34]??:4.3bsd:1.*:*)
542        echo m68k-hp-bsd
543        exit 0 ;;
544    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
545        echo m68k-hp-bsd4.4
546        exit 0 ;;
547    9000/[34678]??:HP-UX:*:*)
548        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
549        case "${UNAME_MACHINE}" in
550            9000/31? )            HP_ARCH=m68000 ;;
551            9000/[34]?? )         HP_ARCH=m68k ;;
552            9000/[678][0-9][0-9])
553                if [ -x /usr/bin/getconf ]; then
554                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
555                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
556                    case "${sc_cpu_version}" in
557                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
558                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
559                      532)                      # CPU_PA_RISC2_0
560                        case "${sc_kernel_bits}" in
561                          32) HP_ARCH="hppa2.0n" ;;
562                          64) HP_ARCH="hppa2.0w" ;;
563                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
564                        esac ;;
565                    esac
566                fi
567                if [ "${HP_ARCH}" = "" ]; then
568                    eval $set_cc_for_build
569                    sed 's/^              //' << EOF >$dummy.c
570
571              #define _HPUX_SOURCE
572              #include <stdlib.h>
573              #include <unistd.h>
574
575              int main ()
576              {
577              #if defined(_SC_KERNEL_BITS)
578                  long bits = sysconf(_SC_KERNEL_BITS);
579              #endif
580                  long cpu  = sysconf (_SC_CPU_VERSION);
581
582                  switch (cpu)
583                {
584                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
585                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
586                case CPU_PA_RISC2_0:
587              #if defined(_SC_KERNEL_BITS)
588                    switch (bits)
589                        {
590                        case 64: puts ("hppa2.0w"); break;
591                        case 32: puts ("hppa2.0n"); break;
592                        default: puts ("hppa2.0"); break;
593                        } break;
594              #else  /* !defined(_SC_KERNEL_BITS) */
595                    puts ("hppa2.0"); break;
596              #endif
597                default: puts ("hppa1.0"); break;
598                }
599                  exit (0);
600              }
601EOF
602                    (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
603                    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
604                    rm -f $dummy.c $dummy
605                fi ;;
606        esac
607        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
608        exit 0 ;;
609    ia64:HP-UX:*:*)
610        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
611        echo ia64-hp-hpux${HPUX_REV}
612        exit 0 ;;
613    3050*:HI-UX:*:*)
614        eval $set_cc_for_build
615        sed 's/^        //' << EOF >$dummy.c
616        #include <unistd.h>
617        int
618        main ()
619        {
620          long cpu = sysconf (_SC_CPU_VERSION);
621          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
622             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
623             results, however.  */
624          if (CPU_IS_PA_RISC (cpu))
625            {
626              switch (cpu)
627                {
628                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
629                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
630                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
631                  default: puts ("hppa-hitachi-hiuxwe2"); break;
632                }
633            }
634          else if (CPU_IS_HP_MC68K (cpu))
635            puts ("m68k-hitachi-hiuxwe2");
636          else puts ("unknown-hitachi-hiuxwe2");
637          exit (0);
638        }
639EOF
640        $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
641        rm -f $dummy.c $dummy
642        echo unknown-hitachi-hiuxwe2
643        exit 0 ;;
644    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
645        echo hppa1.1-hp-bsd
646        exit 0 ;;
647    9000/8??:4.3bsd:*:*)
648        echo hppa1.0-hp-bsd
649        exit 0 ;;
650    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
651        echo hppa1.0-hp-mpeix
652        exit 0 ;;
653    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
654        echo hppa1.1-hp-osf
655        exit 0 ;;
656    hp8??:OSF1:*:*)
657        echo hppa1.0-hp-osf
658        exit 0 ;;
659    i*86:OSF1:*:*)
660        if [ -x /usr/sbin/sysversion ] ; then
661            echo ${UNAME_MACHINE}-unknown-osf1mk
662        else
663            echo ${UNAME_MACHINE}-unknown-osf1
664        fi
665        exit 0 ;;
666    parisc*:Lites*:*:*)
667        echo hppa1.1-hp-lites
668        exit 0 ;;
669    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
670        echo c1-convex-bsd
671        exit 0 ;;
672    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
673        if getsysinfo -f scalar_acc
674        then echo c32-convex-bsd
675        else echo c2-convex-bsd
676        fi
677        exit 0 ;;
678    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
679        echo c34-convex-bsd
680        exit 0 ;;
681    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
682        echo c38-convex-bsd
683        exit 0 ;;
684    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
685        echo c4-convex-bsd
686        exit 0 ;;
687    CRAY*Y-MP:*:*:*)
688        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
689        exit 0 ;;
690    CRAY*[A-Z]90:*:*:*)
691        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
692        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
693              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
694              -e 's/\.[^.]*$/.X/'
695        exit 0 ;;
696    CRAY*TS:*:*:*)
697        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
698        exit 0 ;;
699    CRAY*T3D:*:*:*)
700        echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701        exit 0 ;;
702    CRAY*T3E:*:*:*)
703        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704        exit 0 ;;
705    CRAY*SV1:*:*:*)
706        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707        exit 0 ;;
708    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
709        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
710        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
711        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
712        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
713        exit 0 ;;
714    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
715        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
716        exit 0 ;;
717    sparc*:BSD/OS:*:*)
718        echo sparc-unknown-bsdi${UNAME_RELEASE}
719        exit 0 ;;
720    *:BSD/OS:*:*)
721        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
722        exit 0 ;;
723    *:FreeBSD:*:*)
724        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
725        exit 0 ;;
726    i*:CYGWIN*:*)
727        echo ${UNAME_MACHINE}-pc-cygwin
728        exit 0 ;;
729    i*:MINGW*:*)
730        echo ${UNAME_MACHINE}-pc-mingw32
731        exit 0 ;;
732    i*:PW*:*)
733        echo ${UNAME_MACHINE}-pc-pw32
734        exit 0 ;;
735    x86:Interix*:3*)
736        echo i386-pc-interix3
737        exit 0 ;;
738    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
739        # How do we know it's Interix rather than the generic POSIX subsystem?
740        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
741        # UNAME_MACHINE based on the output of uname instead of i386?
742        echo i386-pc-interix
743        exit 0 ;;
744    i*:UWIN*:*)
745        echo ${UNAME_MACHINE}-pc-uwin
746        exit 0 ;;
747    p*:CYGWIN*:*)
748        echo powerpcle-unknown-cygwin
749        exit 0 ;;
750    prep*:SunOS:5.*:*)
751        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
752        exit 0 ;;
753    *:GNU:*:*)
754        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
755        exit 0 ;;
756    i*86:Minix:*:*)
757        echo ${UNAME_MACHINE}-pc-minix
758        exit 0 ;;
759    arm*:Linux:*:*)
760        echo ${UNAME_MACHINE}-unknown-linux-gnu
761        exit 0 ;;
762    ia64:Linux:*:*)
763        echo ${UNAME_MACHINE}-unknown-linux-gnu
764        exit 0 ;;
765    m68*:Linux:*:*)
766        echo ${UNAME_MACHINE}-unknown-linux-gnu
767        exit 0 ;;
768    mips:Linux:*:*)
769        eval $set_cc_for_build
770        sed 's/^        //' << EOF >$dummy.c
771        #undef CPU
772        #undef mips
773        #undef mipsel
774        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
775        CPU=mipsel
776        #else
777        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
778        CPU=mips
779        #else
780        CPU=
781        #endif
782        #endif
783EOF
784        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
785        rm -f $dummy.c
786        test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
787        ;;
788    ppc:Linux:*:*)
789        echo powerpc-unknown-linux-gnu
790        exit 0 ;;
791    ppc64:Linux:*:*)
792        echo powerpc64-unknown-linux-gnu
793        exit 0 ;;
794    alpha:Linux:*:*)
795        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
796          EV5)   UNAME_MACHINE=alphaev5 ;;
797          EV56)  UNAME_MACHINE=alphaev56 ;;
798          PCA56) UNAME_MACHINE=alphapca56 ;;
799          PCA57) UNAME_MACHINE=alphapca56 ;;
800          EV6)   UNAME_MACHINE=alphaev6 ;;
801          EV67)  UNAME_MACHINE=alphaev67 ;;
802          EV68*) UNAME_MACHINE=alphaev68 ;;
803        esac
804        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
805        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
806        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
807        exit 0 ;;
808    parisc:Linux:*:* | hppa:Linux:*:*)
809        # Look for CPU level
810        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
811          PA7*) echo hppa1.1-unknown-linux-gnu ;;
812          PA8*) echo hppa2.0-unknown-linux-gnu ;;
813          *)    echo hppa-unknown-linux-gnu ;;
814        esac
815        exit 0 ;;
816    parisc64:Linux:*:* | hppa64:Linux:*:*)
817        echo hppa64-unknown-linux-gnu
818        exit 0 ;;
819    s390:Linux:*:* | s390x:Linux:*:*)
820        echo ${UNAME_MACHINE}-ibm-linux
821        exit 0 ;;
822    sh*:Linux:*:*)
823        echo ${UNAME_MACHINE}-unknown-linux-gnu
824        exit 0 ;;
825    sparc:Linux:*:* | sparc64:Linux:*:*)
826        echo ${UNAME_MACHINE}-unknown-linux-gnu
827        exit 0 ;;
828    x86_64:Linux:*:*)
829        echo x86_64-unknown-linux-gnu
830        exit 0 ;;
831    i*86:Linux:*:*)
832        # The BFD linker knows what the default object file format is, so
833        # first see if it will tell us. cd to the root directory to prevent
834        # problems with other programs or directories called `ld' in the path.
835        # Set LC_ALL=C to ensure ld outputs messages in English.
836        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
837                         | sed -ne '/supported targets:/!d
838                                    s/[         ][      ]*/ /g
839                                    s/.*supported targets: *//
840                                    s/ .*//
841                                    p'`
842        case "$ld_supported_targets" in
843          elf32-i386)
844                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
845                ;;
846          a.out-i386-linux)
847                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
848                exit 0 ;;               
849          coff-i386)
850                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
851                exit 0 ;;
852          "")
853                # Either a pre-BFD a.out linker (linux-gnuoldld) or
854                # one that does not give us useful --help.
855                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
856                exit 0 ;;
857        esac
858        # Determine whether the default compiler is a.out or elf
859        eval $set_cc_for_build
860        sed 's/^        //' << EOF >$dummy.c
861        #include <features.h>
862        #ifdef __ELF__
863        # ifdef __GLIBC__
864        #  if __GLIBC__ >= 2
865        LIBC=gnu
866        #  else
867        LIBC=gnulibc1
868        #  endif
869        # else
870        LIBC=gnulibc1
871        # endif
872        #else
873        #ifdef __INTEL_COMPILER
874        LIBC=gnu
875        #else
876        LIBC=gnuaout
877        #endif
878        #endif
879EOF
880        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
881        rm -f $dummy.c
882        test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
883        test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
884        ;;
885    i*86:DYNIX/ptx:4*:*)
886        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
887        # earlier versions are messed up and put the nodename in both
888        # sysname and nodename.
889        echo i386-sequent-sysv4
890        exit 0 ;;
891    i*86:UNIX_SV:4.2MP:2.*)
892        # Unixware is an offshoot of SVR4, but it has its own version
893        # number series starting with 2...
894        # I am not positive that other SVR4 systems won't match this,
895        # I just have to hope.  -- rms.
896        # Use sysv4.2uw... so that sysv4* matches it.
897        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
898        exit 0 ;;
899    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
900        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
901        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
902                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
903        else
904                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
905        fi
906        exit 0 ;;
907    i*86:*:5:[78]*)
908        case `/bin/uname -X | grep "^Machine"` in
909            *486*)           UNAME_MACHINE=i486 ;;
910            *Pentium)        UNAME_MACHINE=i586 ;;
911            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
912        esac
913        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
914        exit 0 ;;
915    i*86:*:3.2:*)
916        if test -f /usr/options/cb.name; then
917                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
918                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
919        elif /bin/uname -X 2>/dev/null >/dev/null ; then
920                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
921                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
922                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
923                        && UNAME_MACHINE=i586
924                (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
925                        && UNAME_MACHINE=i686
926                (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
927                        && UNAME_MACHINE=i686
928                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
929        else
930                echo ${UNAME_MACHINE}-pc-sysv32
931        fi
932        exit 0 ;;
933    i*86:*DOS:*:*)
934        echo ${UNAME_MACHINE}-pc-msdosdjgpp
935        exit 0 ;;
936    pc:*:*:*)
937        # Left here for compatibility:
938        # uname -m prints for DJGPP always 'pc', but it prints nothing about
939        # the processor, so we play safe by assuming i386.
940        echo i386-pc-msdosdjgpp
941        exit 0 ;;
942    Intel:Mach:3*:*)
943        echo i386-pc-mach3
944        exit 0 ;;
945    paragon:*:*:*)
946        echo i860-intel-osf1
947        exit 0 ;;
948    i860:*:4.*:*) # i860-SVR4
949        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
950          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
951        else # Add other i860-SVR4 vendors below as they are discovered.
952          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
953        fi
954        exit 0 ;;
955    mini*:CTIX:SYS*5:*)
956        # "miniframe"
957        echo m68010-convergent-sysv
958        exit 0 ;;
959    M68*:*:R3V[567]*:*)
960        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
961    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
962        OS_REL=''
963        test -r /etc/.relid \
964        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
965        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
966          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
967        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
968          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
969    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
970        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
971          && echo i486-ncr-sysv4 && exit 0 ;;
972    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
973        echo m68k-unknown-lynxos${UNAME_RELEASE}
974        exit 0 ;;
975    mc68030:UNIX_System_V:4.*:*)
976        echo m68k-atari-sysv4
977        exit 0 ;;
978    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
979        echo i386-unknown-lynxos${UNAME_RELEASE}
980        exit 0 ;;
981    TSUNAMI:LynxOS:2.*:*)
982        echo sparc-unknown-lynxos${UNAME_RELEASE}
983        exit 0 ;;
984    rs6000:LynxOS:2.*:*)
985        echo rs6000-unknown-lynxos${UNAME_RELEASE}
986        exit 0 ;;
987    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
988        echo powerpc-unknown-lynxos${UNAME_RELEASE}
989        exit 0 ;;
990    SM[BE]S:UNIX_SV:*:*)
991        echo mips-dde-sysv${UNAME_RELEASE}
992        exit 0 ;;
993    RM*:ReliantUNIX-*:*:*)
994        echo mips-sni-sysv4
995        exit 0 ;;
996    RM*:SINIX-*:*:*)
997        echo mips-sni-sysv4
998        exit 0 ;;
999    *:SINIX-*:*:*)
1000        if uname -p 2>/dev/null >/dev/null ; then
1001                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1002                echo ${UNAME_MACHINE}-sni-sysv4
1003        else
1004                echo ns32k-sni-sysv
1005        fi
1006        exit 0 ;;
1007    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1008                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1009        echo i586-unisys-sysv4
1010        exit 0 ;;
1011    *:UNIX_System_V:4*:FTX*)
1012        # From Gerald Hewes <hewes@openmarket.com>.
1013        # How about differentiating between stratus architectures? -djm
1014        echo hppa1.1-stratus-sysv4
1015        exit 0 ;;
1016    *:*:*:FTX*)
1017        # From seanf@swdc.stratus.com.
1018        echo i860-stratus-sysv4
1019        exit 0 ;;
1020    *:VOS:*:*)
1021        # From Paul.Green@stratus.com.
1022        echo hppa1.1-stratus-vos
1023        exit 0 ;;
1024    mc68*:A/UX:*:*)
1025        echo m68k-apple-aux${UNAME_RELEASE}
1026        exit 0 ;;
1027    news*:NEWS-OS:6*:*)
1028        echo mips-sony-newsos6
1029        exit 0 ;;
1030    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1031        if [ -d /usr/nec ]; then
1032                echo mips-nec-sysv${UNAME_RELEASE}
1033        else
1034                echo mips-unknown-sysv${UNAME_RELEASE}
1035        fi
1036        exit 0 ;;
1037    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1038        echo powerpc-be-beos
1039        exit 0 ;;
1040    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1041        echo powerpc-apple-beos
1042        exit 0 ;;
1043    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1044        echo i586-pc-beos
1045        exit 0 ;;
1046    SX-4:SUPER-UX:*:*)
1047        echo sx4-nec-superux${UNAME_RELEASE}
1048        exit 0 ;;
1049    SX-5:SUPER-UX:*:*)
1050        echo sx5-nec-superux${UNAME_RELEASE}
1051        exit 0 ;;
1052    Power*:Rhapsody:*:*)
1053        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1054        exit 0 ;;
1055    *:Rhapsody:*:*)
1056        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1057        exit 0 ;;
1058    *:Darwin:*:*)
1059        echo `uname -p`-apple-darwin${UNAME_RELEASE}
1060        exit 0 ;;
1061    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1062        UNAME_PROCESSOR=`uname -p`
1063        if test "$UNAME_PROCESSOR" = "x86"; then
1064                UNAME_PROCESSOR=i386
1065                UNAME_MACHINE=pc
1066        fi
1067        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1068        exit 0 ;;
1069    *:QNX:*:4*)
1070        echo i386-pc-qnx
1071        exit 0 ;;
1072    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1073        echo nsr-tandem-nsk${UNAME_RELEASE}
1074        exit 0 ;;
1075    *:NonStop-UX:*:*)
1076        echo mips-compaq-nonstopux
1077        exit 0 ;;
1078    BS2000:POSIX*:*:*)
1079        echo bs2000-siemens-sysv
1080        exit 0 ;;
1081    DS/*:UNIX_System_V:*:*)
1082        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1083        exit 0 ;;
1084    *:Plan9:*:*)
1085        # "uname -m" is not consistent, so use $cputype instead. 386
1086        # is converted to i386 for consistency with other x86
1087        # operating systems.
1088        if test "$cputype" = "386"; then
1089            UNAME_MACHINE=i386
1090        else
1091            UNAME_MACHINE="$cputype"
1092        fi
1093        echo ${UNAME_MACHINE}-unknown-plan9
1094        exit 0 ;;
1095    i*86:OS/2:*:*)
1096        # If we were able to find `uname', then EMX Unix compatibility
1097        # is probably installed.
1098        echo ${UNAME_MACHINE}-pc-os2-emx
1099        exit 0 ;;
1100    *:TOPS-10:*:*)
1101        echo pdp10-unknown-tops10
1102        exit 0 ;;
1103    *:TENEX:*:*)
1104        echo pdp10-unknown-tenex
1105        exit 0 ;;
1106    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1107        echo pdp10-dec-tops20
1108        exit 0 ;;
1109    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1110        echo pdp10-xkl-tops20
1111        exit 0 ;;
1112    *:TOPS-20:*:*)
1113        echo pdp10-unknown-tops20
1114        exit 0 ;;
1115    *:ITS:*:*)
1116        echo pdp10-unknown-its
1117        exit 0 ;;
1118    i*86:XTS-300:*:STOP)
1119        echo ${UNAME_MACHINE}-unknown-stop
1120        exit 0 ;;
1121    i*86:atheos:*:*)
1122        echo ${UNAME_MACHINE}-unknown-atheos
1123        exit 0 ;;
1124esac
1125
1126#echo '(No uname command or uname output not recognized.)' 1>&2
1127#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1128
1129eval $set_cc_for_build
1130cat >$dummy.c <<EOF
1131#ifdef _SEQUENT_
1132# include <sys/types.h>
1133# include <sys/utsname.h>
1134#endif
1135main ()
1136{
1137#if defined (sony)
1138#if defined (MIPSEB)
1139  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1140     I don't know....  */
1141  printf ("mips-sony-bsd\n"); exit (0);
1142#else
1143#include <sys/param.h>
1144  printf ("m68k-sony-newsos%s\n",
1145#ifdef NEWSOS4
1146          "4"
1147#else
1148          ""
1149#endif
1150         ); exit (0);
1151#endif
1152#endif
1153
1154#if defined (__arm) && defined (__acorn) && defined (__unix)
1155  printf ("arm-acorn-riscix"); exit (0);
1156#endif
1157
1158#if defined (hp300) && !defined (hpux)
1159  printf ("m68k-hp-bsd\n"); exit (0);
1160#endif
1161
1162#if defined (NeXT)
1163#if !defined (__ARCHITECTURE__)
1164#define __ARCHITECTURE__ "m68k"
1165#endif
1166  int version;
1167  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1168  if (version < 4)
1169    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1170  else
1171    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1172  exit (0);
1173#endif
1174
1175#if defined (MULTIMAX) || defined (n16)
1176#if defined (UMAXV)
1177  printf ("ns32k-encore-sysv\n"); exit (0);
1178#else
1179#if defined (CMU)
1180  printf ("ns32k-encore-mach\n"); exit (0);
1181#else
1182  printf ("ns32k-encore-bsd\n"); exit (0);
1183#endif
1184#endif
1185#endif
1186
1187#if defined (__386BSD__)
1188  printf ("i386-pc-bsd\n"); exit (0);
1189#endif
1190
1191#if defined (sequent)
1192#if defined (i386)
1193  printf ("i386-sequent-dynix\n"); exit (0);
1194#endif
1195#if defined (ns32000)
1196  printf ("ns32k-sequent-dynix\n"); exit (0);
1197#endif
1198#endif
1199
1200#if defined (_SEQUENT_)
1201    struct utsname un;
1202
1203    uname(&un);
1204
1205    if (strncmp(un.version, "V2", 2) == 0) {
1206        printf ("i386-sequent-ptx2\n"); exit (0);
1207    }
1208    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1209        printf ("i386-sequent-ptx1\n"); exit (0);
1210    }
1211    printf ("i386-sequent-ptx\n"); exit (0);
1212
1213#endif
1214
1215#if defined (vax)
1216# if !defined (ultrix)
1217#  include <sys/param.h>
1218#  if defined (BSD)
1219#   if BSD == 43
1220      printf ("vax-dec-bsd4.3\n"); exit (0);
1221#   else
1222#    if BSD == 199006
1223      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1224#    else
1225      printf ("vax-dec-bsd\n"); exit (0);
1226#    endif
1227#   endif
1228#  else
1229    printf ("vax-dec-bsd\n"); exit (0);
1230#  endif
1231# else
1232    printf ("vax-dec-ultrix\n"); exit (0);
1233# endif
1234#endif
1235
1236#if defined (alliant) && defined (i860)
1237  printf ("i860-alliant-bsd\n"); exit (0);
1238#endif
1239
1240  exit (1);
1241}
1242EOF
1243
1244$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1245rm -f $dummy.c $dummy
1246
1247# Apollos put the system type in the environment.
1248
1249test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1250
1251# Convex versions that predate uname can use getsysinfo(1)
1252
1253if [ -x /usr/convex/getsysinfo ]
1254then
1255    case `getsysinfo -f cpu_type` in
1256    c1*)
1257        echo c1-convex-bsd
1258        exit 0 ;;
1259    c2*)
1260        if getsysinfo -f scalar_acc
1261        then echo c32-convex-bsd
1262        else echo c2-convex-bsd
1263        fi
1264        exit 0 ;;
1265    c34*)
1266        echo c34-convex-bsd
1267        exit 0 ;;
1268    c38*)
1269        echo c38-convex-bsd
1270        exit 0 ;;
1271    c4*)
1272        echo c4-convex-bsd
1273        exit 0 ;;
1274    esac
1275fi
1276
1277cat >&2 <<EOF
1278$0: unable to guess system type
1279
1280This script, last modified $timestamp, has failed to recognize
1281the operating system you are using. It is advised that you
1282download the most up to date version of the config scripts from
1283
1284    ftp://ftp.gnu.org/pub/gnu/config/
1285
1286If the version you run ($0) is already up to date, please
1287send the following data and any information you think might be
1288pertinent to <config-patches@gnu.org> in order to provide the needed
1289information to handle your system.
1290
1291config.guess timestamp = $timestamp
1292
1293uname -m = `(uname -m) 2>/dev/null || echo unknown`
1294uname -r = `(uname -r) 2>/dev/null || echo unknown`
1295uname -s = `(uname -s) 2>/dev/null || echo unknown`
1296uname -v = `(uname -v) 2>/dev/null || echo unknown`
1297
1298/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1299/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1300
1301hostinfo               = `(hostinfo) 2>/dev/null`
1302/bin/universe          = `(/bin/universe) 2>/dev/null`
1303/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1304/bin/arch              = `(/bin/arch) 2>/dev/null`
1305/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1306/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1307
1308UNAME_MACHINE = ${UNAME_MACHINE}
1309UNAME_RELEASE = ${UNAME_RELEASE}
1310UNAME_SYSTEM  = ${UNAME_SYSTEM}
1311UNAME_VERSION = ${UNAME_VERSION}
1312EOF
1313
1314exit 1
1315
1316# Local variables:
1317# eval: (add-hook 'write-file-hooks 'time-stamp)
1318# time-stamp-start: "timestamp='"
1319# time-stamp-format: "%:y-%02m-%02d"
1320# time-stamp-end: "'"
1321# End:
Note: See TracBrowser for help on using the repository browser.