source: trunk/third/gal/config.guess @ 17568

Revision 17568, 37.5 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17567, 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-02-19'
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=`(sed 1q /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 | sed 1q | 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*Y-MP:*:*:*)
687        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
688        exit 0 ;;
689    CRAY*[A-Z]90:*:*:*)
690        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
691        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
692              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
693              -e 's/\.[^.]*$/.X/'
694        exit 0 ;;
695    CRAY*TS:*:*:*)
696        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
697        exit 0 ;;
698    CRAY*T3D:*:*:*)
699        echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
700        exit 0 ;;
701    CRAY*T3E:*:*:*)
702        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
703        exit 0 ;;
704    CRAY*SV1:*:*:*)
705        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
706        exit 0 ;;
707    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
708        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
709        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
710        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
711        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
712        exit 0 ;;
713    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
714        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
715        exit 0 ;;
716    sparc*:BSD/OS:*:*)
717        echo sparc-unknown-bsdi${UNAME_RELEASE}
718        exit 0 ;;
719    *:BSD/OS:*:*)
720        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
721        exit 0 ;;
722    *:FreeBSD:*:*)
723        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
724        exit 0 ;;
725    i*:CYGWIN*:*)
726        echo ${UNAME_MACHINE}-pc-cygwin
727        exit 0 ;;
728    i*:MINGW*:*)
729        echo ${UNAME_MACHINE}-pc-mingw32
730        exit 0 ;;
731    i*:PW*:*)
732        echo ${UNAME_MACHINE}-pc-pw32
733        exit 0 ;;
734    x86:Interix*:3*)
735        echo i386-pc-interix3
736        exit 0 ;;
737    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
738        # How do we know it's Interix rather than the generic POSIX subsystem?
739        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
740        # UNAME_MACHINE based on the output of uname instead of i386?
741        echo i386-pc-interix
742        exit 0 ;;
743    i*:UWIN*:*)
744        echo ${UNAME_MACHINE}-pc-uwin
745        exit 0 ;;
746    p*:CYGWIN*:*)
747        echo powerpcle-unknown-cygwin
748        exit 0 ;;
749    prep*:SunOS:5.*:*)
750        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
751        exit 0 ;;
752    *:GNU:*:*)
753        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
754        exit 0 ;;
755    i*86:Minix:*:*)
756        echo ${UNAME_MACHINE}-pc-minix
757        exit 0 ;;
758    arm*:Linux:*:*)
759        echo ${UNAME_MACHINE}-unknown-linux-gnu
760        exit 0 ;;
761    ia64:Linux:*:*)
762        echo ${UNAME_MACHINE}-unknown-linux
763        exit 0 ;;
764    m68*:Linux:*:*)
765        echo ${UNAME_MACHINE}-unknown-linux-gnu
766        exit 0 ;;
767    mips:Linux:*:*)
768        eval $set_cc_for_build
769        sed 's/^        //' << EOF >$dummy.c
770        #undef CPU
771        #undef mips
772        #undef mipsel
773        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
774        CPU=mipsel
775        #else
776        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
777        CPU=mips
778        #else
779        CPU=
780        #endif
781        #endif
782EOF
783        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
784        rm -f $dummy.c
785        test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
786        ;;
787    ppc:Linux:*:*)
788        echo powerpc-unknown-linux-gnu
789        exit 0 ;;
790    ppc64:Linux:*:*)
791        echo powerpc64-unknown-linux-gnu
792        exit 0 ;;
793    alpha:Linux:*:*)
794        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
795          EV5)   UNAME_MACHINE=alphaev5 ;;
796          EV56)  UNAME_MACHINE=alphaev56 ;;
797          PCA56) UNAME_MACHINE=alphapca56 ;;
798          PCA57) UNAME_MACHINE=alphapca56 ;;
799          EV6)   UNAME_MACHINE=alphaev6 ;;
800          EV67)  UNAME_MACHINE=alphaev67 ;;
801          EV68*) UNAME_MACHINE=alphaev68 ;;
802        esac
803        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
804        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
805        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
806        exit 0 ;;
807    parisc:Linux:*:* | hppa:Linux:*:*)
808        # Look for CPU level
809        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
810          PA7*) echo hppa1.1-unknown-linux-gnu ;;
811          PA8*) echo hppa2.0-unknown-linux-gnu ;;
812          *)    echo hppa-unknown-linux-gnu ;;
813        esac
814        exit 0 ;;
815    parisc64:Linux:*:* | hppa64:Linux:*:*)
816        echo hppa64-unknown-linux-gnu
817        exit 0 ;;
818    s390:Linux:*:* | s390x:Linux:*:*)
819        echo ${UNAME_MACHINE}-ibm-linux
820        exit 0 ;;
821    sh*:Linux:*:*)
822        echo ${UNAME_MACHINE}-unknown-linux-gnu
823        exit 0 ;;
824    sparc:Linux:*:* | sparc64:Linux:*:*)
825        echo ${UNAME_MACHINE}-unknown-linux-gnu
826        exit 0 ;;
827    x86_64:Linux:*:*)
828        echo x86_64-unknown-linux-gnu
829        exit 0 ;;
830    i*86:Linux:*:*)
831        # The BFD linker knows what the default object file format is, so
832        # first see if it will tell us. cd to the root directory to prevent
833        # problems with other programs or directories called `ld' in the path.
834        # Set LC_ALL=C to ensure ld outputs messages in English.
835        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
836                         | sed -ne '/supported targets:/!d
837                                    s/[         ][      ]*/ /g
838                                    s/.*supported targets: *//
839                                    s/ .*//
840                                    p'`
841        case "$ld_supported_targets" in
842          elf32-i386)
843                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
844                ;;
845          a.out-i386-linux)
846                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
847                exit 0 ;;               
848          coff-i386)
849                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
850                exit 0 ;;
851          "")
852                # Either a pre-BFD a.out linker (linux-gnuoldld) or
853                # one that does not give us useful --help.
854                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
855                exit 0 ;;
856        esac
857        # Determine whether the default compiler is a.out or elf
858        eval $set_cc_for_build
859        sed 's/^        //' << EOF >$dummy.c
860        #include <features.h>
861        #ifdef __ELF__
862        # ifdef __GLIBC__
863        #  if __GLIBC__ >= 2
864        LIBC=gnu
865        #  else
866        LIBC=gnulibc1
867        #  endif
868        # else
869        LIBC=gnulibc1
870        # endif
871        #else
872        #ifdef __INTEL_COMPILER
873        LIBC=gnu
874        #else
875        LIBC=gnuaout
876        #endif
877        #endif
878EOF
879        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
880        rm -f $dummy.c
881        test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
882        test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
883        ;;
884    i*86:DYNIX/ptx:4*:*)
885        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
886        # earlier versions are messed up and put the nodename in both
887        # sysname and nodename.
888        echo i386-sequent-sysv4
889        exit 0 ;;
890    i*86:UNIX_SV:4.2MP:2.*)
891        # Unixware is an offshoot of SVR4, but it has its own version
892        # number series starting with 2...
893        # I am not positive that other SVR4 systems won't match this,
894        # I just have to hope.  -- rms.
895        # Use sysv4.2uw... so that sysv4* matches it.
896        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
897        exit 0 ;;
898    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
899        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
900        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
901                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
902        else
903                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
904        fi
905        exit 0 ;;
906    i*86:*:5:[78]*)
907        case `/bin/uname -X | grep "^Machine"` in
908            *486*)           UNAME_MACHINE=i486 ;;
909            *Pentium)        UNAME_MACHINE=i586 ;;
910            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
911        esac
912        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
913        exit 0 ;;
914    i*86:*:3.2:*)
915        if test -f /usr/options/cb.name; then
916                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
917                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
918        elif /bin/uname -X 2>/dev/null >/dev/null ; then
919                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
920                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
921                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
922                        && UNAME_MACHINE=i586
923                (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
924                        && UNAME_MACHINE=i686
925                (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
926                        && UNAME_MACHINE=i686
927                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
928        else
929                echo ${UNAME_MACHINE}-pc-sysv32
930        fi
931        exit 0 ;;
932    i*86:*DOS:*:*)
933        echo ${UNAME_MACHINE}-pc-msdosdjgpp
934        exit 0 ;;
935    pc:*:*:*)
936        # Left here for compatibility:
937        # uname -m prints for DJGPP always 'pc', but it prints nothing about
938        # the processor, so we play safe by assuming i386.
939        echo i386-pc-msdosdjgpp
940        exit 0 ;;
941    Intel:Mach:3*:*)
942        echo i386-pc-mach3
943        exit 0 ;;
944    paragon:*:*:*)
945        echo i860-intel-osf1
946        exit 0 ;;
947    i860:*:4.*:*) # i860-SVR4
948        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
949          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
950        else # Add other i860-SVR4 vendors below as they are discovered.
951          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
952        fi
953        exit 0 ;;
954    mini*:CTIX:SYS*5:*)
955        # "miniframe"
956        echo m68010-convergent-sysv
957        exit 0 ;;
958    M68*:*:R3V[567]*:*)
959        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
960    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)
961        OS_REL=''
962        test -r /etc/.relid \
963        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
964        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
965          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
966        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
967          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
968    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
969        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
970          && echo i486-ncr-sysv4 && exit 0 ;;
971    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
972        echo m68k-unknown-lynxos${UNAME_RELEASE}
973        exit 0 ;;
974    mc68030:UNIX_System_V:4.*:*)
975        echo m68k-atari-sysv4
976        exit 0 ;;
977    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
978        echo i386-unknown-lynxos${UNAME_RELEASE}
979        exit 0 ;;
980    TSUNAMI:LynxOS:2.*:*)
981        echo sparc-unknown-lynxos${UNAME_RELEASE}
982        exit 0 ;;
983    rs6000:LynxOS:2.*:*)
984        echo rs6000-unknown-lynxos${UNAME_RELEASE}
985        exit 0 ;;
986    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
987        echo powerpc-unknown-lynxos${UNAME_RELEASE}
988        exit 0 ;;
989    SM[BE]S:UNIX_SV:*:*)
990        echo mips-dde-sysv${UNAME_RELEASE}
991        exit 0 ;;
992    RM*:ReliantUNIX-*:*:*)
993        echo mips-sni-sysv4
994        exit 0 ;;
995    RM*:SINIX-*:*:*)
996        echo mips-sni-sysv4
997        exit 0 ;;
998    *:SINIX-*:*:*)
999        if uname -p 2>/dev/null >/dev/null ; then
1000                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1001                echo ${UNAME_MACHINE}-sni-sysv4
1002        else
1003                echo ns32k-sni-sysv
1004        fi
1005        exit 0 ;;
1006    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1007                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1008        echo i586-unisys-sysv4
1009        exit 0 ;;
1010    *:UNIX_System_V:4*:FTX*)
1011        # From Gerald Hewes <hewes@openmarket.com>.
1012        # How about differentiating between stratus architectures? -djm
1013        echo hppa1.1-stratus-sysv4
1014        exit 0 ;;
1015    *:*:*:FTX*)
1016        # From seanf@swdc.stratus.com.
1017        echo i860-stratus-sysv4
1018        exit 0 ;;
1019    *:VOS:*:*)
1020        # From Paul.Green@stratus.com.
1021        echo hppa1.1-stratus-vos
1022        exit 0 ;;
1023    mc68*:A/UX:*:*)
1024        echo m68k-apple-aux${UNAME_RELEASE}
1025        exit 0 ;;
1026    news*:NEWS-OS:6*:*)
1027        echo mips-sony-newsos6
1028        exit 0 ;;
1029    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1030        if [ -d /usr/nec ]; then
1031                echo mips-nec-sysv${UNAME_RELEASE}
1032        else
1033                echo mips-unknown-sysv${UNAME_RELEASE}
1034        fi
1035        exit 0 ;;
1036    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1037        echo powerpc-be-beos
1038        exit 0 ;;
1039    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1040        echo powerpc-apple-beos
1041        exit 0 ;;
1042    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1043        echo i586-pc-beos
1044        exit 0 ;;
1045    SX-4:SUPER-UX:*:*)
1046        echo sx4-nec-superux${UNAME_RELEASE}
1047        exit 0 ;;
1048    SX-5:SUPER-UX:*:*)
1049        echo sx5-nec-superux${UNAME_RELEASE}
1050        exit 0 ;;
1051    Power*:Rhapsody:*:*)
1052        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1053        exit 0 ;;
1054    *:Rhapsody:*:*)
1055        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1056        exit 0 ;;
1057    *:Darwin:*:*)
1058        echo `uname -p`-apple-darwin${UNAME_RELEASE}
1059        exit 0 ;;
1060    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1061        if test "${UNAME_MACHINE}" = "x86pc"; then
1062                UNAME_MACHINE=pc
1063                echo i386-${UNAME_MACHINE}-nto-qnx
1064        else
1065                echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1066        fi
1067        exit 0 ;;
1068    *:QNX:*:4*)
1069        echo i386-pc-qnx
1070        exit 0 ;;
1071    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1072        echo nsr-tandem-nsk${UNAME_RELEASE}
1073        exit 0 ;;
1074    *:NonStop-UX:*:*)
1075        echo mips-compaq-nonstopux
1076        exit 0 ;;
1077    BS2000:POSIX*:*:*)
1078        echo bs2000-siemens-sysv
1079        exit 0 ;;
1080    DS/*:UNIX_System_V:*:*)
1081        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1082        exit 0 ;;
1083    *:Plan9:*:*)
1084        # "uname -m" is not consistent, so use $cputype instead. 386
1085        # is converted to i386 for consistency with other x86
1086        # operating systems.
1087        if test "$cputype" = "386"; then
1088            UNAME_MACHINE=i386
1089        else
1090            UNAME_MACHINE="$cputype"
1091        fi
1092        echo ${UNAME_MACHINE}-unknown-plan9
1093        exit 0 ;;
1094    i*86:OS/2:*:*)
1095        # If we were able to find `uname', then EMX Unix compatibility
1096        # is probably installed.
1097        echo ${UNAME_MACHINE}-pc-os2-emx
1098        exit 0 ;;
1099    *:TOPS-10:*:*)
1100        echo pdp10-unknown-tops10
1101        exit 0 ;;
1102    *:TENEX:*:*)
1103        echo pdp10-unknown-tenex
1104        exit 0 ;;
1105    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1106        echo pdp10-dec-tops20
1107        exit 0 ;;
1108    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1109        echo pdp10-xkl-tops20
1110        exit 0 ;;
1111    *:TOPS-20:*:*)
1112        echo pdp10-unknown-tops20
1113        exit 0 ;;
1114    *:ITS:*:*)
1115        echo pdp10-unknown-its
1116        exit 0 ;;
1117    i*86:XTS-300:*:STOP)
1118        echo ${UNAME_MACHINE}-unknown-stop
1119        exit 0 ;;
1120    i*86:atheos:*:*)
1121        echo ${UNAME_MACHINE}-unknown-atheos
1122        exit 0 ;;
1123esac
1124
1125#echo '(No uname command or uname output not recognized.)' 1>&2
1126#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1127
1128eval $set_cc_for_build
1129cat >$dummy.c <<EOF
1130#ifdef _SEQUENT_
1131# include <sys/types.h>
1132# include <sys/utsname.h>
1133#endif
1134main ()
1135{
1136#if defined (sony)
1137#if defined (MIPSEB)
1138  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1139     I don't know....  */
1140  printf ("mips-sony-bsd\n"); exit (0);
1141#else
1142#include <sys/param.h>
1143  printf ("m68k-sony-newsos%s\n",
1144#ifdef NEWSOS4
1145          "4"
1146#else
1147          ""
1148#endif
1149         ); exit (0);
1150#endif
1151#endif
1152
1153#if defined (__arm) && defined (__acorn) && defined (__unix)
1154  printf ("arm-acorn-riscix"); exit (0);
1155#endif
1156
1157#if defined (hp300) && !defined (hpux)
1158  printf ("m68k-hp-bsd\n"); exit (0);
1159#endif
1160
1161#if defined (NeXT)
1162#if !defined (__ARCHITECTURE__)
1163#define __ARCHITECTURE__ "m68k"
1164#endif
1165  int version;
1166  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1167  if (version < 4)
1168    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1169  else
1170    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1171  exit (0);
1172#endif
1173
1174#if defined (MULTIMAX) || defined (n16)
1175#if defined (UMAXV)
1176  printf ("ns32k-encore-sysv\n"); exit (0);
1177#else
1178#if defined (CMU)
1179  printf ("ns32k-encore-mach\n"); exit (0);
1180#else
1181  printf ("ns32k-encore-bsd\n"); exit (0);
1182#endif
1183#endif
1184#endif
1185
1186#if defined (__386BSD__)
1187  printf ("i386-pc-bsd\n"); exit (0);
1188#endif
1189
1190#if defined (sequent)
1191#if defined (i386)
1192  printf ("i386-sequent-dynix\n"); exit (0);
1193#endif
1194#if defined (ns32000)
1195  printf ("ns32k-sequent-dynix\n"); exit (0);
1196#endif
1197#endif
1198
1199#if defined (_SEQUENT_)
1200    struct utsname un;
1201
1202    uname(&un);
1203
1204    if (strncmp(un.version, "V2", 2) == 0) {
1205        printf ("i386-sequent-ptx2\n"); exit (0);
1206    }
1207    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1208        printf ("i386-sequent-ptx1\n"); exit (0);
1209    }
1210    printf ("i386-sequent-ptx\n"); exit (0);
1211
1212#endif
1213
1214#if defined (vax)
1215# if !defined (ultrix)
1216#  include <sys/param.h>
1217#  if defined (BSD)
1218#   if BSD == 43
1219      printf ("vax-dec-bsd4.3\n"); exit (0);
1220#   else
1221#    if BSD == 199006
1222      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1223#    else
1224      printf ("vax-dec-bsd\n"); exit (0);
1225#    endif
1226#   endif
1227#  else
1228    printf ("vax-dec-bsd\n"); exit (0);
1229#  endif
1230# else
1231    printf ("vax-dec-ultrix\n"); exit (0);
1232# endif
1233#endif
1234
1235#if defined (alliant) && defined (i860)
1236  printf ("i860-alliant-bsd\n"); exit (0);
1237#endif
1238
1239  exit (1);
1240}
1241EOF
1242
1243$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1244rm -f $dummy.c $dummy
1245
1246# Apollos put the system type in the environment.
1247
1248test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1249
1250# Convex versions that predate uname can use getsysinfo(1)
1251
1252if [ -x /usr/convex/getsysinfo ]
1253then
1254    case `getsysinfo -f cpu_type` in
1255    c1*)
1256        echo c1-convex-bsd
1257        exit 0 ;;
1258    c2*)
1259        if getsysinfo -f scalar_acc
1260        then echo c32-convex-bsd
1261        else echo c2-convex-bsd
1262        fi
1263        exit 0 ;;
1264    c34*)
1265        echo c34-convex-bsd
1266        exit 0 ;;
1267    c38*)
1268        echo c38-convex-bsd
1269        exit 0 ;;
1270    c4*)
1271        echo c4-convex-bsd
1272        exit 0 ;;
1273    esac
1274fi
1275
1276cat >&2 <<EOF
1277$0: unable to guess system type
1278
1279This script, last modified $timestamp, has failed to recognize
1280the operating system you are using. It is advised that you
1281download the most up to date version of the config scripts from
1282
1283    ftp://ftp.gnu.org/pub/gnu/config/
1284
1285If the version you run ($0) is already up to date, please
1286send the following data and any information you think might be
1287pertinent to <config-patches@gnu.org> in order to provide the needed
1288information to handle your system.
1289
1290config.guess timestamp = $timestamp
1291
1292uname -m = `(uname -m) 2>/dev/null || echo unknown`
1293uname -r = `(uname -r) 2>/dev/null || echo unknown`
1294uname -s = `(uname -s) 2>/dev/null || echo unknown`
1295uname -v = `(uname -v) 2>/dev/null || echo unknown`
1296
1297/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1298/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1299
1300hostinfo               = `(hostinfo) 2>/dev/null`
1301/bin/universe          = `(/bin/universe) 2>/dev/null`
1302/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1303/bin/arch              = `(/bin/arch) 2>/dev/null`
1304/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1305/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1306
1307UNAME_MACHINE = ${UNAME_MACHINE}
1308UNAME_RELEASE = ${UNAME_RELEASE}
1309UNAME_SYSTEM  = ${UNAME_SYSTEM}
1310UNAME_VERSION = ${UNAME_VERSION}
1311EOF
1312
1313exit 1
1314
1315# Local variables:
1316# eval: (add-hook 'write-file-hooks 'time-stamp)
1317# time-stamp-start: "timestamp='"
1318# time-stamp-format: "%:y-%02m-%02d"
1319# time-stamp-end: "'"
1320# End:
Note: See TracBrowser for help on using the repository browser.