Annotation of gforth/config.sub, revision 1.4

1.2       anton       1: #! /bin/sh
1.1       pazsan      2: # Configuration validation subroutine script, version 1.1.
1.4     ! pazsan      3: #   Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
1.1       pazsan      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
1.4     ! pazsan      6: # can handle that machine.  It does not imply ALL GNU software can.
1.1       pazsan      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
1.2       anton      20: # Foundation, Inc., 59 Temple Place - Suite 330,
                     21: # Boston, MA 02111-1307, USA.
1.1       pazsan     22: 
                     23: # As a special exception to the GNU General Public License, if you
                     24: # distribute this file as part of a program that contains a
                     25: # configuration script generated by Autoconf, you may include it under
                     26: # the same distribution terms that you use for the rest of that program.
                     27: 
                     28: # Configuration subroutine to validate and canonicalize a configuration type.
                     29: # Supply the specified configuration type as an argument.
                     30: # If it is invalid, we print an error message on stderr and exit with code 1.
                     31: # Otherwise, we print the canonical config type on stdout and succeed.
                     32: 
                     33: # This file is supposed to be the same for all GNU packages
                     34: # and recognize all the CPU types, system types and aliases
                     35: # that are meaningful with *any* GNU software.
                     36: # Each package is responsible for reporting which valid configurations
                     37: # it does not support.  The user should be able to distinguish
                     38: # a failure to support a valid configuration from a meaningless
                     39: # configuration.
                     40: 
                     41: # The goal of this file is to map all the various variations of a given
                     42: # machine specification into a single specification in the form:
                     43: #      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
1.4     ! pazsan     44: # or in some cases, the newer four-part form:
        !            45: #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
1.1       pazsan     46: # It is wrong to echo any other type of specification.
                     47: 
1.2       anton      48: if [ x$1 = x ]
                     49: then
                     50:        echo Configuration name missing. 1>&2
                     51:        echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
                     52:        echo "or     $0 ALIAS" 1>&2
                     53:        echo where ALIAS is a recognized configuration type. 1>&2
                     54:        exit 1
                     55: fi
                     56: 
1.1       pazsan     57: # First pass through any local machine types.
                     58: case $1 in
                     59:        *local*)
                     60:                echo $1
                     61:                exit 0
                     62:                ;;
                     63:        *)
                     64:        ;;
                     65: esac
                     66: 
1.4     ! pazsan     67: # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
        !            68: # Here we must recognize all the valid KERNEL-OS combinations.
        !            69: maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
        !            70: case $maybe_os in
        !            71:   linux-gnu*)
        !            72:     os=-$maybe_os
        !            73:     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
        !            74:     ;;
        !            75:   *)
        !            76:     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
        !            77:     if [ $basic_machine != $1 ]
        !            78:     then os=`echo $1 | sed 's/.*-/-/'`
        !            79:     else os=; fi
        !            80:     ;;
        !            81: esac
1.1       pazsan     82: 
                     83: ### Let's recognize common machines as not being operating systems so
                     84: ### that things like config.sub decstation-3100 work.  We also
                     85: ### recognize some manufacturers as not being operating systems, so we
                     86: ### can provide default operating systems below.
                     87: case $os in
                     88:        -sun*os*)
                     89:                # Prevent following clause from handling this invalid input.
                     90:                ;;
                     91:        -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
                     92:        -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
                     93:        -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
                     94:        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
                     95:        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1.4     ! pazsan     96:        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
        !            97:        -apple)
1.1       pazsan     98:                os=
                     99:                basic_machine=$1
                    100:                ;;
                    101:        -hiux*)
                    102:                os=-hiuxwe2
                    103:                ;;
1.4     ! pazsan    104:        -sco5)
        !           105:                os=sco3.2v5
        !           106:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
        !           107:                ;;
1.1       pazsan    108:        -sco4)
                    109:                os=-sco3.2v4
1.4     ! pazsan    110:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    111:                ;;
                    112:        -sco3.2.[4-9]*)
                    113:                os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1.4     ! pazsan    114:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    115:                ;;
                    116:        -sco3.2v[4-9]*)
                    117:                # Don't forget version if it is 3.2v4 or newer.
1.4     ! pazsan    118:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    119:                ;;
                    120:        -sco*)
                    121:                os=-sco3.2v2
1.4     ! pazsan    122:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    123:                ;;
                    124:        -isc)
                    125:                os=-isc2.2
1.4     ! pazsan    126:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    127:                ;;
                    128:        -clix*)
                    129:                basic_machine=clipper-intergraph
                    130:                ;;
                    131:        -isc*)
1.4     ! pazsan    132:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1.1       pazsan    133:                ;;
1.2       anton     134:        -lynx*)
1.1       pazsan    135:                os=-lynxos
                    136:                ;;
                    137:        -ptx*)
                    138:                basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
                    139:                ;;
                    140:        -windowsnt*)
                    141:                os=`echo $os | sed -e 's/windowsnt/winnt/'`
                    142:                ;;
1.4     ! pazsan    143:        -psos*)
        !           144:                os=-psos
        !           145:                ;;
1.1       pazsan    146: esac
                    147: 
                    148: # Decode aliases for certain CPU-COMPANY combinations.
                    149: case $basic_machine in
                    150:        # Recognize the basic CPU types without company name.
                    151:        # Some are omitted here because they have special meanings below.
1.4     ! pazsan    152:        tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
        !           153:                | arme[lb] | pyramid | mn10200 | mn10300 \
        !           154:                | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
        !           155:                | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
        !           156:                | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
        !           157:                | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
        !           158:                | mipstx39 | mipstx39el \
        !           159:                | sparc | sparclet | sparclite | sparc64 | v850)
1.1       pazsan    160:                basic_machine=$basic_machine-unknown
                    161:                ;;
1.4     ! pazsan    162:        # We use `pc' rather than `unknown'
        !           163:        # because (1) that's what they normally are, and
        !           164:        # (2) the word "unknown" tends to confuse beginning users.
        !           165:        i[3456]86)
        !           166:          basic_machine=$basic_machine-pc
        !           167:          ;;
1.1       pazsan    168:        # Object if more than one company name word.
                    169:        *-*-*)
                    170:                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
                    171:                exit 1
                    172:                ;;
                    173:        # Recognize the basic CPU types with company name.
1.4     ! pazsan    174:        vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
        !           175:              | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
        !           176:              | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
        !           177:              | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
        !           178:              | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
        !           179:              | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
        !           180:              | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
        !           181:              | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
        !           182:              | sparc64-* | mips64-* | mipsel-* \
        !           183:              | mips64el-* | mips64orion-* | mips64orionel-*  \
        !           184:              | mipstx39-* | mipstx39el-* \
        !           185:              | f301-*)
1.1       pazsan    186:                ;;
                    187:        # Recognize the various machine names and aliases which stand
                    188:        # for a CPU type and a company and sometimes even an OS.
                    189:        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
                    190:                basic_machine=m68000-att
                    191:                ;;
                    192:        3b*)
                    193:                basic_machine=we32k-att
                    194:                ;;
                    195:        alliant | fx80)
                    196:                basic_machine=fx80-alliant
                    197:                ;;
                    198:        altos | altos3068)
                    199:                basic_machine=m68k-altos
                    200:                ;;
                    201:        am29k)
                    202:                basic_machine=a29k-none
                    203:                os=-bsd
                    204:                ;;
                    205:        amdahl)
                    206:                basic_machine=580-amdahl
                    207:                os=-sysv
                    208:                ;;
                    209:        amiga | amiga-*)
                    210:                basic_machine=m68k-cbm
                    211:                ;;
1.4     ! pazsan    212:        amigaos | amigados)
1.1       pazsan    213:                basic_machine=m68k-cbm
1.4     ! pazsan    214:                os=-amigaos
1.1       pazsan    215:                ;;
                    216:        amigaunix | amix)
                    217:                basic_machine=m68k-cbm
                    218:                os=-sysv4
                    219:                ;;
                    220:        apollo68)
                    221:                basic_machine=m68k-apollo
                    222:                os=-sysv
                    223:                ;;
1.4     ! pazsan    224:        aux)
        !           225:                basic_machine=m68k-apple
        !           226:                os=-aux
        !           227:                ;;
1.1       pazsan    228:        balance)
                    229:                basic_machine=ns32k-sequent
                    230:                os=-dynix
                    231:                ;;
                    232:        convex-c1)
                    233:                basic_machine=c1-convex
                    234:                os=-bsd
                    235:                ;;
                    236:        convex-c2)
                    237:                basic_machine=c2-convex
                    238:                os=-bsd
                    239:                ;;
                    240:        convex-c32)
                    241:                basic_machine=c32-convex
                    242:                os=-bsd
                    243:                ;;
                    244:        convex-c34)
                    245:                basic_machine=c34-convex
                    246:                os=-bsd
                    247:                ;;
                    248:        convex-c38)
                    249:                basic_machine=c38-convex
                    250:                os=-bsd
                    251:                ;;
                    252:        cray | ymp)
                    253:                basic_machine=ymp-cray
                    254:                os=-unicos
                    255:                ;;
                    256:        cray2)
                    257:                basic_machine=cray2-cray
                    258:                os=-unicos
                    259:                ;;
1.4     ! pazsan    260:        [ctj]90-cray)
        !           261:                basic_machine=c90-cray
        !           262:                os=-unicos
        !           263:                ;;
1.1       pazsan    264:        crds | unos)
                    265:                basic_machine=m68k-crds
                    266:                ;;
                    267:        da30 | da30-*)
                    268:                basic_machine=m68k-da30
                    269:                ;;
                    270:        decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
                    271:                basic_machine=mips-dec
                    272:                ;;
                    273:        delta | 3300 | motorola-3300 | motorola-delta \
                    274:              | 3300-motorola | delta-motorola)
                    275:                basic_machine=m68k-motorola
                    276:                ;;
                    277:        delta88)
                    278:                basic_machine=m88k-motorola
                    279:                os=-sysv3
                    280:                ;;
                    281:        dpx20 | dpx20-*)
                    282:                basic_machine=rs6000-bull
                    283:                os=-bosx
                    284:                ;;
                    285:        dpx2* | dpx2*-bull)
                    286:                basic_machine=m68k-bull
                    287:                os=-sysv3
                    288:                ;;
                    289:        ebmon29k)
                    290:                basic_machine=a29k-amd
                    291:                os=-ebmon
                    292:                ;;
                    293:        elxsi)
                    294:                basic_machine=elxsi-elxsi
                    295:                os=-bsd
                    296:                ;;
                    297:        encore | umax | mmax)
                    298:                basic_machine=ns32k-encore
                    299:                ;;
                    300:        fx2800)
                    301:                basic_machine=i860-alliant
                    302:                ;;
                    303:        genix)
                    304:                basic_machine=ns32k-ns
                    305:                ;;
                    306:        gmicro)
                    307:                basic_machine=tron-gmicro
                    308:                os=-sysv
                    309:                ;;
                    310:        h3050r* | hiux*)
                    311:                basic_machine=hppa1.1-hitachi
                    312:                os=-hiuxwe2
                    313:                ;;
                    314:        h8300hms)
                    315:                basic_machine=h8300-hitachi
                    316:                os=-hms
                    317:                ;;
                    318:        harris)
                    319:                basic_machine=m88k-harris
                    320:                os=-sysv3
                    321:                ;;
                    322:        hp300-*)
                    323:                basic_machine=m68k-hp
                    324:                ;;
                    325:        hp300bsd)
                    326:                basic_machine=m68k-hp
                    327:                os=-bsd
                    328:                ;;
                    329:        hp300hpux)
                    330:                basic_machine=m68k-hp
                    331:                os=-hpux
                    332:                ;;
                    333:        hp9k2[0-9][0-9] | hp9k31[0-9])
                    334:                basic_machine=m68000-hp
                    335:                ;;
                    336:        hp9k3[2-9][0-9])
                    337:                basic_machine=m68k-hp
                    338:                ;;
                    339:        hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
                    340:                basic_machine=hppa1.1-hp
                    341:                ;;
                    342:        hp9k8[0-9][0-9] | hp8[0-9][0-9])
                    343:                basic_machine=hppa1.0-hp
                    344:                ;;
1.4     ! pazsan    345:        hppa-next)
        !           346:                os=-nextstep3
        !           347:                ;;
1.1       pazsan    348:        i370-ibm* | ibm*)
                    349:                basic_machine=i370-ibm
                    350:                os=-mvs
                    351:                ;;
                    352: # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
1.4     ! pazsan    353:        i[3456]86v32)
        !           354:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
1.1       pazsan    355:                os=-sysv32
                    356:                ;;
1.4     ! pazsan    357:        i[3456]86v4*)
        !           358:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
1.1       pazsan    359:                os=-sysv4
                    360:                ;;
1.4     ! pazsan    361:        i[3456]86v)
        !           362:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
1.1       pazsan    363:                os=-sysv
                    364:                ;;
1.4     ! pazsan    365:        i[3456]86sol2)
        !           366:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
1.1       pazsan    367:                os=-solaris2
                    368:                ;;
                    369:        iris | iris4d)
                    370:                basic_machine=mips-sgi
                    371:                case $os in
                    372:                    -irix*)
                    373:                        ;;
                    374:                    *)
                    375:                        os=-irix4
                    376:                        ;;
                    377:                esac
                    378:                ;;
                    379:        isi68 | isi)
                    380:                basic_machine=m68k-isi
                    381:                os=-sysv
                    382:                ;;
                    383:        m88k-omron*)
                    384:                basic_machine=m88k-omron
                    385:                ;;
                    386:        magnum | m3230)
                    387:                basic_machine=mips-mips
                    388:                os=-sysv
                    389:                ;;
                    390:        merlin)
                    391:                basic_machine=ns32k-utek
                    392:                os=-sysv
                    393:                ;;
                    394:        miniframe)
                    395:                basic_machine=m68000-convergent
                    396:                ;;
1.4     ! pazsan    397:        mipsel*-linux*)
        !           398:                basic_machine=mipsel-unknown
        !           399:                os=-linux-gnu
        !           400:                ;;
        !           401:        mips*-linux*)
        !           402:                basic_machine=mips-unknown
        !           403:                os=-linux-gnu
        !           404:                ;;
1.1       pazsan    405:        mips3*-*)
                    406:                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
                    407:                ;;
                    408:        mips3*)
                    409:                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                    410:                ;;
                    411:        ncr3000)
                    412:                basic_machine=i486-ncr
                    413:                os=-sysv4
                    414:                ;;
                    415:        news | news700 | news800 | news900)
                    416:                basic_machine=m68k-sony
                    417:                os=-newsos
                    418:                ;;
                    419:        news1000)
                    420:                basic_machine=m68030-sony
                    421:                os=-newsos
                    422:                ;;
                    423:        news-3600 | risc-news)
                    424:                basic_machine=mips-sony
                    425:                os=-newsos
                    426:                ;;
                    427:        next | m*-next )
                    428:                basic_machine=m68k-next
                    429:                case $os in
                    430:                    -nextstep* )
                    431:                        ;;
                    432:                    -ns2*)
                    433:                      os=-nextstep2
                    434:                        ;;
                    435:                    *)
                    436:                      os=-nextstep3
                    437:                        ;;
                    438:                esac
                    439:                ;;
                    440:        nh3000)
                    441:                basic_machine=m68k-harris
                    442:                os=-cxux
                    443:                ;;
                    444:        nh[45]000)
                    445:                basic_machine=m88k-harris
                    446:                os=-cxux
                    447:                ;;
                    448:        nindy960)
                    449:                basic_machine=i960-intel
                    450:                os=-nindy
                    451:                ;;
                    452:        np1)
                    453:                basic_machine=np1-gould
                    454:                ;;
                    455:        pa-hitachi)
                    456:                basic_machine=hppa1.1-hitachi
                    457:                os=-hiuxwe2
                    458:                ;;
                    459:        paragon)
                    460:                basic_machine=i860-intel
                    461:                os=-osf
                    462:                ;;
                    463:        pbd)
                    464:                basic_machine=sparc-tti
                    465:                ;;
                    466:        pbb)
                    467:                basic_machine=m68k-tti
                    468:                ;;
                    469:         pc532 | pc532-*)
                    470:                basic_machine=ns32k-pc532
                    471:                ;;
1.4     ! pazsan    472:        pentium | p5)
1.2       anton     473:                basic_machine=i586-intel
                    474:                ;;
1.4     ! pazsan    475:        pentiumpro | p6)
        !           476:                basic_machine=i686-intel
        !           477:                ;;
        !           478:        pentium-* | p5-*)
1.2       anton     479:                basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
                    480:                ;;
1.4     ! pazsan    481:        pentiumpro-* | p6-*)
        !           482:                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
        !           483:                ;;
1.2       anton     484:        k5)
                    485:                # We don't have specific support for AMD's K5 yet, so just call it a Pentium
                    486:                basic_machine=i586-amd
                    487:                ;;
                    488:        nexen)
                    489:                # We don't have specific support for Nexgen yet, so just call it a Pentium
                    490:                basic_machine=i586-nexgen
1.1       pazsan    491:                ;;
                    492:        pn)
                    493:                basic_machine=pn-gould
                    494:                ;;
1.2       anton     495:        power)  basic_machine=rs6000-ibm
                    496:                ;;
                    497:        ppc)    basic_machine=powerpc-unknown
                    498:                ;;
                    499:        ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                    500:                ;;
                    501:        ppcle | powerpclittle | ppc-le | powerpc-little)
                    502:                basic_machine=powerpcle-unknown
                    503:                ;;
                    504:        ppcle-* | powerpclittle-*)
                    505:                basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
                    506:                ;;
1.1       pazsan    507:        ps2)
                    508:                basic_machine=i386-ibm
                    509:                ;;
1.2       anton     510:        rm[46]00)
                    511:                basic_machine=mips-siemens
                    512:                ;;
1.1       pazsan    513:        rtpc | rtpc-*)
                    514:                basic_machine=romp-ibm
                    515:                ;;
                    516:        sequent)
                    517:                basic_machine=i386-sequent
                    518:                ;;
                    519:        sh)
                    520:                basic_machine=sh-hitachi
                    521:                os=-hms
                    522:                ;;
                    523:        sps7)
                    524:                basic_machine=m68k-bull
                    525:                os=-sysv2
                    526:                ;;
                    527:        spur)
                    528:                basic_machine=spur-unknown
                    529:                ;;
                    530:        sun2)
                    531:                basic_machine=m68000-sun
                    532:                ;;
                    533:        sun2os3)
                    534:                basic_machine=m68000-sun
                    535:                os=-sunos3
                    536:                ;;
                    537:        sun2os4)
                    538:                basic_machine=m68000-sun
                    539:                os=-sunos4
                    540:                ;;
                    541:        sun3os3)
                    542:                basic_machine=m68k-sun
                    543:                os=-sunos3
                    544:                ;;
                    545:        sun3os4)
                    546:                basic_machine=m68k-sun
                    547:                os=-sunos4
                    548:                ;;
                    549:        sun4os3)
                    550:                basic_machine=sparc-sun
                    551:                os=-sunos3
                    552:                ;;
                    553:        sun4os4)
                    554:                basic_machine=sparc-sun
                    555:                os=-sunos4
                    556:                ;;
1.2       anton     557:        sun4sol2)
                    558:                basic_machine=sparc-sun
                    559:                os=-solaris2
                    560:                ;;
1.1       pazsan    561:        sun3 | sun3-*)
                    562:                basic_machine=m68k-sun
                    563:                ;;
                    564:        sun4)
                    565:                basic_machine=sparc-sun
                    566:                ;;
                    567:        sun386 | sun386i | roadrunner)
                    568:                basic_machine=i386-sun
                    569:                ;;
                    570:        symmetry)
                    571:                basic_machine=i386-sequent
                    572:                os=-dynix
                    573:                ;;
1.4     ! pazsan    574:        tx39)
        !           575:                basic_machine=mipstx39-unknown
        !           576:                ;;
        !           577:        tx39el)
        !           578:                basic_machine=mipstx39el-unknown
        !           579:                ;;
1.1       pazsan    580:        tower | tower-32)
                    581:                basic_machine=m68k-ncr
                    582:                ;;
1.2       anton     583:        udi29k)
                    584:                basic_machine=a29k-amd
                    585:                os=-udi
                    586:                ;;
1.1       pazsan    587:        ultra3)
                    588:                basic_machine=a29k-nyu
                    589:                os=-sym1
                    590:                ;;
                    591:        vaxv)
                    592:                basic_machine=vax-dec
                    593:                os=-sysv
                    594:                ;;
                    595:        vms)
                    596:                basic_machine=vax-dec
                    597:                os=-vms
                    598:                ;;
1.4     ! pazsan    599:        vpp*|vx|vx-*)
        !           600:                basic_machine=f301-fujitsu
        !           601:                ;;
1.1       pazsan    602:        vxworks960)
                    603:                basic_machine=i960-wrs
                    604:                os=-vxworks
                    605:                ;;
                    606:        vxworks68)
                    607:                basic_machine=m68k-wrs
                    608:                os=-vxworks
                    609:                ;;
1.2       anton     610:        vxworks29k)
                    611:                basic_machine=a29k-wrs
                    612:                os=-vxworks
                    613:                ;;
1.1       pazsan    614:        xmp)
                    615:                basic_machine=xmp-cray
                    616:                os=-unicos
                    617:                ;;
                    618:         xps | xps100)
                    619:                basic_machine=xps100-honeywell
                    620:                ;;
                    621:        none)
                    622:                basic_machine=none-none
                    623:                os=-none
                    624:                ;;
                    625: 
                    626: # Here we handle the default manufacturer of certain CPU types.  It is in
                    627: # some cases the only manufacturer, in others, it is the most popular.
                    628:        mips)
1.4     ! pazsan    629:                if [ x$os = x-linux-gnu ]; then
        !           630:                        basic_machine=mips-unknown
        !           631:                else
        !           632:                        basic_machine=mips-mips
        !           633:                fi
1.1       pazsan    634:                ;;
                    635:        romp)
                    636:                basic_machine=romp-ibm
                    637:                ;;
                    638:        rs6000)
                    639:                basic_machine=rs6000-ibm
                    640:                ;;
                    641:        vax)
                    642:                basic_machine=vax-dec
                    643:                ;;
                    644:        pdp11)
                    645:                basic_machine=pdp11-dec
                    646:                ;;
                    647:        we32k)
                    648:                basic_machine=we32k-att
                    649:                ;;
                    650:        sparc)
                    651:                basic_machine=sparc-sun
                    652:                ;;
                    653:         cydra)
                    654:                basic_machine=cydra-cydrome
                    655:                ;;
                    656:        orion)
                    657:                basic_machine=orion-highlevel
                    658:                ;;
                    659:        orion105)
                    660:                basic_machine=clipper-highlevel
                    661:                ;;
                    662:        *)
                    663:                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
                    664:                exit 1
                    665:                ;;
                    666: esac
                    667: 
                    668: # Here we canonicalize certain aliases for manufacturers.
                    669: case $basic_machine in
                    670:        *-digital*)
                    671:                basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
                    672:                ;;
                    673:        *-commodore*)
                    674:                basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
                    675:                ;;
                    676:        *)
                    677:                ;;
                    678: esac
                    679: 
                    680: # Decode manufacturer-specific aliases for certain operating systems.
                    681: 
                    682: if [ x"$os" != x"" ]
                    683: then
                    684: case $os in
1.4     ! pazsan    685:         # First match some system type aliases
        !           686:         # that might get confused with valid system types.
1.1       pazsan    687:        # -solaris* is a basic system type, with this one exception.
                    688:        -solaris1 | -solaris1.*)
                    689:                os=`echo $os | sed -e 's|solaris1|sunos4|'`
                    690:                ;;
                    691:        -solaris)
                    692:                os=-solaris2
                    693:                ;;
1.4     ! pazsan    694:        -svr4*)
1.2       anton     695:                os=-sysv4
                    696:                ;;
1.4     ! pazsan    697:        -unixware*)
        !           698:                os=-sysv4.2uw
        !           699:                ;;
1.1       pazsan    700:        -gnu/linux*)
1.4     ! pazsan    701:                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1.1       pazsan    702:                ;;
                    703:        # First accept the basic system types.
                    704:        # The portable systems comes first.
1.2       anton     705:        # Each alternative MUST END IN A *, to match a version number.
1.1       pazsan    706:        # -sysv* is not here because it comes later, after sysvr4.
                    707:        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1.4     ! pazsan    708:              | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1.1       pazsan    709:              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1.4     ! pazsan    710:              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
        !           711:              | -aos* \
        !           712:              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
        !           713:              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
        !           714:              | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1.1       pazsan    715:              | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
1.2       anton     716:              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1.4     ! pazsan    717:              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
        !           718:              | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
        !           719:              | -mingw32* | -linux-gnu* | -uxpv*)
1.2       anton     720:        # Remember, each alternative MUST END IN *, to match a version number.
1.1       pazsan    721:                ;;
1.4     ! pazsan    722:        -linux*)
        !           723:                os=`echo $os | sed -e 's|linux|linux-gnu|'`
        !           724:                ;;
1.1       pazsan    725:        -sunos5*)
                    726:                os=`echo $os | sed -e 's|sunos5|solaris2|'`
                    727:                ;;
                    728:        -sunos6*)
                    729:                os=`echo $os | sed -e 's|sunos6|solaris3|'`
                    730:                ;;
                    731:        -osfrose*)
                    732:                os=-osfrose
                    733:                ;;
                    734:        -osf*)
                    735:                os=-osf
                    736:                ;;
                    737:        -utek*)
                    738:                os=-bsd
                    739:                ;;
                    740:        -dynix*)
                    741:                os=-bsd
                    742:                ;;
                    743:        -acis*)
                    744:                os=-aos
                    745:                ;;
                    746:        -ctix* | -uts*)
                    747:                os=-sysv
                    748:                ;;
1.4     ! pazsan    749:        -ns2 )
        !           750:                os=-nextstep2
        !           751:                ;;
1.2       anton     752:        # Preserve the version number of sinix5.
                    753:        -sinix5.*)
                    754:                os=`echo $os | sed -e 's|sinix|sysv|'`
                    755:                ;;
                    756:        -sinix*)
                    757:                os=-sysv4
                    758:                ;;
1.1       pazsan    759:        -triton*)
                    760:                os=-sysv3
                    761:                ;;
                    762:        -oss*)
                    763:                os=-sysv3
                    764:                ;;
                    765:        -svr4)
                    766:                os=-sysv4
                    767:                ;;
1.4     ! pazsan    768:        # For sys5.3 apollo
        !           769:        -sys5.3)
        !           770:                os=-sysv3
        !           771:                ;;
1.1       pazsan    772:        -svr3)
                    773:                os=-sysv3
                    774:                ;;
                    775:        -sysvr4)
                    776:                os=-sysv4
                    777:                ;;
                    778:        # This must come after -sysvr4.
                    779:        -sysv*)
                    780:                ;;
                    781:        -xenix)
                    782:                os=-xenix
                    783:                ;;
                    784:        -none)
                    785:                ;;
                    786:        *)
                    787:                # Get rid of the `-' at the beginning of $os.
                    788:                os=`echo $os | sed 's/[^-]*-//'`
                    789:                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
                    790:                exit 1
                    791:                ;;
                    792: esac
                    793: else
                    794: 
                    795: # Here we handle the default operating systems that come with various machines.
                    796: # The value should be what the vendor currently ships out the door with their
                    797: # machine or put another way, the most popular os provided with the machine.
                    798: 
                    799: # Note that if you're going to try to match "-MANUFACTURER" here (say,
                    800: # "-sun"), then you have to tell the case statement up towards the top
                    801: # that MANUFACTURER isn't an operating system.  Otherwise, code above
                    802: # will signal an error saying that MANUFACTURER isn't an operating
                    803: # system, and we'll never get to this point.
                    804: 
                    805: case $basic_machine in
                    806:        *-acorn)
                    807:                os=-riscix1.2
                    808:                ;;
1.2       anton     809:        arm*-semi)
                    810:                os=-aout
                    811:                ;;
1.1       pazsan    812:         pdp11-*)
                    813:                os=-none
                    814:                ;;
                    815:        *-dec | vax-*)
                    816:                os=-ultrix4.2
                    817:                ;;
1.2       anton     818:        m68*-apollo)
                    819:                os=-domain
                    820:                ;;
1.1       pazsan    821:        i386-sun)
                    822:                os=-sunos4.0.2
                    823:                ;;
                    824:        m68000-sun)
                    825:                os=-sunos3
                    826:                # This also exists in the configure program, but was not the
                    827:                # default.
                    828:                # os=-sunos4
                    829:                ;;
                    830:        *-tti)  # must be before sparc entry or we get the wrong os.
                    831:                os=-sysv3
                    832:                ;;
                    833:        sparc-* | *-sun)
                    834:                os=-sunos4.1.1
                    835:                ;;
                    836:        *-ibm)
                    837:                os=-aix
                    838:                ;;
                    839:        *-hp)
                    840:                os=-hpux
                    841:                ;;
                    842:        *-hitachi)
                    843:                os=-hiux
                    844:                ;;
                    845:        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
                    846:                os=-sysv
                    847:                ;;
                    848:        *-cbm)
1.4     ! pazsan    849:                os=-amigaos
1.1       pazsan    850:                ;;
                    851:        *-dg)
                    852:                os=-dgux
                    853:                ;;
                    854:        *-dolphin)
                    855:                os=-sysv3
                    856:                ;;
                    857:        m68k-ccur)
                    858:                os=-rtu
                    859:                ;;
                    860:        m88k-omron*)
                    861:                os=-luna
                    862:                ;;
1.4     ! pazsan    863:        *-next )
        !           864:                os=-nextstep
        !           865:                ;;
1.1       pazsan    866:        *-sequent)
                    867:                os=-ptx
                    868:                ;;
                    869:        *-crds)
                    870:                os=-unos
                    871:                ;;
                    872:        *-ns)
                    873:                os=-genix
                    874:                ;;
                    875:        i370-*)
                    876:                os=-mvs
                    877:                ;;
                    878:        *-next)
                    879:                os=-nextstep3
                    880:                ;;
                    881:         *-gould)
                    882:                os=-sysv
                    883:                ;;
                    884:         *-highlevel)
                    885:                os=-bsd
                    886:                ;;
                    887:        *-encore)
                    888:                os=-bsd
                    889:                ;;
                    890:         *-sgi)
                    891:                os=-irix
                    892:                ;;
1.2       anton     893:         *-siemens)
                    894:                os=-sysv4
                    895:                ;;
1.1       pazsan    896:        *-masscomp)
                    897:                os=-rtu
                    898:                ;;
1.4     ! pazsan    899:        f301-fujitsu)
        !           900:                os=-uxpv
        !           901:                ;;
1.1       pazsan    902:        *)
                    903:                os=-none
                    904:                ;;
                    905: esac
                    906: fi
                    907: 
                    908: # Here we handle the case where we know the os, and the CPU type, but not the
                    909: # manufacturer.  We pick the logical manufacturer.
                    910: vendor=unknown
                    911: case $basic_machine in
                    912:        *-unknown)
                    913:                case $os in
                    914:                        -riscix*)
                    915:                                vendor=acorn
                    916:                                ;;
                    917:                        -sunos*)
                    918:                                vendor=sun
                    919:                                ;;
                    920:                        -aix*)
                    921:                                vendor=ibm
                    922:                                ;;
                    923:                        -hpux*)
                    924:                                vendor=hp
                    925:                                ;;
                    926:                        -hiux*)
                    927:                                vendor=hitachi
                    928:                                ;;
                    929:                        -unos*)
                    930:                                vendor=crds
                    931:                                ;;
                    932:                        -dgux*)
                    933:                                vendor=dg
                    934:                                ;;
                    935:                        -luna*)
                    936:                                vendor=omron
                    937:                                ;;
                    938:                        -genix*)
                    939:                                vendor=ns
                    940:                                ;;
                    941:                        -mvs*)
                    942:                                vendor=ibm
                    943:                                ;;
                    944:                        -ptx*)
                    945:                                vendor=sequent
1.2       anton     946:                                ;;
1.4     ! pazsan    947:                        -vxsim* | -vxworks*)
1.2       anton     948:                                vendor=wrs
1.4     ! pazsan    949:                                ;;
        !           950:                        -aux*)
        !           951:                                vendor=apple
1.1       pazsan    952:                                ;;
                    953:                esac
                    954:                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                    955:                ;;
                    956: esac
                    957: 
                    958: echo $basic_machine$os

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