scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 15 21:42:28 2011 +0200 (2011-08-15)
changeset 2932 c1f65d6a9a13
parent 2811 d74b5845f328
child 2963 59cd7c65c347
permissions -rwxr-xr-x
cc/gcc: add language helper function

Add a function that prepares the language configure option.
It is needed in at least two places, some commonalisation is needed. ;-)

Unfortunately, it is no longer possible to print warnings about experimental
languages any more. Anyway, the experimental status is clearly indicated
in the menuconfig. so it should not be a surprise if the build breaks. :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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, 2012 Free Software Foundation, Inc.
     6 
     7 timestamp='2012-01-01'
     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, 2012
    80 Free 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 	| epiphany \
   259 	| fido | fr30 | frv \
   260 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
   261 	| hexagon \
   262 	| i370 | i860 | i960 | ia64 \
   263 	| ip2k | iq2000 \
   264 	| le32 | le64 \
   265 	| lm32 \
   266 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
   267 	| maxq | mb | microblaze | mcore | mep | metag \
   268 	| mips | mipsbe | mipseb | mipsel | mipsle \
   269 	| mips16 \
   270 	| mips64 | mips64el \
   271 	| mips64octeon | mips64octeonel \
   272 	| mips64orion | mips64orionel \
   273 	| mips64r5900 | mips64r5900el \
   274 	| mips64vr | mips64vrel \
   275 	| mips64vr4100 | mips64vr4100el \
   276 	| mips64vr4300 | mips64vr4300el \
   277 	| mips64vr5000 | mips64vr5000el \
   278 	| mips64vr5900 | mips64vr5900el \
   279 	| mipsisa32 | mipsisa32el \
   280 	| mipsisa32r2 | mipsisa32r2el \
   281 	| mipsisa64 | mipsisa64el \
   282 	| mipsisa64r2 | mipsisa64r2el \
   283 	| mipsisa64sb1 | mipsisa64sb1el \
   284 	| mipsisa64sr71k | mipsisa64sr71kel \
   285 	| mipstx39 | mipstx39el \
   286 	| mn10200 | mn10300 \
   287 	| moxie \
   288 	| mt \
   289 	| msp430 \
   290 	| nds32 | nds32le | nds32be \
   291 	| nios | nios2 \
   292 	| ns16k | ns32k \
   293 	| open8 \
   294 	| or32 \
   295 	| pdp10 | pdp11 | pj | pjl \
   296 	| powerpc | powerpc64 | powerpc64le | powerpcle \
   297 	| pyramid \
   298 	| rl78 | rx \
   299 	| score \
   300 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
   301 	| sh64 | sh64le \
   302 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
   303 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
   304 	| spu \
   305 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
   306 	| ubicom32 \
   307 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
   308 	| we32k \
   309 	| x86 | xc16x | xstormy16 | xtensa \
   310 	| z8k | z80)
   311 		basic_machine=$basic_machine-unknown
   312 		;;
   313 	c54x)
   314 		basic_machine=tic54x-unknown
   315 		;;
   316 	c55x)
   317 		basic_machine=tic55x-unknown
   318 		;;
   319 	c6x)
   320 		basic_machine=tic6x-unknown
   321 		;;
   322 	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
   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 	| rl78-* | 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*86v32)
   722 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   723 		os=-sysv32
   724 		;;
   725 	i*86v4*)
   726 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   727 		os=-sysv4
   728 		;;
   729 	i*86v)
   730 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   731 		os=-sysv
   732 		;;
   733 	i*86sol2)
   734 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   735 		os=-solaris2
   736 		;;
   737 	i386mach)
   738 		basic_machine=i386-mach
   739 		os=-mach
   740 		;;
   741 	i386-vsta | vsta)
   742 		basic_machine=i386-unknown
   743 		os=-vsta
   744 		;;
   745 	iris | iris4d)
   746 		basic_machine=mips-sgi
   747 		case $os in
   748 		    -irix*)
   749 			;;
   750 		    *)
   751 			os=-irix4
   752 			;;
   753 		esac
   754 		;;
   755 	isi68 | isi)
   756 		basic_machine=m68k-isi
   757 		os=-sysv
   758 		;;
   759 	m68knommu)
   760 		basic_machine=m68k-unknown
   761 		os=-linux
   762 		;;
   763 	m68knommu-*)
   764 		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
   765 		os=-linux
   766 		;;
   767 	m88k-omron*)
   768 		basic_machine=m88k-omron
   769 		;;
   770 	magnum | m3230)
   771 		basic_machine=mips-mips
   772 		os=-sysv
   773 		;;
   774 	merlin)
   775 		basic_machine=ns32k-utek
   776 		os=-sysv
   777 		;;
   778 	microblaze)
   779 		basic_machine=microblaze-xilinx
   780 		;;
   781 	mingw32)
   782 		basic_machine=i386-pc
   783 		os=-mingw32
   784 		;;
   785 	mingw32ce)
   786 		basic_machine=arm-unknown
   787 		os=-mingw32ce
   788 		;;
   789 	miniframe)
   790 		basic_machine=m68000-convergent
   791 		;;
   792 	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
   793 		basic_machine=m68k-atari
   794 		os=-mint
   795 		;;
   796 	mips3*-*)
   797 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
   798 		;;
   799 	mips3*)
   800 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
   801 		;;
   802 	monitor)
   803 		basic_machine=m68k-rom68k
   804 		os=-coff
   805 		;;
   806 	morphos)
   807 		basic_machine=powerpc-unknown
   808 		os=-morphos
   809 		;;
   810 	msdos)
   811 		basic_machine=i386-pc
   812 		os=-msdos
   813 		;;
   814 	ms1-*)
   815 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
   816 		;;
   817 	msys)
   818 		basic_machine=i386-pc
   819 		os=-msys
   820 		;;
   821 	mvs)
   822 		basic_machine=i370-ibm
   823 		os=-mvs
   824 		;;
   825 	nacl)
   826 		basic_machine=le32-unknown
   827 		os=-nacl
   828 		;;
   829 	ncr3000)
   830 		basic_machine=i486-ncr
   831 		os=-sysv4
   832 		;;
   833 	netbsd386)
   834 		basic_machine=i386-unknown
   835 		os=-netbsd
   836 		;;
   837 	netwinder)
   838 		basic_machine=armv4l-rebel
   839 		os=-linux
   840 		;;
   841 	news | news700 | news800 | news900)
   842 		basic_machine=m68k-sony
   843 		os=-newsos
   844 		;;
   845 	news1000)
   846 		basic_machine=m68030-sony
   847 		os=-newsos
   848 		;;
   849 	news-3600 | risc-news)
   850 		basic_machine=mips-sony
   851 		os=-newsos
   852 		;;
   853 	necv70)
   854 		basic_machine=v70-nec
   855 		os=-sysv
   856 		;;
   857 	next | m*-next )
   858 		basic_machine=m68k-next
   859 		case $os in
   860 		    -nextstep* )
   861 			;;
   862 		    -ns2*)
   863 		      os=-nextstep2
   864 			;;
   865 		    *)
   866 		      os=-nextstep3
   867 			;;
   868 		esac
   869 		;;
   870 	nh3000)
   871 		basic_machine=m68k-harris
   872 		os=-cxux
   873 		;;
   874 	nh[45]000)
   875 		basic_machine=m88k-harris
   876 		os=-cxux
   877 		;;
   878 	nindy960)
   879 		basic_machine=i960-intel
   880 		os=-nindy
   881 		;;
   882 	mon960)
   883 		basic_machine=i960-intel
   884 		os=-mon960
   885 		;;
   886 	nonstopux)
   887 		basic_machine=mips-compaq
   888 		os=-nonstopux
   889 		;;
   890 	np1)
   891 		basic_machine=np1-gould
   892 		;;
   893 	neo-tandem)
   894 		basic_machine=neo-tandem
   895 		;;
   896 	nse-tandem)
   897 		basic_machine=nse-tandem
   898 		;;
   899 	nsr-tandem)
   900 		basic_machine=nsr-tandem
   901 		;;
   902 	op50n-* | op60c-*)
   903 		basic_machine=hppa1.1-oki
   904 		os=-proelf
   905 		;;
   906 	openrisc | openrisc-*)
   907 		basic_machine=or32-unknown
   908 		;;
   909 	os400)
   910 		basic_machine=powerpc-ibm
   911 		os=-os400
   912 		;;
   913 	OSE68000 | ose68000)
   914 		basic_machine=m68000-ericsson
   915 		os=-ose
   916 		;;
   917 	os68k)
   918 		basic_machine=m68k-none
   919 		os=-os68k
   920 		;;
   921 	pa-hitachi)
   922 		basic_machine=hppa1.1-hitachi
   923 		os=-hiuxwe2
   924 		;;
   925 	paragon)
   926 		basic_machine=i860-intel
   927 		os=-osf
   928 		;;
   929 	parisc)
   930 		basic_machine=hppa-unknown
   931 		os=-linux
   932 		;;
   933 	parisc-*)
   934 		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
   935 		os=-linux
   936 		;;
   937 	pbd)
   938 		basic_machine=sparc-tti
   939 		;;
   940 	pbb)
   941 		basic_machine=m68k-tti
   942 		;;
   943 	pc532 | pc532-*)
   944 		basic_machine=ns32k-pc532
   945 		;;
   946 	pc98)
   947 		basic_machine=i386-pc
   948 		;;
   949 	pc98-*)
   950 		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
   951 		;;
   952 	pentium | p5 | k5 | k6 | nexgen | viac3)
   953 		basic_machine=i586-pc
   954 		;;
   955 	pentiumpro | p6 | 6x86 | athlon | athlon_*)
   956 		basic_machine=i686-pc
   957 		;;
   958 	pentiumii | pentium2 | pentiumiii | pentium3)
   959 		basic_machine=i686-pc
   960 		;;
   961 	pentium4)
   962 		basic_machine=i786-pc
   963 		;;
   964 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
   965 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
   966 		;;
   967 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
   968 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   969 		;;
   970 	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
   971 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   972 		;;
   973 	pentium4-*)
   974 		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
   975 		;;
   976 	pn)
   977 		basic_machine=pn-gould
   978 		;;
   979 	power)	basic_machine=power-ibm
   980 		;;
   981 	ppc | ppcbe)	basic_machine=powerpc-unknown
   982 		;;
   983 	ppc-* | ppcbe-*)
   984 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
   985 		;;
   986 	ppcle | powerpclittle | ppc-le | powerpc-little)
   987 		basic_machine=powerpcle-unknown
   988 		;;
   989 	ppcle-* | powerpclittle-*)
   990 		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
   991 		;;
   992 	ppc64)	basic_machine=powerpc64-unknown
   993 		;;
   994 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
   995 		;;
   996 	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
   997 		basic_machine=powerpc64le-unknown
   998 		;;
   999 	ppc64le-* | powerpc64little-*)
  1000 		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
  1001 		;;
  1002 	ps2)
  1003 		basic_machine=i386-ibm
  1004 		;;
  1005 	pw32)
  1006 		basic_machine=i586-unknown
  1007 		os=-pw32
  1008 		;;
  1009 	rdos)
  1010 		basic_machine=i386-pc
  1011 		os=-rdos
  1012 		;;
  1013 	rom68k)
  1014 		basic_machine=m68k-rom68k
  1015 		os=-coff
  1016 		;;
  1017 	rm[46]00)
  1018 		basic_machine=mips-siemens
  1019 		;;
  1020 	rtpc | rtpc-*)
  1021 		basic_machine=romp-ibm
  1022 		;;
  1023 	s390 | s390-*)
  1024 		basic_machine=s390-ibm
  1025 		;;
  1026 	s390x | s390x-*)
  1027 		basic_machine=s390x-ibm
  1028 		;;
  1029 	sa29200)
  1030 		basic_machine=a29k-amd
  1031 		os=-udi
  1032 		;;
  1033 	sb1)
  1034 		basic_machine=mipsisa64sb1-unknown
  1035 		;;
  1036 	sb1el)
  1037 		basic_machine=mipsisa64sb1el-unknown
  1038 		;;
  1039 	sde)
  1040 		basic_machine=mipsisa32-sde
  1041 		os=-elf
  1042 		;;
  1043 	sei)
  1044 		basic_machine=mips-sei
  1045 		os=-seiux
  1046 		;;
  1047 	sequent)
  1048 		basic_machine=i386-sequent
  1049 		;;
  1050 	sh)
  1051 		basic_machine=sh-hitachi
  1052 		os=-hms
  1053 		;;
  1054 	sh5el)
  1055 		basic_machine=sh5le-unknown
  1056 		;;
  1057 	sh64)
  1058 		basic_machine=sh64-unknown
  1059 		;;
  1060 	sparclite-wrs | simso-wrs)
  1061 		basic_machine=sparclite-wrs
  1062 		os=-vxworks
  1063 		;;
  1064 	sps7)
  1065 		basic_machine=m68k-bull
  1066 		os=-sysv2
  1067 		;;
  1068 	spur)
  1069 		basic_machine=spur-unknown
  1070 		;;
  1071 	st2000)
  1072 		basic_machine=m68k-tandem
  1073 		;;
  1074 	stratus)
  1075 		basic_machine=i860-stratus
  1076 		os=-sysv4
  1077 		;;
  1078 	strongarm-* | thumb-*)
  1079 		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
  1080 		;;
  1081 	sun2)
  1082 		basic_machine=m68000-sun
  1083 		;;
  1084 	sun2os3)
  1085 		basic_machine=m68000-sun
  1086 		os=-sunos3
  1087 		;;
  1088 	sun2os4)
  1089 		basic_machine=m68000-sun
  1090 		os=-sunos4
  1091 		;;
  1092 	sun3os3)
  1093 		basic_machine=m68k-sun
  1094 		os=-sunos3
  1095 		;;
  1096 	sun3os4)
  1097 		basic_machine=m68k-sun
  1098 		os=-sunos4
  1099 		;;
  1100 	sun4os3)
  1101 		basic_machine=sparc-sun
  1102 		os=-sunos3
  1103 		;;
  1104 	sun4os4)
  1105 		basic_machine=sparc-sun
  1106 		os=-sunos4
  1107 		;;
  1108 	sun4sol2)
  1109 		basic_machine=sparc-sun
  1110 		os=-solaris2
  1111 		;;
  1112 	sun3 | sun3-*)
  1113 		basic_machine=m68k-sun
  1114 		;;
  1115 	sun4)
  1116 		basic_machine=sparc-sun
  1117 		;;
  1118 	sun386 | sun386i | roadrunner)
  1119 		basic_machine=i386-sun
  1120 		;;
  1121 	sv1)
  1122 		basic_machine=sv1-cray
  1123 		os=-unicos
  1124 		;;
  1125 	symmetry)
  1126 		basic_machine=i386-sequent
  1127 		os=-dynix
  1128 		;;
  1129 	t3e)
  1130 		basic_machine=alphaev5-cray
  1131 		os=-unicos
  1132 		;;
  1133 	t90)
  1134 		basic_machine=t90-cray
  1135 		os=-unicos
  1136 		;;
  1137 	tile*)
  1138 		basic_machine=$basic_machine-unknown
  1139 		os=-linux-gnu
  1140 		;;
  1141 	tx39)
  1142 		basic_machine=mipstx39-unknown
  1143 		;;
  1144 	tx39el)
  1145 		basic_machine=mipstx39el-unknown
  1146 		;;
  1147 	toad1)
  1148 		basic_machine=pdp10-xkl
  1149 		os=-tops20
  1150 		;;
  1151 	tower | tower-32)
  1152 		basic_machine=m68k-ncr
  1153 		;;
  1154 	tpf)
  1155 		basic_machine=s390x-ibm
  1156 		os=-tpf
  1157 		;;
  1158 	udi29k)
  1159 		basic_machine=a29k-amd
  1160 		os=-udi
  1161 		;;
  1162 	ultra3)
  1163 		basic_machine=a29k-nyu
  1164 		os=-sym1
  1165 		;;
  1166 	v810 | necv810)
  1167 		basic_machine=v810-nec
  1168 		os=-none
  1169 		;;
  1170 	vaxv)
  1171 		basic_machine=vax-dec
  1172 		os=-sysv
  1173 		;;
  1174 	vms)
  1175 		basic_machine=vax-dec
  1176 		os=-vms
  1177 		;;
  1178 	vpp*|vx|vx-*)
  1179 		basic_machine=f301-fujitsu
  1180 		;;
  1181 	vxworks960)
  1182 		basic_machine=i960-wrs
  1183 		os=-vxworks
  1184 		;;
  1185 	vxworks68)
  1186 		basic_machine=m68k-wrs
  1187 		os=-vxworks
  1188 		;;
  1189 	vxworks29k)
  1190 		basic_machine=a29k-wrs
  1191 		os=-vxworks
  1192 		;;
  1193 	w65*)
  1194 		basic_machine=w65-wdc
  1195 		os=-none
  1196 		;;
  1197 	w89k-*)
  1198 		basic_machine=hppa1.1-winbond
  1199 		os=-proelf
  1200 		;;
  1201 	xbox)
  1202 		basic_machine=i686-pc
  1203 		os=-mingw32
  1204 		;;
  1205 	xps | xps100)
  1206 		basic_machine=xps100-honeywell
  1207 		;;
  1208 	xscale-* | xscalee[bl]-*)
  1209 		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
  1210 		;;
  1211 	ymp)
  1212 		basic_machine=ymp-cray
  1213 		os=-unicos
  1214 		;;
  1215 	z8k-*-coff)
  1216 		basic_machine=z8k-unknown
  1217 		os=-sim
  1218 		;;
  1219 	z80-*-coff)
  1220 		basic_machine=z80-unknown
  1221 		os=-sim
  1222 		;;
  1223 	none)
  1224 		basic_machine=none-none
  1225 		os=-none
  1226 		;;
  1227 
  1228 # Here we handle the default manufacturer of certain CPU types.  It is in
  1229 # some cases the only manufacturer, in others, it is the most popular.
  1230 	w89k)
  1231 		basic_machine=hppa1.1-winbond
  1232 		;;
  1233 	op50n)
  1234 		basic_machine=hppa1.1-oki
  1235 		;;
  1236 	op60c)
  1237 		basic_machine=hppa1.1-oki
  1238 		;;
  1239 	romp)
  1240 		basic_machine=romp-ibm
  1241 		;;
  1242 	mmix)
  1243 		basic_machine=mmix-knuth
  1244 		;;
  1245 	rs6000)
  1246 		basic_machine=rs6000-ibm
  1247 		;;
  1248 	vax)
  1249 		basic_machine=vax-dec
  1250 		;;
  1251 	pdp10)
  1252 		# there are many clones, so DEC is not a safe bet
  1253 		basic_machine=pdp10-unknown
  1254 		;;
  1255 	pdp11)
  1256 		basic_machine=pdp11-dec
  1257 		;;
  1258 	we32k)
  1259 		basic_machine=we32k-att
  1260 		;;
  1261 	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
  1262 		basic_machine=sh-unknown
  1263 		;;
  1264 	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
  1265 		basic_machine=sparc-sun
  1266 		;;
  1267 	cydra)
  1268 		basic_machine=cydra-cydrome
  1269 		;;
  1270 	orion)
  1271 		basic_machine=orion-highlevel
  1272 		;;
  1273 	orion105)
  1274 		basic_machine=clipper-highlevel
  1275 		;;
  1276 	mac | mpw | mac-mpw)
  1277 		basic_machine=m68k-apple
  1278 		;;
  1279 	pmac | pmac-mpw)
  1280 		basic_machine=powerpc-apple
  1281 		;;
  1282 	*-unknown)
  1283 		# Make sure to match an already-canonicalized machine name.
  1284 		;;
  1285 	*)
  1286 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  1287 		exit 1
  1288 		;;
  1289 esac
  1290 
  1291 # Here we canonicalize certain aliases for manufacturers.
  1292 case $basic_machine in
  1293 	*-digital*)
  1294 		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
  1295 		;;
  1296 	*-commodore*)
  1297 		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
  1298 		;;
  1299 	*)
  1300 		;;
  1301 esac
  1302 
  1303 # Decode manufacturer-specific aliases for certain operating systems.
  1304 
  1305 if [ x"$os" != x"" ]
  1306 then
  1307 case $os in
  1308 	# First match some system type aliases
  1309 	# that might get confused with valid system types.
  1310 	# -solaris* is a basic system type, with this one exception.
  1311 	-auroraux)
  1312 		os=-auroraux
  1313 		;;
  1314 	-solaris1 | -solaris1.*)
  1315 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
  1316 		;;
  1317 	-solaris)
  1318 		os=-solaris2
  1319 		;;
  1320 	-svr4*)
  1321 		os=-sysv4
  1322 		;;
  1323 	-unixware*)
  1324 		os=-sysv4.2uw
  1325 		;;
  1326 	-gnu/linux*)
  1327 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
  1328 		;;
  1329 	# First accept the basic system types.
  1330 	# The portable systems comes first.
  1331 	# Each alternative MUST END IN A *, to match a version number.
  1332 	# -sysv* is not here because it comes later, after sysvr4.
  1333 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  1334 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
  1335 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
  1336 	      | -sym* | -kopensolaris* \
  1337 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  1338 	      | -aos* | -aros* \
  1339 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  1340 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
  1341 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
  1342 	      | -openbsd* | -solidbsd* \
  1343 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
  1344 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  1345 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  1346 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  1347 	      | -chorusos* | -chorusrdb* | -cegcc* \
  1348 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  1349 	      | -mingw32* | -linux-gnu* | -linux-android* \
  1350 	      | -linux-newlib* | -linux-uclibc* \
  1351 	      | -uxpv* | -beos* | -mpeix* | -udk* \
  1352 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
  1353 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  1354 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  1355 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  1356 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
  1357 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
  1358 	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
  1359 	# Remember, each alternative MUST END IN *, to match a version number.
  1360 		;;
  1361 	-qnx*)
  1362 		case $basic_machine in
  1363 		    x86-* | i*86-*)
  1364 			;;
  1365 		    *)
  1366 			os=-nto$os
  1367 			;;
  1368 		esac
  1369 		;;
  1370 	-nto-qnx*)
  1371 		;;
  1372 	-nto*)
  1373 		os=`echo $os | sed -e 's|nto|nto-qnx|'`
  1374 		;;
  1375 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
  1376 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
  1377 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  1378 		;;
  1379 	-mac*)
  1380 		os=`echo $os | sed -e 's|mac|macos|'`
  1381 		;;
  1382 	-linux-dietlibc)
  1383 		os=-linux-dietlibc
  1384 		;;
  1385 	-linux*)
  1386 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
  1387 		;;
  1388 	-sunos5*)
  1389 		os=`echo $os | sed -e 's|sunos5|solaris2|'`
  1390 		;;
  1391 	-sunos6*)
  1392 		os=`echo $os | sed -e 's|sunos6|solaris3|'`
  1393 		;;
  1394 	-opened*)
  1395 		os=-openedition
  1396 		;;
  1397 	-os400*)
  1398 		os=-os400
  1399 		;;
  1400 	-wince*)
  1401 		os=-wince
  1402 		;;
  1403 	-osfrose*)
  1404 		os=-osfrose
  1405 		;;
  1406 	-osf*)
  1407 		os=-osf
  1408 		;;
  1409 	-utek*)
  1410 		os=-bsd
  1411 		;;
  1412 	-dynix*)
  1413 		os=-bsd
  1414 		;;
  1415 	-acis*)
  1416 		os=-aos
  1417 		;;
  1418 	-atheos*)
  1419 		os=-atheos
  1420 		;;
  1421 	-syllable*)
  1422 		os=-syllable
  1423 		;;
  1424 	-386bsd)
  1425 		os=-bsd
  1426 		;;
  1427 	-ctix* | -uts*)
  1428 		os=-sysv
  1429 		;;
  1430 	-nova*)
  1431 		os=-rtmk-nova
  1432 		;;
  1433 	-ns2 )
  1434 		os=-nextstep2
  1435 		;;
  1436 	-nsk*)
  1437 		os=-nsk
  1438 		;;
  1439 	# Preserve the version number of sinix5.
  1440 	-sinix5.*)
  1441 		os=`echo $os | sed -e 's|sinix|sysv|'`
  1442 		;;
  1443 	-sinix*)
  1444 		os=-sysv4
  1445 		;;
  1446 	-tpf*)
  1447 		os=-tpf
  1448 		;;
  1449 	-triton*)
  1450 		os=-sysv3
  1451 		;;
  1452 	-oss*)
  1453 		os=-sysv3
  1454 		;;
  1455 	-svr4)
  1456 		os=-sysv4
  1457 		;;
  1458 	-svr3)
  1459 		os=-sysv3
  1460 		;;
  1461 	-sysvr4)
  1462 		os=-sysv4
  1463 		;;
  1464 	# This must come after -sysvr4.
  1465 	-sysv*)
  1466 		;;
  1467 	-ose*)
  1468 		os=-ose
  1469 		;;
  1470 	-es1800*)
  1471 		os=-ose
  1472 		;;
  1473 	-xenix)
  1474 		os=-xenix
  1475 		;;
  1476 	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  1477 		os=-mint
  1478 		;;
  1479 	-aros*)
  1480 		os=-aros
  1481 		;;
  1482 	-kaos*)
  1483 		os=-kaos
  1484 		;;
  1485 	-zvmoe)
  1486 		os=-zvmoe
  1487 		;;
  1488 	-dicos*)
  1489 		os=-dicos
  1490 		;;
  1491 	-nacl*)
  1492 		;;
  1493 	-none)
  1494 		;;
  1495 	*)
  1496 		# Get rid of the `-' at the beginning of $os.
  1497 		os=`echo $os | sed 's/[^-]*-//'`
  1498 		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  1499 		exit 1
  1500 		;;
  1501 esac
  1502 else
  1503 
  1504 # Here we handle the default operating systems that come with various machines.
  1505 # The value should be what the vendor currently ships out the door with their
  1506 # machine or put another way, the most popular os provided with the machine.
  1507 
  1508 # Note that if you're going to try to match "-MANUFACTURER" here (say,
  1509 # "-sun"), then you have to tell the case statement up towards the top
  1510 # that MANUFACTURER isn't an operating system.  Otherwise, code above
  1511 # will signal an error saying that MANUFACTURER isn't an operating
  1512 # system, and we'll never get to this point.
  1513 
  1514 case $basic_machine in
  1515 	score-*)
  1516 		os=-elf
  1517 		;;
  1518 	spu-*)
  1519 		os=-elf
  1520 		;;
  1521 	*-acorn)
  1522 		os=-riscix1.2
  1523 		;;
  1524 	arm*-rebel)
  1525 		os=-linux
  1526 		;;
  1527 	arm*-semi)
  1528 		os=-aout
  1529 		;;
  1530 	c4x-* | tic4x-*)
  1531 		os=-coff
  1532 		;;
  1533 	tic54x-*)
  1534 		os=-coff
  1535 		;;
  1536 	tic55x-*)
  1537 		os=-coff
  1538 		;;
  1539 	tic6x-*)
  1540 		os=-coff
  1541 		;;
  1542 	# This must come before the *-dec entry.
  1543 	pdp10-*)
  1544 		os=-tops20
  1545 		;;
  1546 	pdp11-*)
  1547 		os=-none
  1548 		;;
  1549 	*-dec | vax-*)
  1550 		os=-ultrix4.2
  1551 		;;
  1552 	m68*-apollo)
  1553 		os=-domain
  1554 		;;
  1555 	i386-sun)
  1556 		os=-sunos4.0.2
  1557 		;;
  1558 	m68000-sun)
  1559 		os=-sunos3
  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: