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