config.sub 34.4 KB
Newer Older
Jason Merrill committed
1
#! /bin/sh
2
# Configuration validation subroutine script.
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 5
#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
#   2011 Free Software Foundation, Inc.
6

Nick Clifton committed
7
timestamp='2011-06-03'
8

Jason Merrill committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine.  It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
25 26 27
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
Jason Merrill committed
28 29 30 31 32
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

33

34
# Please send patches to <config-patches@gnu.org>.  Submit a context
35
# diff and a properly formatted GNU ChangeLog entry.
36
#
Jason Merrill committed
37 38 39 40 41
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.

42 43 44
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

Jason Merrill committed
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support.  The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.

# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.

60
me=`echo "$0" | sed -e 's,.*/,,'`
Jason Merrill committed
61

62 63 64 65 66 67 68
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
       $0 [OPTION] ALIAS

Canonicalize a configuration name.

Operation modes:
69 70 71 72 73 74 75 76 77
  -h, --help         print this help, then exit
  -t, --time-stamp   print date of last modification, then exit
  -v, --version      print version number, then exit

Report bugs and patches to <config-patches@gnu.org>."

version="\
GNU config.sub ($timestamp)

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 83

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84 85 86 87 88 89

help="
Try \`$me --help' for more information."

# Parse command line
while test $# -gt 0 ; do
90 91
  case $1 in
    --time-stamp | --time* | -t )
92
       echo "$timestamp" ; exit ;;
93
    --version | -v )
94
       echo "$version" ; exit ;;
95
    --help | --h* | -h )
96
       echo "$usage"; exit ;;
97 98 99 100 101
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
102
       echo "$me: invalid option $1$help"
103 104 105 106 107
       exit 1 ;;

    *local*)
       # First pass through any local machine types.
       echo $1
108
       exit ;;
109 110 111 112 113 114 115 116 117 118 119 120

    * )
       break ;;
  esac
done

case $# in
 0) echo "$me: missing argument$help" >&2
    exit 1;;
 1) ;;
 *) echo "$me: too many arguments$help" >&2
    exit 1;;
Jason Merrill committed
121 122 123 124 125 126
esac

# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
127 128 129
  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
  knetbsd*-gnu* | netbsd*-gnu* | \
130
  kopensolaris*-gnu* | \
131
  storm-chaos* | os2-emx* | rtmk-nova*)
Jason Merrill committed
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
    os=-$maybe_os
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
    ;;
  *)
    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
    if [ $basic_machine != $1 ]
    then os=`echo $1 | sed 's/.*-/-/'`
    else os=; fi
    ;;
esac

### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work.  We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
	-sun*os*)
		# Prevent following clause from handling this invalid input.
		;;
	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157
	-apple | -axis | -knuth | -cray | -microblaze)
Jason Merrill committed
158 159 160
		os=
		basic_machine=$1
		;;
161 162
	-bluegene*)
		os=-cnk
163
		;;
164
	-sim | -cisco | -oki | -wec | -winbond)
Jason Merrill committed
165 166 167
		os=
		basic_machine=$1
		;;
168
	-scout)
Jason Merrill committed
169
		;;
170
	-wrs)
171
		os=-vxworks
Jason Merrill committed
172 173
		basic_machine=$1
		;;
174 175 176 177
	-chorusos*)
		os=-chorusos
		basic_machine=$1
		;;
178 179
	-chorusrdb)
		os=-chorusrdb
180
		basic_machine=$1
181
		;;
Jason Merrill committed
182 183 184
	-hiux*)
		os=-hiuxwe2
		;;
185 186 187 188
	-sco6)
		os=-sco5v6
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
Jason Merrill committed
189
	-sco5)
190
		os=-sco3.2v5
Jason Merrill committed
191 192 193 194 195 196 197 198 199 200 201 202 203 204
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco4)
		os=-sco3.2v4
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2.[4-9]*)
		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2v[4-9]*)
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
205 206 207 208
	-sco5v6*)
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
Jason Merrill committed
209 210 211 212
	-sco*)
		os=-sco3.2v2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
213 214 215
	-udk*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
Jason Merrill committed
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
	-isc)
		os=-isc2.2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-clix*)
		basic_machine=clipper-intergraph
		;;
	-isc*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-lynx*)
		os=-lynxos
		;;
	-ptx*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
		;;
	-windowsnt*)
		os=`echo $os | sed -e 's/windowsnt/winnt/'`
		;;
	-psos*)
		os=-psos
		;;
238 239 240 241
	-mint | -mint[0-9]*)
		basic_machine=m68k-atari
		os=-mint
		;;
Jason Merrill committed
242 243 244 245 246 247
esac

# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
	# Recognize the basic CPU types without company name.
	# Some are omitted here because they have special meanings below.
248 249 250
	1750a | 580 \
	| a29k \
	| 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 259
	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
	| i370 | i860 | i960 | ia64 \
260
	| ip2k | iq2000 \
261
	| lm32 \
262
	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263
	| maxq | mb | microblaze | mcore | mep | metag \
264 265 266
	| mips | mipsbe | mipseb | mipsel | mipsle \
	| mips16 \
	| mips64 | mips64el \
267
	| mips64octeon | mips64octeonel \
268
	| mips64orion | mips64orionel \
269 270
	| mips64r5900 | mips64r5900el \
	| mips64vr | mips64vrel \
271 272 273
	| mips64vr4100 | mips64vr4100el \
	| mips64vr4300 | mips64vr4300el \
	| 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 299
	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
300 301
	| spu \
	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
302
	| ubicom32 \
Nick Clifton committed
303
	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
304
	| we32k \
305
	| x86 | xc16x | xstormy16 | xtensa \
306
	| z8k | z80)
Jason Merrill committed
307 308
		basic_machine=$basic_machine-unknown
		;;
309 310 311 312 313 314 315 316 317
	c54x)
		basic_machine=tic54x-unknown
		;;
	c55x)
		basic_machine=tic55x-unknown
		;;
	c6x)
		basic_machine=tic6x-unknown
		;;
318
	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
Jason Merrill committed
319 320 321 322
		# Motorola 68HC11/12.
		basic_machine=$basic_machine-unknown
		os=-none
		;;
323
	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
324
		;;
325 326 327
	ms1)
		basic_machine=mt-unknown
		;;
328

329 330 331 332 333 334 335 336 337 338 339 340
	strongarm | thumb | xscale)
		basic_machine=arm-unknown
		;;

	xscaleeb)
		basic_machine=armeb-unknown
		;;

	xscaleel)
		basic_machine=armel-unknown
		;;

Jason Merrill committed
341 342 343
	# We use `pc' rather than `unknown'
	# because (1) that's what they normally are, and
	# (2) the word "unknown" tends to confuse beginning users.
344
	i*86 | x86_64)
Jason Merrill committed
345 346 347 348 349 350 351 352
	  basic_machine=$basic_machine-pc
	  ;;
	# Object if more than one company name word.
	*-*-*)
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
	# Recognize the basic CPU types with company name.
353 354 355
	580-* \
	| a29k-* \
	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
356 357
	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
	| 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 367 368
	| h8300-* | h8500-* \
	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
	| 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 375 376
	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
	| mips16-* \
	| mips64-* | mips64el-* \
377
	| mips64octeon-* | mips64octeonel-* \
378
	| mips64orion-* | mips64orionel-* \
379 380
	| mips64r5900-* | mips64r5900el-* \
	| mips64vr-* | mips64vrel-* \
381 382 383
	| mips64vr4100-* | mips64vr4100el-* \
	| mips64vr4300-* | mips64vr4300el-* \
	| 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 400
	| orion-* \
	| 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 409
	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
	| tahoe-* \
410
	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
Nick Clifton committed
411
	| tile*-* \
412
	| tron-* \
413
	| ubicom32-* \
Nick Clifton committed
414 415
	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
	| vax-* \
416
	| we32k-* \
417
	| x86-* | x86_64-* | xc16x-* | xps100-* \
418
	| xstormy16-* | xtensa*-* \
419
	| ymp-* \
420
	| z8k-* | z80-*)
421
		;;
422 423 424 425
	# Recognize the basic CPU types without company name, with glob match.
	xtensa*)
		basic_machine=$basic_machine-unknown
		;;
Jason Merrill committed
426 427
	# Recognize the various machine names and aliases which stand
	# for a CPU type and a company and sometimes even an OS.
428
	386bsd)
Jason Merrill committed
429 430 431 432 433 434 435 436 437
		basic_machine=i386-unknown
		os=-bsd
		;;
	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
		basic_machine=m68000-att
		;;
	3b*)
		basic_machine=we32k-att
		;;
438
	a29khif)
Jason Merrill committed
439 440 441
		basic_machine=a29k-amd
		os=-udi
		;;
442
	abacus)
Andrew Cagney committed
443 444
		basic_machine=abacus-unknown
		;;
445
	adobe68k)
Jason Merrill committed
446 447 448 449 450 451 452 453 454 455 456 457 458
		basic_machine=m68010-adobe
		os=-scout
		;;
	alliant | fx80)
		basic_machine=fx80-alliant
		;;
	altos | altos3068)
		basic_machine=m68k-altos
		;;
	am29k)
		basic_machine=a29k-none
		os=-bsd
		;;
459 460 461
	amd64)
		basic_machine=x86_64-pc
		;;
Andrew Cagney committed
462 463 464
	amd64-*)
		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
Jason Merrill committed
465 466 467 468 469
	amdahl)
		basic_machine=580-amdahl
		os=-sysv
		;;
	amiga | amiga-*)
470
		basic_machine=m68k-unknown
Jason Merrill committed
471
		;;
472
	amigaos | amigados)
473
		basic_machine=m68k-unknown
474
		os=-amigaos
Jason Merrill committed
475 476
		;;
	amigaunix | amix)
477
		basic_machine=m68k-unknown
Jason Merrill committed
478 479 480 481 482 483
		os=-sysv4
		;;
	apollo68)
		basic_machine=m68k-apollo
		os=-sysv
		;;
484
	apollo68bsd)
Jason Merrill committed
485 486 487
		basic_machine=m68k-apollo
		os=-bsd
		;;
488 489 490 491
	aros)
		basic_machine=i386-pc
		os=-aros
		;;
Jason Merrill committed
492 493 494 495 496 497 498 499
	aux)
		basic_machine=m68k-apple
		os=-aux
		;;
	balance)
		basic_machine=ns32k-sequent
		os=-dynix
		;;
500 501 502 503 504 505 506 507
	blackfin)
		basic_machine=bfin-unknown
		os=-linux
		;;
	blackfin-*)
		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
508 509 510 511
	bluegene*)
		basic_machine=powerpc-ibm
		os=-cnk
		;;
512 513 514 515 516 517 518 519 520
	c54x-*)
		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	c55x-*)
		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	c6x-*)
		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
521 522 523 524
	c90)
		basic_machine=c90-cray
		os=-unicos
		;;
525
	cegcc)
526 527 528
		basic_machine=arm-unknown
		os=-cegcc
		;;
Jason Merrill committed
529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548
	convex-c1)
		basic_machine=c1-convex
		os=-bsd
		;;
	convex-c2)
		basic_machine=c2-convex
		os=-bsd
		;;
	convex-c32)
		basic_machine=c32-convex
		os=-bsd
		;;
	convex-c34)
		basic_machine=c34-convex
		os=-bsd
		;;
	convex-c38)
		basic_machine=c38-convex
		os=-bsd
		;;
549 550
	cray | j90)
		basic_machine=j90-cray
Jason Merrill committed
551 552
		os=-unicos
		;;
553 554 555 556
	craynv)
		basic_machine=craynv-cray
		os=-unicosmp
		;;
557
	cr16 | cr16-*)
558 559 560
		basic_machine=cr16-unknown
		os=-elf
		;;
Jason Merrill committed
561 562 563
	crds | unos)
		basic_machine=m68k-crds
		;;
564 565 566
	crisv32 | crisv32-* | etraxfs*)
		basic_machine=crisv32-axis
		;;
Jason Merrill committed
567 568 569
	cris | cris-* | etrax*)
		basic_machine=cris-axis
		;;
570 571 572 573
	crx)
		basic_machine=crx-unknown
		os=-elf
		;;
Jason Merrill committed
574 575 576 577 578 579
	da30 | da30-*)
		basic_machine=m68k-da30
		;;
	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
		basic_machine=mips-dec
		;;
580 581 582 583 584 585 586 587
	decsystem10* | dec10*)
		basic_machine=pdp10-dec
		os=-tops10
		;;
	decsystem20* | dec20*)
		basic_machine=pdp10-dec
		os=-tops20
		;;
Jason Merrill committed
588 589 590 591 592 593 594 595
	delta | 3300 | motorola-3300 | motorola-delta \
	      | 3300-motorola | delta-motorola)
		basic_machine=m68k-motorola
		;;
	delta88)
		basic_machine=m88k-motorola
		os=-sysv3
		;;
596 597 598 599
	dicos)
		basic_machine=i686-pc
		os=-dicos
		;;
600 601 602 603
	djgpp)
		basic_machine=i586-pc
		os=-msdosdjgpp
		;;
Jason Merrill committed
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622
	dpx20 | dpx20-*)
		basic_machine=rs6000-bull
		os=-bosx
		;;
	dpx2* | dpx2*-bull)
		basic_machine=m68k-bull
		os=-sysv3
		;;
	ebmon29k)
		basic_machine=a29k-amd
		os=-ebmon
		;;
	elxsi)
		basic_machine=elxsi-elxsi
		os=-bsd
		;;
	encore | umax | mmax)
		basic_machine=ns32k-encore
		;;
623
	es1800 | OSE68k | ose68k | ose | OSE)
Jason Merrill committed
624 625 626 627 628 629 630 631 632 633 634 635 636
		basic_machine=m68k-ericsson
		os=-ose
		;;
	fx2800)
		basic_machine=i860-alliant
		;;
	genix)
		basic_machine=ns32k-ns
		;;
	gmicro)
		basic_machine=tron-gmicro
		os=-sysv
		;;
637 638 639 640
	go32)
		basic_machine=i386-pc
		os=-go32
		;;
Jason Merrill committed
641 642 643 644 645 646 647 648
	h3050r* | hiux*)
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	h8300hms)
		basic_machine=h8300-hitachi
		os=-hms
		;;
649
	h8300xray)
Jason Merrill committed
650 651 652
		basic_machine=h8300-hitachi
		os=-xray
		;;
653
	h8500hms)
Jason Merrill committed
654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671
		basic_machine=h8500-hitachi
		os=-hms
		;;
	harris)
		basic_machine=m88k-harris
		os=-sysv3
		;;
	hp300-*)
		basic_machine=m68k-hp
		;;
	hp300bsd)
		basic_machine=m68k-hp
		os=-bsd
		;;
	hp300hpux)
		basic_machine=m68k-hp
		os=-hpux
		;;
672
	hp3k9[0-9][0-9] | hp9[0-9][0-9])
673 674
		basic_machine=hppa1.0-hp
		;;
Jason Merrill committed
675 676 677 678 679 680
	hp9k2[0-9][0-9] | hp9k31[0-9])
		basic_machine=m68000-hp
		;;
	hp9k3[2-9][0-9])
		basic_machine=m68k-hp
		;;
681
	hp9k6[0-9][0-9] | hp6[0-9][0-9])
682 683
		basic_machine=hppa1.0-hp
		;;
684
	hp9k7[0-79][0-9] | hp7[0-79][0-9])
685 686
		basic_machine=hppa1.1-hp
		;;
687
	hp9k78[0-9] | hp78[0-9])
688 689 690
		# FIXME: really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
691
	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
692 693 694
		# FIXME: really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
695
	hp9k8[0-9][13679] | hp8[0-9][13679])
Jason Merrill committed
696 697 698 699 700 701 702 703
		basic_machine=hppa1.1-hp
		;;
	hp9k8[0-9][0-9] | hp8[0-9][0-9])
		basic_machine=hppa1.0-hp
		;;
	hppa-next)
		os=-nextstep3
		;;
704
	hppaosf)
Jason Merrill committed
705 706 707
		basic_machine=hppa1.1-hp
		os=-osf
		;;
708 709 710 711
	hppro)
		basic_machine=hppa1.1-hp
		os=-proelf
		;;
Jason Merrill committed
712 713 714 715
	i370-ibm* | ibm*)
		basic_machine=i370-ibm
		;;
# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
716
	i*86v32)
Jason Merrill committed
717 718 719
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv32
		;;
720
	i*86v4*)
Jason Merrill committed
721 722 723
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv4
		;;
724
	i*86v)
Jason Merrill committed
725 726 727
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv
		;;
728
	i*86sol2)
Jason Merrill committed
729 730 731
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-solaris2
		;;
732
	i386mach)
Jason Merrill committed
733 734 735
		basic_machine=i386-mach
		os=-mach
		;;
736
	i386-vsta | vsta)
Jason Merrill committed
737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753
		basic_machine=i386-unknown
		os=-vsta
		;;
	iris | iris4d)
		basic_machine=mips-sgi
		case $os in
		    -irix*)
			;;
		    *)
			os=-irix4
			;;
		esac
		;;
	isi68 | isi)
		basic_machine=m68k-isi
		os=-sysv
		;;
754 755 756 757 758 759 760 761
	m68knommu)
		basic_machine=m68k-unknown
		os=-linux
		;;
	m68knommu-*)
		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
Jason Merrill committed
762 763 764 765 766 767 768 769 770 771 772
	m88k-omron*)
		basic_machine=m88k-omron
		;;
	magnum | m3230)
		basic_machine=mips-mips
		os=-sysv
		;;
	merlin)
		basic_machine=ns32k-utek
		os=-sysv
		;;
773
	microblaze)
774 775
		basic_machine=microblaze-xilinx
		;;
776 777 778 779
	mingw32)
		basic_machine=i386-pc
		os=-mingw32
		;;
780 781 782 783
	mingw32ce)
		basic_machine=arm-unknown
		os=-mingw32ce
		;;
Jason Merrill committed
784 785 786
	miniframe)
		basic_machine=m68000-convergent
		;;
787
	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
788 789 790
		basic_machine=m68k-atari
		os=-mint
		;;
Jason Merrill committed
791 792 793 794 795 796
	mips3*-*)
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
		;;
	mips3*)
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
		;;
797
	monitor)
Jason Merrill committed
798 799 800
		basic_machine=m68k-rom68k
		os=-coff
		;;
801 802 803 804
	morphos)
		basic_machine=powerpc-unknown
		os=-morphos
		;;
805
	msdos)
806
		basic_machine=i386-pc
Jason Merrill committed
807 808
		os=-msdos
		;;
809
	ms1-*)
810
		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
811
		;;
812 813 814 815
	mvs)
		basic_machine=i370-ibm
		os=-mvs
		;;
Jason Merrill committed
816 817 818 819 820
	ncr3000)
		basic_machine=i486-ncr
		os=-sysv4
		;;
	netbsd386)
821
		basic_machine=i386-unknown
Jason Merrill committed
822 823
		os=-netbsd
		;;
824
	netwinder)
825
		basic_machine=armv4l-rebel
826 827
		os=-linux
		;;
Jason Merrill committed
828 829 830 831 832 833 834 835 836 837 838 839
	news | news700 | news800 | news900)
		basic_machine=m68k-sony
		os=-newsos
		;;
	news1000)
		basic_machine=m68030-sony
		os=-newsos
		;;
	news-3600 | risc-news)
		basic_machine=mips-sony
		os=-newsos
		;;
840
	necv70)
Jason Merrill committed
841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868
		basic_machine=v70-nec
		os=-sysv
		;;
	next | m*-next )
		basic_machine=m68k-next
		case $os in
		    -nextstep* )
			;;
		    -ns2*)
		      os=-nextstep2
			;;
		    *)
		      os=-nextstep3
			;;
		esac
		;;
	nh3000)
		basic_machine=m68k-harris
		os=-cxux
		;;
	nh[45]000)
		basic_machine=m88k-harris
		os=-cxux
		;;
	nindy960)
		basic_machine=i960-intel
		os=-nindy
		;;
869
	mon960)
Jason Merrill committed
870 871 872
		basic_machine=i960-intel
		os=-mon960
		;;
873 874 875 876
	nonstopux)
		basic_machine=mips-compaq
		os=-nonstopux
		;;
Jason Merrill committed
877 878 879
	np1)
		basic_machine=np1-gould
		;;
880 881 882 883 884 885
	neo-tandem)
		basic_machine=neo-tandem
		;;
	nse-tandem)
		basic_machine=nse-tandem
		;;
886 887 888
	nsr-tandem)
		basic_machine=nsr-tandem
		;;
889 890 891 892
	op50n-* | op60c-*)
		basic_machine=hppa1.1-oki
		os=-proelf
		;;
893
	openrisc | openrisc-*)
894 895
		basic_machine=or32-unknown
		;;
896 897 898 899
	os400)
		basic_machine=powerpc-ibm
		os=-os400
		;;
900
	OSE68000 | ose68000)
Jason Merrill committed
901 902 903
		basic_machine=m68000-ericsson
		os=-ose
		;;
904
	os68k)
Jason Merrill committed
905 906 907 908 909 910 911 912 913 914 915
		basic_machine=m68k-none
		os=-os68k
		;;
	pa-hitachi)
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	paragon)
		basic_machine=i860-intel
		os=-osf
		;;
916 917 918 919 920 921 922 923
	parisc)
		basic_machine=hppa-unknown
		os=-linux
		;;
	parisc-*)
		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
Jason Merrill committed
924 925 926 927 928 929
	pbd)
		basic_machine=sparc-tti
		;;
	pbb)
		basic_machine=m68k-tti
		;;
930
	pc532 | pc532-*)
Jason Merrill committed
931 932
		basic_machine=ns32k-pc532
		;;
933 934 935 936 937 938
	pc98)
		basic_machine=i386-pc
		;;
	pc98-*)
		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
939
	pentium | p5 | k5 | k6 | nexgen | viac3)
940 941
		basic_machine=i586-pc
		;;
942
	pentiumpro | p6 | 6x86 | athlon | athlon_*)
943
		basic_machine=i686-pc
Jason Merrill committed
944
		;;
945
	pentiumii | pentium2 | pentiumiii | pentium3)
946
		basic_machine=i686-pc
Jason Merrill committed
947
		;;
948 949 950
	pentium4)
		basic_machine=i786-pc
		;;
951
	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
Jason Merrill committed
952 953
		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
954
	pentiumpro-* | p6-* | 6x86-* | athlon-*)
Jason Merrill committed
955 956
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
957
	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
958
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
Jason Merrill committed
959
		;;
960 961 962
	pentium4-*)
		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
Jason Merrill committed
963 964 965
	pn)
		basic_machine=pn-gould
		;;
966
	power)	basic_machine=power-ibm
Jason Merrill committed
967
		;;
968
	ppc | ppcbe)	basic_machine=powerpc-unknown
969
		;;
970 971
	ppc-* | ppcbe-*)
		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
Jason Merrill committed
972 973 974
		;;
	ppcle | powerpclittle | ppc-le | powerpc-little)
		basic_machine=powerpcle-unknown
975
		;;
Jason Merrill committed
976 977 978
	ppcle-* | powerpclittle-*)
		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
979
	ppc64)	basic_machine=powerpc64-unknown
980
		;;
981 982 983 984
	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
		basic_machine=powerpc64le-unknown
985
		;;
986 987 988
	ppc64le-* | powerpc64little-*)
		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
Jason Merrill committed
989 990 991
	ps2)
		basic_machine=i386-ibm
		;;
992 993 994 995
	pw32)
		basic_machine=i586-unknown
		os=-pw32
		;;
996 997 998 999
	rdos)
		basic_machine=i386-pc
		os=-rdos
		;;
1000
	rom68k)
Jason Merrill committed
1001 1002 1003 1004 1005 1006 1007 1008 1009
		basic_machine=m68k-rom68k
		os=-coff
		;;
	rm[46]00)
		basic_machine=mips-siemens
		;;
	rtpc | rtpc-*)
		basic_machine=romp-ibm
		;;
1010 1011 1012 1013 1014 1015
	s390 | s390-*)
		basic_machine=s390-ibm
		;;
	s390x | s390x-*)
		basic_machine=s390x-ibm
		;;
1016
	sa29200)
Jason Merrill committed
1017 1018 1019
		basic_machine=a29k-amd
		os=-udi
		;;
1020 1021 1022 1023 1024 1025
	sb1)
		basic_machine=mipsisa64sb1-unknown
		;;
	sb1el)
		basic_machine=mipsisa64sb1el-unknown
		;;
1026 1027 1028 1029
	sde)
		basic_machine=mipsisa32-sde
		os=-elf
		;;
1030 1031 1032 1033
	sei)
		basic_machine=mips-sei
		os=-seiux
		;;
Jason Merrill committed
1034 1035 1036 1037 1038 1039 1040
	sequent)
		basic_machine=i386-sequent
		;;
	sh)
		basic_machine=sh-hitachi
		os=-hms
		;;
1041 1042 1043
	sh5el)
		basic_machine=sh5le-unknown
		;;
1044 1045 1046
	sh64)
		basic_machine=sh64-unknown
		;;
1047
	sparclite-wrs | simso-wrs)
Jason Merrill committed
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057
		basic_machine=sparclite-wrs
		os=-vxworks
		;;
	sps7)
		basic_machine=m68k-bull
		os=-sysv2
		;;
	spur)
		basic_machine=spur-unknown
		;;
1058
	st2000)
Jason Merrill committed
1059 1060
		basic_machine=m68k-tandem
		;;
1061
	stratus)
Jason Merrill committed
1062 1063 1064
		basic_machine=i860-stratus
		os=-sysv4
		;;
1065 1066 1067
	strongarm-* | thumb-*)
		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
Jason Merrill committed
1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107
	sun2)
		basic_machine=m68000-sun
		;;
	sun2os3)
		basic_machine=m68000-sun
		os=-sunos3
		;;
	sun2os4)
		basic_machine=m68000-sun
		os=-sunos4
		;;
	sun3os3)
		basic_machine=m68k-sun
		os=-sunos3
		;;
	sun3os4)
		basic_machine=m68k-sun
		os=-sunos4
		;;
	sun4os3)
		basic_machine=sparc-sun
		os=-sunos3
		;;
	sun4os4)
		basic_machine=sparc-sun
		os=-sunos4
		;;
	sun4sol2)
		basic_machine=sparc-sun
		os=-solaris2
		;;
	sun3 | sun3-*)
		basic_machine=m68k-sun
		;;
	sun4)
		basic_machine=sparc-sun
		;;
	sun386 | sun386i | roadrunner)
		basic_machine=i386-sun
		;;
1108
	sv1)
1109 1110 1111
		basic_machine=sv1-cray
		os=-unicos
		;;
Jason Merrill committed
1112 1113 1114 1115
	symmetry)
		basic_machine=i386-sequent
		os=-dynix
		;;
1116
	t3e)
1117 1118 1119 1120 1121
		basic_machine=alphaev5-cray
		os=-unicos
		;;
	t90)
		basic_machine=t90-cray
1122 1123
		os=-unicos
		;;
1124
	tile*)
Nick Clifton committed
1125
		basic_machine=$basic_machine-unknown
1126 1127
		os=-linux-gnu
		;;
Jason Merrill committed
1128 1129 1130 1131 1132 1133
	tx39)
		basic_machine=mipstx39-unknown
		;;
	tx39el)
		basic_machine=mipstx39el-unknown
		;;
1134 1135 1136 1137
	toad1)
		basic_machine=pdp10-xkl
		os=-tops20
		;;
Jason Merrill committed
1138 1139 1140
	tower | tower-32)
		basic_machine=m68k-ncr
		;;
1141 1142 1143 1144
	tpf)
		basic_machine=s390x-ibm
		os=-tpf
		;;
Jason Merrill committed
1145 1146 1147 1148 1149 1150 1151 1152
	udi29k)
		basic_machine=a29k-amd
		os=-udi
		;;
	ultra3)
		basic_machine=a29k-nyu
		os=-sym1
		;;
1153
	v810 | necv810)
Jason Merrill committed
1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165
		basic_machine=v810-nec
		os=-none
		;;
	vaxv)
		basic_machine=vax-dec
		os=-sysv
		;;
	vms)
		basic_machine=vax-dec
		os=-vms
		;;
	vpp*|vx|vx-*)
1166 1167
		basic_machine=f301-fujitsu
		;;
Jason Merrill committed
1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
	vxworks960)
		basic_machine=i960-wrs
		os=-vxworks
		;;
	vxworks68)
		basic_machine=m68k-wrs
		os=-vxworks
		;;
	vxworks29k)
		basic_machine=a29k-wrs
		os=-vxworks
		;;
1180 1181 1182 1183 1184 1185 1186
	w65*)
		basic_machine=w65-wdc
		os=-none
		;;
	w89k-*)
		basic_machine=hppa1.1-winbond
		os=-proelf
Jason Merrill committed
1187
		;;
1188 1189 1190 1191
	xbox)
		basic_machine=i686-pc
		os=-mingw32
		;;
1192
	xps | xps100)
Jason Merrill committed
1193 1194
		basic_machine=xps100-honeywell
		;;
1195 1196 1197
	xscale-* | xscalee[bl]-*)
		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
		;;
1198 1199 1200 1201
	ymp)
		basic_machine=ymp-cray
		os=-unicos
		;;
1202
	z8k-*-coff)
Jason Merrill committed
1203 1204 1205
		basic_machine=z8k-unknown
		os=-sim
		;;
1206 1207 1208 1209
	z80-*-coff)
		basic_machine=z80-unknown
		os=-sim
		;;
Jason Merrill committed
1210 1211 1212 1213 1214 1215 1216
	none)
		basic_machine=none-none
		os=-none
		;;

# Here we handle the default manufacturer of certain CPU types.  It is in
# some cases the only manufacturer, in others, it is the most popular.
1217
	w89k)
Jason Merrill committed
1218 1219
		basic_machine=hppa1.1-winbond
		;;
1220
	op50n)
Jason Merrill committed
1221 1222
		basic_machine=hppa1.1-oki
		;;
1223
	op60c)
Jason Merrill committed
1224 1225 1226 1227 1228
		basic_machine=hppa1.1-oki
		;;
	romp)
		basic_machine=romp-ibm
		;;
1229 1230 1231
	mmix)
		basic_machine=mmix-knuth
		;;
Jason Merrill committed
1232 1233 1234 1235 1236 1237
	rs6000)
		basic_machine=rs6000-ibm
		;;
	vax)
		basic_machine=vax-dec
		;;
1238 1239 1240 1241
	pdp10)
		# there are many clones, so DEC is not a safe bet
		basic_machine=pdp10-unknown
		;;
Jason Merrill committed
1242 1243 1244 1245 1246 1247
	pdp11)
		basic_machine=pdp11-dec
		;;
	we32k)
		basic_machine=we32k-att
		;;
1248
	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1249
		basic_machine=sh-unknown
Jason Merrill committed
1250
		;;
1251
	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
Jason Merrill committed
1252 1253
		basic_machine=sparc-sun
		;;
1254
	cydra)
Jason Merrill committed
1255 1256 1257 1258 1259 1260 1261 1262
		basic_machine=cydra-cydrome
		;;
	orion)
		basic_machine=orion-highlevel
		;;
	orion105)
		basic_machine=clipper-highlevel
		;;
1263
	mac | mpw | mac-mpw)
Jason Merrill committed
1264 1265
		basic_machine=m68k-apple
		;;
1266
	pmac | pmac-mpw)
Jason Merrill committed
1267 1268
		basic_machine=powerpc-apple
		;;
1269
	*-unknown)
1270 1271
		# Make sure to match an already-canonicalized machine name.
		;;
Jason Merrill committed
1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294
	*)
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
esac

# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
	*-digital*)
		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
		;;
	*-commodore*)
		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
		;;
	*)
		;;
esac

# Decode manufacturer-specific aliases for certain operating systems.

if [ x"$os" != x"" ]
then
case $os in
1295 1296
	# First match some system type aliases
	# that might get confused with valid system types.
Jason Merrill committed
1297
	# -solaris* is a basic system type, with this one exception.
1298 1299
	-auroraux)
		os=-auroraux
1300
		;;
Jason Merrill committed
1301 1302 1303 1304 1305 1306
	-solaris1 | -solaris1.*)
		os=`echo $os | sed -e 's|solaris1|sunos4|'`
		;;
	-solaris)
		os=-solaris2
		;;
1307
	-svr4*)
Jason Merrill committed
1308 1309
		os=-sysv4
		;;
1310 1311 1312
	-unixware*)
		os=-sysv4.2uw
		;;
Jason Merrill committed
1313 1314 1315 1316 1317 1318 1319 1320
	-gnu/linux*)
		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
		;;
	# First accept the basic system types.
	# The portable systems comes first.
	# Each alternative MUST END IN A *, to match a version number.
	# -sysv* is not here because it comes later, after sysvr4.
	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1321
	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1322 1323
	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
	      | -sym* | -kopensolaris* \
1324
	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1325
	      | -aos* | -aros* \
Jason Merrill committed
1326 1327
	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1328 1329
	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
	      | -openbsd* | -solidbsd* \
Andrew Cagney committed
1330 1331
	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
Jason Merrill committed
1332 1333
	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1334
	      | -chorusos* | -chorusrdb* | -cegcc* \
1335
	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1336 1337
	      | -mingw32* | -linux-gnu* | -linux-android* \
	      | -linux-newlib* | -linux-uclibc* \
1338
	      | -uxpv* | -beos* | -mpeix* | -udk* \
1339
	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1340
	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1341
	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1342
	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1343
	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1344
	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1345
	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
Jason Merrill committed
1346 1347
	# Remember, each alternative MUST END IN *, to match a version number.
		;;
1348 1349
	-qnx*)
		case $basic_machine in
1350
		    x86-* | i*86-*)
1351 1352 1353 1354 1355 1356
			;;
		    *)
			os=-nto$os
			;;
		esac
		;;
1357 1358
	-nto-qnx*)
		;;
1359
	-nto*)
1360
		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1361
		;;
Jason Merrill committed
1362
	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1363
	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1364
	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
Jason Merrill committed
1365 1366 1367 1368
		;;
	-mac*)
		os=`echo $os | sed -e 's|mac|macos|'`
		;;
1369 1370 1371
	-linux-dietlibc)
		os=-linux-dietlibc
		;;
Jason Merrill committed
1372 1373 1374 1375 1376 1377 1378 1379 1380
	-linux*)
		os=`echo $os | sed -e 's|linux|linux-gnu|'`
		;;
	-sunos5*)
		os=`echo $os | sed -e 's|sunos5|solaris2|'`
		;;
	-sunos6*)
		os=`echo $os | sed -e 's|sunos6|solaris3|'`
		;;
1381 1382 1383
	-opened*)
		os=-openedition
		;;
1384
	-os400*)
1385 1386
		os=-os400
		;;
1387 1388 1389
	-wince*)
		os=-wince
		;;
Jason Merrill committed
1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404
	-osfrose*)
		os=-osfrose
		;;
	-osf*)
		os=-osf
		;;
	-utek*)
		os=-bsd
		;;
	-dynix*)
		os=-bsd
		;;
	-acis*)
		os=-aos
		;;
1405 1406 1407
	-atheos*)
		os=-atheos
		;;
Andrew Cagney committed
1408 1409 1410
	-syllable*)
		os=-syllable
		;;
1411
	-386bsd)
Jason Merrill committed
1412 1413 1414 1415 1416
		os=-bsd
		;;
	-ctix* | -uts*)
		os=-sysv
		;;
1417 1418 1419
	-nova*)
		os=-rtmk-nova
		;;
Jason Merrill committed
1420
	-ns2 )
1421
		os=-nextstep2
Jason Merrill committed
1422
		;;
1423
	-nsk*)
1424 1425
		os=-nsk
		;;
Jason Merrill committed
1426 1427 1428 1429 1430 1431 1432
	# Preserve the version number of sinix5.
	-sinix5.*)
		os=`echo $os | sed -e 's|sinix|sysv|'`
		;;
	-sinix*)
		os=-sysv4
		;;
1433
	-tpf*)
1434 1435
		os=-tpf
		;;
Jason Merrill committed
1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453
	-triton*)
		os=-sysv3
		;;
	-oss*)
		os=-sysv3
		;;
	-svr4)
		os=-sysv4
		;;
	-svr3)
		os=-sysv3
		;;
	-sysvr4)
		os=-sysv4
		;;
	# This must come after -sysvr4.
	-sysv*)
		;;
1454
	-ose*)
Jason Merrill committed
1455 1456
		os=-ose
		;;
1457
	-es1800*)
Jason Merrill committed
1458 1459 1460 1461 1462
		os=-ose
		;;
	-xenix)
		os=-xenix
		;;
1463 1464
	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
		os=-mint
1465
		;;
1466 1467 1468
	-aros*)
		os=-aros
		;;
1469 1470 1471
	-kaos*)
		os=-kaos
		;;
1472 1473 1474
	-zvmoe)
		os=-zvmoe
		;;
1475 1476 1477
	-dicos*)
		os=-dicos
		;;
1478 1479
	-nacl*)
		;;
Jason Merrill committed
1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501
	-none)
		;;
	*)
		# Get rid of the `-' at the beginning of $os.
		os=`echo $os | sed 's/[^-]*-//'`
		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
		exit 1
		;;
esac
else

# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.

# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system.  Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.

case $basic_machine in
1502
	score-*)
1503 1504
		os=-elf
		;;
1505
	spu-*)
1506 1507
		os=-elf
		;;
Jason Merrill committed
1508 1509 1510
	*-acorn)
		os=-riscix1.2
		;;
1511
	arm*-rebel)
1512 1513
		os=-linux
		;;
Jason Merrill committed
1514 1515 1516
	arm*-semi)
		os=-aout
		;;
1517 1518
	c4x-* | tic4x-*)
		os=-coff
1519
		;;
1520 1521 1522 1523 1524 1525 1526 1527 1528
	tic54x-*)
		os=-coff
		;;
	tic55x-*)
		os=-coff
		;;
	tic6x-*)
		os=-coff
		;;
1529
	# This must come before the *-dec entry.
1530 1531 1532
	pdp10-*)
		os=-tops20
		;;
1533
	pdp11-*)
Jason Merrill committed
1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550
		os=-none
		;;
	*-dec | vax-*)
		os=-ultrix4.2
		;;
	m68*-apollo)
		os=-domain
		;;
	i386-sun)
		os=-sunos4.0.2
		;;
	m68000-sun)
		os=-sunos3
		# This also exists in the configure program, but was not the
		# default.
		# os=-sunos4
		;;
1551
	m68*-cisco)
Jason Merrill committed
1552 1553
		os=-aout
		;;
1554
	mep-*)
1555 1556
		os=-elf
		;;
1557 1558 1559 1560
	mips*-cisco)
		os=-elf
		;;
	mips*-*)
Jason Merrill committed
1561 1562
		os=-elf
		;;
1563 1564 1565
	or32-*)
		os=-coff
		;;
Jason Merrill committed
1566 1567 1568 1569 1570 1571
	*-tti)	# must be before sparc entry or we get the wrong os.
		os=-sysv3
		;;
	sparc-* | *-sun)
		os=-sunos4.1.1
		;;
1572
	*-be)
Jason Merrill committed
1573 1574
		os=-beos
		;;
1575 1576 1577
	*-haiku)
		os=-haiku
		;;
Jason Merrill committed
1578 1579 1580
	*-ibm)
		os=-aix
		;;
1581
	*-knuth)
1582 1583
		os=-mmixware
		;;
1584
	*-wec)
Jason Merrill committed
1585 1586
		os=-proelf
		;;
1587
	*-winbond)
Jason Merrill committed
1588 1589
		os=-proelf
		;;
1590
	*-oki)
Jason Merrill committed
1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602
		os=-proelf
		;;
	*-hp)
		os=-hpux
		;;
	*-hitachi)
		os=-hiux
		;;
	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
		os=-sysv
		;;
	*-cbm)
1603
		os=-amigaos
Jason Merrill committed
1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634
		;;
	*-dg)
		os=-dgux
		;;
	*-dolphin)
		os=-sysv3
		;;
	m68k-ccur)
		os=-rtu
		;;
	m88k-omron*)
		os=-luna
		;;
	*-next )
		os=-nextstep
		;;
	*-sequent)
		os=-ptx
		;;
	*-crds)
		os=-unos
		;;
	*-ns)
		os=-genix
		;;
	i370-*)
		os=-mvs
		;;
	*-next)
		os=-nextstep3
		;;
1635
	*-gould)
Jason Merrill committed
1636 1637
		os=-sysv
		;;
1638
	*-highlevel)
Jason Merrill committed
1639 1640 1641 1642 1643
		os=-bsd
		;;
	*-encore)
		os=-bsd
		;;
1644
	*-sgi)
Jason Merrill committed
1645 1646
		os=-irix
		;;
1647
	*-siemens)
Jason Merrill committed
1648 1649 1650 1651 1652
		os=-sysv4
		;;
	*-masscomp)
		os=-rtu
		;;
1653
	f30[01]-fujitsu | f700-fujitsu)
Jason Merrill committed
1654 1655
		os=-uxpv
		;;
1656
	*-rom68k)
Jason Merrill committed
1657 1658
		os=-coff
		;;
1659
	*-*bug)
Jason Merrill committed
1660 1661
		os=-coff
		;;
1662
	*-apple)
Jason Merrill committed
1663 1664
		os=-macos
		;;
1665 1666 1667
	*-atari*)
		os=-mint
		;;
Jason Merrill committed
1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685
	*)
		os=-none
		;;
esac
fi

# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer.  We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
	*-unknown)
		case $os in
			-riscix*)
				vendor=acorn
				;;
			-sunos*)
				vendor=sun
				;;
1686
			-cnk*|-aix*)
Jason Merrill committed
1687 1688
				vendor=ibm
				;;
1689
			-beos*)
Jason Merrill committed
1690 1691 1692
				vendor=be
				;;
			-hpux*)
1693 1694
				vendor=hp
				;;
1695
			-mpeix*)
1696 1697
				vendor=hp
				;;
Jason Merrill committed
1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712
			-hiux*)
				vendor=hitachi
				;;
			-unos*)
				vendor=crds
				;;
			-dgux*)
				vendor=dg
				;;
			-luna*)
				vendor=omron
				;;
			-genix*)
				vendor=ns
				;;
1713
			-mvs* | -opened*)
Jason Merrill committed
1714 1715
				vendor=ibm
				;;
1716 1717 1718
			-os400*)
				vendor=ibm
				;;
Jason Merrill committed
1719 1720 1721
			-ptx*)
				vendor=sequent
				;;
1722 1723 1724
			-tpf*)
				vendor=ibm
				;;
1725
			-vxsim* | -vxworks* | -windiss*)
Jason Merrill committed
1726 1727 1728 1729 1730
				vendor=wrs
				;;
			-aux*)
				vendor=apple
				;;
1731
			-hms*)
Jason Merrill committed
1732 1733
				vendor=hitachi
				;;
1734
			-mpw* | -macos*)
Jason Merrill committed
1735 1736
				vendor=apple
				;;
1737
			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1738 1739
				vendor=atari
				;;
1740 1741 1742
			-vos*)
				vendor=stratus
				;;
Jason Merrill committed
1743 1744 1745 1746 1747 1748
		esac
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
		;;
esac

echo $basic_machine$os
1749
exit
1750 1751 1752

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
1753
# time-stamp-start: "timestamp='"
1754 1755 1756
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End: