scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 18 23:29:46 2010 +0100 (2010-12-18)
changeset 2223 2aff0df5fcca
parent 2025 b38f4954e4ed
child 2288 e5a0fe2dae5f
permissions -rwxr-xr-x
scripts: update config.{sub,guess}

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