source: trunk/third/tcsh/config.guess @ 22036

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