Changeset 583 for trunk/config.sub


Ignore:
Timestamp:
Nov 13, 2024, 2:47:31 PM (33 hours ago)
Author:
katerina
Message:

Fix for ticket #471 (autoreconf throws warnings/errors).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/config.sub

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