source: trunk/third/librep/config.guess @ 17362

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