Annotation of gcc/config.sub, revision 1.1.1.2

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