Annotation of embedaddon/libnet/config.guess, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>