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