scripts/config.sub
author Zhenqiang Chen <zhenqiang.chen@linaro.org>
Fri Nov 18 15:29:18 2011 +0800 (2011-11-18)
changeset 2778 986e1c75432a
parent 2538 b926c87d9339
child 2811 d74b5845f328
permissions -rwxr-xr-x
config/toolchain: Add "Enable nls" in "Toolchain options".

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