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