"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.3/config.sub" (16 Dec 2018, 31461 Bytes) of package /linux/misc/tin-2.4.3.tar.xz:


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. 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.4.2_vs_2.4.3.

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