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