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