Annotation of OSKit-Mach/config.guess, revision 1.1.1.1

1.1       root        1: #! /bin/sh
                      2: # Attempt to guess a canonical system name.
                      3: #   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
                      4: #
                      5: # This file is free software; you can redistribute it and/or modify it
                      6: # under the terms of the GNU General Public License as published by
                      7: # the Free Software Foundation; either version 2 of the License, or
                      8: # (at your option) any later version.
                      9: #
                     10: # This program is distributed in the hope that it will be useful, but
                     11: # WITHOUT ANY WARRANTY; without even the implied warranty of
                     12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     13: # General Public License for more details.
                     14: #
                     15: # You should have received a copy of the GNU General Public License
                     16: # along with this program; if not, write to the Free Software
                     17: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
                     18: #
                     19: # As a special exception to the GNU General Public License, if you
                     20: # distribute this file as part of a program that contains a
                     21: # configuration script generated by Autoconf, you may include it under
                     22: # the same distribution terms that you use for the rest of that program.
                     23: 
                     24: # Written by Per Bothner <[email protected]>.
                     25: # The master version of this file is at the FSF in /home/gd/gnu/lib.
                     26: #
                     27: # This script attempts to guess a canonical system name similar to
                     28: # config.sub.  If it succeeds, it prints the system name on stdout, and
                     29: # exits with 0.  Otherwise, it exits with 1.
                     30: #
                     31: # The plan is that this can be called by configure scripts if you
                     32: # don't specify an explicit system type (host/target name).
                     33: #
                     34: # Only a few systems have been added to this list; please add others
                     35: # (but try to keep the structure clean).
                     36: #
                     37: 
                     38: # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
                     39: # ([email protected] 8/24/94.)
                     40: if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
                     41:        PATH=$PATH:/.attbin ; export PATH
                     42: fi
                     43: 
                     44: UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
                     45: UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
                     46: UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
                     47: UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
                     48: 
                     49: trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
                     50: 
                     51: # Note: order is significant - the case branches are not exclusive.
                     52: 
                     53: case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                     54:     alpha:OSF1:*:*)
                     55:        if test $UNAME_RELEASE = "V4.0"; then
                     56:                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
                     57:        fi
                     58:        # A Vn.n version is a released version.
                     59:        # A Tn.n version is a released field test version.
                     60:        # A Xn.n version is an unreleased experimental baselevel.
                     61:        # 1.2 uses "1.2" for uname -r.
                     62:        cat <<EOF >dummy.s
                     63:        .globl main
                     64:        .ent main
                     65: main:
                     66:        .frame \$30,0,\$26,0
                     67:        .prologue 0
                     68:        .long 0x47e03d80 # implver $0
                     69:        lda \$2,259
                     70:        .long 0x47e20c21 # amask $2,$1
                     71:        srl \$1,8,\$2
                     72:        sll \$2,2,\$2
                     73:        sll \$0,3,\$0
                     74:        addl \$1,\$0,\$0
                     75:        addl \$2,\$0,\$0
                     76:        ret \$31,(\$26),1
                     77:        .end main
                     78: EOF
                     79:        ${CC-cc} dummy.s -o dummy 2>/dev/null
                     80:        if test "$?" = 0 ; then
                     81:                ./dummy
                     82:                case "$?" in
                     83:                        7)
                     84:                                UNAME_MACHINE="alpha"
                     85:                                ;;
                     86:                        15)
                     87:                                UNAME_MACHINE="alphaev5"
                     88:                                ;;
                     89:                        14)
                     90:                                UNAME_MACHINE="alphaev56"
                     91:                                ;;
                     92:                        10)
                     93:                                UNAME_MACHINE="alphapca56"
                     94:                                ;;
                     95:                        16)
                     96:                                UNAME_MACHINE="alphaev6"
                     97:                                ;;
                     98:                esac
                     99:        fi
                    100:        rm -f dummy.s dummy
                    101:        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
                    102:        exit 0 ;;
                    103:     21064:Windows_NT:50:3)
                    104:        echo alpha-dec-winnt3.5
                    105:        exit 0 ;;
                    106:     Amiga*:UNIX_System_V:4.0:*)
                    107:        echo m68k-cbm-sysv4
                    108:        exit 0;;
                    109:     amiga:NetBSD:*:*)
                    110:       echo m68k-cbm-netbsd${UNAME_RELEASE}
                    111:       exit 0 ;;
                    112:     amiga:OpenBSD:*:*)
                    113:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    114:        exit 0 ;;
                    115:     *:[Aa]miga[Oo][Ss]:*:*)
                    116:        echo ${UNAME_MACHINE}-unknown-amigaos
                    117:        exit 0 ;;
                    118:     arc64:OpenBSD:*:*)
                    119:        echo mips64el-unknown-openbsd${UNAME_RELEASE}
                    120:        exit 0 ;;
                    121:     arc:OpenBSD:*:*)
                    122:        echo mipsel-unknown-openbsd${UNAME_RELEASE}
                    123:        exit 0 ;;
                    124:     hkmips:OpenBSD:*:*)
                    125:        echo mips-unknown-openbsd${UNAME_RELEASE}
                    126:        exit 0 ;;
                    127:     pmax:OpenBSD:*:*)
                    128:        echo mipsel-unknown-openbsd${UNAME_RELEASE}
                    129:        exit 0 ;;
                    130:     sgi:OpenBSD:*:*)
                    131:        echo mips-unknown-openbsd${UNAME_RELEASE}
                    132:        exit 0 ;;
                    133:     wgrisc:OpenBSD:*:*)
                    134:        echo mipsel-unknown-openbsd${UNAME_RELEASE}
                    135:        exit 0 ;;
                    136:     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
                    137:        echo arm-acorn-riscix${UNAME_RELEASE}
                    138:        exit 0;;
                    139:     arm32:NetBSD:*:*)
                    140:        echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
                    141:        exit 0 ;;
                    142:     SR2?01:HI-UX/MPP:*:*)
                    143:        echo hppa1.1-hitachi-hiuxmpp
                    144:        exit 0;;
                    145:     Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
                    146:        # [email protected] (Earle F. Ake) contributed MIS and NILE.
                    147:        if test "`(/bin/universe) 2>/dev/null`" = att ; then
                    148:                echo pyramid-pyramid-sysv3
                    149:        else
                    150:                echo pyramid-pyramid-bsd
                    151:        fi
                    152:        exit 0 ;;
                    153:     NILE:*:*:dcosx)
                    154:        echo pyramid-pyramid-svr4
                    155:        exit 0 ;;
                    156:     sun4H:SunOS:5.*:*)
                    157:        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                    158:        exit 0 ;;
                    159:     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
                    160:        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                    161:        exit 0 ;;
                    162:     i86pc:SunOS:5.*:*)
                    163:        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                    164:        exit 0 ;;
                    165:     sun4*:SunOS:6*:*)
                    166:        # According to config.sub, this is the proper way to canonicalize
                    167:        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
                    168:        # it's likely to be more like Solaris than SunOS4.
                    169:        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                    170:        exit 0 ;;
                    171:     sun4*:SunOS:*:*)
                    172:        case "`/usr/bin/arch -k`" in
                    173:            Series*|S4*)
                    174:                UNAME_RELEASE=`uname -v`
                    175:                ;;
                    176:        esac
                    177:        # Japanese Language versions have a version number like `4.1.3-JL'.
                    178:        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
                    179:        exit 0 ;;
                    180:     sun3*:SunOS:*:*)
                    181:        echo m68k-sun-sunos${UNAME_RELEASE}
                    182:        exit 0 ;;
                    183:     sun*:*:4.2BSD:*)
                    184:        UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
                    185:        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
                    186:        case "`/bin/arch`" in
                    187:            sun3)
                    188:                echo m68k-sun-sunos${UNAME_RELEASE}
                    189:                ;;
                    190:            sun4)
                    191:                echo sparc-sun-sunos${UNAME_RELEASE}
                    192:                ;;
                    193:        esac
                    194:        exit 0 ;;
                    195:     aushp:SunOS:*:*)
                    196:        echo sparc-auspex-sunos${UNAME_RELEASE}
                    197:        exit 0 ;;
                    198:     atari*:NetBSD:*:*)
                    199:        echo m68k-atari-netbsd${UNAME_RELEASE}
                    200:        exit 0 ;;
                    201:     atari*:OpenBSD:*:*)
                    202:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    203:        exit 0 ;;
                    204:     sun3*:NetBSD:*:*)
                    205:        echo m68k-sun-netbsd${UNAME_RELEASE}
                    206:        exit 0 ;;
                    207:     sun3*:OpenBSD:*:*)
                    208:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    209:        exit 0 ;;
                    210:     mac68k:NetBSD:*:*)
                    211:        echo m68k-apple-netbsd${UNAME_RELEASE}
                    212:        exit 0 ;;
                    213:     mac68k:OpenBSD:*:*)
                    214:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    215:        exit 0 ;;
                    216:     mvme68k:OpenBSD:*:*)
                    217:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    218:        exit 0 ;;
                    219:     mvme88k:OpenBSD:*:*)
                    220:        echo m88k-unknown-openbsd${UNAME_RELEASE}
                    221:        exit 0 ;;
                    222:     powerpc:machten:*:*)
                    223:        echo powerpc-apple-machten${UNAME_RELEASE}
                    224:        exit 0 ;;
                    225:     macppc:NetBSD:*:*)
                    226:         echo powerpc-apple-netbsd${UNAME_RELEASE}
                    227:         exit 0 ;;
                    228:     RISC*:Mach:*:*)
                    229:        echo mips-dec-mach_bsd4.3
                    230:        exit 0 ;;
                    231:     RISC*:ULTRIX:*:*)
                    232:        echo mips-dec-ultrix${UNAME_RELEASE}
                    233:        exit 0 ;;
                    234:     VAX*:ULTRIX*:*:*)
                    235:        echo vax-dec-ultrix${UNAME_RELEASE}
                    236:        exit 0 ;;
                    237:     2020:CLIX:*:*)
                    238:        echo clipper-intergraph-clix${UNAME_RELEASE}
                    239:        exit 0 ;;
                    240:     mips:*:*:UMIPS | mips:*:*:RISCos)
                    241:        sed 's/^        //' << EOF >dummy.c
                    242:        int main (argc, argv) int argc; char **argv; {
                    243:        #if defined (host_mips) && defined (MIPSEB)
                    244:        #if defined (SYSTYPE_SYSV)
                    245:          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
                    246:        #endif
                    247:        #if defined (SYSTYPE_SVR4)
                    248:          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
                    249:        #endif
                    250:        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
                    251:          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
                    252:        #endif
                    253:        #endif
                    254:          exit (-1);
                    255:        }
                    256: EOF
                    257:        ${CC-cc} dummy.c -o dummy \
                    258:          && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
                    259:          && rm dummy.c dummy && exit 0
                    260:        rm -f dummy.c dummy
                    261:        echo mips-mips-riscos${UNAME_RELEASE}
                    262:        exit 0 ;;
                    263:     Night_Hawk:Power_UNIX:*:*)
                    264:        echo powerpc-harris-powerunix
                    265:        exit 0 ;;
                    266:     m88k:CX/UX:7*:*)
                    267:        echo m88k-harris-cxux7
                    268:        exit 0 ;;
                    269:     m88k:*:4*:R4*)
                    270:        echo m88k-motorola-sysv4
                    271:        exit 0 ;;
                    272:     m88k:*:3*:R3*)
                    273:        echo m88k-motorola-sysv3
                    274:        exit 0 ;;
                    275:     AViiON:dgux:*:*)
                    276:         # DG/UX returns AViiON for all architectures
                    277:         UNAME_PROCESSOR=`/usr/bin/uname -p`
                    278:         if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
                    279:        if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
                    280:             -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
                    281:                echo m88k-dg-dgux${UNAME_RELEASE}
                    282:        else
                    283:                echo m88k-dg-dguxbcs${UNAME_RELEASE}
                    284:        fi
                    285:         else echo i586-dg-dgux${UNAME_RELEASE}
                    286:         fi
                    287:        exit 0 ;;
                    288:     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
                    289:        echo m88k-dolphin-sysv3
                    290:        exit 0 ;;
                    291:     M88*:*:R3*:*)
                    292:        # Delta 88k system running SVR3
                    293:        echo m88k-motorola-sysv3
                    294:        exit 0 ;;
                    295:     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
                    296:        echo m88k-tektronix-sysv3
                    297:        exit 0 ;;
                    298:     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
                    299:        echo m68k-tektronix-bsd
                    300:        exit 0 ;;
                    301:     *:IRIX*:*:*)
                    302:        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
                    303:        exit 0 ;;
                    304:     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
                    305:        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
                    306:        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
                    307:     i?86:AIX:*:*)
                    308:        echo i386-ibm-aix
                    309:        exit 0 ;;
                    310:     *:AIX:2:3)
                    311:        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
                    312:                sed 's/^                //' << EOF >dummy.c
                    313:                #include <sys/systemcfg.h>
                    314: 
                    315:                main()
                    316:                        {
                    317:                        if (!__power_pc())
                    318:                                exit(1);
                    319:                        puts("powerpc-ibm-aix3.2.5");
                    320:                        exit(0);
                    321:                        }
                    322: EOF
                    323:                ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
                    324:                rm -f dummy.c dummy
                    325:                echo rs6000-ibm-aix3.2.5
                    326:        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
                    327:                echo rs6000-ibm-aix3.2.4
                    328:        else
                    329:                echo rs6000-ibm-aix3.2
                    330:        fi
                    331:        exit 0 ;;
                    332:     *:AIX:*:4)
                    333:        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
                    334:        if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
                    335:                IBM_ARCH=rs6000
                    336:        else
                    337:                IBM_ARCH=powerpc
                    338:        fi
                    339:        if [ -x /usr/bin/oslevel ] ; then
                    340:                IBM_REV=`/usr/bin/oslevel`
                    341:        else
                    342:                IBM_REV=4.${UNAME_RELEASE}
                    343:        fi
                    344:        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
                    345:        exit 0 ;;
                    346:     *:AIX:*:*)
                    347:        echo rs6000-ibm-aix
                    348:        exit 0 ;;
                    349:     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
                    350:        echo romp-ibm-bsd4.4
                    351:        exit 0 ;;
                    352:     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
                    353:        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
                    354:        exit 0 ;;                           # report: romp-ibm BSD 4.3
                    355:     *:BOSX:*:*)
                    356:        echo rs6000-bull-bosx
                    357:        exit 0 ;;
                    358:     DPX/2?00:B.O.S.:*:*)
                    359:        echo m68k-bull-sysv3
                    360:        exit 0 ;;
                    361:     9000/[34]??:4.3bsd:1.*:*)
                    362:        echo m68k-hp-bsd
                    363:        exit 0 ;;
                    364:     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
                    365:        echo m68k-hp-bsd4.4
                    366:        exit 0 ;;
                    367:     9000/[34678]??:HP-UX:*:*)
                    368:        case "${UNAME_MACHINE}" in
                    369:            9000/31? )            HP_ARCH=m68000 ;;
                    370:            9000/[34]?? )         HP_ARCH=m68k ;;
                    371:            9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
                    372:               sed 's/^              //' << EOF >dummy.c
                    373:               #include <stdlib.h>
                    374:               #include <unistd.h>
                    375:               
                    376:               int main ()
                    377:               {
                    378:               #if defined(_SC_KERNEL_BITS)
                    379:                   long bits = sysconf(_SC_KERNEL_BITS);
                    380:               #endif 
                    381:                   long cpu  = sysconf (_SC_CPU_VERSION);
                    382:               
                    383:                   switch (cpu) 
                    384:                {
                    385:                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
                    386:                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
                    387:                case CPU_PA_RISC2_0: 
                    388:               #if defined(_SC_KERNEL_BITS)
                    389:                    switch (bits) 
                    390:                        {
                    391:                        case 64: puts ("hppa2.0w"); break;
                    392:                        case 32: puts ("hppa2.0n"); break;
                    393:                        default: puts ("hppa2.0"); break;
                    394:                        } break;
                    395:               #else  /* !defined(_SC_KERNEL_BITS) */
                    396:                    puts ("hppa2.0"); break;
                    397:               #endif 
                    398:                default: puts ("hppa1.0"); break;
                    399:                }
                    400:                   exit (0);
                    401:               }
                    402: EOF
                    403:        (${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy`
                    404:        rm -f dummy.c dummy
                    405:        esac
                    406:        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
                    407:        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
                    408:        exit 0 ;;
                    409:     3050*:HI-UX:*:*)
                    410:        sed 's/^        //' << EOF >dummy.c
                    411:        #include <unistd.h>
                    412:        int
                    413:        main ()
                    414:        {
                    415:          long cpu = sysconf (_SC_CPU_VERSION);
                    416:          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
                    417:             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
                    418:             results, however.  */
                    419:          if (CPU_IS_PA_RISC (cpu))
                    420:            {
                    421:              switch (cpu)
                    422:                {
                    423:                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
                    424:                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
                    425:                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
                    426:                  default: puts ("hppa-hitachi-hiuxwe2"); break;
                    427:                }
                    428:            }
                    429:          else if (CPU_IS_HP_MC68K (cpu))
                    430:            puts ("m68k-hitachi-hiuxwe2");
                    431:          else puts ("unknown-hitachi-hiuxwe2");
                    432:          exit (0);
                    433:        }
                    434: EOF
                    435:        ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
                    436:        rm -f dummy.c dummy
                    437:        echo unknown-hitachi-hiuxwe2
                    438:        exit 0 ;;
                    439:     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
                    440:        echo hppa1.1-hp-bsd
                    441:        exit 0 ;;
                    442:     9000/8??:4.3bsd:*:*)
                    443:        echo hppa1.0-hp-bsd
                    444:        exit 0 ;;
                    445:     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
                    446:        echo hppa1.1-hp-osf
                    447:        exit 0 ;;
                    448:     hp8??:OSF1:*:*)
                    449:        echo hppa1.0-hp-osf
                    450:        exit 0 ;;
                    451:     i?86:OSF1:*:*)
                    452:        if [ -x /usr/sbin/sysversion ] ; then
                    453:            echo ${UNAME_MACHINE}-unknown-osf1mk
                    454:        else
                    455:            echo ${UNAME_MACHINE}-unknown-osf1
                    456:        fi
                    457:        exit 0 ;;
                    458:     parisc*:Lites*:*:*)
                    459:        echo hppa1.1-hp-lites
                    460:        exit 0 ;;
                    461:     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
                    462:        echo c1-convex-bsd
                    463:         exit 0 ;;
                    464:     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
                    465:        if getsysinfo -f scalar_acc
                    466:        then echo c32-convex-bsd
                    467:        else echo c2-convex-bsd
                    468:        fi
                    469:         exit 0 ;;
                    470:     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
                    471:        echo c34-convex-bsd
                    472:         exit 0 ;;
                    473:     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
                    474:        echo c38-convex-bsd
                    475:         exit 0 ;;
                    476:     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
                    477:        echo c4-convex-bsd
                    478:         exit 0 ;;
                    479:     CRAY*X-MP:*:*:*)
                    480:        echo xmp-cray-unicos
                    481:         exit 0 ;;
                    482:     CRAY*Y-MP:*:*:*)
                    483:        echo ymp-cray-unicos${UNAME_RELEASE}
                    484:        exit 0 ;;
                    485:     CRAY*[A-Z]90:*:*:*)
                    486:        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
                    487:        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
                    488:              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
                    489:        exit 0 ;;
                    490:     CRAY*TS:*:*:*)
                    491:        echo t90-cray-unicos${UNAME_RELEASE}
                    492:        exit 0 ;;
                    493:     CRAY-2:*:*:*)
                    494:        echo cray2-cray-unicos
                    495:         exit 0 ;;
                    496:     F300:UNIX_System_V:*:*)
                    497:         FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
                    498:         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
                    499:         echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
                    500:         exit 0 ;;
                    501:     F301:UNIX_System_V:*:*)
                    502:        echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
                    503:        exit 0 ;;
                    504:     hp3[0-9][05]:NetBSD:*:*)
                    505:        echo m68k-hp-netbsd${UNAME_RELEASE}
                    506:        exit 0 ;;
                    507:     hp300:OpenBSD:*:*)
                    508:        echo m68k-unknown-openbsd${UNAME_RELEASE}
                    509:        exit 0 ;;
                    510:     sparc*:BSD/OS:*:*)
                    511:        echo sparc-unknown-bsdi${UNAME_RELEASE}
                    512:        exit 0 ;;
                    513:     i?86:BSD/386:*:* | *:BSD/OS:*:*)
                    514:        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
                    515:        exit 0 ;;
                    516:     *:FreeBSD:*:*)
                    517:        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
                    518:        exit 0 ;;
                    519:     *:NetBSD:*:*)
                    520:        echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
                    521:        exit 0 ;;
                    522:     *:OpenBSD:*:*)
                    523:        echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
                    524:        exit 0 ;;
                    525:     i*:CYGWIN*:*)
                    526:        echo ${UNAME_MACHINE}-pc-cygwin
                    527:        exit 0 ;;
                    528:     i*:MINGW*:*)
                    529:        echo ${UNAME_MACHINE}-pc-mingw32
                    530:        exit 0 ;;
                    531:     p*:CYGWIN*:*)
                    532:        echo powerpcle-unknown-cygwin
                    533:        exit 0 ;;
                    534:     prep*:SunOS:5.*:*)
                    535:        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                    536:        exit 0 ;;
                    537:     *:GNU:*:*)
                    538:        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
                    539:        exit 0 ;;
                    540:     *:Linux:*:*)
                    541:        # uname on the ARM produces all sorts of strangeness, and we need to
                    542:        # filter it out.
                    543:        case "$UNAME_MACHINE" in
                    544:          arm* | sa110*)              UNAME_MACHINE="arm" ;;
                    545:        esac
                    546: 
                    547:        # The BFD linker knows what the default object file format is, so
                    548:        # first see if it will tell us.
                    549:        ld_help_string=`ld --help 2>&1`
                    550:        ld_supported_emulations=`echo $ld_help_string \
                    551:                         | sed -ne '/supported emulations:/!d
                    552:                                    s/[         ][      ]*/ /g
                    553:                                    s/.*supported emulations: *//
                    554:                                    s/ .*//
                    555:                                    p'`
                    556:         case "$ld_supported_emulations" in
                    557:          i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
                    558:          i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
                    559:          sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
                    560:          armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
                    561:          m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
                    562:          elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
                    563:        esac
                    564: 
                    565:        if test "${UNAME_MACHINE}" = "alpha" ; then
                    566:                sed 's/^        //'  <<EOF >dummy.s
                    567:                .globl main
                    568:                .ent main
                    569:        main:
                    570:                .frame \$30,0,\$26,0
                    571:                .prologue 0
                    572:                .long 0x47e03d80 # implver $0
                    573:                lda \$2,259
                    574:                .long 0x47e20c21 # amask $2,$1
                    575:                srl \$1,8,\$2
                    576:                sll \$2,2,\$2
                    577:                sll \$0,3,\$0
                    578:                addl \$1,\$0,\$0
                    579:                addl \$2,\$0,\$0
                    580:                ret \$31,(\$26),1
                    581:                .end main
                    582: EOF
                    583:                LIBC=""
                    584:                ${CC-cc} dummy.s -o dummy 2>/dev/null
                    585:                if test "$?" = 0 ; then
                    586:                        ./dummy
                    587:                        case "$?" in
                    588:                        7)
                    589:                                UNAME_MACHINE="alpha"
                    590:                                ;;
                    591:                        15)
                    592:                                UNAME_MACHINE="alphaev5"
                    593:                                ;;
                    594:                        14)
                    595:                                UNAME_MACHINE="alphaev56"
                    596:                                ;;
                    597:                        10)
                    598:                                UNAME_MACHINE="alphapca56"
                    599:                                ;;
                    600:                        16)
                    601:                                UNAME_MACHINE="alphaev6"
                    602:                                ;;
                    603:                        esac    
                    604: 
                    605:                        objdump --private-headers dummy | \
                    606:                          grep ld.so.1 > /dev/null
                    607:                        if test "$?" = 0 ; then
                    608:                                LIBC="libc1"
                    609:                        fi
                    610:                fi      
                    611:                rm -f dummy.s dummy
                    612:                echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
                    613:        elif test "${UNAME_MACHINE}" = "mips" ; then
                    614:          cat >dummy.c <<EOF
                    615: main(argc, argv)
                    616:      int argc;
                    617:      char *argv[];
                    618: {
                    619: #ifdef __MIPSEB__
                    620:   printf ("%s-unknown-linux-gnu\n", argv[1]);
                    621: #endif
                    622: #ifdef __MIPSEL__
                    623:   printf ("%sel-unknown-linux-gnu\n", argv[1]);
                    624: #endif
                    625:   return 0;
                    626: }
                    627: EOF
                    628:          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
                    629:          rm -f dummy.c dummy
                    630:        else
                    631:          # Either a pre-BFD a.out linker (linux-gnuoldld)
                    632:          # or one that does not give us useful --help.
                    633:          # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
                    634:          # If ld does not provide *any* "supported emulations:"
                    635:          # that means it is gnuoldld.
                    636:          echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
                    637:          test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
                    638: 
                    639:          case "${UNAME_MACHINE}" in
                    640:          i?86)
                    641:            VENDOR=pc;
                    642:            ;;
                    643:          *)
                    644:            VENDOR=unknown;
                    645:            ;;
                    646:          esac
                    647:          # Determine whether the default compiler is a.out or elf
                    648:          cat >dummy.c <<EOF
                    649: #include <features.h>
                    650: main(argc, argv)
                    651:      int argc;
                    652:      char *argv[];
                    653: {
                    654: #ifdef __ELF__
                    655: # ifdef __GLIBC__
                    656: #  if __GLIBC__ >= 2
                    657:     printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
                    658: #  else
                    659:     printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
                    660: #  endif
                    661: # else
                    662:    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
                    663: # endif
                    664: #else
                    665:   printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
                    666: #endif
                    667:   return 0;
                    668: }
                    669: EOF
                    670:          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
                    671:          rm -f dummy.c dummy
                    672:        fi ;;
                    673: # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
                    674: # are messed up and put the nodename in both sysname and nodename.
                    675:     i?86:DYNIX/ptx:4*:*)
                    676:        echo i386-sequent-sysv4
                    677:        exit 0 ;;
                    678:     i?86:UNIX_SV:4.2MP:2.*)
                    679:         # Unixware is an offshoot of SVR4, but it has its own version
                    680:         # number series starting with 2...
                    681:         # I am not positive that other SVR4 systems won't match this,
                    682:        # I just have to hope.  -- rms.
                    683:         # Use sysv4.2uw... so that sysv4* matches it.
                    684:        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
                    685:        exit 0 ;;
                    686:     i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
                    687:        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
                    688:                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
                    689:        else
                    690:                echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
                    691:        fi
                    692:        exit 0 ;;
                    693:     i?86:*:3.2:*)
                    694:        if test -f /usr/options/cb.name; then
                    695:                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
                    696:                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
                    697:        elif /bin/uname -X 2>/dev/null >/dev/null ; then
                    698:                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
                    699:                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
                    700:                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
                    701:                        && UNAME_MACHINE=i586
                    702:                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
                    703:        else
                    704:                echo ${UNAME_MACHINE}-pc-sysv32
                    705:        fi
                    706:        exit 0 ;;
                    707:     i?86:UnixWare:*:*)
                    708:        if /bin/uname -X 2>/dev/null >/dev/null ; then
                    709:          (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
                    710:            && UNAME_MACHINE=i586
                    711:        fi
                    712:        echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
                    713:        exit 0 ;;
                    714:     pc:*:*:*)
                    715:         # uname -m prints for DJGPP always 'pc', but it prints nothing about
                    716:         # the processor, so we play safe by assuming i386.
                    717:        echo i386-pc-msdosdjgpp
                    718:         exit 0 ;;
                    719:     Intel:Mach:3*:*)
                    720:        echo i386-pc-mach3
                    721:        exit 0 ;;
                    722:     paragon:*:*:*)
                    723:        echo i860-intel-osf1
                    724:        exit 0 ;;
                    725:     i860:*:4.*:*) # i860-SVR4
                    726:        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
                    727:          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
                    728:        else # Add other i860-SVR4 vendors below as they are discovered.
                    729:          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
                    730:        fi
                    731:        exit 0 ;;
                    732:     mini*:CTIX:SYS*5:*)
                    733:        # "miniframe"
                    734:        echo m68010-convergent-sysv
                    735:        exit 0 ;;
                    736:     M68*:*:R3V[567]*:*)
                    737:        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
                    738:     3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
                    739:        OS_REL=''
                    740:        test -r /etc/.relid \
                    741:        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
                    742:        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
                    743:          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
                    744:        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
                    745:          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
                    746:     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
                    747:         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
                    748:           && echo i486-ncr-sysv4 && exit 0 ;;
                    749:     m68*:LynxOS:2.*:*)
                    750:        echo m68k-unknown-lynxos${UNAME_RELEASE}
                    751:        exit 0 ;;
                    752:     mc68030:UNIX_System_V:4.*:*)
                    753:        echo m68k-atari-sysv4
                    754:        exit 0 ;;
                    755:     i?86:LynxOS:2.*:*)
                    756:        echo i386-unknown-lynxos${UNAME_RELEASE}
                    757:        exit 0 ;;
                    758:     TSUNAMI:LynxOS:2.*:*)
                    759:        echo sparc-unknown-lynxos${UNAME_RELEASE}
                    760:        exit 0 ;;
                    761:     rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
                    762:        echo rs6000-unknown-lynxos${UNAME_RELEASE}
                    763:        exit 0 ;;
                    764:     SM[BE]S:UNIX_SV:*:*)
                    765:        echo mips-dde-sysv${UNAME_RELEASE}
                    766:        exit 0 ;;
                    767:     RM*:SINIX-*:*:*)
                    768:        echo mips-sni-sysv4
                    769:        exit 0 ;;
                    770:     *:SINIX-*:*:*)
                    771:        if uname -p 2>/dev/null >/dev/null ; then
                    772:                UNAME_MACHINE=`(uname -p) 2>/dev/null`
                    773:                echo ${UNAME_MACHINE}-sni-sysv4
                    774:        else
                    775:                echo ns32k-sni-sysv
                    776:        fi
                    777:        exit 0 ;;
                    778:     PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                    779:                            # says <[email protected]>
                    780:         echo i586-unisys-sysv4
                    781:         exit 0 ;;
                    782:     *:UNIX_System_V:4*:FTX*)
                    783:        # From Gerald Hewes <[email protected]>.
                    784:        # How about differentiating between stratus architectures? -djm
                    785:        echo hppa1.1-stratus-sysv4
                    786:        exit 0 ;;
                    787:     *:*:*:FTX*)
                    788:        # From [email protected].
                    789:        echo i860-stratus-sysv4
                    790:        exit 0 ;;
                    791:     mc68*:A/UX:*:*)
                    792:        echo m68k-apple-aux${UNAME_RELEASE}
                    793:        exit 0 ;;
                    794:     news*:NEWS-OS:*:6*)
                    795:        echo mips-sony-newsos6
                    796:        exit 0 ;;
                    797:     R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
                    798:        if [ -d /usr/nec ]; then
                    799:                echo mips-nec-sysv${UNAME_RELEASE}
                    800:        else
                    801:                echo mips-unknown-sysv${UNAME_RELEASE}
                    802:        fi
                    803:         exit 0 ;;
                    804:     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
                    805:        echo powerpc-be-beos
                    806:        exit 0 ;;
                    807:     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
                    808:        echo powerpc-apple-beos
                    809:        exit 0 ;;
                    810:     BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
                    811:        echo i586-pc-beos
                    812:        exit 0 ;;
                    813: esac
                    814: 
                    815: #echo '(No uname command or uname output not recognized.)' 1>&2
                    816: #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
                    817: 
                    818: cat >dummy.c <<EOF
                    819: #ifdef _SEQUENT_
                    820: # include <sys/types.h>
                    821: # include <sys/utsname.h>
                    822: #endif
                    823: main ()
                    824: {
                    825: #if defined (sony)
                    826: #if defined (MIPSEB)
                    827:   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
                    828:      I don't know....  */
                    829:   printf ("mips-sony-bsd\n"); exit (0);
                    830: #else
                    831: #include <sys/param.h>
                    832:   printf ("m68k-sony-newsos%s\n",
                    833: #ifdef NEWSOS4
                    834:           "4"
                    835: #else
                    836:          ""
                    837: #endif
                    838:          ); exit (0);
                    839: #endif
                    840: #endif
                    841: 
                    842: #if defined (__arm) && defined (__acorn) && defined (__unix)
                    843:   printf ("arm-acorn-riscix"); exit (0);
                    844: #endif
                    845: 
                    846: #if defined (hp300) && !defined (hpux)
                    847:   printf ("m68k-hp-bsd\n"); exit (0);
                    848: #endif
                    849: 
                    850: #if defined (NeXT)
                    851: #if !defined (__ARCHITECTURE__)
                    852: #define __ARCHITECTURE__ "m68k"
                    853: #endif
                    854:   int version;
                    855:   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
                    856:   printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
                    857:   exit (0);
                    858: #endif
                    859: 
                    860: #if defined (MULTIMAX) || defined (n16)
                    861: #if defined (UMAXV)
                    862:   printf ("ns32k-encore-sysv\n"); exit (0);
                    863: #else
                    864: #if defined (CMU)
                    865:   printf ("ns32k-encore-mach\n"); exit (0);
                    866: #else
                    867:   printf ("ns32k-encore-bsd\n"); exit (0);
                    868: #endif
                    869: #endif
                    870: #endif
                    871: 
                    872: #if defined (__386BSD__)
                    873:   printf ("i386-pc-bsd\n"); exit (0);
                    874: #endif
                    875: 
                    876: #if defined (sequent)
                    877: #if defined (i386)
                    878:   printf ("i386-sequent-dynix\n"); exit (0);
                    879: #endif
                    880: #if defined (ns32000)
                    881:   printf ("ns32k-sequent-dynix\n"); exit (0);
                    882: #endif
                    883: #endif
                    884: 
                    885: #if defined (_SEQUENT_)
                    886:     struct utsname un;
                    887: 
                    888:     uname(&un);
                    889: 
                    890:     if (strncmp(un.version, "V2", 2) == 0) {
                    891:        printf ("i386-sequent-ptx2\n"); exit (0);
                    892:     }
                    893:     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
                    894:        printf ("i386-sequent-ptx1\n"); exit (0);
                    895:     }
                    896:     printf ("i386-sequent-ptx\n"); exit (0);
                    897: 
                    898: #endif
                    899: 
                    900: #if defined (vax)
                    901: #if !defined (ultrix)
                    902:   printf ("vax-dec-bsd\n"); exit (0);
                    903: #else
                    904:   printf ("vax-dec-ultrix\n"); exit (0);
                    905: #endif
                    906: #endif
                    907: 
                    908: #if defined (alliant) && defined (i860)
                    909:   printf ("i860-alliant-bsd\n"); exit (0);
                    910: #endif
                    911: 
                    912:   exit (1);
                    913: }
                    914: EOF
                    915: 
                    916: ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
                    917: rm -f dummy.c dummy
                    918: 
                    919: # Apollos put the system type in the environment.
                    920: 
                    921: test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
                    922: 
                    923: # Convex versions that predate uname can use getsysinfo(1)
                    924: 
                    925: if [ -x /usr/convex/getsysinfo ]
                    926: then
                    927:     case `getsysinfo -f cpu_type` in
                    928:     c1*)
                    929:        echo c1-convex-bsd
                    930:        exit 0 ;;
                    931:     c2*)
                    932:        if getsysinfo -f scalar_acc
                    933:        then echo c32-convex-bsd
                    934:        else echo c2-convex-bsd
                    935:        fi
                    936:        exit 0 ;;
                    937:     c34*)
                    938:        echo c34-convex-bsd
                    939:        exit 0 ;;
                    940:     c38*)
                    941:        echo c38-convex-bsd
                    942:        exit 0 ;;
                    943:     c4*)
                    944:        echo c4-convex-bsd
                    945:        exit 0 ;;
                    946:     esac
                    947: fi
                    948: 
                    949: #echo '(Unable to guess system type)' 1>&2
                    950: 
                    951: exit 1

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.