source: trunk/third/gcc/config.guess @ 18474

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