config.sub revision b43acbb4
123a0898aSmrg#! /bin/sh
223a0898aSmrg# Configuration validation subroutine script.
3b43acbb4Smrg#   Copyright 1992-2015 Free Software Foundation, Inc.
423a0898aSmrg
5b43acbb4Smrgtimestamp='2015-01-01'
623a0898aSmrg
7b020570bSmrg# This file is free software; you can redistribute it and/or modify it
8b020570bSmrg# under the terms of the GNU General Public License as published by
9b020570bSmrg# the Free Software Foundation; either version 3 of the License, or
1023a0898aSmrg# (at your option) any later version.
1123a0898aSmrg#
12b020570bSmrg# This program is distributed in the hope that it will be useful, but
13b020570bSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14b020570bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15b020570bSmrg# General Public License for more details.
1623a0898aSmrg#
1723a0898aSmrg# You should have received a copy of the GNU General Public License
18b020570bSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1923a0898aSmrg#
2023a0898aSmrg# As a special exception to the GNU General Public License, if you
2123a0898aSmrg# distribute this file as part of a program that contains a
2223a0898aSmrg# configuration script generated by Autoconf, you may include it under
23b020570bSmrg# the same distribution terms that you use for the rest of that
24b020570bSmrg# program.  This Exception is an additional permission under section 7
25b020570bSmrg# of the GNU General Public License, version 3 ("GPLv3").
2623a0898aSmrg
2723a0898aSmrg
28121a5469Smrg# Please send patches to <config-patches@gnu.org>.
2923a0898aSmrg#
3023a0898aSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3123a0898aSmrg# Supply the specified configuration type as an argument.
3223a0898aSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3323a0898aSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3423a0898aSmrg
3541c30155Smrg# You can get the latest version of this script from:
3641c30155Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3741c30155Smrg
3823a0898aSmrg# This file is supposed to be the same for all GNU packages
3923a0898aSmrg# and recognize all the CPU types, system types and aliases
4023a0898aSmrg# that are meaningful with *any* GNU software.
4123a0898aSmrg# Each package is responsible for reporting which valid configurations
4223a0898aSmrg# it does not support.  The user should be able to distinguish
4323a0898aSmrg# a failure to support a valid configuration from a meaningless
4423a0898aSmrg# configuration.
4523a0898aSmrg
4623a0898aSmrg# The goal of this file is to map all the various variations of a given
4723a0898aSmrg# machine specification into a single specification in the form:
4823a0898aSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4923a0898aSmrg# or in some cases, the newer four-part form:
5023a0898aSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5123a0898aSmrg# It is wrong to echo any other type of specification.
5223a0898aSmrg
5323a0898aSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5423a0898aSmrg
5523a0898aSmrgusage="\
5623a0898aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5723a0898aSmrg       $0 [OPTION] ALIAS
5823a0898aSmrg
5923a0898aSmrgCanonicalize a configuration name.
6023a0898aSmrg
6123a0898aSmrgOperation modes:
6223a0898aSmrg  -h, --help         print this help, then exit
6323a0898aSmrg  -t, --time-stamp   print date of last modification, then exit
6423a0898aSmrg  -v, --version      print version number, then exit
6523a0898aSmrg
6623a0898aSmrgReport bugs and patches to <config-patches@gnu.org>."
6723a0898aSmrg
6823a0898aSmrgversion="\
6923a0898aSmrgGNU config.sub ($timestamp)
7023a0898aSmrg
71b43acbb4SmrgCopyright 1992-2015 Free Software Foundation, Inc.
7223a0898aSmrg
7323a0898aSmrgThis is free software; see the source for copying conditions.  There is NO
7423a0898aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7523a0898aSmrg
7623a0898aSmrghelp="
7723a0898aSmrgTry \`$me --help' for more information."
7823a0898aSmrg
7923a0898aSmrg# Parse command line
8023a0898aSmrgwhile test $# -gt 0 ; do
8123a0898aSmrg  case $1 in
8223a0898aSmrg    --time-stamp | --time* | -t )
8323a0898aSmrg       echo "$timestamp" ; exit ;;
8423a0898aSmrg    --version | -v )
8523a0898aSmrg       echo "$version" ; exit ;;
8623a0898aSmrg    --help | --h* | -h )
8723a0898aSmrg       echo "$usage"; exit ;;
8823a0898aSmrg    -- )     # Stop option processing
8923a0898aSmrg       shift; break ;;
9023a0898aSmrg    - )	# Use stdin as input.
9123a0898aSmrg       break ;;
9223a0898aSmrg    -* )
9323a0898aSmrg       echo "$me: invalid option $1$help"
9423a0898aSmrg       exit 1 ;;
9523a0898aSmrg
9623a0898aSmrg    *local*)
9723a0898aSmrg       # First pass through any local machine types.
9823a0898aSmrg       echo $1
9923a0898aSmrg       exit ;;
10023a0898aSmrg
10123a0898aSmrg    * )
10223a0898aSmrg       break ;;
10323a0898aSmrg  esac
10423a0898aSmrgdone
10523a0898aSmrg
10623a0898aSmrgcase $# in
10723a0898aSmrg 0) echo "$me: missing argument$help" >&2
10823a0898aSmrg    exit 1;;
10923a0898aSmrg 1) ;;
11023a0898aSmrg *) echo "$me: too many arguments$help" >&2
11123a0898aSmrg    exit 1;;
11223a0898aSmrgesac
11323a0898aSmrg
11423a0898aSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11523a0898aSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11623a0898aSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11723a0898aSmrgcase $maybe_os in
11841c30155Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119b020570bSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12041c30155Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
12141c30155Smrg  kopensolaris*-gnu* | \
12223a0898aSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12323a0898aSmrg    os=-$maybe_os
12423a0898aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12523a0898aSmrg    ;;
126b020570bSmrg  android-linux)
127b020570bSmrg    os=-linux-android
128b020570bSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129b020570bSmrg    ;;
13023a0898aSmrg  *)
13123a0898aSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13223a0898aSmrg    if [ $basic_machine != $1 ]
13323a0898aSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13423a0898aSmrg    else os=; fi
13523a0898aSmrg    ;;
13623a0898aSmrgesac
13723a0898aSmrg
13823a0898aSmrg### Let's recognize common machines as not being operating systems so
13923a0898aSmrg### that things like config.sub decstation-3100 work.  We also
14023a0898aSmrg### recognize some manufacturers as not being operating systems, so we
14123a0898aSmrg### can provide default operating systems below.
14223a0898aSmrgcase $os in
14323a0898aSmrg	-sun*os*)
14423a0898aSmrg		# Prevent following clause from handling this invalid input.
14523a0898aSmrg		;;
14623a0898aSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14723a0898aSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14823a0898aSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14923a0898aSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15023a0898aSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15123a0898aSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152b020570bSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
15323a0898aSmrg		os=
15423a0898aSmrg		basic_machine=$1
15523a0898aSmrg		;;
156b020570bSmrg	-bluegene*)
157b020570bSmrg		os=-cnk
15841c30155Smrg		;;
15923a0898aSmrg	-sim | -cisco | -oki | -wec | -winbond)
16023a0898aSmrg		os=
16123a0898aSmrg		basic_machine=$1
16223a0898aSmrg		;;
16323a0898aSmrg	-scout)
16423a0898aSmrg		;;
16523a0898aSmrg	-wrs)
16623a0898aSmrg		os=-vxworks
16723a0898aSmrg		basic_machine=$1
16823a0898aSmrg		;;
16923a0898aSmrg	-chorusos*)
17023a0898aSmrg		os=-chorusos
17123a0898aSmrg		basic_machine=$1
17223a0898aSmrg		;;
173b020570bSmrg	-chorusrdb)
174b020570bSmrg		os=-chorusrdb
17523a0898aSmrg		basic_machine=$1
176b020570bSmrg		;;
17723a0898aSmrg	-hiux*)
17823a0898aSmrg		os=-hiuxwe2
17923a0898aSmrg		;;
18023a0898aSmrg	-sco6)
18123a0898aSmrg		os=-sco5v6
18223a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18323a0898aSmrg		;;
18423a0898aSmrg	-sco5)
18523a0898aSmrg		os=-sco3.2v5
18623a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18723a0898aSmrg		;;
18823a0898aSmrg	-sco4)
18923a0898aSmrg		os=-sco3.2v4
19023a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19123a0898aSmrg		;;
19223a0898aSmrg	-sco3.2.[4-9]*)
19323a0898aSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19423a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19523a0898aSmrg		;;
19623a0898aSmrg	-sco3.2v[4-9]*)
19723a0898aSmrg		# Don't forget version if it is 3.2v4 or newer.
19823a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19923a0898aSmrg		;;
20023a0898aSmrg	-sco5v6*)
20123a0898aSmrg		# Don't forget version if it is 3.2v4 or newer.
20223a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20323a0898aSmrg		;;
20423a0898aSmrg	-sco*)
20523a0898aSmrg		os=-sco3.2v2
20623a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20723a0898aSmrg		;;
20823a0898aSmrg	-udk*)
20923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21023a0898aSmrg		;;
21123a0898aSmrg	-isc)
21223a0898aSmrg		os=-isc2.2
21323a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21423a0898aSmrg		;;
21523a0898aSmrg	-clix*)
21623a0898aSmrg		basic_machine=clipper-intergraph
21723a0898aSmrg		;;
21823a0898aSmrg	-isc*)
21923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22023a0898aSmrg		;;
221b020570bSmrg	-lynx*178)
222b020570bSmrg		os=-lynxos178
223b020570bSmrg		;;
224b020570bSmrg	-lynx*5)
225b020570bSmrg		os=-lynxos5
226b020570bSmrg		;;
22723a0898aSmrg	-lynx*)
22823a0898aSmrg		os=-lynxos
22923a0898aSmrg		;;
23023a0898aSmrg	-ptx*)
23123a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23223a0898aSmrg		;;
23323a0898aSmrg	-windowsnt*)
23423a0898aSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23523a0898aSmrg		;;
23623a0898aSmrg	-psos*)
23723a0898aSmrg		os=-psos
23823a0898aSmrg		;;
23923a0898aSmrg	-mint | -mint[0-9]*)
24023a0898aSmrg		basic_machine=m68k-atari
24123a0898aSmrg		os=-mint
24223a0898aSmrg		;;
24323a0898aSmrgesac
24423a0898aSmrg
24523a0898aSmrg# Decode aliases for certain CPU-COMPANY combinations.
24623a0898aSmrgcase $basic_machine in
24723a0898aSmrg	# Recognize the basic CPU types without company name.
24823a0898aSmrg	# Some are omitted here because they have special meanings below.
24923a0898aSmrg	1750a | 580 \
25023a0898aSmrg	| a29k \
251b020570bSmrg	| aarch64 | aarch64_be \
25223a0898aSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25323a0898aSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25423a0898aSmrg	| am33_2.0 \
255b020570bSmrg	| arc | arceb \
256b020570bSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257b020570bSmrg	| avr | avr32 \
258b020570bSmrg	| be32 | be64 \
25923a0898aSmrg	| bfin \
2600145ab54Ssnj	| c4x | c8051 | clipper \
26123a0898aSmrg	| d10v | d30v | dlx | dsp16xx \
262b020570bSmrg	| epiphany \
263b43acbb4Smrg	| fido | fr30 | frv | ft32 \
26423a0898aSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265b020570bSmrg	| hexagon \
26623a0898aSmrg	| i370 | i860 | i960 | ia64 \
26723a0898aSmrg	| ip2k | iq2000 \
2680145ab54Ssnj	| k1om \
269b020570bSmrg	| le32 | le64 \
27041c30155Smrg	| lm32 \
27123a0898aSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272b020570bSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27323a0898aSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27423a0898aSmrg	| mips16 \
27523a0898aSmrg	| mips64 | mips64el \
27641c30155Smrg	| mips64octeon | mips64octeonel \
277b3062210Smrg	| mips64orion | mips64orionel \
27841c30155Smrg	| mips64r5900 | mips64r5900el \
27941c30155Smrg	| mips64vr | mips64vrel \
28023a0898aSmrg	| mips64vr4100 | mips64vr4100el \
28123a0898aSmrg	| mips64vr4300 | mips64vr4300el \
28223a0898aSmrg	| mips64vr5000 | mips64vr5000el \
28323a0898aSmrg	| mips64vr5900 | mips64vr5900el \
28423a0898aSmrg	| mipsisa32 | mipsisa32el \
28523a0898aSmrg	| mipsisa32r2 | mipsisa32r2el \
286121a5469Smrg	| mipsisa32r6 | mipsisa32r6el \
28723a0898aSmrg	| mipsisa64 | mipsisa64el \
28823a0898aSmrg	| mipsisa64r2 | mipsisa64r2el \
289121a5469Smrg	| mipsisa64r6 | mipsisa64r6el \
29023a0898aSmrg	| mipsisa64sb1 | mipsisa64sb1el \
29123a0898aSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
292b020570bSmrg	| mipsr5900 | mipsr5900el \
29323a0898aSmrg	| mipstx39 | mipstx39el \
29423a0898aSmrg	| mn10200 | mn10300 \
29541c30155Smrg	| moxie \
29623a0898aSmrg	| mt \
29723a0898aSmrg	| msp430 \
29841c30155Smrg	| nds32 | nds32le | nds32be \
299b020570bSmrg	| nios | nios2 | nios2eb | nios2el \
30023a0898aSmrg	| ns16k | ns32k \
301121a5469Smrg	| open8 | or1k | or1knd | or32 \
30223a0898aSmrg	| pdp10 | pdp11 | pj | pjl \
303b020570bSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30423a0898aSmrg	| pyramid \
305121a5469Smrg	| riscv32 | riscv64 \
306b020570bSmrg	| rl78 | rx \
30723a0898aSmrg	| score \
30841c30155Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30923a0898aSmrg	| sh64 | sh64le \
31023a0898aSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31123a0898aSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312b020570bSmrg	| spu \
313b020570bSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31441c30155Smrg	| ubicom32 \
315b020570bSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316121a5469Smrg	| visium \
31723a0898aSmrg	| we32k \
318b020570bSmrg	| x86 | xc16x | xstormy16 | xtensa \
31941c30155Smrg	| z8k | z80)
32023a0898aSmrg		basic_machine=$basic_machine-unknown
32123a0898aSmrg		;;
32241c30155Smrg	c54x)
32341c30155Smrg		basic_machine=tic54x-unknown
32441c30155Smrg		;;
32541c30155Smrg	c55x)
32641c30155Smrg		basic_machine=tic55x-unknown
32741c30155Smrg		;;
32841c30155Smrg	c6x)
32941c30155Smrg		basic_machine=tic6x-unknown
33041c30155Smrg		;;
331121a5469Smrg	leon|leon[3-9])
332121a5469Smrg		basic_machine=sparc-$basic_machine
333121a5469Smrg		;;
3340145ab54Ssnj	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33523a0898aSmrg		basic_machine=$basic_machine-unknown
33623a0898aSmrg		os=-none
33723a0898aSmrg		;;
33823a0898aSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33923a0898aSmrg		;;
34023a0898aSmrg	ms1)
34123a0898aSmrg		basic_machine=mt-unknown
34223a0898aSmrg		;;
34323a0898aSmrg
344b020570bSmrg	strongarm | thumb | xscale)
345b020570bSmrg		basic_machine=arm-unknown
346b020570bSmrg		;;
347b020570bSmrg	xgate)
348b020570bSmrg		basic_machine=$basic_machine-unknown
349b020570bSmrg		os=-none
350b020570bSmrg		;;
351b020570bSmrg	xscaleeb)
352b020570bSmrg		basic_machine=armeb-unknown
353b020570bSmrg		;;
354b020570bSmrg
355b020570bSmrg	xscaleel)
356b020570bSmrg		basic_machine=armel-unknown
357b020570bSmrg		;;
358b020570bSmrg
35923a0898aSmrg	# We use `pc' rather than `unknown'
36023a0898aSmrg	# because (1) that's what they normally are, and
36123a0898aSmrg	# (2) the word "unknown" tends to confuse beginning users.
36223a0898aSmrg	i*86 | x86_64)
36323a0898aSmrg	  basic_machine=$basic_machine-pc
36423a0898aSmrg	  ;;
36523a0898aSmrg	# Object if more than one company name word.
36623a0898aSmrg	*-*-*)
36723a0898aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36823a0898aSmrg		exit 1
36923a0898aSmrg		;;
37023a0898aSmrg	# Recognize the basic CPU types with company name.
37123a0898aSmrg	580-* \
37223a0898aSmrg	| a29k-* \
373b020570bSmrg	| aarch64-* | aarch64_be-* \
37423a0898aSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37523a0898aSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376b020570bSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37723a0898aSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37823a0898aSmrg	| avr-* | avr32-* \
379b020570bSmrg	| be32-* | be64-* \
38023a0898aSmrg	| bfin-* | bs2000-* \
38141c30155Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3820145ab54Ssnj	| c8051-* | clipper-* | craynv-* | cydra-* \
38323a0898aSmrg	| d10v-* | d30v-* | dlx-* \
38423a0898aSmrg	| elxsi-* \
38523a0898aSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38623a0898aSmrg	| h8300-* | h8500-* \
38723a0898aSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
388b020570bSmrg	| hexagon-* \
38923a0898aSmrg	| i*86-* | i860-* | i960-* | ia64-* \
39023a0898aSmrg	| ip2k-* | iq2000-* \
3910145ab54Ssnj	| k1om-* \
392b020570bSmrg	| le32-* | le64-* \
39341c30155Smrg	| lm32-* \
39423a0898aSmrg	| m32c-* | m32r-* | m32rle-* \
39523a0898aSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
396b020570bSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
397b020570bSmrg	| microblaze-* | microblazeel-* \
39823a0898aSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39923a0898aSmrg	| mips16-* \
40023a0898aSmrg	| mips64-* | mips64el-* \
40141c30155Smrg	| mips64octeon-* | mips64octeonel-* \
402b3062210Smrg	| mips64orion-* | mips64orionel-* \
40341c30155Smrg	| mips64r5900-* | mips64r5900el-* \
40441c30155Smrg	| mips64vr-* | mips64vrel-* \
40523a0898aSmrg	| mips64vr4100-* | mips64vr4100el-* \
40623a0898aSmrg	| mips64vr4300-* | mips64vr4300el-* \
40723a0898aSmrg	| mips64vr5000-* | mips64vr5000el-* \
40823a0898aSmrg	| mips64vr5900-* | mips64vr5900el-* \
40923a0898aSmrg	| mipsisa32-* | mipsisa32el-* \
41023a0898aSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
411121a5469Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41223a0898aSmrg	| mipsisa64-* | mipsisa64el-* \
41323a0898aSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
414121a5469Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41523a0898aSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41623a0898aSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
417b020570bSmrg	| mipsr5900-* | mipsr5900el-* \
41823a0898aSmrg	| mipstx39-* | mipstx39el-* \
41923a0898aSmrg	| mmix-* \
42023a0898aSmrg	| mt-* \
42123a0898aSmrg	| msp430-* \
42241c30155Smrg	| nds32-* | nds32le-* | nds32be-* \
423b020570bSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42423a0898aSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
425b020570bSmrg	| open8-* \
426121a5469Smrg	| or1k*-* \
42723a0898aSmrg	| orion-* \
42823a0898aSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
429b020570bSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
43023a0898aSmrg	| pyramid-* \
431b020570bSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
43241c30155Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43323a0898aSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43423a0898aSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43523a0898aSmrg	| sparclite-* \
436b020570bSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
437b020570bSmrg	| tahoe-* \
438b3062210Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
439b020570bSmrg	| tile*-* \
44023a0898aSmrg	| tron-* \
44141c30155Smrg	| ubicom32-* \
442b020570bSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
443b020570bSmrg	| vax-* \
444121a5469Smrg	| visium-* \
44523a0898aSmrg	| we32k-* \
446b020570bSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4477f7f5e4eSmrg	| xstormy16-* | xtensa*-* \
44823a0898aSmrg	| ymp-* \
44941c30155Smrg	| z8k-* | z80-*)
4507f7f5e4eSmrg		;;
4517f7f5e4eSmrg	# Recognize the basic CPU types without company name, with glob match.
4527f7f5e4eSmrg	xtensa*)
4537f7f5e4eSmrg		basic_machine=$basic_machine-unknown
45423a0898aSmrg		;;
45523a0898aSmrg	# Recognize the various machine names and aliases which stand
45623a0898aSmrg	# for a CPU type and a company and sometimes even an OS.
45723a0898aSmrg	386bsd)
45823a0898aSmrg		basic_machine=i386-unknown
45923a0898aSmrg		os=-bsd
46023a0898aSmrg		;;
46123a0898aSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46223a0898aSmrg		basic_machine=m68000-att
46323a0898aSmrg		;;
46423a0898aSmrg	3b*)
46523a0898aSmrg		basic_machine=we32k-att
46623a0898aSmrg		;;
46723a0898aSmrg	a29khif)
46823a0898aSmrg		basic_machine=a29k-amd
46923a0898aSmrg		os=-udi
47023a0898aSmrg		;;
471b020570bSmrg	abacus)
47223a0898aSmrg		basic_machine=abacus-unknown
47323a0898aSmrg		;;
47423a0898aSmrg	adobe68k)
47523a0898aSmrg		basic_machine=m68010-adobe
47623a0898aSmrg		os=-scout
47723a0898aSmrg		;;
47823a0898aSmrg	alliant | fx80)
47923a0898aSmrg		basic_machine=fx80-alliant
48023a0898aSmrg		;;
48123a0898aSmrg	altos | altos3068)
48223a0898aSmrg		basic_machine=m68k-altos
48323a0898aSmrg		;;
48423a0898aSmrg	am29k)
48523a0898aSmrg		basic_machine=a29k-none
48623a0898aSmrg		os=-bsd
48723a0898aSmrg		;;
48823a0898aSmrg	amd64)
48923a0898aSmrg		basic_machine=x86_64-pc
49023a0898aSmrg		;;
49123a0898aSmrg	amd64-*)
49223a0898aSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49323a0898aSmrg		;;
49423a0898aSmrg	amdahl)
49523a0898aSmrg		basic_machine=580-amdahl
49623a0898aSmrg		os=-sysv
49723a0898aSmrg		;;
49823a0898aSmrg	amiga | amiga-*)
49923a0898aSmrg		basic_machine=m68k-unknown
50023a0898aSmrg		;;
50123a0898aSmrg	amigaos | amigados)
50223a0898aSmrg		basic_machine=m68k-unknown
50323a0898aSmrg		os=-amigaos
50423a0898aSmrg		;;
50523a0898aSmrg	amigaunix | amix)
50623a0898aSmrg		basic_machine=m68k-unknown
50723a0898aSmrg		os=-sysv4
50823a0898aSmrg		;;
50923a0898aSmrg	apollo68)
51023a0898aSmrg		basic_machine=m68k-apollo
51123a0898aSmrg		os=-sysv
51223a0898aSmrg		;;
51323a0898aSmrg	apollo68bsd)
51423a0898aSmrg		basic_machine=m68k-apollo
51523a0898aSmrg		os=-bsd
51623a0898aSmrg		;;
51741c30155Smrg	aros)
51841c30155Smrg		basic_machine=i386-pc
51941c30155Smrg		os=-aros
52041c30155Smrg		;;
52123a0898aSmrg	aux)
52223a0898aSmrg		basic_machine=m68k-apple
52323a0898aSmrg		os=-aux
52423a0898aSmrg		;;
52523a0898aSmrg	balance)
52623a0898aSmrg		basic_machine=ns32k-sequent
52723a0898aSmrg		os=-dynix
52823a0898aSmrg		;;
5297f7f5e4eSmrg	blackfin)
5307f7f5e4eSmrg		basic_machine=bfin-unknown
5317f7f5e4eSmrg		os=-linux
5327f7f5e4eSmrg		;;
5337f7f5e4eSmrg	blackfin-*)
5347f7f5e4eSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5357f7f5e4eSmrg		os=-linux
5367f7f5e4eSmrg		;;
53741c30155Smrg	bluegene*)
53841c30155Smrg		basic_machine=powerpc-ibm
53941c30155Smrg		os=-cnk
54041c30155Smrg		;;
54141c30155Smrg	c54x-*)
54241c30155Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54341c30155Smrg		;;
54441c30155Smrg	c55x-*)
54541c30155Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
54641c30155Smrg		;;
54741c30155Smrg	c6x-*)
54841c30155Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
54941c30155Smrg		;;
55023a0898aSmrg	c90)
55123a0898aSmrg		basic_machine=c90-cray
55223a0898aSmrg		os=-unicos
55323a0898aSmrg		;;
554b020570bSmrg	cegcc)
55541c30155Smrg		basic_machine=arm-unknown
55641c30155Smrg		os=-cegcc
55741c30155Smrg		;;
55823a0898aSmrg	convex-c1)
55923a0898aSmrg		basic_machine=c1-convex
56023a0898aSmrg		os=-bsd
56123a0898aSmrg		;;
56223a0898aSmrg	convex-c2)
56323a0898aSmrg		basic_machine=c2-convex
56423a0898aSmrg		os=-bsd
56523a0898aSmrg		;;
56623a0898aSmrg	convex-c32)
56723a0898aSmrg		basic_machine=c32-convex
56823a0898aSmrg		os=-bsd
56923a0898aSmrg		;;
57023a0898aSmrg	convex-c34)
57123a0898aSmrg		basic_machine=c34-convex
57223a0898aSmrg		os=-bsd
57323a0898aSmrg		;;
57423a0898aSmrg	convex-c38)
57523a0898aSmrg		basic_machine=c38-convex
57623a0898aSmrg		os=-bsd
57723a0898aSmrg		;;
57823a0898aSmrg	cray | j90)
57923a0898aSmrg		basic_machine=j90-cray
58023a0898aSmrg		os=-unicos
58123a0898aSmrg		;;
58223a0898aSmrg	craynv)
58323a0898aSmrg		basic_machine=craynv-cray
58423a0898aSmrg		os=-unicosmp
58523a0898aSmrg		;;
586b020570bSmrg	cr16 | cr16-*)
5877f7f5e4eSmrg		basic_machine=cr16-unknown
58823a0898aSmrg		os=-elf
58923a0898aSmrg		;;
59023a0898aSmrg	crds | unos)
59123a0898aSmrg		basic_machine=m68k-crds
59223a0898aSmrg		;;
59323a0898aSmrg	crisv32 | crisv32-* | etraxfs*)
59423a0898aSmrg		basic_machine=crisv32-axis
59523a0898aSmrg		;;
59623a0898aSmrg	cris | cris-* | etrax*)
59723a0898aSmrg		basic_machine=cris-axis
59823a0898aSmrg		;;
59923a0898aSmrg	crx)
60023a0898aSmrg		basic_machine=crx-unknown
60123a0898aSmrg		os=-elf
60223a0898aSmrg		;;
60323a0898aSmrg	da30 | da30-*)
60423a0898aSmrg		basic_machine=m68k-da30
60523a0898aSmrg		;;
60623a0898aSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
60723a0898aSmrg		basic_machine=mips-dec
60823a0898aSmrg		;;
60923a0898aSmrg	decsystem10* | dec10*)
61023a0898aSmrg		basic_machine=pdp10-dec
61123a0898aSmrg		os=-tops10
61223a0898aSmrg		;;
61323a0898aSmrg	decsystem20* | dec20*)
61423a0898aSmrg		basic_machine=pdp10-dec
61523a0898aSmrg		os=-tops20
61623a0898aSmrg		;;
61723a0898aSmrg	delta | 3300 | motorola-3300 | motorola-delta \
61823a0898aSmrg	      | 3300-motorola | delta-motorola)
61923a0898aSmrg		basic_machine=m68k-motorola
62023a0898aSmrg		;;
62123a0898aSmrg	delta88)
62223a0898aSmrg		basic_machine=m88k-motorola
62323a0898aSmrg		os=-sysv3
62423a0898aSmrg		;;
62541c30155Smrg	dicos)
62641c30155Smrg		basic_machine=i686-pc
62741c30155Smrg		os=-dicos
62841c30155Smrg		;;
62923a0898aSmrg	djgpp)
63023a0898aSmrg		basic_machine=i586-pc
63123a0898aSmrg		os=-msdosdjgpp
63223a0898aSmrg		;;
63323a0898aSmrg	dpx20 | dpx20-*)
63423a0898aSmrg		basic_machine=rs6000-bull
63523a0898aSmrg		os=-bosx
63623a0898aSmrg		;;
63723a0898aSmrg	dpx2* | dpx2*-bull)
63823a0898aSmrg		basic_machine=m68k-bull
63923a0898aSmrg		os=-sysv3
64023a0898aSmrg		;;
64123a0898aSmrg	ebmon29k)
64223a0898aSmrg		basic_machine=a29k-amd
64323a0898aSmrg		os=-ebmon
64423a0898aSmrg		;;
64523a0898aSmrg	elxsi)
64623a0898aSmrg		basic_machine=elxsi-elxsi
64723a0898aSmrg		os=-bsd
64823a0898aSmrg		;;
64923a0898aSmrg	encore | umax | mmax)
65023a0898aSmrg		basic_machine=ns32k-encore
65123a0898aSmrg		;;
65223a0898aSmrg	es1800 | OSE68k | ose68k | ose | OSE)
65323a0898aSmrg		basic_machine=m68k-ericsson
65423a0898aSmrg		os=-ose
65523a0898aSmrg		;;
65623a0898aSmrg	fx2800)
65723a0898aSmrg		basic_machine=i860-alliant
65823a0898aSmrg		;;
65923a0898aSmrg	genix)
66023a0898aSmrg		basic_machine=ns32k-ns
66123a0898aSmrg		;;
66223a0898aSmrg	gmicro)
66323a0898aSmrg		basic_machine=tron-gmicro
66423a0898aSmrg		os=-sysv
66523a0898aSmrg		;;
66623a0898aSmrg	go32)
66723a0898aSmrg		basic_machine=i386-pc
66823a0898aSmrg		os=-go32
66923a0898aSmrg		;;
67023a0898aSmrg	h3050r* | hiux*)
67123a0898aSmrg		basic_machine=hppa1.1-hitachi
67223a0898aSmrg		os=-hiuxwe2
67323a0898aSmrg		;;
67423a0898aSmrg	h8300hms)
67523a0898aSmrg		basic_machine=h8300-hitachi
67623a0898aSmrg		os=-hms
67723a0898aSmrg		;;
67823a0898aSmrg	h8300xray)
67923a0898aSmrg		basic_machine=h8300-hitachi
68023a0898aSmrg		os=-xray
68123a0898aSmrg		;;
68223a0898aSmrg	h8500hms)
68323a0898aSmrg		basic_machine=h8500-hitachi
68423a0898aSmrg		os=-hms
68523a0898aSmrg		;;
68623a0898aSmrg	harris)
68723a0898aSmrg		basic_machine=m88k-harris
68823a0898aSmrg		os=-sysv3
68923a0898aSmrg		;;
69023a0898aSmrg	hp300-*)
69123a0898aSmrg		basic_machine=m68k-hp
69223a0898aSmrg		;;
69323a0898aSmrg	hp300bsd)
69423a0898aSmrg		basic_machine=m68k-hp
69523a0898aSmrg		os=-bsd
69623a0898aSmrg		;;
69723a0898aSmrg	hp300hpux)
69823a0898aSmrg		basic_machine=m68k-hp
69923a0898aSmrg		os=-hpux
70023a0898aSmrg		;;
70123a0898aSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
70223a0898aSmrg		basic_machine=hppa1.0-hp
70323a0898aSmrg		;;
70423a0898aSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
70523a0898aSmrg		basic_machine=m68000-hp
70623a0898aSmrg		;;
70723a0898aSmrg	hp9k3[2-9][0-9])
70823a0898aSmrg		basic_machine=m68k-hp
70923a0898aSmrg		;;
71023a0898aSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
71123a0898aSmrg		basic_machine=hppa1.0-hp
71223a0898aSmrg		;;
71323a0898aSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
71423a0898aSmrg		basic_machine=hppa1.1-hp
71523a0898aSmrg		;;
71623a0898aSmrg	hp9k78[0-9] | hp78[0-9])
71723a0898aSmrg		# FIXME: really hppa2.0-hp
71823a0898aSmrg		basic_machine=hppa1.1-hp
71923a0898aSmrg		;;
72023a0898aSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
72123a0898aSmrg		# FIXME: really hppa2.0-hp
72223a0898aSmrg		basic_machine=hppa1.1-hp
72323a0898aSmrg		;;
72423a0898aSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
72523a0898aSmrg		basic_machine=hppa1.1-hp
72623a0898aSmrg		;;
72723a0898aSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
72823a0898aSmrg		basic_machine=hppa1.0-hp
72923a0898aSmrg		;;
73023a0898aSmrg	hppa-next)
73123a0898aSmrg		os=-nextstep3
73223a0898aSmrg		;;
73323a0898aSmrg	hppaosf)
73423a0898aSmrg		basic_machine=hppa1.1-hp
73523a0898aSmrg		os=-osf
73623a0898aSmrg		;;
73723a0898aSmrg	hppro)
73823a0898aSmrg		basic_machine=hppa1.1-hp
73923a0898aSmrg		os=-proelf
74023a0898aSmrg		;;
74123a0898aSmrg	i370-ibm* | ibm*)
74223a0898aSmrg		basic_machine=i370-ibm
74323a0898aSmrg		;;
74423a0898aSmrg	i*86v32)
74523a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74623a0898aSmrg		os=-sysv32
74723a0898aSmrg		;;
74823a0898aSmrg	i*86v4*)
74923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75023a0898aSmrg		os=-sysv4
75123a0898aSmrg		;;
75223a0898aSmrg	i*86v)
75323a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75423a0898aSmrg		os=-sysv
75523a0898aSmrg		;;
75623a0898aSmrg	i*86sol2)
75723a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75823a0898aSmrg		os=-solaris2
75923a0898aSmrg		;;
76023a0898aSmrg	i386mach)
76123a0898aSmrg		basic_machine=i386-mach
76223a0898aSmrg		os=-mach
76323a0898aSmrg		;;
76423a0898aSmrg	i386-vsta | vsta)
76523a0898aSmrg		basic_machine=i386-unknown
76623a0898aSmrg		os=-vsta
76723a0898aSmrg		;;
76823a0898aSmrg	iris | iris4d)
76923a0898aSmrg		basic_machine=mips-sgi
77023a0898aSmrg		case $os in
77123a0898aSmrg		    -irix*)
77223a0898aSmrg			;;
77323a0898aSmrg		    *)
77423a0898aSmrg			os=-irix4
77523a0898aSmrg			;;
77623a0898aSmrg		esac
77723a0898aSmrg		;;
77823a0898aSmrg	isi68 | isi)
77923a0898aSmrg		basic_machine=m68k-isi
78023a0898aSmrg		os=-sysv
78123a0898aSmrg		;;
782121a5469Smrg	leon-*|leon[3-9]-*)
783121a5469Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
784121a5469Smrg		;;
7857f7f5e4eSmrg	m68knommu)
7867f7f5e4eSmrg		basic_machine=m68k-unknown
7877f7f5e4eSmrg		os=-linux
7887f7f5e4eSmrg		;;
7897f7f5e4eSmrg	m68knommu-*)
7907f7f5e4eSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7917f7f5e4eSmrg		os=-linux
7927f7f5e4eSmrg		;;
79323a0898aSmrg	m88k-omron*)
79423a0898aSmrg		basic_machine=m88k-omron
79523a0898aSmrg		;;
79623a0898aSmrg	magnum | m3230)
79723a0898aSmrg		basic_machine=mips-mips
79823a0898aSmrg		os=-sysv
79923a0898aSmrg		;;
80023a0898aSmrg	merlin)
80123a0898aSmrg		basic_machine=ns32k-utek
80223a0898aSmrg		os=-sysv
80323a0898aSmrg		;;
804b020570bSmrg	microblaze*)
80541c30155Smrg		basic_machine=microblaze-xilinx
80641c30155Smrg		;;
807b020570bSmrg	mingw64)
808b020570bSmrg		basic_machine=x86_64-pc
809b020570bSmrg		os=-mingw64
810b020570bSmrg		;;
81123a0898aSmrg	mingw32)
8120145ab54Ssnj		basic_machine=i686-pc
81323a0898aSmrg		os=-mingw32
81423a0898aSmrg		;;
81523a0898aSmrg	mingw32ce)
81623a0898aSmrg		basic_machine=arm-unknown
81723a0898aSmrg		os=-mingw32ce
81823a0898aSmrg		;;
81923a0898aSmrg	miniframe)
82023a0898aSmrg		basic_machine=m68000-convergent
82123a0898aSmrg		;;
82223a0898aSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
82323a0898aSmrg		basic_machine=m68k-atari
82423a0898aSmrg		os=-mint
82523a0898aSmrg		;;
82623a0898aSmrg	mips3*-*)
82723a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
82823a0898aSmrg		;;
82923a0898aSmrg	mips3*)
83023a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
83123a0898aSmrg		;;
83223a0898aSmrg	monitor)
83323a0898aSmrg		basic_machine=m68k-rom68k
83423a0898aSmrg		os=-coff
83523a0898aSmrg		;;
83623a0898aSmrg	morphos)
83723a0898aSmrg		basic_machine=powerpc-unknown
83823a0898aSmrg		os=-morphos
83923a0898aSmrg		;;
840121a5469Smrg	moxiebox)
841121a5469Smrg		basic_machine=moxie-unknown
842121a5469Smrg		os=-moxiebox
843121a5469Smrg		;;
84423a0898aSmrg	msdos)
84523a0898aSmrg		basic_machine=i386-pc
84623a0898aSmrg		os=-msdos
84723a0898aSmrg		;;
84823a0898aSmrg	ms1-*)
84923a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
85023a0898aSmrg		;;
851b020570bSmrg	msys)
8520145ab54Ssnj		basic_machine=i686-pc
853b020570bSmrg		os=-msys
854b020570bSmrg		;;
85523a0898aSmrg	mvs)
85623a0898aSmrg		basic_machine=i370-ibm
85723a0898aSmrg		os=-mvs
85823a0898aSmrg		;;
859b020570bSmrg	nacl)
860b020570bSmrg		basic_machine=le32-unknown
861b020570bSmrg		os=-nacl
862b020570bSmrg		;;
86323a0898aSmrg	ncr3000)
86423a0898aSmrg		basic_machine=i486-ncr
86523a0898aSmrg		os=-sysv4
86623a0898aSmrg		;;
86723a0898aSmrg	netbsd386)
86823a0898aSmrg		basic_machine=i386-unknown
86923a0898aSmrg		os=-netbsd
87023a0898aSmrg		;;
87123a0898aSmrg	netwinder)
87223a0898aSmrg		basic_machine=armv4l-rebel
87323a0898aSmrg		os=-linux
87423a0898aSmrg		;;
87523a0898aSmrg	news | news700 | news800 | news900)
87623a0898aSmrg		basic_machine=m68k-sony
87723a0898aSmrg		os=-newsos
87823a0898aSmrg		;;
87923a0898aSmrg	news1000)
88023a0898aSmrg		basic_machine=m68030-sony
88123a0898aSmrg		os=-newsos
88223a0898aSmrg		;;
88323a0898aSmrg	news-3600 | risc-news)
88423a0898aSmrg		basic_machine=mips-sony
88523a0898aSmrg		os=-newsos
88623a0898aSmrg		;;
88723a0898aSmrg	necv70)
88823a0898aSmrg		basic_machine=v70-nec
88923a0898aSmrg		os=-sysv
89023a0898aSmrg		;;
89123a0898aSmrg	next | m*-next )
89223a0898aSmrg		basic_machine=m68k-next
89323a0898aSmrg		case $os in
89423a0898aSmrg		    -nextstep* )
89523a0898aSmrg			;;
89623a0898aSmrg		    -ns2*)
89723a0898aSmrg		      os=-nextstep2
89823a0898aSmrg			;;
89923a0898aSmrg		    *)
90023a0898aSmrg		      os=-nextstep3
90123a0898aSmrg			;;
90223a0898aSmrg		esac
90323a0898aSmrg		;;
90423a0898aSmrg	nh3000)
90523a0898aSmrg		basic_machine=m68k-harris
90623a0898aSmrg		os=-cxux
90723a0898aSmrg		;;
90823a0898aSmrg	nh[45]000)
90923a0898aSmrg		basic_machine=m88k-harris
91023a0898aSmrg		os=-cxux
91123a0898aSmrg		;;
91223a0898aSmrg	nindy960)
91323a0898aSmrg		basic_machine=i960-intel
91423a0898aSmrg		os=-nindy
91523a0898aSmrg		;;
91623a0898aSmrg	mon960)
91723a0898aSmrg		basic_machine=i960-intel
91823a0898aSmrg		os=-mon960
91923a0898aSmrg		;;
92023a0898aSmrg	nonstopux)
92123a0898aSmrg		basic_machine=mips-compaq
92223a0898aSmrg		os=-nonstopux
92323a0898aSmrg		;;
92423a0898aSmrg	np1)
92523a0898aSmrg		basic_machine=np1-gould
92623a0898aSmrg		;;
927b020570bSmrg	neo-tandem)
92841c30155Smrg		basic_machine=neo-tandem
92941c30155Smrg		;;
930b020570bSmrg	nse-tandem)
93141c30155Smrg		basic_machine=nse-tandem
93241c30155Smrg		;;
93323a0898aSmrg	nsr-tandem)
93423a0898aSmrg		basic_machine=nsr-tandem
93523a0898aSmrg		;;
93623a0898aSmrg	op50n-* | op60c-*)
93723a0898aSmrg		basic_machine=hppa1.1-oki
93823a0898aSmrg		os=-proelf
93923a0898aSmrg		;;
94023a0898aSmrg	openrisc | openrisc-*)
94123a0898aSmrg		basic_machine=or32-unknown
94223a0898aSmrg		;;
94323a0898aSmrg	os400)
94423a0898aSmrg		basic_machine=powerpc-ibm
94523a0898aSmrg		os=-os400
94623a0898aSmrg		;;
94723a0898aSmrg	OSE68000 | ose68000)
94823a0898aSmrg		basic_machine=m68000-ericsson
94923a0898aSmrg		os=-ose
95023a0898aSmrg		;;
95123a0898aSmrg	os68k)
95223a0898aSmrg		basic_machine=m68k-none
95323a0898aSmrg		os=-os68k
95423a0898aSmrg		;;
95523a0898aSmrg	pa-hitachi)
95623a0898aSmrg		basic_machine=hppa1.1-hitachi
95723a0898aSmrg		os=-hiuxwe2
95823a0898aSmrg		;;
95923a0898aSmrg	paragon)
96023a0898aSmrg		basic_machine=i860-intel
96123a0898aSmrg		os=-osf
96223a0898aSmrg		;;
9637f7f5e4eSmrg	parisc)
9647f7f5e4eSmrg		basic_machine=hppa-unknown
9657f7f5e4eSmrg		os=-linux
9667f7f5e4eSmrg		;;
9677f7f5e4eSmrg	parisc-*)
9687f7f5e4eSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9697f7f5e4eSmrg		os=-linux
9707f7f5e4eSmrg		;;
97123a0898aSmrg	pbd)
97223a0898aSmrg		basic_machine=sparc-tti
97323a0898aSmrg		;;
97423a0898aSmrg	pbb)
97523a0898aSmrg		basic_machine=m68k-tti
97623a0898aSmrg		;;
97723a0898aSmrg	pc532 | pc532-*)
97823a0898aSmrg		basic_machine=ns32k-pc532
97923a0898aSmrg		;;
98023a0898aSmrg	pc98)
98123a0898aSmrg		basic_machine=i386-pc
98223a0898aSmrg		;;
98323a0898aSmrg	pc98-*)
98423a0898aSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
98523a0898aSmrg		;;
98623a0898aSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
98723a0898aSmrg		basic_machine=i586-pc
98823a0898aSmrg		;;
98923a0898aSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
99023a0898aSmrg		basic_machine=i686-pc
99123a0898aSmrg		;;
99223a0898aSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
99323a0898aSmrg		basic_machine=i686-pc
99423a0898aSmrg		;;
99523a0898aSmrg	pentium4)
99623a0898aSmrg		basic_machine=i786-pc
99723a0898aSmrg		;;
99823a0898aSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
99923a0898aSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
100023a0898aSmrg		;;
100123a0898aSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
100223a0898aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
100323a0898aSmrg		;;
100423a0898aSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
100523a0898aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
100623a0898aSmrg		;;
100723a0898aSmrg	pentium4-*)
100823a0898aSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
100923a0898aSmrg		;;
101023a0898aSmrg	pn)
101123a0898aSmrg		basic_machine=pn-gould
101223a0898aSmrg		;;
101323a0898aSmrg	power)	basic_machine=power-ibm
101423a0898aSmrg		;;
1015b020570bSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
101623a0898aSmrg		;;
1017b020570bSmrg	ppc-* | ppcbe-*)
1018b020570bSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
101923a0898aSmrg		;;
102023a0898aSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
102123a0898aSmrg		basic_machine=powerpcle-unknown
102223a0898aSmrg		;;
102323a0898aSmrg	ppcle-* | powerpclittle-*)
102423a0898aSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
102523a0898aSmrg		;;
102623a0898aSmrg	ppc64)	basic_machine=powerpc64-unknown
102723a0898aSmrg		;;
1028b43acbb4Smrg	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
102923a0898aSmrg		;;
103023a0898aSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
103123a0898aSmrg		basic_machine=powerpc64le-unknown
103223a0898aSmrg		;;
103323a0898aSmrg	ppc64le-* | powerpc64little-*)
103423a0898aSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
103523a0898aSmrg		;;
103623a0898aSmrg	ps2)
103723a0898aSmrg		basic_machine=i386-ibm
103823a0898aSmrg		;;
103923a0898aSmrg	pw32)
104023a0898aSmrg		basic_machine=i586-unknown
104123a0898aSmrg		os=-pw32
104223a0898aSmrg		;;
1043b020570bSmrg	rdos | rdos64)
1044b020570bSmrg		basic_machine=x86_64-pc
1045b020570bSmrg		os=-rdos
1046b020570bSmrg		;;
1047b020570bSmrg	rdos32)
104823a0898aSmrg		basic_machine=i386-pc
104923a0898aSmrg		os=-rdos
105023a0898aSmrg		;;
105123a0898aSmrg	rom68k)
105223a0898aSmrg		basic_machine=m68k-rom68k
105323a0898aSmrg		os=-coff
105423a0898aSmrg		;;
105523a0898aSmrg	rm[46]00)
105623a0898aSmrg		basic_machine=mips-siemens
105723a0898aSmrg		;;
105823a0898aSmrg	rtpc | rtpc-*)
105923a0898aSmrg		basic_machine=romp-ibm
106023a0898aSmrg		;;
106123a0898aSmrg	s390 | s390-*)
106223a0898aSmrg		basic_machine=s390-ibm
106323a0898aSmrg		;;
106423a0898aSmrg	s390x | s390x-*)
106523a0898aSmrg		basic_machine=s390x-ibm
106623a0898aSmrg		;;
106723a0898aSmrg	sa29200)
106823a0898aSmrg		basic_machine=a29k-amd
106923a0898aSmrg		os=-udi
107023a0898aSmrg		;;
107123a0898aSmrg	sb1)
107223a0898aSmrg		basic_machine=mipsisa64sb1-unknown
107323a0898aSmrg		;;
107423a0898aSmrg	sb1el)
107523a0898aSmrg		basic_machine=mipsisa64sb1el-unknown
107623a0898aSmrg		;;
107723a0898aSmrg	sde)
107823a0898aSmrg		basic_machine=mipsisa32-sde
107923a0898aSmrg		os=-elf
108023a0898aSmrg		;;
108123a0898aSmrg	sei)
108223a0898aSmrg		basic_machine=mips-sei
108323a0898aSmrg		os=-seiux
108423a0898aSmrg		;;
108523a0898aSmrg	sequent)
108623a0898aSmrg		basic_machine=i386-sequent
108723a0898aSmrg		;;
108823a0898aSmrg	sh)
108923a0898aSmrg		basic_machine=sh-hitachi
109023a0898aSmrg		os=-hms
109123a0898aSmrg		;;
109223a0898aSmrg	sh5el)
109323a0898aSmrg		basic_machine=sh5le-unknown
109423a0898aSmrg		;;
109523a0898aSmrg	sh64)
109623a0898aSmrg		basic_machine=sh64-unknown
109723a0898aSmrg		;;
109823a0898aSmrg	sparclite-wrs | simso-wrs)
109923a0898aSmrg		basic_machine=sparclite-wrs
110023a0898aSmrg		os=-vxworks
110123a0898aSmrg		;;
110223a0898aSmrg	sps7)
110323a0898aSmrg		basic_machine=m68k-bull
110423a0898aSmrg		os=-sysv2
110523a0898aSmrg		;;
110623a0898aSmrg	spur)
110723a0898aSmrg		basic_machine=spur-unknown
110823a0898aSmrg		;;
110923a0898aSmrg	st2000)
111023a0898aSmrg		basic_machine=m68k-tandem
111123a0898aSmrg		;;
111223a0898aSmrg	stratus)
111323a0898aSmrg		basic_machine=i860-stratus
111423a0898aSmrg		os=-sysv4
111523a0898aSmrg		;;
1116b020570bSmrg	strongarm-* | thumb-*)
1117b020570bSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1118b020570bSmrg		;;
111923a0898aSmrg	sun2)
112023a0898aSmrg		basic_machine=m68000-sun
112123a0898aSmrg		;;
112223a0898aSmrg	sun2os3)
112323a0898aSmrg		basic_machine=m68000-sun
112423a0898aSmrg		os=-sunos3
112523a0898aSmrg		;;
112623a0898aSmrg	sun2os4)
112723a0898aSmrg		basic_machine=m68000-sun
112823a0898aSmrg		os=-sunos4
112923a0898aSmrg		;;
113023a0898aSmrg	sun3os3)
113123a0898aSmrg		basic_machine=m68k-sun
113223a0898aSmrg		os=-sunos3
113323a0898aSmrg		;;
113423a0898aSmrg	sun3os4)
113523a0898aSmrg		basic_machine=m68k-sun
113623a0898aSmrg		os=-sunos4
113723a0898aSmrg		;;
113823a0898aSmrg	sun4os3)
113923a0898aSmrg		basic_machine=sparc-sun
114023a0898aSmrg		os=-sunos3
114123a0898aSmrg		;;
114223a0898aSmrg	sun4os4)
114323a0898aSmrg		basic_machine=sparc-sun
114423a0898aSmrg		os=-sunos4
114523a0898aSmrg		;;
114623a0898aSmrg	sun4sol2)
114723a0898aSmrg		basic_machine=sparc-sun
114823a0898aSmrg		os=-solaris2
114923a0898aSmrg		;;
115023a0898aSmrg	sun3 | sun3-*)
115123a0898aSmrg		basic_machine=m68k-sun
115223a0898aSmrg		;;
115323a0898aSmrg	sun4)
115423a0898aSmrg		basic_machine=sparc-sun
115523a0898aSmrg		;;
115623a0898aSmrg	sun386 | sun386i | roadrunner)
115723a0898aSmrg		basic_machine=i386-sun
115823a0898aSmrg		;;
115923a0898aSmrg	sv1)
116023a0898aSmrg		basic_machine=sv1-cray
116123a0898aSmrg		os=-unicos
116223a0898aSmrg		;;
116323a0898aSmrg	symmetry)
116423a0898aSmrg		basic_machine=i386-sequent
116523a0898aSmrg		os=-dynix
116623a0898aSmrg		;;
116723a0898aSmrg	t3e)
116823a0898aSmrg		basic_machine=alphaev5-cray
116923a0898aSmrg		os=-unicos
117023a0898aSmrg		;;
117123a0898aSmrg	t90)
117223a0898aSmrg		basic_machine=t90-cray
117323a0898aSmrg		os=-unicos
117423a0898aSmrg		;;
11757f7f5e4eSmrg	tile*)
1176b020570bSmrg		basic_machine=$basic_machine-unknown
11777f7f5e4eSmrg		os=-linux-gnu
11787f7f5e4eSmrg		;;
117923a0898aSmrg	tx39)
118023a0898aSmrg		basic_machine=mipstx39-unknown
118123a0898aSmrg		;;
118223a0898aSmrg	tx39el)
118323a0898aSmrg		basic_machine=mipstx39el-unknown
118423a0898aSmrg		;;
118523a0898aSmrg	toad1)
118623a0898aSmrg		basic_machine=pdp10-xkl
118723a0898aSmrg		os=-tops20
118823a0898aSmrg		;;
118923a0898aSmrg	tower | tower-32)
119023a0898aSmrg		basic_machine=m68k-ncr
119123a0898aSmrg		;;
119223a0898aSmrg	tpf)
119323a0898aSmrg		basic_machine=s390x-ibm
119423a0898aSmrg		os=-tpf
119523a0898aSmrg		;;
119623a0898aSmrg	udi29k)
119723a0898aSmrg		basic_machine=a29k-amd
119823a0898aSmrg		os=-udi
119923a0898aSmrg		;;
120023a0898aSmrg	ultra3)
120123a0898aSmrg		basic_machine=a29k-nyu
120223a0898aSmrg		os=-sym1
120323a0898aSmrg		;;
120423a0898aSmrg	v810 | necv810)
120523a0898aSmrg		basic_machine=v810-nec
120623a0898aSmrg		os=-none
120723a0898aSmrg		;;
120823a0898aSmrg	vaxv)
120923a0898aSmrg		basic_machine=vax-dec
121023a0898aSmrg		os=-sysv
121123a0898aSmrg		;;
121223a0898aSmrg	vms)
121323a0898aSmrg		basic_machine=vax-dec
121423a0898aSmrg		os=-vms
121523a0898aSmrg		;;
121623a0898aSmrg	vpp*|vx|vx-*)
121723a0898aSmrg		basic_machine=f301-fujitsu
121823a0898aSmrg		;;
121923a0898aSmrg	vxworks960)
122023a0898aSmrg		basic_machine=i960-wrs
122123a0898aSmrg		os=-vxworks
122223a0898aSmrg		;;
122323a0898aSmrg	vxworks68)
122423a0898aSmrg		basic_machine=m68k-wrs
122523a0898aSmrg		os=-vxworks
122623a0898aSmrg		;;
122723a0898aSmrg	vxworks29k)
122823a0898aSmrg		basic_machine=a29k-wrs
122923a0898aSmrg		os=-vxworks
123023a0898aSmrg		;;
123123a0898aSmrg	w65*)
123223a0898aSmrg		basic_machine=w65-wdc
123323a0898aSmrg		os=-none
123423a0898aSmrg		;;
123523a0898aSmrg	w89k-*)
123623a0898aSmrg		basic_machine=hppa1.1-winbond
123723a0898aSmrg		os=-proelf
123823a0898aSmrg		;;
123923a0898aSmrg	xbox)
124023a0898aSmrg		basic_machine=i686-pc
124123a0898aSmrg		os=-mingw32
124223a0898aSmrg		;;
124323a0898aSmrg	xps | xps100)
124423a0898aSmrg		basic_machine=xps100-honeywell
124523a0898aSmrg		;;
1246b020570bSmrg	xscale-* | xscalee[bl]-*)
1247b020570bSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1248b020570bSmrg		;;
124923a0898aSmrg	ymp)
125023a0898aSmrg		basic_machine=ymp-cray
125123a0898aSmrg		os=-unicos
125223a0898aSmrg		;;
125323a0898aSmrg	z8k-*-coff)
125423a0898aSmrg		basic_machine=z8k-unknown
125523a0898aSmrg		os=-sim
125623a0898aSmrg		;;
125741c30155Smrg	z80-*-coff)
125841c30155Smrg		basic_machine=z80-unknown
125941c30155Smrg		os=-sim
126041c30155Smrg		;;
126123a0898aSmrg	none)
126223a0898aSmrg		basic_machine=none-none
126323a0898aSmrg		os=-none
126423a0898aSmrg		;;
126523a0898aSmrg
126623a0898aSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
126723a0898aSmrg# some cases the only manufacturer, in others, it is the most popular.
126823a0898aSmrg	w89k)
126923a0898aSmrg		basic_machine=hppa1.1-winbond
127023a0898aSmrg		;;
127123a0898aSmrg	op50n)
127223a0898aSmrg		basic_machine=hppa1.1-oki
127323a0898aSmrg		;;
127423a0898aSmrg	op60c)
127523a0898aSmrg		basic_machine=hppa1.1-oki
127623a0898aSmrg		;;
127723a0898aSmrg	romp)
127823a0898aSmrg		basic_machine=romp-ibm
127923a0898aSmrg		;;
128023a0898aSmrg	mmix)
128123a0898aSmrg		basic_machine=mmix-knuth
128223a0898aSmrg		;;
128323a0898aSmrg	rs6000)
128423a0898aSmrg		basic_machine=rs6000-ibm
128523a0898aSmrg		;;
128623a0898aSmrg	vax)
128723a0898aSmrg		basic_machine=vax-dec
128823a0898aSmrg		;;
128923a0898aSmrg	pdp10)
129023a0898aSmrg		# there are many clones, so DEC is not a safe bet
129123a0898aSmrg		basic_machine=pdp10-unknown
129223a0898aSmrg		;;
129323a0898aSmrg	pdp11)
129423a0898aSmrg		basic_machine=pdp11-dec
129523a0898aSmrg		;;
129623a0898aSmrg	we32k)
129723a0898aSmrg		basic_machine=we32k-att
129823a0898aSmrg		;;
129941c30155Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
130023a0898aSmrg		basic_machine=sh-unknown
130123a0898aSmrg		;;
130223a0898aSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
130323a0898aSmrg		basic_machine=sparc-sun
130423a0898aSmrg		;;
130523a0898aSmrg	cydra)
130623a0898aSmrg		basic_machine=cydra-cydrome
130723a0898aSmrg		;;
130823a0898aSmrg	orion)
130923a0898aSmrg		basic_machine=orion-highlevel
131023a0898aSmrg		;;
131123a0898aSmrg	orion105)
131223a0898aSmrg		basic_machine=clipper-highlevel
131323a0898aSmrg		;;
131423a0898aSmrg	mac | mpw | mac-mpw)
131523a0898aSmrg		basic_machine=m68k-apple
131623a0898aSmrg		;;
131723a0898aSmrg	pmac | pmac-mpw)
131823a0898aSmrg		basic_machine=powerpc-apple
131923a0898aSmrg		;;
132023a0898aSmrg	*-unknown)
132123a0898aSmrg		# Make sure to match an already-canonicalized machine name.
132223a0898aSmrg		;;
132323a0898aSmrg	*)
132423a0898aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
132523a0898aSmrg		exit 1
132623a0898aSmrg		;;
132723a0898aSmrgesac
132823a0898aSmrg
132923a0898aSmrg# Here we canonicalize certain aliases for manufacturers.
133023a0898aSmrgcase $basic_machine in
133123a0898aSmrg	*-digital*)
133223a0898aSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
133323a0898aSmrg		;;
133423a0898aSmrg	*-commodore*)
133523a0898aSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
133623a0898aSmrg		;;
133723a0898aSmrg	*)
133823a0898aSmrg		;;
133923a0898aSmrgesac
134023a0898aSmrg
134123a0898aSmrg# Decode manufacturer-specific aliases for certain operating systems.
134223a0898aSmrg
134323a0898aSmrgif [ x"$os" != x"" ]
134423a0898aSmrgthen
134523a0898aSmrgcase $os in
1346b020570bSmrg	# First match some system type aliases
1347b020570bSmrg	# that might get confused with valid system types.
134823a0898aSmrg	# -solaris* is a basic system type, with this one exception.
1349b020570bSmrg	-auroraux)
1350b020570bSmrg		os=-auroraux
135141c30155Smrg		;;
135223a0898aSmrg	-solaris1 | -solaris1.*)
135323a0898aSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
135423a0898aSmrg		;;
135523a0898aSmrg	-solaris)
135623a0898aSmrg		os=-solaris2
135723a0898aSmrg		;;
135823a0898aSmrg	-svr4*)
135923a0898aSmrg		os=-sysv4
136023a0898aSmrg		;;
136123a0898aSmrg	-unixware*)
136223a0898aSmrg		os=-sysv4.2uw
136323a0898aSmrg		;;
136423a0898aSmrg	-gnu/linux*)
136523a0898aSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
136623a0898aSmrg		;;
136723a0898aSmrg	# First accept the basic system types.
136823a0898aSmrg	# The portable systems comes first.
136923a0898aSmrg	# Each alternative MUST END IN A *, to match a version number.
137023a0898aSmrg	# -sysv* is not here because it comes later, after sysvr4.
137123a0898aSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
137241c30155Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
137341c30155Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1374b020570bSmrg	      | -sym* | -kopensolaris* | -plan9* \
137523a0898aSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
137641c30155Smrg	      | -aos* | -aros* \
137723a0898aSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
137823a0898aSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
137923a0898aSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1380b020570bSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
138123a0898aSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
138223a0898aSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
138323a0898aSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
138423a0898aSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
138541c30155Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1386b020570bSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1387b020570bSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1388b020570bSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1389121a5469Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
139023a0898aSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
139123a0898aSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
139223a0898aSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
139323a0898aSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
139423a0898aSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
139523a0898aSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1396121a5469Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
139723a0898aSmrg	# Remember, each alternative MUST END IN *, to match a version number.
139823a0898aSmrg		;;
139923a0898aSmrg	-qnx*)
140023a0898aSmrg		case $basic_machine in
140123a0898aSmrg		    x86-* | i*86-*)
140223a0898aSmrg			;;
140323a0898aSmrg		    *)
140423a0898aSmrg			os=-nto$os
140523a0898aSmrg			;;
140623a0898aSmrg		esac
140723a0898aSmrg		;;
140823a0898aSmrg	-nto-qnx*)
140923a0898aSmrg		;;
141023a0898aSmrg	-nto*)
141123a0898aSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
141223a0898aSmrg		;;
141323a0898aSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
141423a0898aSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
141523a0898aSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
141623a0898aSmrg		;;
141723a0898aSmrg	-mac*)
141823a0898aSmrg		os=`echo $os | sed -e 's|mac|macos|'`
141923a0898aSmrg		;;
142023a0898aSmrg	-linux-dietlibc)
142123a0898aSmrg		os=-linux-dietlibc
142223a0898aSmrg		;;
142323a0898aSmrg	-linux*)
142423a0898aSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
142523a0898aSmrg		;;
142623a0898aSmrg	-sunos5*)
142723a0898aSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
142823a0898aSmrg		;;
142923a0898aSmrg	-sunos6*)
143023a0898aSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
143123a0898aSmrg		;;
143223a0898aSmrg	-opened*)
143323a0898aSmrg		os=-openedition
143423a0898aSmrg		;;
1435b020570bSmrg	-os400*)
143623a0898aSmrg		os=-os400
143723a0898aSmrg		;;
143823a0898aSmrg	-wince*)
143923a0898aSmrg		os=-wince
144023a0898aSmrg		;;
144123a0898aSmrg	-osfrose*)
144223a0898aSmrg		os=-osfrose
144323a0898aSmrg		;;
144423a0898aSmrg	-osf*)
144523a0898aSmrg		os=-osf
144623a0898aSmrg		;;
144723a0898aSmrg	-utek*)
144823a0898aSmrg		os=-bsd
144923a0898aSmrg		;;
145023a0898aSmrg	-dynix*)
145123a0898aSmrg		os=-bsd
145223a0898aSmrg		;;
145323a0898aSmrg	-acis*)
145423a0898aSmrg		os=-aos
145523a0898aSmrg		;;
145623a0898aSmrg	-atheos*)
145723a0898aSmrg		os=-atheos
145823a0898aSmrg		;;
145923a0898aSmrg	-syllable*)
146023a0898aSmrg		os=-syllable
146123a0898aSmrg		;;
146223a0898aSmrg	-386bsd)
146323a0898aSmrg		os=-bsd
146423a0898aSmrg		;;
146523a0898aSmrg	-ctix* | -uts*)
146623a0898aSmrg		os=-sysv
146723a0898aSmrg		;;
146823a0898aSmrg	-nova*)
146923a0898aSmrg		os=-rtmk-nova
147023a0898aSmrg		;;
147123a0898aSmrg	-ns2 )
147223a0898aSmrg		os=-nextstep2
147323a0898aSmrg		;;
147423a0898aSmrg	-nsk*)
147523a0898aSmrg		os=-nsk
147623a0898aSmrg		;;
147723a0898aSmrg	# Preserve the version number of sinix5.
147823a0898aSmrg	-sinix5.*)
147923a0898aSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
148023a0898aSmrg		;;
148123a0898aSmrg	-sinix*)
148223a0898aSmrg		os=-sysv4
148323a0898aSmrg		;;
1484b020570bSmrg	-tpf*)
148523a0898aSmrg		os=-tpf
148623a0898aSmrg		;;
148723a0898aSmrg	-triton*)
148823a0898aSmrg		os=-sysv3
148923a0898aSmrg		;;
149023a0898aSmrg	-oss*)
149123a0898aSmrg		os=-sysv3
149223a0898aSmrg		;;
149323a0898aSmrg	-svr4)
149423a0898aSmrg		os=-sysv4
149523a0898aSmrg		;;
149623a0898aSmrg	-svr3)
149723a0898aSmrg		os=-sysv3
149823a0898aSmrg		;;
149923a0898aSmrg	-sysvr4)
150023a0898aSmrg		os=-sysv4
150123a0898aSmrg		;;
150223a0898aSmrg	# This must come after -sysvr4.
150323a0898aSmrg	-sysv*)
150423a0898aSmrg		;;
150523a0898aSmrg	-ose*)
150623a0898aSmrg		os=-ose
150723a0898aSmrg		;;
150823a0898aSmrg	-es1800*)
150923a0898aSmrg		os=-ose
151023a0898aSmrg		;;
151123a0898aSmrg	-xenix)
151223a0898aSmrg		os=-xenix
151323a0898aSmrg		;;
151423a0898aSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
151523a0898aSmrg		os=-mint
151623a0898aSmrg		;;
151723a0898aSmrg	-aros*)
151823a0898aSmrg		os=-aros
151923a0898aSmrg		;;
152023a0898aSmrg	-zvmoe)
152123a0898aSmrg		os=-zvmoe
152223a0898aSmrg		;;
152341c30155Smrg	-dicos*)
152441c30155Smrg		os=-dicos
152541c30155Smrg		;;
1526b020570bSmrg	-nacl*)
1527b020570bSmrg		;;
152823a0898aSmrg	-none)
152923a0898aSmrg		;;
153023a0898aSmrg	*)
153123a0898aSmrg		# Get rid of the `-' at the beginning of $os.
153223a0898aSmrg		os=`echo $os | sed 's/[^-]*-//'`
153323a0898aSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
153423a0898aSmrg		exit 1
153523a0898aSmrg		;;
153623a0898aSmrgesac
153723a0898aSmrgelse
153823a0898aSmrg
153923a0898aSmrg# Here we handle the default operating systems that come with various machines.
154023a0898aSmrg# The value should be what the vendor currently ships out the door with their
154123a0898aSmrg# machine or put another way, the most popular os provided with the machine.
154223a0898aSmrg
154323a0898aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
154423a0898aSmrg# "-sun"), then you have to tell the case statement up towards the top
154523a0898aSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
154623a0898aSmrg# will signal an error saying that MANUFACTURER isn't an operating
154723a0898aSmrg# system, and we'll never get to this point.
154823a0898aSmrg
154923a0898aSmrgcase $basic_machine in
1550b020570bSmrg	score-*)
155123a0898aSmrg		os=-elf
155223a0898aSmrg		;;
1553b020570bSmrg	spu-*)
155423a0898aSmrg		os=-elf
155523a0898aSmrg		;;
155623a0898aSmrg	*-acorn)
155723a0898aSmrg		os=-riscix1.2
155823a0898aSmrg		;;
155923a0898aSmrg	arm*-rebel)
156023a0898aSmrg		os=-linux
156123a0898aSmrg		;;
156223a0898aSmrg	arm*-semi)
156323a0898aSmrg		os=-aout
156423a0898aSmrg		;;
1565b020570bSmrg	c4x-* | tic4x-*)
1566b020570bSmrg		os=-coff
1567b020570bSmrg		;;
15680145ab54Ssnj	c8051-*)
15690145ab54Ssnj		os=-elf
15700145ab54Ssnj		;;
1571b020570bSmrg	hexagon-*)
1572b020570bSmrg		os=-elf
157323a0898aSmrg		;;
157441c30155Smrg	tic54x-*)
157541c30155Smrg		os=-coff
157641c30155Smrg		;;
157741c30155Smrg	tic55x-*)
157841c30155Smrg		os=-coff
157941c30155Smrg		;;
158041c30155Smrg	tic6x-*)
158141c30155Smrg		os=-coff
158241c30155Smrg		;;
158323a0898aSmrg	# This must come before the *-dec entry.
158423a0898aSmrg	pdp10-*)
158523a0898aSmrg		os=-tops20
158623a0898aSmrg		;;
158723a0898aSmrg	pdp11-*)
158823a0898aSmrg		os=-none
158923a0898aSmrg		;;
159023a0898aSmrg	*-dec | vax-*)
159123a0898aSmrg		os=-ultrix4.2
159223a0898aSmrg		;;
159323a0898aSmrg	m68*-apollo)
159423a0898aSmrg		os=-domain
159523a0898aSmrg		;;
159623a0898aSmrg	i386-sun)
159723a0898aSmrg		os=-sunos4.0.2
159823a0898aSmrg		;;
159923a0898aSmrg	m68000-sun)
160023a0898aSmrg		os=-sunos3
160123a0898aSmrg		;;
160223a0898aSmrg	m68*-cisco)
160323a0898aSmrg		os=-aout
160423a0898aSmrg		;;
1605b020570bSmrg	mep-*)
160623a0898aSmrg		os=-elf
160723a0898aSmrg		;;
160823a0898aSmrg	mips*-cisco)
160923a0898aSmrg		os=-elf
161023a0898aSmrg		;;
161123a0898aSmrg	mips*-*)
161223a0898aSmrg		os=-elf
161323a0898aSmrg		;;
161423a0898aSmrg	or32-*)
161523a0898aSmrg		os=-coff
161623a0898aSmrg		;;
161723a0898aSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
161823a0898aSmrg		os=-sysv3
161923a0898aSmrg		;;
162023a0898aSmrg	sparc-* | *-sun)
162123a0898aSmrg		os=-sunos4.1.1
162223a0898aSmrg		;;
162323a0898aSmrg	*-be)
162423a0898aSmrg		os=-beos
162523a0898aSmrg		;;
162623a0898aSmrg	*-haiku)
162723a0898aSmrg		os=-haiku
162823a0898aSmrg		;;
162923a0898aSmrg	*-ibm)
163023a0898aSmrg		os=-aix
163123a0898aSmrg		;;
1632b020570bSmrg	*-knuth)
163323a0898aSmrg		os=-mmixware
163423a0898aSmrg		;;
163523a0898aSmrg	*-wec)
163623a0898aSmrg		os=-proelf
163723a0898aSmrg		;;
163823a0898aSmrg	*-winbond)
163923a0898aSmrg		os=-proelf
164023a0898aSmrg		;;
164123a0898aSmrg	*-oki)
164223a0898aSmrg		os=-proelf
164323a0898aSmrg		;;
164423a0898aSmrg	*-hp)
164523a0898aSmrg		os=-hpux
164623a0898aSmrg		;;
164723a0898aSmrg	*-hitachi)
164823a0898aSmrg		os=-hiux
164923a0898aSmrg		;;
165023a0898aSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
165123a0898aSmrg		os=-sysv
165223a0898aSmrg		;;
165323a0898aSmrg	*-cbm)
165423a0898aSmrg		os=-amigaos
165523a0898aSmrg		;;
165623a0898aSmrg	*-dg)
165723a0898aSmrg		os=-dgux
165823a0898aSmrg		;;
165923a0898aSmrg	*-dolphin)
166023a0898aSmrg		os=-sysv3
166123a0898aSmrg		;;
166223a0898aSmrg	m68k-ccur)
166323a0898aSmrg		os=-rtu
166423a0898aSmrg		;;
166523a0898aSmrg	m88k-omron*)
166623a0898aSmrg		os=-luna
166723a0898aSmrg		;;
166823a0898aSmrg	*-next )
166923a0898aSmrg		os=-nextstep
167023a0898aSmrg		;;
167123a0898aSmrg	*-sequent)
167223a0898aSmrg		os=-ptx
167323a0898aSmrg		;;
167423a0898aSmrg	*-crds)
167523a0898aSmrg		os=-unos
167623a0898aSmrg		;;
167723a0898aSmrg	*-ns)
167823a0898aSmrg		os=-genix
167923a0898aSmrg		;;
168023a0898aSmrg	i370-*)
168123a0898aSmrg		os=-mvs
168223a0898aSmrg		;;
168323a0898aSmrg	*-next)
168423a0898aSmrg		os=-nextstep3
168523a0898aSmrg		;;
168623a0898aSmrg	*-gould)
168723a0898aSmrg		os=-sysv
168823a0898aSmrg		;;
168923a0898aSmrg	*-highlevel)
169023a0898aSmrg		os=-bsd
169123a0898aSmrg		;;
169223a0898aSmrg	*-encore)
169323a0898aSmrg		os=-bsd
169423a0898aSmrg		;;
169523a0898aSmrg	*-sgi)
169623a0898aSmrg		os=-irix
169723a0898aSmrg		;;
169823a0898aSmrg	*-siemens)
169923a0898aSmrg		os=-sysv4
170023a0898aSmrg		;;
170123a0898aSmrg	*-masscomp)
170223a0898aSmrg		os=-rtu
170323a0898aSmrg		;;
170423a0898aSmrg	f30[01]-fujitsu | f700-fujitsu)
170523a0898aSmrg		os=-uxpv
170623a0898aSmrg		;;
170723a0898aSmrg	*-rom68k)
170823a0898aSmrg		os=-coff
170923a0898aSmrg		;;
171023a0898aSmrg	*-*bug)
171123a0898aSmrg		os=-coff
171223a0898aSmrg		;;
171323a0898aSmrg	*-apple)
171423a0898aSmrg		os=-macos
171523a0898aSmrg		;;
171623a0898aSmrg	*-atari*)
171723a0898aSmrg		os=-mint
171823a0898aSmrg		;;
171923a0898aSmrg	*)
172023a0898aSmrg		os=-none
172123a0898aSmrg		;;
172223a0898aSmrgesac
172323a0898aSmrgfi
172423a0898aSmrg
172523a0898aSmrg# Here we handle the case where we know the os, and the CPU type, but not the
172623a0898aSmrg# manufacturer.  We pick the logical manufacturer.
172723a0898aSmrgvendor=unknown
172823a0898aSmrgcase $basic_machine in
172923a0898aSmrg	*-unknown)
173023a0898aSmrg		case $os in
173123a0898aSmrg			-riscix*)
173223a0898aSmrg				vendor=acorn
173323a0898aSmrg				;;
173423a0898aSmrg			-sunos*)
173523a0898aSmrg				vendor=sun
173623a0898aSmrg				;;
173741c30155Smrg			-cnk*|-aix*)
173823a0898aSmrg				vendor=ibm
173923a0898aSmrg				;;
174023a0898aSmrg			-beos*)
174123a0898aSmrg				vendor=be
174223a0898aSmrg				;;
174323a0898aSmrg			-hpux*)
174423a0898aSmrg				vendor=hp
174523a0898aSmrg				;;
174623a0898aSmrg			-mpeix*)
174723a0898aSmrg				vendor=hp
174823a0898aSmrg				;;
174923a0898aSmrg			-hiux*)
175023a0898aSmrg				vendor=hitachi
175123a0898aSmrg				;;
175223a0898aSmrg			-unos*)
175323a0898aSmrg				vendor=crds
175423a0898aSmrg				;;
175523a0898aSmrg			-dgux*)
175623a0898aSmrg				vendor=dg
175723a0898aSmrg				;;
175823a0898aSmrg			-luna*)
175923a0898aSmrg				vendor=omron
176023a0898aSmrg				;;
176123a0898aSmrg			-genix*)
176223a0898aSmrg				vendor=ns
176323a0898aSmrg				;;
176423a0898aSmrg			-mvs* | -opened*)
176523a0898aSmrg				vendor=ibm
176623a0898aSmrg				;;
176723a0898aSmrg			-os400*)
176823a0898aSmrg				vendor=ibm
176923a0898aSmrg				;;
177023a0898aSmrg			-ptx*)
177123a0898aSmrg				vendor=sequent
177223a0898aSmrg				;;
177323a0898aSmrg			-tpf*)
177423a0898aSmrg				vendor=ibm
177523a0898aSmrg				;;
177623a0898aSmrg			-vxsim* | -vxworks* | -windiss*)
177723a0898aSmrg				vendor=wrs
177823a0898aSmrg				;;
177923a0898aSmrg			-aux*)
178023a0898aSmrg				vendor=apple
178123a0898aSmrg				;;
178223a0898aSmrg			-hms*)
178323a0898aSmrg				vendor=hitachi
178423a0898aSmrg				;;
178523a0898aSmrg			-mpw* | -macos*)
178623a0898aSmrg				vendor=apple
178723a0898aSmrg				;;
178823a0898aSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
178923a0898aSmrg				vendor=atari
179023a0898aSmrg				;;
179123a0898aSmrg			-vos*)
179223a0898aSmrg				vendor=stratus
179323a0898aSmrg				;;
179423a0898aSmrg		esac
179523a0898aSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
179623a0898aSmrg		;;
179723a0898aSmrgesac
179823a0898aSmrg
179923a0898aSmrgecho $basic_machine$os
180023a0898aSmrgexit
180123a0898aSmrg
180223a0898aSmrg# Local variables:
180323a0898aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
180423a0898aSmrg# time-stamp-start: "timestamp='"
180523a0898aSmrg# time-stamp-format: "%:y-%02m-%02d"
180623a0898aSmrg# time-stamp-end: "'"
180723a0898aSmrg# End:
1808