"Fossies" - the Fresh Open Source Software Archive

Member "libgd-2.3.2/config/config.sub" (5 Mar 2021, 31923 Bytes) of package /linux/www/libgd-2.3.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "config.sub": 2.3.1_vs_2.3.2.

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