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