scripts/config.sub
author Zhenqiang Chen <zhenqiang.chen@linaro.org>
Mon Dec 30 23:15:02 2013 +0100 (2013-12-30)
changeset 3261 3b61be3d7aa6
parent 3156 006736cdb4e5
child 3304 cdfeee4fbcfe
permissions -rwxr-xr-x
kernel/linux: prepare for arch whose kenel name is not the standard name

For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

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