[BACK]Return to config.sub CVS log [TXT][DIR] Up to [local] / ircnowd

Annotation of ircnowd/config.sub, Revision 1.1.1.1

1.1       tomglok     1: #! /bin/sh
                      2: # Configuration validation subroutine script.
                      3: #   Copyright 1992-2020 Free Software Foundation, Inc.
                      4:
                      5: timestamp='2020-12-22'
                      6:
                      7: # This file is free software; you can redistribute it and/or modify it
                      8: # under the terms of the GNU General Public License as published by
                      9: # the Free Software Foundation; either version 3 of the License, or
                     10: # (at your option) any later version.
                     11: #
                     12: # This program is distributed in the hope that it will be useful, but
                     13: # WITHOUT ANY WARRANTY; without even the implied warranty of
                     14: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     15: # General Public License for more details.
                     16: #
                     17: # You should have received a copy of the GNU General Public License
                     18: # along with this program; if not, see <https://www.gnu.org/licenses/>.
                     19: #
                     20: # As a special exception to the GNU General Public License, if you
                     21: # distribute this file as part of a program that contains a
                     22: # configuration script generated by Autoconf, you may include it under
                     23: # the same distribution terms that you use for the rest of that
                     24: # program.  This Exception is an additional permission under section 7
                     25: # of the GNU General Public License, version 3 ("GPLv3").
                     26:
                     27:
                     28: # Please send patches to <config-patches@gnu.org>.
                     29: #
                     30: # Configuration subroutine to validate and canonicalize a configuration type.
                     31: # Supply the specified configuration type as an argument.
                     32: # If it is invalid, we print an error message on stderr and exit with code 1.
                     33: # Otherwise, we print the canonical config type on stdout and succeed.
                     34:
                     35: # You can get the latest version of this script from:
                     36: # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
                     37:
                     38: # This file is supposed to be the same for all GNU packages
                     39: # and recognize all the CPU types, system types and aliases
                     40: # that are meaningful with *any* GNU software.
                     41: # Each package is responsible for reporting which valid configurations
                     42: # it does not support.  The user should be able to distinguish
                     43: # a failure to support a valid configuration from a meaningless
                     44: # configuration.
                     45:
                     46: # The goal of this file is to map all the various variations of a given
                     47: # machine specification into a single specification in the form:
                     48: #      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
                     49: # or in some cases, the newer four-part form:
                     50: #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
                     51: # It is wrong to echo any other type of specification.
                     52:
                     53: me=$(echo "$0" | sed -e 's,.*/,,')
                     54:
                     55: usage="\
                     56: Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
                     57:
                     58: Canonicalize a configuration name.
                     59:
                     60: Options:
                     61:   -h, --help         print this help, then exit
                     62:   -t, --time-stamp   print date of last modification, then exit
                     63:   -v, --version      print version number, then exit
                     64:
                     65: Report bugs and patches to <config-patches@gnu.org>."
                     66:
                     67: version="\
                     68: GNU config.sub ($timestamp)
                     69:
                     70: Copyright 1992-2020 Free Software Foundation, Inc.
                     71:
                     72: This is free software; see the source for copying conditions.  There is NO
                     73: warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
                     74:
                     75: help="
                     76: Try \`$me --help' for more information."
                     77:
                     78: # Parse command line
                     79: while test $# -gt 0 ; do
                     80:   case $1 in
                     81:     --time-stamp | --time* | -t )
                     82:        echo "$timestamp" ; exit ;;
                     83:     --version | -v )
                     84:        echo "$version" ; exit ;;
                     85:     --help | --h* | -h )
                     86:        echo "$usage"; exit ;;
                     87:     -- )     # Stop option processing
                     88:        shift; break ;;
                     89:     - )        # Use stdin as input.
                     90:        break ;;
                     91:     -* )
                     92:        echo "$me: invalid option $1$help" >&2
                     93:        exit 1 ;;
                     94:
                     95:     *local*)
                     96:        # First pass through any local machine types.
                     97:        echo "$1"
                     98:        exit ;;
                     99:
                    100:     * )
                    101:        break ;;
                    102:   esac
                    103: done
                    104:
                    105: case $# in
                    106:  0) echo "$me: missing argument$help" >&2
                    107:     exit 1;;
                    108:  1) ;;
                    109:  *) echo "$me: too many arguments$help" >&2
                    110:     exit 1;;
                    111: esac
                    112:
                    113: # Split fields of configuration type
                    114: # shellcheck disable=SC2162
                    115: IFS="-" read field1 field2 field3 field4 <<EOF
                    116: $1
                    117: EOF
                    118:
                    119: # Separate into logical components for further validation
                    120: case $1 in
                    121:        *-*-*-*-*)
                    122:                echo Invalid configuration \`"$1"\': more than four components >&2
                    123:                exit 1
                    124:                ;;
                    125:        *-*-*-*)
                    126:                basic_machine=$field1-$field2
                    127:                basic_os=$field3-$field4
                    128:                ;;
                    129:        *-*-*)
                    130:                # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
                    131:                # parts
                    132:                maybe_os=$field2-$field3
                    133:                case $maybe_os in
                    134:                        nto-qnx* | linux-* | uclinux-uclibc* \
                    135:                        | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
                    136:                        | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
                    137:                        | storm-chaos* | os2-emx* | rtmk-nova*)
                    138:                                basic_machine=$field1
                    139:                                basic_os=$maybe_os
                    140:                                ;;
                    141:                        android-linux)
                    142:                                basic_machine=$field1-unknown
                    143:                                basic_os=linux-android
                    144:                                ;;
                    145:                        *)
                    146:                                basic_machine=$field1-$field2
                    147:                                basic_os=$field3
                    148:                                ;;
                    149:                esac
                    150:                ;;
                    151:        *-*)
                    152:                # A lone config we happen to match not fitting any pattern
                    153:                case $field1-$field2 in
                    154:                        decstation-3100)
                    155:                                basic_machine=mips-dec
                    156:                                basic_os=
                    157:                                ;;
                    158:                        *-*)
                    159:                                # Second component is usually, but not always the OS
                    160:                                case $field2 in
                    161:                                        # Prevent following clause from handling this valid os
                    162:                                        sun*os*)
                    163:                                                basic_machine=$field1
                    164:                                                basic_os=$field2
                    165:                                                ;;
                    166:                                        # Manufacturers
                    167:                                        dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
                    168:                                        | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
                    169:                                        | unicom* | ibm* | next | hp | isi* | apollo | altos* \
                    170:                                        | convergent* | ncr* | news | 32* | 3600* | 3100* \
                    171:                                        | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
                    172:                                        | ultra | tti* | harris | dolphin | highlevel | gould \
                    173:                                        | cbm | ns | masscomp | apple | axis | knuth | cray \
                    174:                                        | microblaze* | sim | cisco \
                    175:                                        | oki | wec | wrs | winbond)
                    176:                                                basic_machine=$field1-$field2
                    177:                                                basic_os=
                    178:                                                ;;
                    179:                                        *)
                    180:                                                basic_machine=$field1
                    181:                                                basic_os=$field2
                    182:                                                ;;
                    183:                                esac
                    184:                        ;;
                    185:                esac
                    186:                ;;
                    187:        *)
                    188:                # Convert single-component short-hands not valid as part of
                    189:                # multi-component configurations.
                    190:                case $field1 in
                    191:                        386bsd)
                    192:                                basic_machine=i386-pc
                    193:                                basic_os=bsd
                    194:                                ;;
                    195:                        a29khif)
                    196:                                basic_machine=a29k-amd
                    197:                                basic_os=udi
                    198:                                ;;
                    199:                        adobe68k)
                    200:                                basic_machine=m68010-adobe
                    201:                                basic_os=scout
                    202:                                ;;
                    203:                        alliant)
                    204:                                basic_machine=fx80-alliant
                    205:                                basic_os=
                    206:                                ;;
                    207:                        altos | altos3068)
                    208:                                basic_machine=m68k-altos
                    209:                                basic_os=
                    210:                                ;;
                    211:                        am29k)
                    212:                                basic_machine=a29k-none
                    213:                                basic_os=bsd
                    214:                                ;;
                    215:                        amdahl)
                    216:                                basic_machine=580-amdahl
                    217:                                basic_os=sysv
                    218:                                ;;
                    219:                        amiga)
                    220:                                basic_machine=m68k-unknown
                    221:                                basic_os=
                    222:                                ;;
                    223:                        amigaos | amigados)
                    224:                                basic_machine=m68k-unknown
                    225:                                basic_os=amigaos
                    226:                                ;;
                    227:                        amigaunix | amix)
                    228:                                basic_machine=m68k-unknown
                    229:                                basic_os=sysv4
                    230:                                ;;
                    231:                        apollo68)
                    232:                                basic_machine=m68k-apollo
                    233:                                basic_os=sysv
                    234:                                ;;
                    235:                        apollo68bsd)
                    236:                                basic_machine=m68k-apollo
                    237:                                basic_os=bsd
                    238:                                ;;
                    239:                        aros)
                    240:                                basic_machine=i386-pc
                    241:                                basic_os=aros
                    242:                                ;;
                    243:                        aux)
                    244:                                basic_machine=m68k-apple
                    245:                                basic_os=aux
                    246:                                ;;
                    247:                        balance)
                    248:                                basic_machine=ns32k-sequent
                    249:                                basic_os=dynix
                    250:                                ;;
                    251:                        blackfin)
                    252:                                basic_machine=bfin-unknown
                    253:                                basic_os=linux
                    254:                                ;;
                    255:                        cegcc)
                    256:                                basic_machine=arm-unknown
                    257:                                basic_os=cegcc
                    258:                                ;;
                    259:                        convex-c1)
                    260:                                basic_machine=c1-convex
                    261:                                basic_os=bsd
                    262:                                ;;
                    263:                        convex-c2)
                    264:                                basic_machine=c2-convex
                    265:                                basic_os=bsd
                    266:                                ;;
                    267:                        convex-c32)
                    268:                                basic_machine=c32-convex
                    269:                                basic_os=bsd
                    270:                                ;;
                    271:                        convex-c34)
                    272:                                basic_machine=c34-convex
                    273:                                basic_os=bsd
                    274:                                ;;
                    275:                        convex-c38)
                    276:                                basic_machine=c38-convex
                    277:                                basic_os=bsd
                    278:                                ;;
                    279:                        cray)
                    280:                                basic_machine=j90-cray
                    281:                                basic_os=unicos
                    282:                                ;;
                    283:                        crds | unos)
                    284:                                basic_machine=m68k-crds
                    285:                                basic_os=
                    286:                                ;;
                    287:                        da30)
                    288:                                basic_machine=m68k-da30
                    289:                                basic_os=
                    290:                                ;;
                    291:                        decstation | pmax | pmin | dec3100 | decstatn)
                    292:                                basic_machine=mips-dec
                    293:                                basic_os=
                    294:                                ;;
                    295:                        delta88)
                    296:                                basic_machine=m88k-motorola
                    297:                                basic_os=sysv3
                    298:                                ;;
                    299:                        dicos)
                    300:                                basic_machine=i686-pc
                    301:                                basic_os=dicos
                    302:                                ;;
                    303:                        djgpp)
                    304:                                basic_machine=i586-pc
                    305:                                basic_os=msdosdjgpp
                    306:                                ;;
                    307:                        ebmon29k)
                    308:                                basic_machine=a29k-amd
                    309:                                basic_os=ebmon
                    310:                                ;;
                    311:                        es1800 | OSE68k | ose68k | ose | OSE)
                    312:                                basic_machine=m68k-ericsson
                    313:                                basic_os=ose
                    314:                                ;;
                    315:                        gmicro)
                    316:                                basic_machine=tron-gmicro
                    317:                                basic_os=sysv
                    318:                                ;;
                    319:                        go32)
                    320:                                basic_machine=i386-pc
                    321:                                basic_os=go32
                    322:                                ;;
                    323:                        h8300hms)
                    324:                                basic_machine=h8300-hitachi
                    325:                                basic_os=hms
                    326:                                ;;
                    327:                        h8300xray)
                    328:                                basic_machine=h8300-hitachi
                    329:                                basic_os=xray
                    330:                                ;;
                    331:                        h8500hms)
                    332:                                basic_machine=h8500-hitachi
                    333:                                basic_os=hms
                    334:                                ;;
                    335:                        harris)
                    336:                                basic_machine=m88k-harris
                    337:                                basic_os=sysv3
                    338:                                ;;
                    339:                        hp300 | hp300hpux)
                    340:                                basic_machine=m68k-hp
                    341:                                basic_os=hpux
                    342:                                ;;
                    343:                        hp300bsd)
                    344:                                basic_machine=m68k-hp
                    345:                                basic_os=bsd
                    346:                                ;;
                    347:                        hppaosf)
                    348:                                basic_machine=hppa1.1-hp
                    349:                                basic_os=osf
                    350:                                ;;
                    351:                        hppro)
                    352:                                basic_machine=hppa1.1-hp
                    353:                                basic_os=proelf
                    354:                                ;;
                    355:                        i386mach)
                    356:                                basic_machine=i386-mach
                    357:                                basic_os=mach
                    358:                                ;;
                    359:                        isi68 | isi)
                    360:                                basic_machine=m68k-isi
                    361:                                basic_os=sysv
                    362:                                ;;
                    363:                        m68knommu)
                    364:                                basic_machine=m68k-unknown
                    365:                                basic_os=linux
                    366:                                ;;
                    367:                        magnum | m3230)
                    368:                                basic_machine=mips-mips
                    369:                                basic_os=sysv
                    370:                                ;;
                    371:                        merlin)
                    372:                                basic_machine=ns32k-utek
                    373:                                basic_os=sysv
                    374:                                ;;
                    375:                        mingw64)
                    376:                                basic_machine=x86_64-pc
                    377:                                basic_os=mingw64
                    378:                                ;;
                    379:                        mingw32)
                    380:                                basic_machine=i686-pc
                    381:                                basic_os=mingw32
                    382:                                ;;
                    383:                        mingw32ce)
                    384:                                basic_machine=arm-unknown
                    385:                                basic_os=mingw32ce
                    386:                                ;;
                    387:                        monitor)
                    388:                                basic_machine=m68k-rom68k
                    389:                                basic_os=coff
                    390:                                ;;
                    391:                        morphos)
                    392:                                basic_machine=powerpc-unknown
                    393:                                basic_os=morphos
                    394:                                ;;
                    395:                        moxiebox)
                    396:                                basic_machine=moxie-unknown
                    397:                                basic_os=moxiebox
                    398:                                ;;
                    399:                        msdos)
                    400:                                basic_machine=i386-pc
                    401:                                basic_os=msdos
                    402:                                ;;
                    403:                        msys)
                    404:                                basic_machine=i686-pc
                    405:                                basic_os=msys
                    406:                                ;;
                    407:                        mvs)
                    408:                                basic_machine=i370-ibm
                    409:                                basic_os=mvs
                    410:                                ;;
                    411:                        nacl)
                    412:                                basic_machine=le32-unknown
                    413:                                basic_os=nacl
                    414:                                ;;
                    415:                        ncr3000)
                    416:                                basic_machine=i486-ncr
                    417:                                basic_os=sysv4
                    418:                                ;;
                    419:                        netbsd386)
                    420:                                basic_machine=i386-pc
                    421:                                basic_os=netbsd
                    422:                                ;;
                    423:                        netwinder)
                    424:                                basic_machine=armv4l-rebel
                    425:                                basic_os=linux
                    426:                                ;;
                    427:                        news | news700 | news800 | news900)
                    428:                                basic_machine=m68k-sony
                    429:                                basic_os=newsos
                    430:                                ;;
                    431:                        news1000)
                    432:                                basic_machine=m68030-sony
                    433:                                basic_os=newsos
                    434:                                ;;
                    435:                        necv70)
                    436:                                basic_machine=v70-nec
                    437:                                basic_os=sysv
                    438:                                ;;
                    439:                        nh3000)
                    440:                                basic_machine=m68k-harris
                    441:                                basic_os=cxux
                    442:                                ;;
                    443:                        nh[45]000)
                    444:                                basic_machine=m88k-harris
                    445:                                basic_os=cxux
                    446:                                ;;
                    447:                        nindy960)
                    448:                                basic_machine=i960-intel
                    449:                                basic_os=nindy
                    450:                                ;;
                    451:                        mon960)
                    452:                                basic_machine=i960-intel
                    453:                                basic_os=mon960
                    454:                                ;;
                    455:                        nonstopux)
                    456:                                basic_machine=mips-compaq
                    457:                                basic_os=nonstopux
                    458:                                ;;
                    459:                        os400)
                    460:                                basic_machine=powerpc-ibm
                    461:                                basic_os=os400
                    462:                                ;;
                    463:                        OSE68000 | ose68000)
                    464:                                basic_machine=m68000-ericsson
                    465:                                basic_os=ose
                    466:                                ;;
                    467:                        os68k)
                    468:                                basic_machine=m68k-none
                    469:                                basic_os=os68k
                    470:                                ;;
                    471:                        paragon)
                    472:                                basic_machine=i860-intel
                    473:                                basic_os=osf
                    474:                                ;;
                    475:                        parisc)
                    476:                                basic_machine=hppa-unknown
                    477:                                basic_os=linux
                    478:                                ;;
                    479:                        psp)
                    480:                                basic_machine=mipsallegrexel-sony
                    481:                                basic_os=psp
                    482:                                ;;
                    483:                        pw32)
                    484:                                basic_machine=i586-unknown
                    485:                                basic_os=pw32
                    486:                                ;;
                    487:                        rdos | rdos64)
                    488:                                basic_machine=x86_64-pc
                    489:                                basic_os=rdos
                    490:                                ;;
                    491:                        rdos32)
                    492:                                basic_machine=i386-pc
                    493:                                basic_os=rdos
                    494:                                ;;
                    495:                        rom68k)
                    496:                                basic_machine=m68k-rom68k
                    497:                                basic_os=coff
                    498:                                ;;
                    499:                        sa29200)
                    500:                                basic_machine=a29k-amd
                    501:                                basic_os=udi
                    502:                                ;;
                    503:                        sei)
                    504:                                basic_machine=mips-sei
                    505:                                basic_os=seiux
                    506:                                ;;
                    507:                        sequent)
                    508:                                basic_machine=i386-sequent
                    509:                                basic_os=
                    510:                                ;;
                    511:                        sps7)
                    512:                                basic_machine=m68k-bull
                    513:                                basic_os=sysv2
                    514:                                ;;
                    515:                        st2000)
                    516:                                basic_machine=m68k-tandem
                    517:                                basic_os=
                    518:                                ;;
                    519:                        stratus)
                    520:                                basic_machine=i860-stratus
                    521:                                basic_os=sysv4
                    522:                                ;;
                    523:                        sun2)
                    524:                                basic_machine=m68000-sun
                    525:                                basic_os=
                    526:                                ;;
                    527:                        sun2os3)
                    528:                                basic_machine=m68000-sun
                    529:                                basic_os=sunos3
                    530:                                ;;
                    531:                        sun2os4)
                    532:                                basic_machine=m68000-sun
                    533:                                basic_os=sunos4
                    534:                                ;;
                    535:                        sun3)
                    536:                                basic_machine=m68k-sun
                    537:                                basic_os=
                    538:                                ;;
                    539:                        sun3os3)
                    540:                                basic_machine=m68k-sun
                    541:                                basic_os=sunos3
                    542:                                ;;
                    543:                        sun3os4)
                    544:                                basic_machine=m68k-sun
                    545:                                basic_os=sunos4
                    546:                                ;;
                    547:                        sun4)
                    548:                                basic_machine=sparc-sun
                    549:                                basic_os=
                    550:                                ;;
                    551:                        sun4os3)
                    552:                                basic_machine=sparc-sun
                    553:                                basic_os=sunos3
                    554:                                ;;
                    555:                        sun4os4)
                    556:                                basic_machine=sparc-sun
                    557:                                basic_os=sunos4
                    558:                                ;;
                    559:                        sun4sol2)
                    560:                                basic_machine=sparc-sun
                    561:                                basic_os=solaris2
                    562:                                ;;
                    563:                        sun386 | sun386i | roadrunner)
                    564:                                basic_machine=i386-sun
                    565:                                basic_os=
                    566:                                ;;
                    567:                        sv1)
                    568:                                basic_machine=sv1-cray
                    569:                                basic_os=unicos
                    570:                                ;;
                    571:                        symmetry)
                    572:                                basic_machine=i386-sequent
                    573:                                basic_os=dynix
                    574:                                ;;
                    575:                        t3e)
                    576:                                basic_machine=alphaev5-cray
                    577:                                basic_os=unicos
                    578:                                ;;
                    579:                        t90)
                    580:                                basic_machine=t90-cray
                    581:                                basic_os=unicos
                    582:                                ;;
                    583:                        toad1)
                    584:                                basic_machine=pdp10-xkl
                    585:                                basic_os=tops20
                    586:                                ;;
                    587:                        tpf)
                    588:                                basic_machine=s390x-ibm
                    589:                                basic_os=tpf
                    590:                                ;;
                    591:                        udi29k)
                    592:                                basic_machine=a29k-amd
                    593:                                basic_os=udi
                    594:                                ;;
                    595:                        ultra3)
                    596:                                basic_machine=a29k-nyu
                    597:                                basic_os=sym1
                    598:                                ;;
                    599:                        v810 | necv810)
                    600:                                basic_machine=v810-nec
                    601:                                basic_os=none
                    602:                                ;;
                    603:                        vaxv)
                    604:                                basic_machine=vax-dec
                    605:                                basic_os=sysv
                    606:                                ;;
                    607:                        vms)
                    608:                                basic_machine=vax-dec
                    609:                                basic_os=vms
                    610:                                ;;
                    611:                        vsta)
                    612:                                basic_machine=i386-pc
                    613:                                basic_os=vsta
                    614:                                ;;
                    615:                        vxworks960)
                    616:                                basic_machine=i960-wrs
                    617:                                basic_os=vxworks
                    618:                                ;;
                    619:                        vxworks68)
                    620:                                basic_machine=m68k-wrs
                    621:                                basic_os=vxworks
                    622:                                ;;
                    623:                        vxworks29k)
                    624:                                basic_machine=a29k-wrs
                    625:                                basic_os=vxworks
                    626:                                ;;
                    627:                        xbox)
                    628:                                basic_machine=i686-pc
                    629:                                basic_os=mingw32
                    630:                                ;;
                    631:                        ymp)
                    632:                                basic_machine=ymp-cray
                    633:                                basic_os=unicos
                    634:                                ;;
                    635:                        *)
                    636:                                basic_machine=$1
                    637:                                basic_os=
                    638:                                ;;
                    639:                esac
                    640:                ;;
                    641: esac
                    642:
                    643: # Decode 1-component or ad-hoc basic machines
                    644: case $basic_machine in
                    645:        # Here we handle the default manufacturer of certain CPU types.  It is in
                    646:        # some cases the only manufacturer, in others, it is the most popular.
                    647:        w89k)
                    648:                cpu=hppa1.1
                    649:                vendor=winbond
                    650:                ;;
                    651:        op50n)
                    652:                cpu=hppa1.1
                    653:                vendor=oki
                    654:                ;;
                    655:        op60c)
                    656:                cpu=hppa1.1
                    657:                vendor=oki
                    658:                ;;
                    659:        ibm*)
                    660:                cpu=i370
                    661:                vendor=ibm
                    662:                ;;
                    663:        orion105)
                    664:                cpu=clipper
                    665:                vendor=highlevel
                    666:                ;;
                    667:        mac | mpw | mac-mpw)
                    668:                cpu=m68k
                    669:                vendor=apple
                    670:                ;;
                    671:        pmac | pmac-mpw)
                    672:                cpu=powerpc
                    673:                vendor=apple
                    674:                ;;
                    675:
                    676:        # Recognize the various machine names and aliases which stand
                    677:        # for a CPU type and a company and sometimes even an OS.
                    678:        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
                    679:                cpu=m68000
                    680:                vendor=att
                    681:                ;;
                    682:        3b*)
                    683:                cpu=we32k
                    684:                vendor=att
                    685:                ;;
                    686:        bluegene*)
                    687:                cpu=powerpc
                    688:                vendor=ibm
                    689:                basic_os=cnk
                    690:                ;;
                    691:        decsystem10* | dec10*)
                    692:                cpu=pdp10
                    693:                vendor=dec
                    694:                basic_os=tops10
                    695:                ;;
                    696:        decsystem20* | dec20*)
                    697:                cpu=pdp10
                    698:                vendor=dec
                    699:                basic_os=tops20
                    700:                ;;
                    701:        delta | 3300 | motorola-3300 | motorola-delta \
                    702:              | 3300-motorola | delta-motorola)
                    703:                cpu=m68k
                    704:                vendor=motorola
                    705:                ;;
                    706:        dpx2*)
                    707:                cpu=m68k
                    708:                vendor=bull
                    709:                basic_os=sysv3
                    710:                ;;
                    711:        encore | umax | mmax)
                    712:                cpu=ns32k
                    713:                vendor=encore
                    714:                ;;
                    715:        elxsi)
                    716:                cpu=elxsi
                    717:                vendor=elxsi
                    718:                basic_os=${basic_os:-bsd}
                    719:                ;;
                    720:        fx2800)
                    721:                cpu=i860
                    722:                vendor=alliant
                    723:                ;;
                    724:        genix)
                    725:                cpu=ns32k
                    726:                vendor=ns
                    727:                ;;
                    728:        h3050r* | hiux*)
                    729:                cpu=hppa1.1
                    730:                vendor=hitachi
                    731:                basic_os=hiuxwe2
                    732:                ;;
                    733:        hp3k9[0-9][0-9] | hp9[0-9][0-9])
                    734:                cpu=hppa1.0
                    735:                vendor=hp
                    736:                ;;
                    737:        hp9k2[0-9][0-9] | hp9k31[0-9])
                    738:                cpu=m68000
                    739:                vendor=hp
                    740:                ;;
                    741:        hp9k3[2-9][0-9])
                    742:                cpu=m68k
                    743:                vendor=hp
                    744:                ;;
                    745:        hp9k6[0-9][0-9] | hp6[0-9][0-9])
                    746:                cpu=hppa1.0
                    747:                vendor=hp
                    748:                ;;
                    749:        hp9k7[0-79][0-9] | hp7[0-79][0-9])
                    750:                cpu=hppa1.1
                    751:                vendor=hp
                    752:                ;;
                    753:        hp9k78[0-9] | hp78[0-9])
                    754:                # FIXME: really hppa2.0-hp
                    755:                cpu=hppa1.1
                    756:                vendor=hp
                    757:                ;;
                    758:        hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
                    759:                # FIXME: really hppa2.0-hp
                    760:                cpu=hppa1.1
                    761:                vendor=hp
                    762:                ;;
                    763:        hp9k8[0-9][13679] | hp8[0-9][13679])
                    764:                cpu=hppa1.1
                    765:                vendor=hp
                    766:                ;;
                    767:        hp9k8[0-9][0-9] | hp8[0-9][0-9])
                    768:                cpu=hppa1.0
                    769:                vendor=hp
                    770:                ;;
                    771:        i*86v32)
                    772:                cpu=$(echo "$1" | sed -e 's/86.*/86/')
                    773:                vendor=pc
                    774:                basic_os=sysv32
                    775:                ;;
                    776:        i*86v4*)
                    777:                cpu=$(echo "$1" | sed -e 's/86.*/86/')
                    778:                vendor=pc
                    779:                basic_os=sysv4
                    780:                ;;
                    781:        i*86v)
                    782:                cpu=$(echo "$1" | sed -e 's/86.*/86/')
                    783:                vendor=pc
                    784:                basic_os=sysv
                    785:                ;;
                    786:        i*86sol2)
                    787:                cpu=$(echo "$1" | sed -e 's/86.*/86/')
                    788:                vendor=pc
                    789:                basic_os=solaris2
                    790:                ;;
                    791:        j90 | j90-cray)
                    792:                cpu=j90
                    793:                vendor=cray
                    794:                basic_os=${basic_os:-unicos}
                    795:                ;;
                    796:        iris | iris4d)
                    797:                cpu=mips
                    798:                vendor=sgi
                    799:                case $basic_os in
                    800:                    irix*)
                    801:                        ;;
                    802:                    *)
                    803:                        basic_os=irix4
                    804:                        ;;
                    805:                esac
                    806:                ;;
                    807:        miniframe)
                    808:                cpu=m68000
                    809:                vendor=convergent
                    810:                ;;
                    811:        *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
                    812:                cpu=m68k
                    813:                vendor=atari
                    814:                basic_os=mint
                    815:                ;;
                    816:        news-3600 | risc-news)
                    817:                cpu=mips
                    818:                vendor=sony
                    819:                basic_os=newsos
                    820:                ;;
                    821:        next | m*-next)
                    822:                cpu=m68k
                    823:                vendor=next
                    824:                case $basic_os in
                    825:                    openstep*)
                    826:                        ;;
                    827:                    nextstep*)
                    828:                        ;;
                    829:                    ns2*)
                    830:                      basic_os=nextstep2
                    831:                        ;;
                    832:                    *)
                    833:                      basic_os=nextstep3
                    834:                        ;;
                    835:                esac
                    836:                ;;
                    837:        np1)
                    838:                cpu=np1
                    839:                vendor=gould
                    840:                ;;
                    841:        op50n-* | op60c-*)
                    842:                cpu=hppa1.1
                    843:                vendor=oki
                    844:                basic_os=proelf
                    845:                ;;
                    846:        pa-hitachi)
                    847:                cpu=hppa1.1
                    848:                vendor=hitachi
                    849:                basic_os=hiuxwe2
                    850:                ;;
                    851:        pbd)
                    852:                cpu=sparc
                    853:                vendor=tti
                    854:                ;;
                    855:        pbb)
                    856:                cpu=m68k
                    857:                vendor=tti
                    858:                ;;
                    859:        pc532)
                    860:                cpu=ns32k
                    861:                vendor=pc532
                    862:                ;;
                    863:        pn)
                    864:                cpu=pn
                    865:                vendor=gould
                    866:                ;;
                    867:        power)
                    868:                cpu=power
                    869:                vendor=ibm
                    870:                ;;
                    871:        ps2)
                    872:                cpu=i386
                    873:                vendor=ibm
                    874:                ;;
                    875:        rm[46]00)
                    876:                cpu=mips
                    877:                vendor=siemens
                    878:                ;;
                    879:        rtpc | rtpc-*)
                    880:                cpu=romp
                    881:                vendor=ibm
                    882:                ;;
                    883:        sde)
                    884:                cpu=mipsisa32
                    885:                vendor=sde
                    886:                basic_os=${basic_os:-elf}
                    887:                ;;
                    888:        simso-wrs)
                    889:                cpu=sparclite
                    890:                vendor=wrs
                    891:                basic_os=vxworks
                    892:                ;;
                    893:        tower | tower-32)
                    894:                cpu=m68k
                    895:                vendor=ncr
                    896:                ;;
                    897:        vpp*|vx|vx-*)
                    898:                cpu=f301
                    899:                vendor=fujitsu
                    900:                ;;
                    901:        w65)
                    902:                cpu=w65
                    903:                vendor=wdc
                    904:                ;;
                    905:        w89k-*)
                    906:                cpu=hppa1.1
                    907:                vendor=winbond
                    908:                basic_os=proelf
                    909:                ;;
                    910:        none)
                    911:                cpu=none
                    912:                vendor=none
                    913:                ;;
                    914:        leon|leon[3-9])
                    915:                cpu=sparc
                    916:                vendor=$basic_machine
                    917:                ;;
                    918:        leon-*|leon[3-9]-*)
                    919:                cpu=sparc
                    920:                vendor=$(echo "$basic_machine" | sed 's/-.*//')
                    921:                ;;
                    922:
                    923:        *-*)
                    924:                # shellcheck disable=SC2162
                    925:                IFS="-" read cpu vendor <<EOF
                    926: $basic_machine
                    927: EOF
                    928:                ;;
                    929:        # We use `pc' rather than `unknown'
                    930:        # because (1) that's what they normally are, and
                    931:        # (2) the word "unknown" tends to confuse beginning users.
                    932:        i*86 | x86_64)
                    933:                cpu=$basic_machine
                    934:                vendor=pc
                    935:                ;;
                    936:        # These rules are duplicated from below for sake of the special case above;
                    937:        # i.e. things that normalized to x86 arches should also default to "pc"
                    938:        pc98)
                    939:                cpu=i386
                    940:                vendor=pc
                    941:                ;;
                    942:        x64 | amd64)
                    943:                cpu=x86_64
                    944:                vendor=pc
                    945:                ;;
                    946:        # Recognize the basic CPU types without company name.
                    947:        *)
                    948:                cpu=$basic_machine
                    949:                vendor=unknown
                    950:                ;;
                    951: esac
                    952:
                    953: unset -v basic_machine
                    954:
                    955: # Decode basic machines in the full and proper CPU-Company form.
                    956: case $cpu-$vendor in
                    957:        # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
                    958:        # some cases the only manufacturer, in others, it is the most popular.
                    959:        craynv-unknown)
                    960:                vendor=cray
                    961:                basic_os=${basic_os:-unicosmp}
                    962:                ;;
                    963:        c90-unknown | c90-cray)
                    964:                vendor=cray
                    965:                basic_os=${Basic_os:-unicos}
                    966:                ;;
                    967:        fx80-unknown)
                    968:                vendor=alliant
                    969:                ;;
                    970:        romp-unknown)
                    971:                vendor=ibm
                    972:                ;;
                    973:        mmix-unknown)
                    974:                vendor=knuth
                    975:                ;;
                    976:        microblaze-unknown | microblazeel-unknown)
                    977:                vendor=xilinx
                    978:                ;;
                    979:        rs6000-unknown)
                    980:                vendor=ibm
                    981:                ;;
                    982:        vax-unknown)
                    983:                vendor=dec
                    984:                ;;
                    985:        pdp11-unknown)
                    986:                vendor=dec
                    987:                ;;
                    988:        we32k-unknown)
                    989:                vendor=att
                    990:                ;;
                    991:        cydra-unknown)
                    992:                vendor=cydrome
                    993:                ;;
                    994:        i370-ibm*)
                    995:                vendor=ibm
                    996:                ;;
                    997:        orion-unknown)
                    998:                vendor=highlevel
                    999:                ;;
                   1000:        xps-unknown | xps100-unknown)
                   1001:                cpu=xps100
                   1002:                vendor=honeywell
                   1003:                ;;
                   1004:
                   1005:        # Here we normalize CPU types with a missing or matching vendor
                   1006:        dpx20-unknown | dpx20-bull)
                   1007:                cpu=rs6000
                   1008:                vendor=bull
                   1009:                basic_os=${basic_os:-bosx}
                   1010:                ;;
                   1011:
                   1012:        # Here we normalize CPU types irrespective of the vendor
                   1013:        amd64-*)
                   1014:                cpu=x86_64
                   1015:                ;;
                   1016:        blackfin-*)
                   1017:                cpu=bfin
                   1018:                basic_os=linux
                   1019:                ;;
                   1020:        c54x-*)
                   1021:                cpu=tic54x
                   1022:                ;;
                   1023:        c55x-*)
                   1024:                cpu=tic55x
                   1025:                ;;
                   1026:        c6x-*)
                   1027:                cpu=tic6x
                   1028:                ;;
                   1029:        e500v[12]-*)
                   1030:                cpu=powerpc
                   1031:                basic_os=${basic_os}"spe"
                   1032:                ;;
                   1033:        mips3*-*)
                   1034:                cpu=mips64
                   1035:                ;;
                   1036:        ms1-*)
                   1037:                cpu=mt
                   1038:                ;;
                   1039:        m68knommu-*)
                   1040:                cpu=m68k
                   1041:                basic_os=linux
                   1042:                ;;
                   1043:        m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
                   1044:                cpu=s12z
                   1045:                ;;
                   1046:        openrisc-*)
                   1047:                cpu=or32
                   1048:                ;;
                   1049:        parisc-*)
                   1050:                cpu=hppa
                   1051:                basic_os=linux
                   1052:                ;;
                   1053:        pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
                   1054:                cpu=i586
                   1055:                ;;
                   1056:        pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
                   1057:                cpu=i686
                   1058:                ;;
                   1059:        pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
                   1060:                cpu=i686
                   1061:                ;;
                   1062:        pentium4-*)
                   1063:                cpu=i786
                   1064:                ;;
                   1065:        pc98-*)
                   1066:                cpu=i386
                   1067:                ;;
                   1068:        ppc-* | ppcbe-*)
                   1069:                cpu=powerpc
                   1070:                ;;
                   1071:        ppcle-* | powerpclittle-*)
                   1072:                cpu=powerpcle
                   1073:                ;;
                   1074:        ppc64-*)
                   1075:                cpu=powerpc64
                   1076:                ;;
                   1077:        ppc64le-* | powerpc64little-*)
                   1078:                cpu=powerpc64le
                   1079:                ;;
                   1080:        sb1-*)
                   1081:                cpu=mipsisa64sb1
                   1082:                ;;
                   1083:        sb1el-*)
                   1084:                cpu=mipsisa64sb1el
                   1085:                ;;
                   1086:        sh5e[lb]-*)
                   1087:                cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
                   1088:                ;;
                   1089:        spur-*)
                   1090:                cpu=spur
                   1091:                ;;
                   1092:        strongarm-* | thumb-*)
                   1093:                cpu=arm
                   1094:                ;;
                   1095:        tx39-*)
                   1096:                cpu=mipstx39
                   1097:                ;;
                   1098:        tx39el-*)
                   1099:                cpu=mipstx39el
                   1100:                ;;
                   1101:        x64-*)
                   1102:                cpu=x86_64
                   1103:                ;;
                   1104:        xscale-* | xscalee[bl]-*)
                   1105:                cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
                   1106:                ;;
                   1107:        arm64-*)
                   1108:                cpu=aarch64
                   1109:                ;;
                   1110:
                   1111:        # Recognize the canonical CPU Types that limit and/or modify the
                   1112:        # company names they are paired with.
                   1113:        cr16-*)
                   1114:                basic_os=${basic_os:-elf}
                   1115:                ;;
                   1116:        crisv32-* | etraxfs*-*)
                   1117:                cpu=crisv32
                   1118:                vendor=axis
                   1119:                ;;
                   1120:        cris-* | etrax*-*)
                   1121:                cpu=cris
                   1122:                vendor=axis
                   1123:                ;;
                   1124:        crx-*)
                   1125:                basic_os=${basic_os:-elf}
                   1126:                ;;
                   1127:        neo-tandem)
                   1128:                cpu=neo
                   1129:                vendor=tandem
                   1130:                ;;
                   1131:        nse-tandem)
                   1132:                cpu=nse
                   1133:                vendor=tandem
                   1134:                ;;
                   1135:        nsr-tandem)
                   1136:                cpu=nsr
                   1137:                vendor=tandem
                   1138:                ;;
                   1139:        nsv-tandem)
                   1140:                cpu=nsv
                   1141:                vendor=tandem
                   1142:                ;;
                   1143:        nsx-tandem)
                   1144:                cpu=nsx
                   1145:                vendor=tandem
                   1146:                ;;
                   1147:        mipsallegrexel-sony)
                   1148:                cpu=mipsallegrexel
                   1149:                vendor=sony
                   1150:                ;;
                   1151:        tile*-*)
                   1152:                basic_os=${basic_os:-linux-gnu}
                   1153:                ;;
                   1154:
                   1155:        *)
                   1156:                # Recognize the canonical CPU types that are allowed with any
                   1157:                # company name.
                   1158:                case $cpu in
                   1159:                        1750a | 580 \
                   1160:                        | a29k \
                   1161:                        | aarch64 | aarch64_be \
                   1162:                        | abacus \
                   1163:                        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
                   1164:                        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
                   1165:                        | alphapca5[67] | alpha64pca5[67] \
                   1166:                        | am33_2.0 \
                   1167:                        | amdgcn \
                   1168:                        | arc | arceb \
                   1169:                        | arm | arm[lb]e | arme[lb] | armv* \
                   1170:                        | avr | avr32 \
                   1171:                        | asmjs \
                   1172:                        | ba \
                   1173:                        | be32 | be64 \
                   1174:                        | bfin | bpf | bs2000 \
                   1175:                        | c[123]* | c30 | [cjt]90 | c4x \
                   1176:                        | c8051 | clipper | craynv | csky | cydra \
                   1177:                        | d10v | d30v | dlx | dsp16xx \
                   1178:                        | e2k | elxsi | epiphany \
                   1179:                        | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
                   1180:                        | h8300 | h8500 \
                   1181:                        | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
                   1182:                        | hexagon \
                   1183:                        | i370 | i*86 | i860 | i960 | ia16 | ia64 \
                   1184:                        | ip2k | iq2000 \
                   1185:                        | k1om \
                   1186:                        | le32 | le64 \
                   1187:                        | lm32 \
                   1188:                        | loongarch32 | loongarch64 | loongarchx32 \
                   1189:                        | m32c | m32r | m32rle \
                   1190:                        | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
                   1191:                        | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
                   1192:                        | m88110 | m88k | maxq | mb | mcore | mep | metag \
                   1193:                        | microblaze | microblazeel \
                   1194:                        | mips | mipsbe | mipseb | mipsel | mipsle \
                   1195:                        | mips16 \
                   1196:                        | mips64 | mips64eb | mips64el \
                   1197:                        | mips64octeon | mips64octeonel \
                   1198:                        | mips64orion | mips64orionel \
                   1199:                        | mips64r5900 | mips64r5900el \
                   1200:                        | mips64vr | mips64vrel \
                   1201:                        | mips64vr4100 | mips64vr4100el \
                   1202:                        | mips64vr4300 | mips64vr4300el \
                   1203:                        | mips64vr5000 | mips64vr5000el \
                   1204:                        | mips64vr5900 | mips64vr5900el \
                   1205:                        | mipsisa32 | mipsisa32el \
                   1206:                        | mipsisa32r2 | mipsisa32r2el \
                   1207:                        | mipsisa32r6 | mipsisa32r6el \
                   1208:                        | mipsisa64 | mipsisa64el \
                   1209:                        | mipsisa64r2 | mipsisa64r2el \
                   1210:                        | mipsisa64r6 | mipsisa64r6el \
                   1211:                        | mipsisa64sb1 | mipsisa64sb1el \
                   1212:                        | mipsisa64sr71k | mipsisa64sr71kel \
                   1213:                        | mipsr5900 | mipsr5900el \
                   1214:                        | mipstx39 | mipstx39el \
                   1215:                        | mmix \
                   1216:                        | mn10200 | mn10300 \
                   1217:                        | moxie \
                   1218:                        | mt \
                   1219:                        | msp430 \
                   1220:                        | nds32 | nds32le | nds32be \
                   1221:                        | nfp \
                   1222:                        | nios | nios2 | nios2eb | nios2el \
                   1223:                        | none | np1 | ns16k | ns32k | nvptx \
                   1224:                        | open8 \
                   1225:                        | or1k* \
                   1226:                        | or32 \
                   1227:                        | orion \
                   1228:                        | picochip \
                   1229:                        | pdp10 | pdp11 | pj | pjl | pn | power \
                   1230:                        | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
                   1231:                        | pru \
                   1232:                        | pyramid \
                   1233:                        | riscv | riscv32 | riscv64 \
                   1234:                        | rl78 | romp | rs6000 | rx \
                   1235:                        | s390 | s390x \
                   1236:                        | score \
                   1237:                        | sh | shl \
                   1238:                        | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
                   1239:                        | sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
                   1240:                        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
                   1241:                        | sparclite \
                   1242:                        | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
                   1243:                        | spu \
                   1244:                        | tahoe \
                   1245:                        | thumbv7* \
                   1246:                        | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
                   1247:                        | tron \
                   1248:                        | ubicom32 \
                   1249:                        | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
                   1250:                        | vax \
                   1251:                        | visium \
                   1252:                        | w65 \
                   1253:                        | wasm32 | wasm64 \
                   1254:                        | we32k \
                   1255:                        | x86 | x86_64 | xc16x | xgate | xps100 \
                   1256:                        | xstormy16 | xtensa* \
                   1257:                        | ymp \
                   1258:                        | z8k | z80)
                   1259:                                ;;
                   1260:
                   1261:                        *)
                   1262:                                echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
                   1263:                                exit 1
                   1264:                                ;;
                   1265:                esac
                   1266:                ;;
                   1267: esac
                   1268:
                   1269: # Here we canonicalize certain aliases for manufacturers.
                   1270: case $vendor in
                   1271:        digital*)
                   1272:                vendor=dec
                   1273:                ;;
                   1274:        commodore*)
                   1275:                vendor=cbm
                   1276:                ;;
                   1277:        *)
                   1278:                ;;
                   1279: esac
                   1280:
                   1281: # Decode manufacturer-specific aliases for certain operating systems.
                   1282:
                   1283: if test x$basic_os != x
                   1284: then
                   1285:
                   1286: # First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
                   1287: # set os.
                   1288: case $basic_os in
                   1289:        gnu/linux*)
                   1290:                kernel=linux
                   1291:                os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
                   1292:                ;;
                   1293:        os2-emx)
                   1294:                kernel=os2
                   1295:                os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
                   1296:                ;;
                   1297:        nto-qnx*)
                   1298:                kernel=nto
                   1299:                os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
                   1300:                ;;
                   1301:        *-*)
                   1302:                # shellcheck disable=SC2162
                   1303:                IFS="-" read kernel os <<EOF
                   1304: $basic_os
                   1305: EOF
                   1306:                ;;
                   1307:        # Default OS when just kernel was specified
                   1308:        nto*)
                   1309:                kernel=nto
                   1310:                os=$(echo $basic_os | sed -e 's|nto|qnx|')
                   1311:                ;;
                   1312:        linux*)
                   1313:                kernel=linux
                   1314:                os=$(echo $basic_os | sed -e 's|linux|gnu|')
                   1315:                ;;
                   1316:        *)
                   1317:                kernel=
                   1318:                os=$basic_os
                   1319:                ;;
                   1320: esac
                   1321:
                   1322: # Now, normalize the OS (knowing we just have one component, it's not a kernel,
                   1323: # etc.)
                   1324: case $os in
                   1325:        # First match some system type aliases that might get confused
                   1326:        # with valid system types.
                   1327:        # solaris* is a basic system type, with this one exception.
                   1328:        auroraux)
                   1329:                os=auroraux
                   1330:                ;;
                   1331:        bluegene*)
                   1332:                os=cnk
                   1333:                ;;
                   1334:        solaris1 | solaris1.*)
                   1335:                os=$(echo $os | sed -e 's|solaris1|sunos4|')
                   1336:                ;;
                   1337:        solaris)
                   1338:                os=solaris2
                   1339:                ;;
                   1340:        unixware*)
                   1341:                os=sysv4.2uw
                   1342:                ;;
                   1343:        # es1800 is here to avoid being matched by es* (a different OS)
                   1344:        es1800*)
                   1345:                os=ose
                   1346:                ;;
                   1347:        # Some version numbers need modification
                   1348:        chorusos*)
                   1349:                os=chorusos
                   1350:                ;;
                   1351:        isc)
                   1352:                os=isc2.2
                   1353:                ;;
                   1354:        sco6)
                   1355:                os=sco5v6
                   1356:                ;;
                   1357:        sco5)
                   1358:                os=sco3.2v5
                   1359:                ;;
                   1360:        sco4)
                   1361:                os=sco3.2v4
                   1362:                ;;
                   1363:        sco3.2.[4-9]*)
                   1364:                os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
                   1365:                ;;
                   1366:        sco*v* | scout)
                   1367:                # Don't match below
                   1368:                ;;
                   1369:        sco*)
                   1370:                os=sco3.2v2
                   1371:                ;;
                   1372:        psos*)
                   1373:                os=psos
                   1374:                ;;
                   1375:        qnx*)
                   1376:                os=qnx
                   1377:                ;;
                   1378:        hiux*)
                   1379:                os=hiuxwe2
                   1380:                ;;
                   1381:        lynx*178)
                   1382:                os=lynxos178
                   1383:                ;;
                   1384:        lynx*5)
                   1385:                os=lynxos5
                   1386:                ;;
                   1387:        lynxos*)
                   1388:                # don't get caught up in next wildcard
                   1389:                ;;
                   1390:        lynx*)
                   1391:                os=lynxos
                   1392:                ;;
                   1393:        mac[0-9]*)
                   1394:                os=$(echo "$os" | sed -e 's|mac|macos|')
                   1395:                ;;
                   1396:        opened*)
                   1397:                os=openedition
                   1398:                ;;
                   1399:        os400*)
                   1400:                os=os400
                   1401:                ;;
                   1402:        sunos5*)
                   1403:                os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
                   1404:                ;;
                   1405:        sunos6*)
                   1406:                os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
                   1407:                ;;
                   1408:        wince*)
                   1409:                os=wince
                   1410:                ;;
                   1411:        utek*)
                   1412:                os=bsd
                   1413:                ;;
                   1414:        dynix*)
                   1415:                os=bsd
                   1416:                ;;
                   1417:        acis*)
                   1418:                os=aos
                   1419:                ;;
                   1420:        atheos*)
                   1421:                os=atheos
                   1422:                ;;
                   1423:        syllable*)
                   1424:                os=syllable
                   1425:                ;;
                   1426:        386bsd)
                   1427:                os=bsd
                   1428:                ;;
                   1429:        ctix* | uts*)
                   1430:                os=sysv
                   1431:                ;;
                   1432:        nova*)
                   1433:                os=rtmk-nova
                   1434:                ;;
                   1435:        ns2)
                   1436:                os=nextstep2
                   1437:                ;;
                   1438:        # Preserve the version number of sinix5.
                   1439:        sinix5.*)
                   1440:                os=$(echo $os | sed -e 's|sinix|sysv|')
                   1441:                ;;
                   1442:        sinix*)
                   1443:                os=sysv4
                   1444:                ;;
                   1445:        tpf*)
                   1446:                os=tpf
                   1447:                ;;
                   1448:        triton*)
                   1449:                os=sysv3
                   1450:                ;;
                   1451:        oss*)
                   1452:                os=sysv3
                   1453:                ;;
                   1454:        svr4*)
                   1455:                os=sysv4
                   1456:                ;;
                   1457:        svr3)
                   1458:                os=sysv3
                   1459:                ;;
                   1460:        sysvr4)
                   1461:                os=sysv4
                   1462:                ;;
                   1463:        ose*)
                   1464:                os=ose
                   1465:                ;;
                   1466:        *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
                   1467:                os=mint
                   1468:                ;;
                   1469:        dicos*)
                   1470:                os=dicos
                   1471:                ;;
                   1472:        pikeos*)
                   1473:                # Until real need of OS specific support for
                   1474:                # particular features comes up, bare metal
                   1475:                # configurations are quite functional.
                   1476:                case $cpu in
                   1477:                    arm*)
                   1478:                        os=eabi
                   1479:                        ;;
                   1480:                    *)
                   1481:                        os=elf
                   1482:                        ;;
                   1483:                esac
                   1484:                ;;
                   1485:        *)
                   1486:                # No normalization, but not necessarily accepted, that comes below.
                   1487:                ;;
                   1488: esac
                   1489:
                   1490: else
                   1491:
                   1492: # Here we handle the default operating systems that come with various machines.
                   1493: # The value should be what the vendor currently ships out the door with their
                   1494: # machine or put another way, the most popular os provided with the machine.
                   1495:
                   1496: # Note that if you're going to try to match "-MANUFACTURER" here (say,
                   1497: # "-sun"), then you have to tell the case statement up towards the top
                   1498: # that MANUFACTURER isn't an operating system.  Otherwise, code above
                   1499: # will signal an error saying that MANUFACTURER isn't an operating
                   1500: # system, and we'll never get to this point.
                   1501:
                   1502: kernel=
                   1503: case $cpu-$vendor in
                   1504:        score-*)
                   1505:                os=elf
                   1506:                ;;
                   1507:        spu-*)
                   1508:                os=elf
                   1509:                ;;
                   1510:        *-acorn)
                   1511:                os=riscix1.2
                   1512:                ;;
                   1513:        arm*-rebel)
                   1514:                kernel=linux
                   1515:                os=gnu
                   1516:                ;;
                   1517:        arm*-semi)
                   1518:                os=aout
                   1519:                ;;
                   1520:        c4x-* | tic4x-*)
                   1521:                os=coff
                   1522:                ;;
                   1523:        c8051-*)
                   1524:                os=elf
                   1525:                ;;
                   1526:        clipper-intergraph)
                   1527:                os=clix
                   1528:                ;;
                   1529:        hexagon-*)
                   1530:                os=elf
                   1531:                ;;
                   1532:        tic54x-*)
                   1533:                os=coff
                   1534:                ;;
                   1535:        tic55x-*)
                   1536:                os=coff
                   1537:                ;;
                   1538:        tic6x-*)
                   1539:                os=coff
                   1540:                ;;
                   1541:        # This must come before the *-dec entry.
                   1542:        pdp10-*)
                   1543:                os=tops20
                   1544:                ;;
                   1545:        pdp11-*)
                   1546:                os=none
                   1547:                ;;
                   1548:        *-dec | vax-*)
                   1549:                os=ultrix4.2
                   1550:                ;;
                   1551:        m68*-apollo)
                   1552:                os=domain
                   1553:                ;;
                   1554:        i386-sun)
                   1555:                os=sunos4.0.2
                   1556:                ;;
                   1557:        m68000-sun)
                   1558:                os=sunos3
                   1559:                ;;
                   1560:        m68*-cisco)
                   1561:                os=aout
                   1562:                ;;
                   1563:        mep-*)
                   1564:                os=elf
                   1565:                ;;
                   1566:        mips*-cisco)
                   1567:                os=elf
                   1568:                ;;
                   1569:        mips*-*)
                   1570:                os=elf
                   1571:                ;;
                   1572:        or32-*)
                   1573:                os=coff
                   1574:                ;;
                   1575:        *-tti)  # must be before sparc entry or we get the wrong os.
                   1576:                os=sysv3
                   1577:                ;;
                   1578:        sparc-* | *-sun)
                   1579:                os=sunos4.1.1
                   1580:                ;;
                   1581:        pru-*)
                   1582:                os=elf
                   1583:                ;;
                   1584:        *-be)
                   1585:                os=beos
                   1586:                ;;
                   1587:        *-ibm)
                   1588:                os=aix
                   1589:                ;;
                   1590:        *-knuth)
                   1591:                os=mmixware
                   1592:                ;;
                   1593:        *-wec)
                   1594:                os=proelf
                   1595:                ;;
                   1596:        *-winbond)
                   1597:                os=proelf
                   1598:                ;;
                   1599:        *-oki)
                   1600:                os=proelf
                   1601:                ;;
                   1602:        *-hp)
                   1603:                os=hpux
                   1604:                ;;
                   1605:        *-hitachi)
                   1606:                os=hiux
                   1607:                ;;
                   1608:        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
                   1609:                os=sysv
                   1610:                ;;
                   1611:        *-cbm)
                   1612:                os=amigaos
                   1613:                ;;
                   1614:        *-dg)
                   1615:                os=dgux
                   1616:                ;;
                   1617:        *-dolphin)
                   1618:                os=sysv3
                   1619:                ;;
                   1620:        m68k-ccur)
                   1621:                os=rtu
                   1622:                ;;
                   1623:        m88k-omron*)
                   1624:                os=luna
                   1625:                ;;
                   1626:        *-next)
                   1627:                os=nextstep
                   1628:                ;;
                   1629:        *-sequent)
                   1630:                os=ptx
                   1631:                ;;
                   1632:        *-crds)
                   1633:                os=unos
                   1634:                ;;
                   1635:        *-ns)
                   1636:                os=genix
                   1637:                ;;
                   1638:        i370-*)
                   1639:                os=mvs
                   1640:                ;;
                   1641:        *-gould)
                   1642:                os=sysv
                   1643:                ;;
                   1644:        *-highlevel)
                   1645:                os=bsd
                   1646:                ;;
                   1647:        *-encore)
                   1648:                os=bsd
                   1649:                ;;
                   1650:        *-sgi)
                   1651:                os=irix
                   1652:                ;;
                   1653:        *-siemens)
                   1654:                os=sysv4
                   1655:                ;;
                   1656:        *-masscomp)
                   1657:                os=rtu
                   1658:                ;;
                   1659:        f30[01]-fujitsu | f700-fujitsu)
                   1660:                os=uxpv
                   1661:                ;;
                   1662:        *-rom68k)
                   1663:                os=coff
                   1664:                ;;
                   1665:        *-*bug)
                   1666:                os=coff
                   1667:                ;;
                   1668:        *-apple)
                   1669:                os=macos
                   1670:                ;;
                   1671:        *-atari*)
                   1672:                os=mint
                   1673:                ;;
                   1674:        *-wrs)
                   1675:                os=vxworks
                   1676:                ;;
                   1677:        *)
                   1678:                os=none
                   1679:                ;;
                   1680: esac
                   1681:
                   1682: fi
                   1683:
                   1684: # Now, validate our (potentially fixed-up) OS.
                   1685: case $os in
                   1686:        # Sometimes we do "kernel-abi", so those need to count as OSes.
                   1687:        musl* | newlib* | uclibc*)
                   1688:                ;;
                   1689:        # Likewise for "kernel-libc"
                   1690:        eabi | eabihf | gnueabi | gnueabihf)
                   1691:                ;;
                   1692:        # Now accept the basic system types.
                   1693:        # The portable systems comes first.
                   1694:        # Each alternative MUST end in a * to match a version number.
                   1695:        gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
                   1696:             | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
                   1697:             | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
                   1698:             | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \
                   1699:             | hiux* | abug | nacl* | netware* | windows* \
                   1700:             | os9* | macos* | osx* | ios* \
                   1701:             | mpw* | magic* | mmixware* | mon960* | lnews* \
                   1702:             | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
                   1703:             | aos* | aros* | cloudabi* | sortix* | twizzler* \
                   1704:             | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
                   1705:             | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
                   1706:             | mirbsd* | netbsd* | dicos* | openedition* | ose* \
                   1707:             | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
                   1708:             | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
                   1709:             | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
                   1710:             | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
                   1711:             | udi* | lites* | ieee* | go32* | aux* | hcos* \
                   1712:             | chorusrdb* | cegcc* | glidix* \
                   1713:             | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
                   1714:             | midipix* | mingw32* | mingw64* | mint* \
                   1715:             | uxpv* | beos* | mpeix* | udk* | moxiebox* \
                   1716:             | interix* | uwin* | mks* | rhapsody* | darwin* \
                   1717:             | openstep* | oskit* | conix* | pw32* | nonstopux* \
                   1718:             | storm-chaos* | tops10* | tenex* | tops20* | its* \
                   1719:             | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
                   1720:             | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
                   1721:             | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
                   1722:             | skyos* | haiku* | rdos* | toppers* | drops* | es* \
                   1723:             | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
                   1724:             | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
                   1725:             | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
                   1726:                ;;
                   1727:        # This one is extra strict with allowed versions
                   1728:        sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
                   1729:                # Don't forget version if it is 3.2v4 or newer.
                   1730:                ;;
                   1731:        none)
                   1732:                ;;
                   1733:        *)
                   1734:                echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
                   1735:                exit 1
                   1736:                ;;
                   1737: esac
                   1738:
                   1739: # As a final step for OS-related things, validate the OS-kernel combination
                   1740: # (given a valid OS), if there is a kernel.
                   1741: case $kernel-$os in
                   1742:        linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
                   1743:                ;;
                   1744:        uclinux-uclibc* )
                   1745:                ;;
                   1746:        -dietlibc* | -newlib* | -musl* | -uclibc* )
                   1747:                # These are just libc implementations, not actual OSes, and thus
                   1748:                # require a kernel.
                   1749:                echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
                   1750:                exit 1
                   1751:                ;;
                   1752:        kfreebsd*-gnu* | kopensolaris*-gnu*)
                   1753:                ;;
                   1754:        nto-qnx*)
                   1755:                ;;
                   1756:        os2-emx)
                   1757:                ;;
                   1758:        *-eabi* | *-gnueabi*)
                   1759:                ;;
                   1760:        -*)
                   1761:                # Blank kernel with real OS is always fine.
                   1762:                ;;
                   1763:        *-*)
                   1764:                echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
                   1765:                exit 1
                   1766:                ;;
                   1767: esac
                   1768:
                   1769: # Here we handle the case where we know the os, and the CPU type, but not the
                   1770: # manufacturer.  We pick the logical manufacturer.
                   1771: case $vendor in
                   1772:        unknown)
                   1773:                case $cpu-$os in
                   1774:                        *-riscix*)
                   1775:                                vendor=acorn
                   1776:                                ;;
                   1777:                        *-sunos*)
                   1778:                                vendor=sun
                   1779:                                ;;
                   1780:                        *-cnk* | *-aix*)
                   1781:                                vendor=ibm
                   1782:                                ;;
                   1783:                        *-beos*)
                   1784:                                vendor=be
                   1785:                                ;;
                   1786:                        *-hpux*)
                   1787:                                vendor=hp
                   1788:                                ;;
                   1789:                        *-mpeix*)
                   1790:                                vendor=hp
                   1791:                                ;;
                   1792:                        *-hiux*)
                   1793:                                vendor=hitachi
                   1794:                                ;;
                   1795:                        *-unos*)
                   1796:                                vendor=crds
                   1797:                                ;;
                   1798:                        *-dgux*)
                   1799:                                vendor=dg
                   1800:                                ;;
                   1801:                        *-luna*)
                   1802:                                vendor=omron
                   1803:                                ;;
                   1804:                        *-genix*)
                   1805:                                vendor=ns
                   1806:                                ;;
                   1807:                        *-clix*)
                   1808:                                vendor=intergraph
                   1809:                                ;;
                   1810:                        *-mvs* | *-opened*)
                   1811:                                vendor=ibm
                   1812:                                ;;
                   1813:                        *-os400*)
                   1814:                                vendor=ibm
                   1815:                                ;;
                   1816:                        s390-* | s390x-*)
                   1817:                                vendor=ibm
                   1818:                                ;;
                   1819:                        *-ptx*)
                   1820:                                vendor=sequent
                   1821:                                ;;
                   1822:                        *-tpf*)
                   1823:                                vendor=ibm
                   1824:                                ;;
                   1825:                        *-vxsim* | *-vxworks* | *-windiss*)
                   1826:                                vendor=wrs
                   1827:                                ;;
                   1828:                        *-aux*)
                   1829:                                vendor=apple
                   1830:                                ;;
                   1831:                        *-hms*)
                   1832:                                vendor=hitachi
                   1833:                                ;;
                   1834:                        *-mpw* | *-macos*)
                   1835:                                vendor=apple
                   1836:                                ;;
                   1837:                        *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
                   1838:                                vendor=atari
                   1839:                                ;;
                   1840:                        *-vos*)
                   1841:                                vendor=stratus
                   1842:                                ;;
                   1843:                esac
                   1844:                ;;
                   1845: esac
                   1846:
                   1847: echo "$cpu-$vendor-${kernel:+$kernel-}$os"
                   1848: exit
                   1849:
                   1850: # Local variables:
                   1851: # eval: (add-hook 'before-save-hook 'time-stamp)
                   1852: # time-stamp-start: "timestamp='"
                   1853: # time-stamp-format: "%:y-%02m-%02d"
                   1854: # time-stamp-end: "'"
                   1855: # End:

CVSweb