source: trunk/third/control-center/config.guess @ 18374

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