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

Annotation of ircnowd/config.sub, Revision 1.1

1.1     ! bountyht    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