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