Annotation of gcc/config.sub, revision 1.1.1.3

1.1       root        1: #!/bin/sh
1.1.1.3 ! root        2: # Configuration validation subroutine script, version 1.1.
        !             3: #   Copyright (C) 1991, 1992 Free Software Foundation, Inc.
        !             4: # This file is (in principle) common to ALL GNU software.
        !             5: # The presence of a machine in this file suggests that SOME GNU software
        !             6: # can handle that machine.  It does not imply ALL GNU software can. 
1.1       root        7: 
                      8: #This file is free software; you can redistribute it and/or modify
                      9: #it 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,
                     14: #but WITHOUT ANY WARRANTY; without even the implied warranty of
                     15: #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     16: #GNU 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., 675 Mass Ave, Cambridge, MA 02139, USA.
                     21: 
                     22: 
                     23: # Configuration subroutine to validate and canonicalize a configuration type.
                     24: # Supply the specified configuration type as an argument.
                     25: # If it is invalid, we print an error message on stderr and exit with code 1.
                     26: # Otherwise, we print the canonical config type on stdout and succeed.
                     27: 
                     28: # This file is supposed to be the same for all GNU packages
                     29: # and recognize all the CPU types, system types and aliases
                     30: # that are meaningful with *any* GNU software.
                     31: # Each package is responsible for reporting which valid configurations
                     32: # it does not support.  The user should be able to distinguish
                     33: # a failure to support a valid configuration from a meaningless
                     34: # configuration.
                     35: 
                     36: # The goal of this file is to map all the various variations of a given
                     37: # machine specification into a single specification in the form:
                     38: #      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
                     39: # it is wrong to echo any other type of specification
                     40: 
                     41: # First pass through any local machine types.
                     42: case $1 in
                     43:        *local*)
                     44:                echo $1
                     45:                exit 0
                     46:                ;;
                     47:        *)
                     48:        ;;
                     49: esac
                     50: 
                     51: # Separate what the user gave into CPU-COMPANY and OS (if any).
                     52: basic_machine=`echo $1 | sed 's/-[^-]*$//'`
                     53: if [ $basic_machine != $1 ]
                     54: then os=`echo $1 | sed 's/.*-/-/'`
                     55: else os=; fi
                     56: 
                     57: # Lets recognize common machines as not being OS so that things like
1.1.1.3 ! root       58: # config.subr decstation-3100 work.
1.1       root       59: case $os in
                     60:        -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
                     61:        -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
                     62:        -unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
1.1.1.3 ! root       63:        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | \
1.1       root       64:        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1.1.1.2   root       65:        -harris | -dolphin)
1.1       root       66:                os=
                     67:                basic_machine=$1
                     68:                ;;
                     69:        -sco*)
1.1.1.3 ! root       70:                os=-sco3.2v2
1.1       root       71:                basic_machine=i386-unknown
                     72:                ;;
                     73:        -isc*)
1.1.1.3 ! root       74:                os=-isc
1.1       root       75:                basic_machine=i386-unknown
                     76:                ;;
                     77: esac
                     78: 
                     79: # Decode aliases for certain CPU-COMPANY combinations.
                     80: case $basic_machine in
                     81:        # Recognize the basic CPU types with without company name.
                     82:        # Some are omitted here because they have special meanings below.
1.1.1.2   root       83:        tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
1.1.1.3 ! root       84:                | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k)
1.1       root       85:                basic_machine=$basic_machine-unknown
                     86:                ;;
                     87:        # Recognize the basic CPU types with with company name.
1.1.1.3 ! root       88:        vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
1.1       root       89:              | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
                     90:              | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
                     91:              | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
1.1.1.3 ! root       92:              | hppa1.0-* | hppa1.1-* | we32k-*)
1.1       root       93:                ;;
                     94:        # Recognize the various machine names and aliases which stand
                     95:        # for a CPU type and a company and sometimes even an OS.
                     96:        vaxv)
                     97:                basic_machine=vax-dec
                     98:                os=-sysv
                     99:                ;;
                    100:        vms)
                    101:                basic_machine=vax-dec
                    102:                os=-vms
                    103:                ;;
                    104:        i386v32)
                    105:                basic_machine=i386-unknown
                    106:                os=-sysv32
                    107:                ;;
                    108:        i386-sco* | i386sco | sco)
                    109:                basic_machine=i386-unknown
1.1.1.3 ! root      110:                os=-sco3.2v2
1.1       root      111:                ;;
                    112:        i386-isc* | isc)
                    113:                basic_machine=i386-unknown
1.1.1.3 ! root      114:                os=-isc
1.1       root      115:                ;;
                    116:        i386v4*)
                    117:                basic_machine=i386-unknown
                    118:                os=-sysv4
                    119:                ;;
1.1.1.3 ! root      120:        i486v4*)
        !           121:                basic_machine=i486-unknown
        !           122:                os=-sysv4
        !           123:                ;;
1.1       root      124:        i386v)
                    125:                basic_machine=i386-unknown
                    126:                os=-sysv
                    127:                ;;
                    128:        spur)
                    129:                basic_machine=spur-unknown
                    130:                ;;
                    131:        alliant | fx80)
                    132:                basic_machine=fx80-alliant
                    133:                ;;
                    134:        convex-c1)
                    135:                basic_machine=c1-convex
                    136:                os=-bsd
                    137:                ;;
                    138:        convex-c2)
                    139:                basic_machine=c2-convex
                    140:                os=-bsd
                    141:                ;;
                    142:        convex-c32)
                    143:                basic_machine=c32-convex
                    144:                os=-bsd
                    145:                ;;
                    146:        convex-c34)
                    147:                basic_machine=c34-convex
                    148:                os=-bsd
                    149:                ;;
                    150:        convex-c38)
                    151:                basic_machine=c38-convex
                    152:                os=-bsd
                    153:                ;;
                    154:        m88k-omron*)
                    155:                basic_machine=m88k-omron
                    156:                ;;
                    157:        merlin)
                    158:                basic_machine=ns32k-utek
                    159:                os=-sysv
                    160:                ;;
                    161:        crds | unos)
                    162:                basic_machine=m68k-crds
                    163:                ;;
                    164:        encore | umax | mmax)
                    165:                basic_machine=ns32k-encore
1.1.1.3 ! root      166:                os=-bsd
1.1       root      167:                ;;
                    168:        genix)
                    169:                basic_machine=ns32k-ns
                    170:                ;;
                    171:        iris | iris4d)
                    172:                basic_machine=mips-sgi
1.1.1.3 ! root      173:                case $os in
        !           174:                    -irix*)
        !           175:                        ;;
        !           176:                    *)
        !           177:                        os=-irix4
        !           178:                        ;;
        !           179:                esac
1.1       root      180:                ;;
                    181:        news | news700 | news800 | news900)
                    182:                basic_machine=m68k-sony
                    183:                os=-newsos
                    184:                ;;
                    185:        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
1.1.1.2   root      186:                basic_machine=m68000-att
1.1       root      187:                ;;
1.1.1.3 ! root      188:        3b*)
        !           189:                basic_machine=we32k-att
        !           190:                ;;
1.1       root      191:        delta | 3300 | motorola-3300 | motorola-delta \
                    192:              | 3300-motorola | delta-motorola)
                    193:                basic_machine=m68k-motorola
                    194:                ;;
                    195:        balance)
                    196:                basic_machine=ns32k-sequent
                    197:                os=-dynix
                    198:                ;;
                    199:         pc532)
                    200:                basic_machine=ns32k-pc532
                    201:                ;;
                    202:        symmetry)
                    203:                basic_machine=i386-sequent
                    204:                os=-dynix
                    205:                ;;
                    206:        sun2)
                    207:                basic_machine=m68000-sun
                    208:                ;;
                    209:        sun2os3)
                    210:                basic_machine=m68000-sun
                    211:                os=-sunos3
                    212:                ;;
                    213:        sun2os4)
                    214:                basic_machine=m68000-sun
                    215:                os=-sunos4
                    216:                ;;
                    217:        sun3os3)
                    218:                basic_machine=m68k-sun
                    219:                os=-sunos3
                    220:                ;;
                    221:        sun3os4)
                    222:                basic_machine=m68k-sun
                    223:                os=-sunos4
                    224:                ;;
                    225:        sun4os3)
                    226:                basic_machine=sparc-sun
                    227:                os=-sunos3
                    228:                ;;
                    229:        sun4os4)
                    230:                basic_machine=sparc-sun
                    231:                os=-sunos4
                    232:                ;;
                    233:        sun3)
                    234:                basic_machine=m68k-sun
                    235:                ;;
                    236:        sun4)
                    237:                basic_machine=sparc-sun
                    238:                ;;
                    239:        pbd)
1.1.1.2   root      240:                basic_machine=sparc-tti
                    241:                ;;
                    242:        pbb)
                    243:                basic_machine=m68k-tti
1.1       root      244:                ;;
                    245:        sun386 | sun386i | roadrunner)
                    246:                basic_machine=i386-sun
                    247:                ;;
                    248:        ps2)
                    249:                basic_machine=i386-ibm
                    250:                ;;
1.1.1.3 ! root      251:        fx2800)
        !           252:                basic_machine=i860-alliant
        !           253:                ;;
1.1       root      254:        next)
                    255:                basic_machine=m68k-next
1.1.1.3 ! root      256:                os=-bsd
1.1       root      257:                ;;
                    258:        amiga)
                    259:                basic_machine=m68k-cbm
                    260:                ;;
                    261:        hp9k3[2-9][0-9])
                    262:                basic_machine=m68k-hp
                    263:                ;;
                    264:        hp9k31[0-9] | hp9k2[0-9][0-9])
                    265:                basic_machine=m68000-hp
                    266:                ;;
1.1.1.3 ! root      267:        hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
        !           268:                basic_machine=hppa1.1-hp
        !           269:                ;;
        !           270:        hp9k8[0-9][0-9] | hp8[0-9][0-9])
        !           271:                basic_machine=hppa1.0-hp
1.1       root      272:                ;;
                    273:        isi68 | isi)
                    274:                basic_machine=m68k-isi
                    275:                os=-sysv
                    276:                ;;
                    277:        apollo68)
                    278:                basic_machine=m68k-apollo
                    279:                os=-sysv
                    280:                ;;
                    281:        altos | altos3068)
                    282:                basic_machine=m68k-altos
                    283:                ;;
                    284:        miniframe)
                    285:                basic_machine=m68000-convergent
                    286:                ;;
                    287:        tower | tower-32)
                    288:                basic_machine=m68k-ncr
                    289:                ;;
                    290:        news-3600 | risc-news)
                    291:                basic_machine=mips-sony
                    292:                os=-newsos
                    293:                ;;
1.1.1.3 ! root      294:        decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
1.1       root      295:                basic_machine=mips-dec
                    296:                ;;
                    297:        magnum | m3230)
                    298:                basic_machine=mips-mips
                    299:                os=-sysv
                    300:                ;;
                    301:        gmicro)
                    302:                basic_machine=tron-gmicro
                    303:                os=-sysv
                    304:                ;;
                    305:        rtpc | rtpc-*)
                    306:                basic_machine=romp-ibm
                    307:                ;;
                    308:        am29k)
                    309:                basic_machine=a29k-none
                    310:                os=-bsd
                    311:                ;;
                    312:        amdahl)
                    313:                basic_machine=580-amdahl
                    314:                os=-sysv
                    315:                ;;
                    316:        amigados)
                    317:                basic_machine=m68k-cbm
                    318:                os=-amigados
                    319:                ;;
                    320:        amigaunix | amix)
                    321:                basic_machine=m68k-cbm
                    322:                os=-amix
                    323:                ;;
                    324:        cray | ymp)
                    325:                basic_machine=ymp-cray
                    326:                os=-unicos
                    327:                ;;
                    328:        cray2)
                    329:                basic_machine=cray2-cray
                    330:                os=-unicos
                    331:                ;;
                    332:        xmp)
                    333:                basic_machine=xmp-cray
                    334:                os=-unicos
                    335:                ;;
                    336:        delta88)
                    337:                basic_machine=m88k-motorola
                    338:                os=-m88kbcs
                    339:                ;;
                    340:        dpx2)
                    341:                basic_machine=m68k-bull
                    342:                os=-sysv
                    343:                ;;
                    344:        ebmon29k)
                    345:                basic_machine=a29k-amd
                    346:                os=-ebmon
                    347:                ;;
                    348:        h8300hds)
                    349:                basic_machine=h8300-hitachi
                    350:                os=-hds
                    351:                ;;
                    352:        harris)
                    353:                basic_machine=m88k-harris
                    354:                os=-m88kbcs
                    355:                ;;
                    356:        hp300bsd)
                    357:                basic_machine=m68k-hp
                    358:                os=-bsd
                    359:                ;;
                    360:        hp300hpux)
                    361:                basic_machine=m68k-hp
                    362:                os=-hpux
                    363:                ;;
                    364:        hp9k2[0-9][0-9] | hp9k31[0-9])
                    365:                basic_machine=m68000-hp
                    366:                os=-hpux
                    367:                ;;
                    368:        hp9k3[2-9][0-9])
                    369:                basic_machine=m68k-hp
                    370:                os=-hpux
                    371:                ;;
                    372:        ncr3000)
1.1.1.3 ! root      373:                basic_machine=i486-ncr
1.1       root      374:                os=-sysv4
                    375:                ;;
                    376:        news1000)
                    377:                basic_machine=m68030-sony
                    378:                os=-newsos
                    379:                ;;
                    380:        nindy960)
                    381:                basic_machine=i960-intel
                    382:                os=-nindy
                    383:                ;;
                    384:        pn)
                    385:                basic_machine=pn-gould
                    386:                os=-sysv
                    387:                ;;
                    388:        np1)
                    389:                basic_machine=np1-gould
                    390:                os=-sysv
                    391:                ;;
                    392:        ultra3)
                    393:                basic_machine=a29k-nyu
                    394:                os=-sym1
                    395:                ;;
                    396:        vxworks960)
                    397:                basic_machine=i960-wrs
                    398:                os=-vxworks
                    399:                ;;
                    400:        vxworks68)
                    401:                basic_machine=m68k-wrs
                    402:                os=-vxworks
                    403:                ;;
                    404:        none)
                    405:                basic_machine=none-none
                    406:                os=-none
                    407:                ;;
                    408: 
                    409: # Here we handle the default manufacturer of certain CPU types.  It is in
                    410: # some cases the only manufacturer, in others, it is the most popular.
                    411:        mips)
                    412:                basic_machine=mips-mips
                    413:                ;;
                    414:        romp)
                    415:                basic_machine=romp-ibm
                    416:                ;;
                    417:        rs6000)
                    418:                basic_machine=rs6000-ibm
                    419:                ;;
                    420:        vax)
                    421:                basic_machine=vax-dec
                    422:                ;;
1.1.1.3 ! root      423:        we32k)
        !           424:                basic_machine=we32k-att
        !           425:                ;;
1.1       root      426:        sparc)
                    427:                basic_machine=sparc-sun
                    428:                ;;
                    429:        *)
                    430:                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
                    431:                exit 1
                    432:                ;;
                    433: esac
                    434: 
                    435: # Here we canonicalize certain aliases for manufacturers.
                    436: case $basic_machine in
                    437:        *-digital*)
                    438:                basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
                    439:                ;;
                    440:        *-commodore*)
                    441:                basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
                    442:                ;;
                    443:        *)
                    444:                ;;
                    445: esac
                    446: 
                    447: # Decode manufacturer-specific aliases for certain operating systems.
                    448: 
                    449: if [ "$os" ]
                    450: then
                    451: case $os in
                    452:        # First accept the basic system types.
                    453:        # The portable systems comes first.
                    454:        # Each alternative must end in a *, to match a version number.
                    455:        -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
                    456:              | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
                    457:              | -unos* | -osf* | -luna* | -dgux* | -solari* | -sym* | -amix* \
1.1.1.3 ! root      458:              | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
1.1       root      459:              | -nindy* | -vxworks* | -ebmon* | -hds* | -m88kbcs*)
                    460:                ;;
                    461:        -osfrose*)
1.1.1.3 ! root      462:                os=-osfrose
1.1       root      463:                ;;
                    464:        -osf*)
1.1.1.3 ! root      465:                os=-osf
1.1       root      466:                ;;
                    467:        -dynix*)
                    468:                os=-bsd
                    469:                ;;
1.1.1.2   root      470:        -acis*)
                    471:                os=-aos
1.1       root      472:                ;;
                    473:        -ctix* | -uts*)
                    474:                os=-sysv
                    475:                ;;
1.1.1.2   root      476:        -triton*)
                    477:                os=-sysv3
                    478:                ;;
                    479:        -oss*)
                    480:                os=-sysv3
                    481:                ;;
1.1       root      482:        -svr4)
                    483:                os=-sysv4
                    484:                ;;
                    485:        -svr3)
                    486:                os=-sysv3
                    487:                ;;
1.1.1.3 ! root      488:        -none)
        !           489:                ;;
1.1       root      490:        *)
                    491:                # Get rid of the `-' at the beginning of $os.
                    492:                os=`echo $1 | sed 's/[^-]*-//'`
                    493:                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
                    494:                exit 1
                    495:                ;;
                    496: esac
                    497: else
                    498: 
                    499: # Here we handle the default operating systems that come with various machines.
                    500: # The value should be what the vendor currently ships out the door with their
                    501: # machine or put another way, the most popular os provided with the machine.
                    502: case $basic_machine in
                    503:        *-dec | vax-*)
1.1.1.3 ! root      504:                os=-ultrix4.2
1.1       root      505:                ;;
                    506:        i386-sun)
1.1.1.3 ! root      507:                os=-sunos4.0.2
1.1       root      508:                ;;
                    509:        m68000-sun)
                    510:                os=-sunos3
                    511:                # This also exists in the configure program, but was not the
                    512:                # default.
                    513:                # os=-sunos4
                    514:                ;;
1.1.1.2   root      515:        *-tti)  # must be before sparc entry or we get the wrong os.
                    516:                os=-sysv3
                    517:                ;;
1.1       root      518:        sparc-* | *-sun)
1.1.1.3 ! root      519:                os=-sunos4.1.1
1.1       root      520:                ;;
                    521:        *-ibm)
                    522:                os=-aix
                    523:                ;;
                    524:        *-hp)
                    525:                os=-hpux
                    526:                ;;
                    527:        *-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
                    528:                os=-sysv
                    529:                ;;
                    530:        *-cbm)
                    531:                os=-amigados
                    532:                ;;
                    533:        *-dg)
                    534:                os=-dgux
                    535:                ;;
1.1.1.2   root      536:        *-dolphin)
                    537:                os=-sysv3
                    538:                ;;
1.1       root      539:        m88k-omron*)
                    540:                os=-luna
                    541:                ;;
                    542:        *-crds)
                    543:                os=-unos
                    544:                ;;
                    545:        *-ns)
                    546:                os=-genix
                    547:                ;;
                    548:        i386-*)
1.1.1.3 ! root      549:                os=-sco3.2v2
1.1       root      550:                ;;
                    551:        *)
                    552:                os=-none
                    553:                ;;
                    554: esac
                    555: fi
                    556: 
                    557: # Here we handle the case where we know the os, and the CPU type, but not the
                    558: # manufacturer.  We pick the logical manufacturer.
                    559: vendor=unknown
                    560: case $basic_machine in
                    561:        *-unknown)
                    562:                case $os in
                    563:                        -sunos*)
                    564:                                vendor=sun
                    565:                                ;;
                    566:                        -aix*)
                    567:                                vendor=ibm
                    568:                                ;;
                    569:                        -hpux*)
                    570:                                vendor=hp
                    571:                                ;;
                    572:                        -unos*)
                    573:                                vendor=crds
                    574:                                ;;
                    575:                        -dgux*)
                    576:                                vendor=dg
                    577:                                ;;
                    578:                        -luna*)
                    579:                                vendor=omron
                    580:                                ;;
                    581:                        -genix*)
                    582:                                vendor=ns
                    583:                                ;;
                    584:                esac
                    585:                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                    586:                ;;
                    587: esac
                    588: 
                    589: echo $basic_machine$os

unix.superglobalmegacorp.com

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