Annotation of XML/config.sub, revision 1.2

1.1       daniel      1: #! /bin/sh
                      2: # Configuration validation subroutine script, version 1.1.
                      3: #   Copyright (C) 1991, 92-97, 1998, 1999 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.
                      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., 59 Temple Place - Suite 330,
                     21: # Boston, MA 02111-1307, USA.
                     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
                     44: # or in some cases, the newer four-part form:
                     45: #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
                     46: # It is wrong to echo any other type of specification.
                     47: 
                     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: 
                     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: 
                     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
                     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* | \
                     96:        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
                     97:        -apple)
                     98:                os=
                     99:                basic_machine=$1
                    100:                ;;
                    101:        -sim | -cisco | -oki | -wec | -winbond)
                    102:                os=
                    103:                basic_machine=$1
                    104:                ;;
                    105:        -scout)
                    106:                ;;
                    107:        -wrs)
1.2     ! veillard  108:                os=-vxworks
1.1       daniel    109:                basic_machine=$1
                    110:                ;;
                    111:        -hiux*)
                    112:                os=-hiuxwe2
                    113:                ;;
                    114:        -sco5)
                    115:                os=-sco3.2v5
                    116:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    117:                ;;
                    118:        -sco4)
                    119:                os=-sco3.2v4
                    120:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    121:                ;;
                    122:        -sco3.2.[4-9]*)
                    123:                os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
                    124:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    125:                ;;
                    126:        -sco3.2v[4-9]*)
                    127:                # Don't forget version if it is 3.2v4 or newer.
                    128:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    129:                ;;
                    130:        -sco*)
                    131:                os=-sco3.2v2
                    132:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    133:                ;;
                    134:        -udk*)
                    135:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    136:                ;;
                    137:        -isc)
                    138:                os=-isc2.2
                    139:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    140:                ;;
                    141:        -clix*)
                    142:                basic_machine=clipper-intergraph
                    143:                ;;
                    144:        -isc*)
                    145:                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                    146:                ;;
                    147:        -lynx*)
                    148:                os=-lynxos
                    149:                ;;
                    150:        -ptx*)
                    151:                basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
                    152:                ;;
                    153:        -windowsnt*)
                    154:                os=`echo $os | sed -e 's/windowsnt/winnt/'`
                    155:                ;;
                    156:        -psos*)
                    157:                os=-psos
                    158:                ;;
1.2     ! veillard  159:        -mint | -mint[0-9]*)
        !           160:                basic_machine=m68k-atari
        !           161:                os=-mint
        !           162:                ;;
1.1       daniel    163: esac
                    164: 
                    165: # Decode aliases for certain CPU-COMPANY combinations.
                    166: case $basic_machine in
                    167:        # Recognize the basic CPU types without company name.
                    168:        # Some are omitted here because they have special meanings below.
1.2     ! veillard  169:        tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
1.1       daniel    170:                | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
                    171:                | 580 | i960 | h8300 \
                    172:                | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
                    173:                | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
                    174:                | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
                    175:                | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
                    176:                | mips64orion | mips64orionel | mipstx39 | mipstx39el \
                    177:                | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
1.2     ! veillard  178:                | mips64vr5000 | miprs64vr5000el | mcore \
        !           179:                | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
        !           180:                | thumb | d10v | fr30)
1.1       daniel    181:                basic_machine=$basic_machine-unknown
                    182:                ;;
1.2     ! veillard  183:        m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
1.1       daniel    184:                ;;
                    185: 
                    186:        # We use `pc' rather than `unknown'
                    187:        # because (1) that's what they normally are, and
                    188:        # (2) the word "unknown" tends to confuse beginning users.
                    189:        i[34567]86)
                    190:          basic_machine=$basic_machine-pc
                    191:          ;;
                    192:        # Object if more than one company name word.
                    193:        *-*-*)
                    194:                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
                    195:                exit 1
                    196:                ;;
                    197:        # Recognize the basic CPU types with company name.
1.2     ! veillard  198:        # FIXME: clean up the formatting here.
        !           199:        vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
1.1       daniel    200:              | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
                    201:              | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
                    202:              | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
                    203:              | xmp-* | ymp-* \
                    204:              | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
                    205:              | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
                    206:              | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
                    207:              | clipper-* | orion-* \
                    208:              | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
                    209:              | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
                    210:              | mips64el-* | mips64orion-* | mips64orionel-* \
                    211:              | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
1.2     ! veillard  212:              | mipstx39-* | mipstx39el-* | mcore-* \
1.1       daniel    213:              | f301-* | armv*-* | t3e-* \
                    214:              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
1.2     ! veillard  215:              | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
1.1       daniel    216:                ;;
                    217:        # Recognize the various machine names and aliases which stand
                    218:        # for a CPU type and a company and sometimes even an OS.
                    219:        386bsd)
                    220:                basic_machine=i386-unknown
                    221:                os=-bsd
                    222:                ;;
                    223:        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
                    224:                basic_machine=m68000-att
                    225:                ;;
                    226:        3b*)
                    227:                basic_machine=we32k-att
                    228:                ;;
                    229:        a29khif)
                    230:                basic_machine=a29k-amd
                    231:                os=-udi
                    232:                ;;
                    233:        adobe68k)
                    234:                basic_machine=m68010-adobe
                    235:                os=-scout
                    236:                ;;
                    237:        alliant | fx80)
                    238:                basic_machine=fx80-alliant
                    239:                ;;
                    240:        altos | altos3068)
                    241:                basic_machine=m68k-altos
                    242:                ;;
                    243:        am29k)
                    244:                basic_machine=a29k-none
                    245:                os=-bsd
                    246:                ;;
                    247:        amdahl)
                    248:                basic_machine=580-amdahl
                    249:                os=-sysv
                    250:                ;;
                    251:        amiga | amiga-*)
                    252:                basic_machine=m68k-cbm
                    253:                ;;
                    254:        amigaos | amigados)
                    255:                basic_machine=m68k-cbm
                    256:                os=-amigaos
                    257:                ;;
                    258:        amigaunix | amix)
                    259:                basic_machine=m68k-cbm
                    260:                os=-sysv4
                    261:                ;;
                    262:        apollo68)
                    263:                basic_machine=m68k-apollo
                    264:                os=-sysv
                    265:                ;;
                    266:        apollo68bsd)
                    267:                basic_machine=m68k-apollo
                    268:                os=-bsd
                    269:                ;;
                    270:        aux)
                    271:                basic_machine=m68k-apple
                    272:                os=-aux
                    273:                ;;
                    274:        balance)
                    275:                basic_machine=ns32k-sequent
                    276:                os=-dynix
                    277:                ;;
                    278:        convex-c1)
                    279:                basic_machine=c1-convex
                    280:                os=-bsd
                    281:                ;;
                    282:        convex-c2)
                    283:                basic_machine=c2-convex
                    284:                os=-bsd
                    285:                ;;
                    286:        convex-c32)
                    287:                basic_machine=c32-convex
                    288:                os=-bsd
                    289:                ;;
                    290:        convex-c34)
                    291:                basic_machine=c34-convex
                    292:                os=-bsd
                    293:                ;;
                    294:        convex-c38)
                    295:                basic_machine=c38-convex
                    296:                os=-bsd
                    297:                ;;
                    298:        cray | ymp)
                    299:                basic_machine=ymp-cray
                    300:                os=-unicos
                    301:                ;;
                    302:        cray2)
                    303:                basic_machine=cray2-cray
                    304:                os=-unicos
                    305:                ;;
                    306:        [ctj]90-cray)
                    307:                basic_machine=c90-cray
                    308:                os=-unicos
                    309:                ;;
                    310:        crds | unos)
                    311:                basic_machine=m68k-crds
                    312:                ;;
                    313:        da30 | da30-*)
                    314:                basic_machine=m68k-da30
                    315:                ;;
                    316:        decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
                    317:                basic_machine=mips-dec
                    318:                ;;
                    319:        delta | 3300 | motorola-3300 | motorola-delta \
                    320:              | 3300-motorola | delta-motorola)
                    321:                basic_machine=m68k-motorola
                    322:                ;;
                    323:        delta88)
                    324:                basic_machine=m88k-motorola
                    325:                os=-sysv3
                    326:                ;;
                    327:        dpx20 | dpx20-*)
                    328:                basic_machine=rs6000-bull
                    329:                os=-bosx
                    330:                ;;
                    331:        dpx2* | dpx2*-bull)
                    332:                basic_machine=m68k-bull
                    333:                os=-sysv3
                    334:                ;;
                    335:        ebmon29k)
                    336:                basic_machine=a29k-amd
                    337:                os=-ebmon
                    338:                ;;
                    339:        elxsi)
                    340:                basic_machine=elxsi-elxsi
                    341:                os=-bsd
                    342:                ;;
                    343:        encore | umax | mmax)
                    344:                basic_machine=ns32k-encore
                    345:                ;;
                    346:        es1800 | OSE68k | ose68k | ose | OSE)
                    347:                basic_machine=m68k-ericsson
                    348:                os=-ose
                    349:                ;;
                    350:        fx2800)
                    351:                basic_machine=i860-alliant
                    352:                ;;
                    353:        genix)
                    354:                basic_machine=ns32k-ns
                    355:                ;;
                    356:        gmicro)
                    357:                basic_machine=tron-gmicro
                    358:                os=-sysv
                    359:                ;;
                    360:        h3050r* | hiux*)
                    361:                basic_machine=hppa1.1-hitachi
                    362:                os=-hiuxwe2
                    363:                ;;
                    364:        h8300hms)
                    365:                basic_machine=h8300-hitachi
                    366:                os=-hms
                    367:                ;;
                    368:        h8300xray)
                    369:                basic_machine=h8300-hitachi
                    370:                os=-xray
                    371:                ;;
                    372:        h8500hms)
                    373:                basic_machine=h8500-hitachi
                    374:                os=-hms
                    375:                ;;
                    376:        harris)
                    377:                basic_machine=m88k-harris
                    378:                os=-sysv3
                    379:                ;;
                    380:        hp300-*)
                    381:                basic_machine=m68k-hp
                    382:                ;;
                    383:        hp300bsd)
                    384:                basic_machine=m68k-hp
                    385:                os=-bsd
                    386:                ;;
                    387:        hp300hpux)
                    388:                basic_machine=m68k-hp
                    389:                os=-hpux
                    390:                ;;
                    391:        hp3k9[0-9][0-9] | hp9[0-9][0-9])
                    392:                basic_machine=hppa1.0-hp
                    393:                ;;
                    394:        hp9k2[0-9][0-9] | hp9k31[0-9])
                    395:                basic_machine=m68000-hp
                    396:                ;;
                    397:        hp9k3[2-9][0-9])
                    398:                basic_machine=m68k-hp
                    399:                ;;
                    400:        hp9k6[0-9][0-9] | hp6[0-9][0-9])
                    401:                basic_machine=hppa1.0-hp
                    402:                ;;
                    403:        hp9k7[0-79][0-9] | hp7[0-79][0-9])
                    404:                basic_machine=hppa1.1-hp
                    405:                ;;
                    406:        hp9k78[0-9] | hp78[0-9])
                    407:                # FIXME: really hppa2.0-hp
                    408:                basic_machine=hppa1.1-hp
                    409:                ;;
                    410:        hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
                    411:                # FIXME: really hppa2.0-hp
                    412:                basic_machine=hppa1.1-hp
                    413:                ;;
                    414:        hp9k8[0-9][13679] | hp8[0-9][13679])
                    415:                basic_machine=hppa1.1-hp
                    416:                ;;
                    417:        hp9k8[0-9][0-9] | hp8[0-9][0-9])
                    418:                basic_machine=hppa1.0-hp
                    419:                ;;
                    420:        hppa-next)
                    421:                os=-nextstep3
                    422:                ;;
                    423:        hppaosf)
                    424:                basic_machine=hppa1.1-hp
                    425:                os=-osf
                    426:                ;;
                    427:        hppro)
                    428:                basic_machine=hppa1.1-hp
                    429:                os=-proelf
                    430:                ;;
                    431:        i370-ibm* | ibm*)
                    432:                basic_machine=i370-ibm
                    433:                ;;
                    434: # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
                    435:        i[34567]86v32)
                    436:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                    437:                os=-sysv32
                    438:                ;;
                    439:        i[34567]86v4*)
                    440:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                    441:                os=-sysv4
                    442:                ;;
                    443:        i[34567]86v)
                    444:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                    445:                os=-sysv
                    446:                ;;
                    447:        i[34567]86sol2)
                    448:                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                    449:                os=-solaris2
                    450:                ;;
                    451:        i386mach)
                    452:                basic_machine=i386-mach
                    453:                os=-mach
                    454:                ;;
                    455:        i386-vsta | vsta)
                    456:                basic_machine=i386-unknown
                    457:                os=-vsta
                    458:                ;;
                    459:        i386-go32 | go32)
                    460:                basic_machine=i386-unknown
                    461:                os=-go32
                    462:                ;;
                    463:        i386-mingw32 | mingw32)
                    464:                basic_machine=i386-unknown
                    465:                os=-mingw32
                    466:                ;;
1.2     ! veillard  467:        i386-qnx | qnx)
        !           468:                basic_machine=i386-qnx
        !           469:                ;;
1.1       daniel    470:        iris | iris4d)
                    471:                basic_machine=mips-sgi
                    472:                case $os in
                    473:                    -irix*)
                    474:                        ;;
                    475:                    *)
                    476:                        os=-irix4
                    477:                        ;;
                    478:                esac
                    479:                ;;
                    480:        isi68 | isi)
                    481:                basic_machine=m68k-isi
                    482:                os=-sysv
                    483:                ;;
                    484:        m88k-omron*)
                    485:                basic_machine=m88k-omron
                    486:                ;;
                    487:        magnum | m3230)
                    488:                basic_machine=mips-mips
                    489:                os=-sysv
                    490:                ;;
                    491:        merlin)
                    492:                basic_machine=ns32k-utek
                    493:                os=-sysv
                    494:                ;;
                    495:        miniframe)
                    496:                basic_machine=m68000-convergent
                    497:                ;;
1.2     ! veillard  498:        *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
1.1       daniel    499:                basic_machine=m68k-atari
                    500:                os=-mint
                    501:                ;;
                    502:        mipsel*-linux*)
                    503:                basic_machine=mipsel-unknown
                    504:                os=-linux-gnu
                    505:                ;;
                    506:        mips*-linux*)
                    507:                basic_machine=mips-unknown
                    508:                os=-linux-gnu
                    509:                ;;
                    510:        mips3*-*)
                    511:                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
                    512:                ;;
                    513:        mips3*)
                    514:                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                    515:                ;;
                    516:        monitor)
                    517:                basic_machine=m68k-rom68k
                    518:                os=-coff
                    519:                ;;
                    520:        msdos)
                    521:                basic_machine=i386-unknown
                    522:                os=-msdos
                    523:                ;;
1.2     ! veillard  524:        mvs)
        !           525:                basic_machine=i370-ibm
        !           526:                os=-mvs
        !           527:                ;;
1.1       daniel    528:        ncr3000)
                    529:                basic_machine=i486-ncr
                    530:                os=-sysv4
                    531:                ;;
                    532:        netbsd386)
                    533:                basic_machine=i386-unknown
                    534:                os=-netbsd
                    535:                ;;
                    536:        netwinder)
1.2     ! veillard  537:                basic_machine=armv4l-rebel
1.1       daniel    538:                os=-linux
                    539:                ;;
                    540:        news | news700 | news800 | news900)
                    541:                basic_machine=m68k-sony
                    542:                os=-newsos
                    543:                ;;
                    544:        news1000)
                    545:                basic_machine=m68030-sony
                    546:                os=-newsos
                    547:                ;;
                    548:        news-3600 | risc-news)
                    549:                basic_machine=mips-sony
                    550:                os=-newsos
                    551:                ;;
                    552:        necv70)
                    553:                basic_machine=v70-nec
                    554:                os=-sysv
                    555:                ;;
                    556:        next | m*-next )
                    557:                basic_machine=m68k-next
                    558:                case $os in
                    559:                    -nextstep* )
                    560:                        ;;
                    561:                    -ns2*)
                    562:                      os=-nextstep2
                    563:                        ;;
                    564:                    *)
                    565:                      os=-nextstep3
                    566:                        ;;
                    567:                esac
                    568:                ;;
                    569:        nh3000)
                    570:                basic_machine=m68k-harris
                    571:                os=-cxux
                    572:                ;;
                    573:        nh[45]000)
                    574:                basic_machine=m88k-harris
                    575:                os=-cxux
                    576:                ;;
                    577:        nindy960)
                    578:                basic_machine=i960-intel
                    579:                os=-nindy
                    580:                ;;
                    581:        mon960)
                    582:                basic_machine=i960-intel
                    583:                os=-mon960
                    584:                ;;
                    585:        np1)
                    586:                basic_machine=np1-gould
                    587:                ;;
                    588:        op50n-* | op60c-*)
                    589:                basic_machine=hppa1.1-oki
                    590:                os=-proelf
                    591:                ;;
                    592:        OSE68000 | ose68000)
                    593:                basic_machine=m68000-ericsson
                    594:                os=-ose
                    595:                ;;
                    596:        os68k)
                    597:                basic_machine=m68k-none
                    598:                os=-os68k
                    599:                ;;
                    600:        pa-hitachi)
                    601:                basic_machine=hppa1.1-hitachi
                    602:                os=-hiuxwe2
                    603:                ;;
                    604:        paragon)
                    605:                basic_machine=i860-intel
                    606:                os=-osf
                    607:                ;;
                    608:        pbd)
                    609:                basic_machine=sparc-tti
                    610:                ;;
                    611:        pbb)
                    612:                basic_machine=m68k-tti
                    613:                ;;
                    614:         pc532 | pc532-*)
                    615:                basic_machine=ns32k-pc532
                    616:                ;;
                    617:        pentium | p5 | k5 | k6 | nexen)
                    618:                basic_machine=i586-pc
                    619:                ;;
                    620:        pentiumpro | p6 | 6x86)
                    621:                basic_machine=i686-pc
                    622:                ;;
                    623:        pentiumii | pentium2)
                    624:                basic_machine=i786-pc
                    625:                ;;
                    626:        pentium-* | p5-* | k5-* | k6-* | nexen-*)
                    627:                basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
                    628:                ;;
                    629:        pentiumpro-* | p6-* | 6x86-*)
                    630:                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
                    631:                ;;
                    632:        pentiumii-* | pentium2-*)
                    633:                basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
                    634:                ;;
                    635:        pn)
                    636:                basic_machine=pn-gould
                    637:                ;;
                    638:        power)  basic_machine=rs6000-ibm
                    639:                ;;
                    640:        ppc)    basic_machine=powerpc-unknown
                    641:                ;;
                    642:        ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                    643:                ;;
                    644:        ppcle | powerpclittle | ppc-le | powerpc-little)
                    645:                basic_machine=powerpcle-unknown
                    646:                ;;
                    647:        ppcle-* | powerpclittle-*)
                    648:                basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
                    649:                ;;
                    650:        ps2)
                    651:                basic_machine=i386-ibm
                    652:                ;;
                    653:        rom68k)
                    654:                basic_machine=m68k-rom68k
                    655:                os=-coff
                    656:                ;;
                    657:        rm[46]00)
                    658:                basic_machine=mips-siemens
                    659:                ;;
                    660:        rtpc | rtpc-*)
                    661:                basic_machine=romp-ibm
                    662:                ;;
                    663:        sa29200)
                    664:                basic_machine=a29k-amd
                    665:                os=-udi
                    666:                ;;
                    667:        sequent)
                    668:                basic_machine=i386-sequent
                    669:                ;;
                    670:        sh)
                    671:                basic_machine=sh-hitachi
                    672:                os=-hms
                    673:                ;;
                    674:        sparclite-wrs)
                    675:                basic_machine=sparclite-wrs
                    676:                os=-vxworks
                    677:                ;;
                    678:        sps7)
                    679:                basic_machine=m68k-bull
                    680:                os=-sysv2
                    681:                ;;
                    682:        spur)
                    683:                basic_machine=spur-unknown
                    684:                ;;
                    685:        st2000)
                    686:                basic_machine=m68k-tandem
                    687:                ;;
                    688:        stratus)
                    689:                basic_machine=i860-stratus
                    690:                os=-sysv4
                    691:                ;;
                    692:        sun2)
                    693:                basic_machine=m68000-sun
                    694:                ;;
                    695:        sun2os3)
                    696:                basic_machine=m68000-sun
                    697:                os=-sunos3
                    698:                ;;
                    699:        sun2os4)
                    700:                basic_machine=m68000-sun
                    701:                os=-sunos4
                    702:                ;;
                    703:        sun3os3)
                    704:                basic_machine=m68k-sun
                    705:                os=-sunos3
                    706:                ;;
                    707:        sun3os4)
                    708:                basic_machine=m68k-sun
                    709:                os=-sunos4
                    710:                ;;
                    711:        sun4os3)
                    712:                basic_machine=sparc-sun
                    713:                os=-sunos3
                    714:                ;;
                    715:        sun4os4)
                    716:                basic_machine=sparc-sun
                    717:                os=-sunos4
                    718:                ;;
                    719:        sun4sol2)
                    720:                basic_machine=sparc-sun
                    721:                os=-solaris2
                    722:                ;;
                    723:        sun3 | sun3-*)
                    724:                basic_machine=m68k-sun
                    725:                ;;
                    726:        sun4)
                    727:                basic_machine=sparc-sun
                    728:                ;;
                    729:        sun386 | sun386i | roadrunner)
                    730:                basic_machine=i386-sun
                    731:                ;;
                    732:        symmetry)
                    733:                basic_machine=i386-sequent
                    734:                os=-dynix
                    735:                ;;
                    736:        t3e)
                    737:                basic_machine=t3e-cray
                    738:                os=-unicos
                    739:                ;;
                    740:        tx39)
                    741:                basic_machine=mipstx39-unknown
                    742:                ;;
                    743:        tx39el)
                    744:                basic_machine=mipstx39el-unknown
                    745:                ;;
                    746:        tower | tower-32)
                    747:                basic_machine=m68k-ncr
                    748:                ;;
                    749:        udi29k)
                    750:                basic_machine=a29k-amd
                    751:                os=-udi
                    752:                ;;
                    753:        ultra3)
                    754:                basic_machine=a29k-nyu
                    755:                os=-sym1
                    756:                ;;
                    757:        v810 | necv810)
                    758:                basic_machine=v810-nec
                    759:                os=-none
                    760:                ;;
                    761:        vaxv)
                    762:                basic_machine=vax-dec
                    763:                os=-sysv
                    764:                ;;
                    765:        vms)
                    766:                basic_machine=vax-dec
                    767:                os=-vms
                    768:                ;;
                    769:        vpp*|vx|vx-*)
                    770:                basic_machine=f301-fujitsu
                    771:                ;;
                    772:        vxworks960)
                    773:                basic_machine=i960-wrs
                    774:                os=-vxworks
                    775:                ;;
                    776:        vxworks68)
                    777:                basic_machine=m68k-wrs
                    778:                os=-vxworks
                    779:                ;;
                    780:        vxworks29k)
                    781:                basic_machine=a29k-wrs
                    782:                os=-vxworks
                    783:                ;;
                    784:        w65*)
                    785:                basic_machine=w65-wdc
                    786:                os=-none
                    787:                ;;
                    788:        w89k-*)
                    789:                basic_machine=hppa1.1-winbond
                    790:                os=-proelf
                    791:                ;;
                    792:        xmp)
                    793:                basic_machine=xmp-cray
                    794:                os=-unicos
                    795:                ;;
                    796:         xps | xps100)
                    797:                basic_machine=xps100-honeywell
                    798:                ;;
                    799:        z8k-*-coff)
                    800:                basic_machine=z8k-unknown
                    801:                os=-sim
                    802:                ;;
                    803:        none)
                    804:                basic_machine=none-none
                    805:                os=-none
                    806:                ;;
                    807: 
                    808: # Here we handle the default manufacturer of certain CPU types.  It is in
                    809: # some cases the only manufacturer, in others, it is the most popular.
                    810:        w89k)
                    811:                basic_machine=hppa1.1-winbond
                    812:                ;;
                    813:        op50n)
                    814:                basic_machine=hppa1.1-oki
                    815:                ;;
                    816:        op60c)
                    817:                basic_machine=hppa1.1-oki
                    818:                ;;
                    819:        mips)
                    820:                if [ x$os = x-linux-gnu ]; then
                    821:                        basic_machine=mips-unknown
                    822:                else
                    823:                        basic_machine=mips-mips
                    824:                fi
                    825:                ;;
                    826:        romp)
                    827:                basic_machine=romp-ibm
                    828:                ;;
                    829:        rs6000)
                    830:                basic_machine=rs6000-ibm
                    831:                ;;
                    832:        vax)
                    833:                basic_machine=vax-dec
                    834:                ;;
                    835:        pdp11)
                    836:                basic_machine=pdp11-dec
                    837:                ;;
                    838:        we32k)
                    839:                basic_machine=we32k-att
                    840:                ;;
                    841:        sparc | sparcv9)
                    842:                basic_machine=sparc-sun
                    843:                ;;
                    844:         cydra)
                    845:                basic_machine=cydra-cydrome
                    846:                ;;
                    847:        orion)
                    848:                basic_machine=orion-highlevel
                    849:                ;;
                    850:        orion105)
                    851:                basic_machine=clipper-highlevel
                    852:                ;;
                    853:        mac | mpw | mac-mpw)
                    854:                basic_machine=m68k-apple
                    855:                ;;
                    856:        pmac | pmac-mpw)
                    857:                basic_machine=powerpc-apple
                    858:                ;;
                    859:        c4x*)
                    860:                basic_machine=c4x-none
                    861:                os=-coff
                    862:                ;;
                    863:        *)
                    864:                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
                    865:                exit 1
                    866:                ;;
                    867: esac
                    868: 
                    869: # Here we canonicalize certain aliases for manufacturers.
                    870: case $basic_machine in
                    871:        *-digital*)
                    872:                basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
                    873:                ;;
                    874:        *-commodore*)
                    875:                basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
                    876:                ;;
                    877:        *)
                    878:                ;;
                    879: esac
                    880: 
                    881: # Decode manufacturer-specific aliases for certain operating systems.
                    882: 
                    883: if [ x"$os" != x"" ]
                    884: then
                    885: case $os in
                    886:         # First match some system type aliases
                    887:         # that might get confused with valid system types.
                    888:        # -solaris* is a basic system type, with this one exception.
                    889:        -solaris1 | -solaris1.*)
                    890:                os=`echo $os | sed -e 's|solaris1|sunos4|'`
                    891:                ;;
                    892:        -solaris)
                    893:                os=-solaris2
                    894:                ;;
                    895:        -svr4*)
                    896:                os=-sysv4
                    897:                ;;
                    898:        -unixware*)
                    899:                os=-sysv4.2uw
                    900:                ;;
                    901:        -gnu/linux*)
                    902:                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
                    903:                ;;
                    904:        # First accept the basic system types.
                    905:        # The portable systems comes first.
                    906:        # Each alternative MUST END IN A *, to match a version number.
                    907:        # -sysv* is not here because it comes later, after sysvr4.
                    908:        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
                    909:              | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
                    910:              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
                    911:              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
                    912:              | -aos* \
                    913:              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
                    914:              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
                    915:              | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
                    916:              | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
                    917:              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
                    918:              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
                    919:              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
                    920:              | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1.2     ! veillard  921:              | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
1.1       daniel    922:        # Remember, each alternative MUST END IN *, to match a version number.
                    923:                ;;
                    924:        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
                    925:              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
                    926:              | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
                    927:                ;;
                    928:        -mac*)
                    929:                os=`echo $os | sed -e 's|mac|macos|'`
                    930:                ;;
                    931:        -linux*)
                    932:                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                    933:                ;;
                    934:        -sunos5*)
                    935:                os=`echo $os | sed -e 's|sunos5|solaris2|'`
                    936:                ;;
                    937:        -sunos6*)
                    938:                os=`echo $os | sed -e 's|sunos6|solaris3|'`
                    939:                ;;
1.2     ! veillard  940:        -opened*)
        !           941:                os=-openedition
        !           942:                ;;
1.1       daniel    943:        -osfrose*)
                    944:                os=-osfrose
                    945:                ;;
                    946:        -osf*)
                    947:                os=-osf
                    948:                ;;
                    949:        -utek*)
                    950:                os=-bsd
                    951:                ;;
                    952:        -dynix*)
                    953:                os=-bsd
                    954:                ;;
                    955:        -acis*)
                    956:                os=-aos
                    957:                ;;
                    958:        -386bsd)
                    959:                os=-bsd
                    960:                ;;
                    961:        -ctix* | -uts*)
                    962:                os=-sysv
                    963:                ;;
                    964:        -ns2 )
                    965:                os=-nextstep2
                    966:                ;;
                    967:        # Preserve the version number of sinix5.
                    968:        -sinix5.*)
                    969:                os=`echo $os | sed -e 's|sinix|sysv|'`
                    970:                ;;
                    971:        -sinix*)
                    972:                os=-sysv4
                    973:                ;;
                    974:        -triton*)
                    975:                os=-sysv3
                    976:                ;;
                    977:        -oss*)
                    978:                os=-sysv3
                    979:                ;;
1.2     ! veillard  980:         -qnx)
        !           981:                os=-qnx4
        !           982:                ;;
1.1       daniel    983:        -svr4)
                    984:                os=-sysv4
                    985:                ;;
                    986:        -svr3)
                    987:                os=-sysv3
                    988:                ;;
                    989:        -sysvr4)
                    990:                os=-sysv4
                    991:                ;;
                    992:        # This must come after -sysvr4.
                    993:        -sysv*)
                    994:                ;;
                    995:        -ose*)
                    996:                os=-ose
                    997:                ;;
                    998:        -es1800*)
                    999:                os=-ose
                   1000:                ;;
                   1001:        -xenix)
                   1002:                os=-xenix
                   1003:                ;;
                   1004:         -*mint | -*MiNT)
                   1005:                os=-mint
                   1006:                ;;
                   1007:        -none)
                   1008:                ;;
                   1009:        *)
                   1010:                # Get rid of the `-' at the beginning of $os.
                   1011:                os=`echo $os | sed 's/[^-]*-//'`
                   1012:                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
                   1013:                exit 1
                   1014:                ;;
                   1015: esac
                   1016: else
                   1017: 
                   1018: # Here we handle the default operating systems that come with various machines.
                   1019: # The value should be what the vendor currently ships out the door with their
                   1020: # machine or put another way, the most popular os provided with the machine.
                   1021: 
                   1022: # Note that if you're going to try to match "-MANUFACTURER" here (say,
                   1023: # "-sun"), then you have to tell the case statement up towards the top
                   1024: # that MANUFACTURER isn't an operating system.  Otherwise, code above
                   1025: # will signal an error saying that MANUFACTURER isn't an operating
                   1026: # system, and we'll never get to this point.
                   1027: 
                   1028: case $basic_machine in
                   1029:        *-acorn)
                   1030:                os=-riscix1.2
                   1031:                ;;
1.2     ! veillard 1032:        arm*-rebel)
1.1       daniel   1033:                os=-linux
                   1034:                ;;
                   1035:        arm*-semi)
                   1036:                os=-aout
                   1037:                ;;
                   1038:         pdp11-*)
                   1039:                os=-none
                   1040:                ;;
                   1041:        *-dec | vax-*)
                   1042:                os=-ultrix4.2
                   1043:                ;;
                   1044:        m68*-apollo)
                   1045:                os=-domain
                   1046:                ;;
                   1047:        i386-sun)
                   1048:                os=-sunos4.0.2
                   1049:                ;;
                   1050:        m68000-sun)
                   1051:                os=-sunos3
                   1052:                # This also exists in the configure program, but was not the
                   1053:                # default.
                   1054:                # os=-sunos4
                   1055:                ;;
                   1056:        m68*-cisco)
                   1057:                os=-aout
                   1058:                ;;
                   1059:        mips*-cisco)
                   1060:                os=-elf
                   1061:                ;;
                   1062:        mips*-*)
                   1063:                os=-elf
                   1064:                ;;
                   1065:        *-tti)  # must be before sparc entry or we get the wrong os.
                   1066:                os=-sysv3
                   1067:                ;;
                   1068:        sparc-* | *-sun)
                   1069:                os=-sunos4.1.1
                   1070:                ;;
                   1071:        *-be)
                   1072:                os=-beos
                   1073:                ;;
                   1074:        *-ibm)
                   1075:                os=-aix
                   1076:                ;;
                   1077:        *-wec)
                   1078:                os=-proelf
                   1079:                ;;
                   1080:        *-winbond)
                   1081:                os=-proelf
                   1082:                ;;
                   1083:        *-oki)
                   1084:                os=-proelf
                   1085:                ;;
                   1086:        *-hp)
                   1087:                os=-hpux
                   1088:                ;;
                   1089:        *-hitachi)
                   1090:                os=-hiux
                   1091:                ;;
                   1092:        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
                   1093:                os=-sysv
                   1094:                ;;
                   1095:        *-cbm)
                   1096:                os=-amigaos
                   1097:                ;;
                   1098:        *-dg)
                   1099:                os=-dgux
                   1100:                ;;
                   1101:        *-dolphin)
                   1102:                os=-sysv3
                   1103:                ;;
                   1104:        m68k-ccur)
                   1105:                os=-rtu
                   1106:                ;;
                   1107:        m88k-omron*)
                   1108:                os=-luna
                   1109:                ;;
                   1110:        *-next )
                   1111:                os=-nextstep
                   1112:                ;;
                   1113:        *-sequent)
                   1114:                os=-ptx
                   1115:                ;;
                   1116:        *-crds)
                   1117:                os=-unos
                   1118:                ;;
                   1119:        *-ns)
                   1120:                os=-genix
                   1121:                ;;
                   1122:        i370-*)
                   1123:                os=-mvs
                   1124:                ;;
                   1125:        *-next)
                   1126:                os=-nextstep3
                   1127:                ;;
                   1128:         *-gould)
                   1129:                os=-sysv
                   1130:                ;;
                   1131:         *-highlevel)
                   1132:                os=-bsd
                   1133:                ;;
                   1134:        *-encore)
                   1135:                os=-bsd
                   1136:                ;;
                   1137:         *-sgi)
                   1138:                os=-irix
                   1139:                ;;
                   1140:         *-siemens)
                   1141:                os=-sysv4
                   1142:                ;;
                   1143:        *-masscomp)
                   1144:                os=-rtu
                   1145:                ;;
                   1146:        f301-fujitsu)
                   1147:                os=-uxpv
                   1148:                ;;
                   1149:        *-rom68k)
                   1150:                os=-coff
                   1151:                ;;
                   1152:        *-*bug)
                   1153:                os=-coff
                   1154:                ;;
                   1155:        *-apple)
                   1156:                os=-macos
                   1157:                ;;
                   1158:        *-atari*)
                   1159:                os=-mint
                   1160:                ;;
                   1161:        *)
                   1162:                os=-none
                   1163:                ;;
                   1164: esac
                   1165: fi
                   1166: 
                   1167: # Here we handle the case where we know the os, and the CPU type, but not the
                   1168: # manufacturer.  We pick the logical manufacturer.
                   1169: vendor=unknown
                   1170: case $basic_machine in
                   1171:        *-unknown)
                   1172:                case $os in
                   1173:                        -riscix*)
                   1174:                                vendor=acorn
                   1175:                                ;;
                   1176:                        -sunos*)
                   1177:                                vendor=sun
                   1178:                                ;;
                   1179:                        -aix*)
                   1180:                                vendor=ibm
                   1181:                                ;;
                   1182:                        -beos*)
                   1183:                                vendor=be
                   1184:                                ;;
                   1185:                        -hpux*)
                   1186:                                vendor=hp
                   1187:                                ;;
                   1188:                        -mpeix*)
                   1189:                                vendor=hp
                   1190:                                ;;
                   1191:                        -hiux*)
                   1192:                                vendor=hitachi
                   1193:                                ;;
                   1194:                        -unos*)
                   1195:                                vendor=crds
                   1196:                                ;;
                   1197:                        -dgux*)
                   1198:                                vendor=dg
                   1199:                                ;;
                   1200:                        -luna*)
                   1201:                                vendor=omron
                   1202:                                ;;
                   1203:                        -genix*)
                   1204:                                vendor=ns
                   1205:                                ;;
1.2     ! veillard 1206:                        -mvs* | -opened*)
1.1       daniel   1207:                                vendor=ibm
                   1208:                                ;;
                   1209:                        -ptx*)
                   1210:                                vendor=sequent
                   1211:                                ;;
                   1212:                        -vxsim* | -vxworks*)
                   1213:                                vendor=wrs
                   1214:                                ;;
                   1215:                        -aux*)
                   1216:                                vendor=apple
                   1217:                                ;;
                   1218:                        -hms*)
                   1219:                                vendor=hitachi
                   1220:                                ;;
                   1221:                        -mpw* | -macos*)
                   1222:                                vendor=apple
                   1223:                                ;;
                   1224:                        -*mint | -*MiNT)
                   1225:                                vendor=atari
                   1226:                                ;;
                   1227:                esac
                   1228:                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                   1229:                ;;
                   1230: esac
                   1231: 
                   1232: echo $basic_machine$os

Webmaster