config.sub revision f2408745
145bc899bSmrg#! /bin/sh
245bc899bSmrg# Configuration validation subroutine script.
3f2408745Smrg#   Copyright 1992-2017 Free Software Foundation, Inc.
445bc899bSmrg
5f2408745Smrgtimestamp='2017-04-02'
645bc899bSmrg
7c97b1c41Smrg# This file is free software; you can redistribute it and/or modify it
8c97b1c41Smrg# under the terms of the GNU General Public License as published by
9c97b1c41Smrg# the Free Software Foundation; either version 3 of the License, or
1045bc899bSmrg# (at your option) any later version.
1145bc899bSmrg#
12c97b1c41Smrg# This program is distributed in the hope that it will be useful, but
13c97b1c41Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14c97b1c41Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15c97b1c41Smrg# General Public License for more details.
1645bc899bSmrg#
1745bc899bSmrg# You should have received a copy of the GNU General Public License
18c97b1c41Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1950f2e948Smrg#
2045bc899bSmrg# As a special exception to the GNU General Public License, if you
2145bc899bSmrg# distribute this file as part of a program that contains a
2245bc899bSmrg# configuration script generated by Autoconf, you may include it under
23c97b1c41Smrg# the same distribution terms that you use for the rest of that
24c97b1c41Smrg# program.  This Exception is an additional permission under section 7
25c97b1c41Smrg# of the GNU General Public License, version 3 ("GPLv3").
2645bc899bSmrg
2750f2e948Smrg
2857ba8e8bSmrg# Please send patches to <config-patches@gnu.org>.
2945bc899bSmrg#
3045bc899bSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3145bc899bSmrg# Supply the specified configuration type as an argument.
3245bc899bSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3345bc899bSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3445bc899bSmrg
35b40a6198Smrg# You can get the latest version of this script from:
36f2408745Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
37b40a6198Smrg
3845bc899bSmrg# This file is supposed to be the same for all GNU packages
3945bc899bSmrg# and recognize all the CPU types, system types and aliases
4045bc899bSmrg# that are meaningful with *any* GNU software.
4145bc899bSmrg# Each package is responsible for reporting which valid configurations
4245bc899bSmrg# it does not support.  The user should be able to distinguish
4345bc899bSmrg# a failure to support a valid configuration from a meaningless
4445bc899bSmrg# configuration.
4545bc899bSmrg
4645bc899bSmrg# The goal of this file is to map all the various variations of a given
4745bc899bSmrg# machine specification into a single specification in the form:
4845bc899bSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4945bc899bSmrg# or in some cases, the newer four-part form:
5045bc899bSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5145bc899bSmrg# It is wrong to echo any other type of specification.
5245bc899bSmrg
5345bc899bSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5445bc899bSmrg
5545bc899bSmrgusage="\
56f2408745SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
5745bc899bSmrg
5845bc899bSmrgCanonicalize a configuration name.
5945bc899bSmrg
6045bc899bSmrgOperation modes:
6145bc899bSmrg  -h, --help         print this help, then exit
6245bc899bSmrg  -t, --time-stamp   print date of last modification, then exit
6345bc899bSmrg  -v, --version      print version number, then exit
6445bc899bSmrg
6545bc899bSmrgReport bugs and patches to <config-patches@gnu.org>."
6645bc899bSmrg
6745bc899bSmrgversion="\
6845bc899bSmrgGNU config.sub ($timestamp)
6945bc899bSmrg
70f2408745SmrgCopyright 1992-2017 Free Software Foundation, Inc.
7145bc899bSmrg
7245bc899bSmrgThis is free software; see the source for copying conditions.  There is NO
7345bc899bSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7445bc899bSmrg
7545bc899bSmrghelp="
7645bc899bSmrgTry \`$me --help' for more information."
7745bc899bSmrg
7845bc899bSmrg# Parse command line
7945bc899bSmrgwhile test $# -gt 0 ; do
8045bc899bSmrg  case $1 in
8145bc899bSmrg    --time-stamp | --time* | -t )
8250f2e948Smrg       echo "$timestamp" ; exit ;;
8345bc899bSmrg    --version | -v )
8450f2e948Smrg       echo "$version" ; exit ;;
8545bc899bSmrg    --help | --h* | -h )
8650f2e948Smrg       echo "$usage"; exit ;;
8745bc899bSmrg    -- )     # Stop option processing
8845bc899bSmrg       shift; break ;;
8945bc899bSmrg    - )	# Use stdin as input.
9045bc899bSmrg       break ;;
9145bc899bSmrg    -* )
9245bc899bSmrg       echo "$me: invalid option $1$help"
9345bc899bSmrg       exit 1 ;;
9445bc899bSmrg
9545bc899bSmrg    *local*)
9645bc899bSmrg       # First pass through any local machine types.
9745bc899bSmrg       echo $1
9850f2e948Smrg       exit ;;
9945bc899bSmrg
10045bc899bSmrg    * )
10145bc899bSmrg       break ;;
10245bc899bSmrg  esac
10345bc899bSmrgdone
10445bc899bSmrg
10545bc899bSmrgcase $# in
10645bc899bSmrg 0) echo "$me: missing argument$help" >&2
10745bc899bSmrg    exit 1;;
10845bc899bSmrg 1) ;;
10945bc899bSmrg *) echo "$me: too many arguments$help" >&2
11045bc899bSmrg    exit 1;;
11145bc899bSmrgesac
11245bc899bSmrg
11345bc899bSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11445bc899bSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11545bc899bSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11645bc899bSmrgcase $maybe_os in
117b40a6198Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
118c97b1c41Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119f2408745Smrg  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
120f2408745Smrg  kopensolaris*-gnu* | cloudabi*-eabi* | \
12150f2e948Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12245bc899bSmrg    os=-$maybe_os
12345bc899bSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12445bc899bSmrg    ;;
125c97b1c41Smrg  android-linux)
126c97b1c41Smrg    os=-linux-android
127c97b1c41Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
128c97b1c41Smrg    ;;
12945bc899bSmrg  *)
13045bc899bSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13145bc899bSmrg    if [ $basic_machine != $1 ]
13245bc899bSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13345bc899bSmrg    else os=; fi
13445bc899bSmrg    ;;
13545bc899bSmrgesac
13645bc899bSmrg
13745bc899bSmrg### Let's recognize common machines as not being operating systems so
13845bc899bSmrg### that things like config.sub decstation-3100 work.  We also
13945bc899bSmrg### recognize some manufacturers as not being operating systems, so we
14045bc899bSmrg### can provide default operating systems below.
14145bc899bSmrgcase $os in
14245bc899bSmrg	-sun*os*)
14345bc899bSmrg		# Prevent following clause from handling this invalid input.
14445bc899bSmrg		;;
14545bc899bSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14645bc899bSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14745bc899bSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14845bc899bSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14945bc899bSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15045bc899bSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151c97b1c41Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15245bc899bSmrg		os=
15345bc899bSmrg		basic_machine=$1
15445bc899bSmrg		;;
155b40a6198Smrg	-bluegene*)
156b40a6198Smrg		os=-cnk
157b40a6198Smrg		;;
15845bc899bSmrg	-sim | -cisco | -oki | -wec | -winbond)
15945bc899bSmrg		os=
16045bc899bSmrg		basic_machine=$1
16145bc899bSmrg		;;
16245bc899bSmrg	-scout)
16345bc899bSmrg		;;
16445bc899bSmrg	-wrs)
16545bc899bSmrg		os=-vxworks
16645bc899bSmrg		basic_machine=$1
16745bc899bSmrg		;;
16845bc899bSmrg	-chorusos*)
16945bc899bSmrg		os=-chorusos
17045bc899bSmrg		basic_machine=$1
17145bc899bSmrg		;;
172b40a6198Smrg	-chorusrdb)
173b40a6198Smrg		os=-chorusrdb
17445bc899bSmrg		basic_machine=$1
175b40a6198Smrg		;;
17645bc899bSmrg	-hiux*)
17745bc899bSmrg		os=-hiuxwe2
17845bc899bSmrg		;;
17950f2e948Smrg	-sco6)
18050f2e948Smrg		os=-sco5v6
18150f2e948Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18250f2e948Smrg		;;
18345bc899bSmrg	-sco5)
18445bc899bSmrg		os=-sco3.2v5
18545bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18645bc899bSmrg		;;
18745bc899bSmrg	-sco4)
18845bc899bSmrg		os=-sco3.2v4
18945bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19045bc899bSmrg		;;
19145bc899bSmrg	-sco3.2.[4-9]*)
19245bc899bSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19345bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19445bc899bSmrg		;;
19545bc899bSmrg	-sco3.2v[4-9]*)
19645bc899bSmrg		# Don't forget version if it is 3.2v4 or newer.
19745bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19845bc899bSmrg		;;
19950f2e948Smrg	-sco5v6*)
20050f2e948Smrg		# Don't forget version if it is 3.2v4 or newer.
20150f2e948Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20250f2e948Smrg		;;
20345bc899bSmrg	-sco*)
20445bc899bSmrg		os=-sco3.2v2
20545bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20645bc899bSmrg		;;
20745bc899bSmrg	-udk*)
20845bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20945bc899bSmrg		;;
21045bc899bSmrg	-isc)
21145bc899bSmrg		os=-isc2.2
21245bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21345bc899bSmrg		;;
21445bc899bSmrg	-clix*)
21545bc899bSmrg		basic_machine=clipper-intergraph
21645bc899bSmrg		;;
21745bc899bSmrg	-isc*)
21845bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21945bc899bSmrg		;;
220c97b1c41Smrg	-lynx*178)
221c97b1c41Smrg		os=-lynxos178
222c97b1c41Smrg		;;
223c97b1c41Smrg	-lynx*5)
224c97b1c41Smrg		os=-lynxos5
225c97b1c41Smrg		;;
22645bc899bSmrg	-lynx*)
22745bc899bSmrg		os=-lynxos
22845bc899bSmrg		;;
22945bc899bSmrg	-ptx*)
23045bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23145bc899bSmrg		;;
23245bc899bSmrg	-windowsnt*)
23345bc899bSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23445bc899bSmrg		;;
23545bc899bSmrg	-psos*)
23645bc899bSmrg		os=-psos
23745bc899bSmrg		;;
23845bc899bSmrg	-mint | -mint[0-9]*)
23945bc899bSmrg		basic_machine=m68k-atari
24045bc899bSmrg		os=-mint
24145bc899bSmrg		;;
24245bc899bSmrgesac
24345bc899bSmrg
24445bc899bSmrg# Decode aliases for certain CPU-COMPANY combinations.
24545bc899bSmrgcase $basic_machine in
24645bc899bSmrg	# Recognize the basic CPU types without company name.
24745bc899bSmrg	# Some are omitted here because they have special meanings below.
24845bc899bSmrg	1750a | 580 \
24945bc899bSmrg	| a29k \
250c97b1c41Smrg	| aarch64 | aarch64_be \
25145bc899bSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25245bc899bSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25350f2e948Smrg	| am33_2.0 \
254c97b1c41Smrg	| arc | arceb \
255c97b1c41Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256c97b1c41Smrg	| avr | avr32 \
257f2408745Smrg	| ba \
258c97b1c41Smrg	| be32 | be64 \
25950f2e948Smrg	| bfin \
260c97b1c41Smrg	| c4x | c8051 | clipper \
26145bc899bSmrg	| d10v | d30v | dlx | dsp16xx \
262f2408745Smrg	| e2k | epiphany \
26357ba8e8bSmrg	| fido | fr30 | frv | ft32 \
26445bc899bSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265b40a6198Smrg	| hexagon \
266f2408745Smrg	| i370 | i860 | i960 | ia16 | ia64 \
26750f2e948Smrg	| ip2k | iq2000 \
26857ba8e8bSmrg	| k1om \
269b40a6198Smrg	| le32 | le64 \
270b40a6198Smrg	| lm32 \
27150f2e948Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272c97b1c41Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27345bc899bSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27445bc899bSmrg	| mips16 \
27545bc899bSmrg	| mips64 | mips64el \
276b40a6198Smrg	| mips64octeon | mips64octeonel \
27745bc899bSmrg	| mips64orion | mips64orionel \
278b40a6198Smrg	| mips64r5900 | mips64r5900el \
279b40a6198Smrg	| mips64vr | mips64vrel \
28045bc899bSmrg	| mips64vr4100 | mips64vr4100el \
28145bc899bSmrg	| mips64vr4300 | mips64vr4300el \
28245bc899bSmrg	| mips64vr5000 | mips64vr5000el \
28350f2e948Smrg	| mips64vr5900 | mips64vr5900el \
28445bc899bSmrg	| mipsisa32 | mipsisa32el \
28545bc899bSmrg	| mipsisa32r2 | mipsisa32r2el \
28657ba8e8bSmrg	| mipsisa32r6 | mipsisa32r6el \
28745bc899bSmrg	| mipsisa64 | mipsisa64el \
28850f2e948Smrg	| mipsisa64r2 | mipsisa64r2el \
28957ba8e8bSmrg	| mipsisa64r6 | mipsisa64r6el \
29045bc899bSmrg	| mipsisa64sb1 | mipsisa64sb1el \
29145bc899bSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
292c97b1c41Smrg	| mipsr5900 | mipsr5900el \
29345bc899bSmrg	| mipstx39 | mipstx39el \
29445bc899bSmrg	| mn10200 | mn10300 \
295b40a6198Smrg	| moxie \
29650f2e948Smrg	| mt \
29745bc899bSmrg	| msp430 \
298b40a6198Smrg	| nds32 | nds32le | nds32be \
299c97b1c41Smrg	| nios | nios2 | nios2eb | nios2el \
30045bc899bSmrg	| ns16k | ns32k \
30157ba8e8bSmrg	| open8 | or1k | or1knd | or32 \
30245bc899bSmrg	| pdp10 | pdp11 | pj | pjl \
303b40a6198Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
304f2408745Smrg	| pru \
30545bc899bSmrg	| pyramid \
30657ba8e8bSmrg	| riscv32 | riscv64 \
307b40a6198Smrg	| rl78 | rx \
30850f2e948Smrg	| score \
309f2408745Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
31045bc899bSmrg	| sh64 | sh64le \
31150f2e948Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31250f2e948Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313b40a6198Smrg	| spu \
314b40a6198Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315b40a6198Smrg	| ubicom32 \
316b40a6198Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31757ba8e8bSmrg	| visium \
318f2408745Smrg	| wasm32 \
31945bc899bSmrg	| we32k \
320b40a6198Smrg	| x86 | xc16x | xstormy16 | xtensa \
321b40a6198Smrg	| z8k | z80)
32245bc899bSmrg		basic_machine=$basic_machine-unknown
32345bc899bSmrg		;;
324b40a6198Smrg	c54x)
325b40a6198Smrg		basic_machine=tic54x-unknown
326b40a6198Smrg		;;
327b40a6198Smrg	c55x)
328b40a6198Smrg		basic_machine=tic55x-unknown
329b40a6198Smrg		;;
330b40a6198Smrg	c6x)
331b40a6198Smrg		basic_machine=tic6x-unknown
332b40a6198Smrg		;;
33357ba8e8bSmrg	leon|leon[3-9])
33457ba8e8bSmrg		basic_machine=sparc-$basic_machine
33557ba8e8bSmrg		;;
33657ba8e8bSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33745bc899bSmrg		basic_machine=$basic_machine-unknown
33845bc899bSmrg		os=-none
33945bc899bSmrg		;;
34045bc899bSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
34145bc899bSmrg		;;
34250f2e948Smrg	ms1)
34350f2e948Smrg		basic_machine=mt-unknown
34450f2e948Smrg		;;
34545bc899bSmrg
346b40a6198Smrg	strongarm | thumb | xscale)
347b40a6198Smrg		basic_machine=arm-unknown
348b40a6198Smrg		;;
349c97b1c41Smrg	xgate)
350c97b1c41Smrg		basic_machine=$basic_machine-unknown
351c97b1c41Smrg		os=-none
352c97b1c41Smrg		;;
353b40a6198Smrg	xscaleeb)
354b40a6198Smrg		basic_machine=armeb-unknown
355b40a6198Smrg		;;
356b40a6198Smrg
357b40a6198Smrg	xscaleel)
358b40a6198Smrg		basic_machine=armel-unknown
359b40a6198Smrg		;;
360b40a6198Smrg
36145bc899bSmrg	# We use `pc' rather than `unknown'
36245bc899bSmrg	# because (1) that's what they normally are, and
36345bc899bSmrg	# (2) the word "unknown" tends to confuse beginning users.
36445bc899bSmrg	i*86 | x86_64)
36545bc899bSmrg	  basic_machine=$basic_machine-pc
36645bc899bSmrg	  ;;
36745bc899bSmrg	# Object if more than one company name word.
36845bc899bSmrg	*-*-*)
36945bc899bSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
37045bc899bSmrg		exit 1
37145bc899bSmrg		;;
37245bc899bSmrg	# Recognize the basic CPU types with company name.
37345bc899bSmrg	580-* \
37445bc899bSmrg	| a29k-* \
375c97b1c41Smrg	| aarch64-* | aarch64_be-* \
37645bc899bSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37745bc899bSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
378c97b1c41Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37945bc899bSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
38050f2e948Smrg	| avr-* | avr32-* \
381f2408745Smrg	| ba-* \
382b40a6198Smrg	| be32-* | be64-* \
38350f2e948Smrg	| bfin-* | bs2000-* \
384b40a6198Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
385c97b1c41Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
38645bc899bSmrg	| d10v-* | d30v-* | dlx-* \
387f2408745Smrg	| e2k-* | elxsi-* \
38850f2e948Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38945bc899bSmrg	| h8300-* | h8500-* \
39045bc899bSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
391b40a6198Smrg	| hexagon-* \
392f2408745Smrg	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
39350f2e948Smrg	| ip2k-* | iq2000-* \
39457ba8e8bSmrg	| k1om-* \
395b40a6198Smrg	| le32-* | le64-* \
396b40a6198Smrg	| lm32-* \
39750f2e948Smrg	| m32c-* | m32r-* | m32rle-* \
39845bc899bSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
399c97b1c41Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
400c97b1c41Smrg	| microblaze-* | microblazeel-* \
40145bc899bSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
40245bc899bSmrg	| mips16-* \
40345bc899bSmrg	| mips64-* | mips64el-* \
404b40a6198Smrg	| mips64octeon-* | mips64octeonel-* \
40545bc899bSmrg	| mips64orion-* | mips64orionel-* \
406b40a6198Smrg	| mips64r5900-* | mips64r5900el-* \
407b40a6198Smrg	| mips64vr-* | mips64vrel-* \
40845bc899bSmrg	| mips64vr4100-* | mips64vr4100el-* \
40945bc899bSmrg	| mips64vr4300-* | mips64vr4300el-* \
41045bc899bSmrg	| mips64vr5000-* | mips64vr5000el-* \
41150f2e948Smrg	| mips64vr5900-* | mips64vr5900el-* \
41245bc899bSmrg	| mipsisa32-* | mipsisa32el-* \
41345bc899bSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
41457ba8e8bSmrg	| mipsisa32r6-* | mipsisa32r6el-* \
41545bc899bSmrg	| mipsisa64-* | mipsisa64el-* \
41650f2e948Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
41757ba8e8bSmrg	| mipsisa64r6-* | mipsisa64r6el-* \
41845bc899bSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41945bc899bSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
420c97b1c41Smrg	| mipsr5900-* | mipsr5900el-* \
42145bc899bSmrg	| mipstx39-* | mipstx39el-* \
42250f2e948Smrg	| mmix-* \
42350f2e948Smrg	| mt-* \
42445bc899bSmrg	| msp430-* \
425b40a6198Smrg	| nds32-* | nds32le-* | nds32be-* \
426c97b1c41Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42750f2e948Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
428b40a6198Smrg	| open8-* \
42957ba8e8bSmrg	| or1k*-* \
43045bc899bSmrg	| orion-* \
43145bc899bSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
432b40a6198Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
433f2408745Smrg	| pru-* \
43445bc899bSmrg	| pyramid-* \
435f2408745Smrg	| riscv32-* | riscv64-* \
436b40a6198Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
437b40a6198Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43845bc899bSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43950f2e948Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
44050f2e948Smrg	| sparclite-* \
441f2408745Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
442b40a6198Smrg	| tahoe-* \
44345bc899bSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
444b40a6198Smrg	| tile*-* \
44545bc899bSmrg	| tron-* \
446b40a6198Smrg	| ubicom32-* \
447b40a6198Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
448b40a6198Smrg	| vax-* \
44957ba8e8bSmrg	| visium-* \
450f2408745Smrg	| wasm32-* \
45145bc899bSmrg	| we32k-* \
452b40a6198Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
45350f2e948Smrg	| xstormy16-* | xtensa*-* \
45445bc899bSmrg	| ymp-* \
455b40a6198Smrg	| z8k-* | z80-*)
45645bc899bSmrg		;;
45750f2e948Smrg	# Recognize the basic CPU types without company name, with glob match.
45850f2e948Smrg	xtensa*)
45950f2e948Smrg		basic_machine=$basic_machine-unknown
46050f2e948Smrg		;;
46145bc899bSmrg	# Recognize the various machine names and aliases which stand
46245bc899bSmrg	# for a CPU type and a company and sometimes even an OS.
46345bc899bSmrg	386bsd)
46445bc899bSmrg		basic_machine=i386-unknown
46545bc899bSmrg		os=-bsd
46645bc899bSmrg		;;
46745bc899bSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46845bc899bSmrg		basic_machine=m68000-att
46945bc899bSmrg		;;
47045bc899bSmrg	3b*)
47145bc899bSmrg		basic_machine=we32k-att
47245bc899bSmrg		;;
47345bc899bSmrg	a29khif)
47445bc899bSmrg		basic_machine=a29k-amd
47545bc899bSmrg		os=-udi
47645bc899bSmrg		;;
477b40a6198Smrg	abacus)
47850f2e948Smrg		basic_machine=abacus-unknown
47950f2e948Smrg		;;
48045bc899bSmrg	adobe68k)
48145bc899bSmrg		basic_machine=m68010-adobe
48245bc899bSmrg		os=-scout
48345bc899bSmrg		;;
48445bc899bSmrg	alliant | fx80)
48545bc899bSmrg		basic_machine=fx80-alliant
48645bc899bSmrg		;;
48745bc899bSmrg	altos | altos3068)
48845bc899bSmrg		basic_machine=m68k-altos
48945bc899bSmrg		;;
49045bc899bSmrg	am29k)
49145bc899bSmrg		basic_machine=a29k-none
49245bc899bSmrg		os=-bsd
49345bc899bSmrg		;;
49445bc899bSmrg	amd64)
49545bc899bSmrg		basic_machine=x86_64-pc
49645bc899bSmrg		;;
49750f2e948Smrg	amd64-*)
49850f2e948Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49950f2e948Smrg		;;
50045bc899bSmrg	amdahl)
50145bc899bSmrg		basic_machine=580-amdahl
50245bc899bSmrg		os=-sysv
50345bc899bSmrg		;;
50445bc899bSmrg	amiga | amiga-*)
50545bc899bSmrg		basic_machine=m68k-unknown
50645bc899bSmrg		;;
50745bc899bSmrg	amigaos | amigados)
50845bc899bSmrg		basic_machine=m68k-unknown
50945bc899bSmrg		os=-amigaos
51045bc899bSmrg		;;
51145bc899bSmrg	amigaunix | amix)
51245bc899bSmrg		basic_machine=m68k-unknown
51345bc899bSmrg		os=-sysv4
51445bc899bSmrg		;;
51545bc899bSmrg	apollo68)
51645bc899bSmrg		basic_machine=m68k-apollo
51745bc899bSmrg		os=-sysv
51845bc899bSmrg		;;
51945bc899bSmrg	apollo68bsd)
52045bc899bSmrg		basic_machine=m68k-apollo
52145bc899bSmrg		os=-bsd
52245bc899bSmrg		;;
523b40a6198Smrg	aros)
524b40a6198Smrg		basic_machine=i386-pc
525b40a6198Smrg		os=-aros
526b40a6198Smrg		;;
527f2408745Smrg	asmjs)
528f2408745Smrg		basic_machine=asmjs-unknown
529f2408745Smrg		;;
53045bc899bSmrg	aux)
53145bc899bSmrg		basic_machine=m68k-apple
53245bc899bSmrg		os=-aux
53345bc899bSmrg		;;
53445bc899bSmrg	balance)
53545bc899bSmrg		basic_machine=ns32k-sequent
53645bc899bSmrg		os=-dynix
53745bc899bSmrg		;;
53850f2e948Smrg	blackfin)
53950f2e948Smrg		basic_machine=bfin-unknown
54050f2e948Smrg		os=-linux
54150f2e948Smrg		;;
54250f2e948Smrg	blackfin-*)
54350f2e948Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
54450f2e948Smrg		os=-linux
54550f2e948Smrg		;;
546b40a6198Smrg	bluegene*)
547b40a6198Smrg		basic_machine=powerpc-ibm
548b40a6198Smrg		os=-cnk
549b40a6198Smrg		;;
550b40a6198Smrg	c54x-*)
551b40a6198Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
552b40a6198Smrg		;;
553b40a6198Smrg	c55x-*)
554b40a6198Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
555b40a6198Smrg		;;
556b40a6198Smrg	c6x-*)
557b40a6198Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
558b40a6198Smrg		;;
55945bc899bSmrg	c90)
56045bc899bSmrg		basic_machine=c90-cray
56145bc899bSmrg		os=-unicos
56245bc899bSmrg		;;
563b40a6198Smrg	cegcc)
564b40a6198Smrg		basic_machine=arm-unknown
565b40a6198Smrg		os=-cegcc
566b40a6198Smrg		;;
56745bc899bSmrg	convex-c1)
56845bc899bSmrg		basic_machine=c1-convex
56945bc899bSmrg		os=-bsd
57045bc899bSmrg		;;
57145bc899bSmrg	convex-c2)
57245bc899bSmrg		basic_machine=c2-convex
57345bc899bSmrg		os=-bsd
57445bc899bSmrg		;;
57545bc899bSmrg	convex-c32)
57645bc899bSmrg		basic_machine=c32-convex
57745bc899bSmrg		os=-bsd
57845bc899bSmrg		;;
57945bc899bSmrg	convex-c34)
58045bc899bSmrg		basic_machine=c34-convex
58145bc899bSmrg		os=-bsd
58245bc899bSmrg		;;
58345bc899bSmrg	convex-c38)
58445bc899bSmrg		basic_machine=c38-convex
58545bc899bSmrg		os=-bsd
58645bc899bSmrg		;;
58745bc899bSmrg	cray | j90)
58845bc899bSmrg		basic_machine=j90-cray
58945bc899bSmrg		os=-unicos
59045bc899bSmrg		;;
59150f2e948Smrg	craynv)
59250f2e948Smrg		basic_machine=craynv-cray
59350f2e948Smrg		os=-unicosmp
59450f2e948Smrg		;;
595b40a6198Smrg	cr16 | cr16-*)
59650f2e948Smrg		basic_machine=cr16-unknown
59750f2e948Smrg		os=-elf
59850f2e948Smrg		;;
59945bc899bSmrg	crds | unos)
60045bc899bSmrg		basic_machine=m68k-crds
60145bc899bSmrg		;;
60250f2e948Smrg	crisv32 | crisv32-* | etraxfs*)
60350f2e948Smrg		basic_machine=crisv32-axis
60450f2e948Smrg		;;
60545bc899bSmrg	cris | cris-* | etrax*)
60645bc899bSmrg		basic_machine=cris-axis
60745bc899bSmrg		;;
60850f2e948Smrg	crx)
60950f2e948Smrg		basic_machine=crx-unknown
61050f2e948Smrg		os=-elf
61150f2e948Smrg		;;
61245bc899bSmrg	da30 | da30-*)
61345bc899bSmrg		basic_machine=m68k-da30
61445bc899bSmrg		;;
61545bc899bSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61645bc899bSmrg		basic_machine=mips-dec
61745bc899bSmrg		;;
61845bc899bSmrg	decsystem10* | dec10*)
61945bc899bSmrg		basic_machine=pdp10-dec
62045bc899bSmrg		os=-tops10
62145bc899bSmrg		;;
62245bc899bSmrg	decsystem20* | dec20*)
62345bc899bSmrg		basic_machine=pdp10-dec
62445bc899bSmrg		os=-tops20
62545bc899bSmrg		;;
62645bc899bSmrg	delta | 3300 | motorola-3300 | motorola-delta \
62745bc899bSmrg	      | 3300-motorola | delta-motorola)
62845bc899bSmrg		basic_machine=m68k-motorola
62945bc899bSmrg		;;
63045bc899bSmrg	delta88)
63145bc899bSmrg		basic_machine=m88k-motorola
63245bc899bSmrg		os=-sysv3
63345bc899bSmrg		;;
634b40a6198Smrg	dicos)
635b40a6198Smrg		basic_machine=i686-pc
636b40a6198Smrg		os=-dicos
637b40a6198Smrg		;;
63850f2e948Smrg	djgpp)
63950f2e948Smrg		basic_machine=i586-pc
64050f2e948Smrg		os=-msdosdjgpp
64150f2e948Smrg		;;
64245bc899bSmrg	dpx20 | dpx20-*)
64345bc899bSmrg		basic_machine=rs6000-bull
64445bc899bSmrg		os=-bosx
64545bc899bSmrg		;;
64645bc899bSmrg	dpx2* | dpx2*-bull)
64745bc899bSmrg		basic_machine=m68k-bull
64845bc899bSmrg		os=-sysv3
64945bc899bSmrg		;;
650f2408745Smrg	e500v[12])
651f2408745Smrg		basic_machine=powerpc-unknown
652f2408745Smrg		os=$os"spe"
653f2408745Smrg		;;
654f2408745Smrg	e500v[12]-*)
655f2408745Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
656f2408745Smrg		os=$os"spe"
657f2408745Smrg		;;
65845bc899bSmrg	ebmon29k)
65945bc899bSmrg		basic_machine=a29k-amd
66045bc899bSmrg		os=-ebmon
66145bc899bSmrg		;;
66245bc899bSmrg	elxsi)
66345bc899bSmrg		basic_machine=elxsi-elxsi
66445bc899bSmrg		os=-bsd
66545bc899bSmrg		;;
66645bc899bSmrg	encore | umax | mmax)
66745bc899bSmrg		basic_machine=ns32k-encore
66845bc899bSmrg		;;
66945bc899bSmrg	es1800 | OSE68k | ose68k | ose | OSE)
67045bc899bSmrg		basic_machine=m68k-ericsson
67145bc899bSmrg		os=-ose
67245bc899bSmrg		;;
67345bc899bSmrg	fx2800)
67445bc899bSmrg		basic_machine=i860-alliant
67545bc899bSmrg		;;
67645bc899bSmrg	genix)
67745bc899bSmrg		basic_machine=ns32k-ns
67845bc899bSmrg		;;
67945bc899bSmrg	gmicro)
68045bc899bSmrg		basic_machine=tron-gmicro
68145bc899bSmrg		os=-sysv
68245bc899bSmrg		;;
68345bc899bSmrg	go32)
68445bc899bSmrg		basic_machine=i386-pc
68545bc899bSmrg		os=-go32
68645bc899bSmrg		;;
68745bc899bSmrg	h3050r* | hiux*)
68845bc899bSmrg		basic_machine=hppa1.1-hitachi
68945bc899bSmrg		os=-hiuxwe2
69045bc899bSmrg		;;
69145bc899bSmrg	h8300hms)
69245bc899bSmrg		basic_machine=h8300-hitachi
69345bc899bSmrg		os=-hms
69445bc899bSmrg		;;
69545bc899bSmrg	h8300xray)
69645bc899bSmrg		basic_machine=h8300-hitachi
69745bc899bSmrg		os=-xray
69845bc899bSmrg		;;
69945bc899bSmrg	h8500hms)
70045bc899bSmrg		basic_machine=h8500-hitachi
70145bc899bSmrg		os=-hms
70245bc899bSmrg		;;
70345bc899bSmrg	harris)
70445bc899bSmrg		basic_machine=m88k-harris
70545bc899bSmrg		os=-sysv3
70645bc899bSmrg		;;
70745bc899bSmrg	hp300-*)
70845bc899bSmrg		basic_machine=m68k-hp
70945bc899bSmrg		;;
71045bc899bSmrg	hp300bsd)
71145bc899bSmrg		basic_machine=m68k-hp
71245bc899bSmrg		os=-bsd
71345bc899bSmrg		;;
71445bc899bSmrg	hp300hpux)
71545bc899bSmrg		basic_machine=m68k-hp
71645bc899bSmrg		os=-hpux
71745bc899bSmrg		;;
71845bc899bSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
71945bc899bSmrg		basic_machine=hppa1.0-hp
72045bc899bSmrg		;;
72145bc899bSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
72245bc899bSmrg		basic_machine=m68000-hp
72345bc899bSmrg		;;
72445bc899bSmrg	hp9k3[2-9][0-9])
72545bc899bSmrg		basic_machine=m68k-hp
72645bc899bSmrg		;;
72745bc899bSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
72845bc899bSmrg		basic_machine=hppa1.0-hp
72945bc899bSmrg		;;
73045bc899bSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
73145bc899bSmrg		basic_machine=hppa1.1-hp
73245bc899bSmrg		;;
73345bc899bSmrg	hp9k78[0-9] | hp78[0-9])
73445bc899bSmrg		# FIXME: really hppa2.0-hp
73545bc899bSmrg		basic_machine=hppa1.1-hp
73645bc899bSmrg		;;
73745bc899bSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
73845bc899bSmrg		# FIXME: really hppa2.0-hp
73945bc899bSmrg		basic_machine=hppa1.1-hp
74045bc899bSmrg		;;
74145bc899bSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
74245bc899bSmrg		basic_machine=hppa1.1-hp
74345bc899bSmrg		;;
74445bc899bSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
74545bc899bSmrg		basic_machine=hppa1.0-hp
74645bc899bSmrg		;;
74745bc899bSmrg	hppa-next)
74845bc899bSmrg		os=-nextstep3
74945bc899bSmrg		;;
75045bc899bSmrg	hppaosf)
75145bc899bSmrg		basic_machine=hppa1.1-hp
75245bc899bSmrg		os=-osf
75345bc899bSmrg		;;
75445bc899bSmrg	hppro)
75545bc899bSmrg		basic_machine=hppa1.1-hp
75645bc899bSmrg		os=-proelf
75745bc899bSmrg		;;
75845bc899bSmrg	i370-ibm* | ibm*)
75945bc899bSmrg		basic_machine=i370-ibm
76045bc899bSmrg		;;
76145bc899bSmrg	i*86v32)
76245bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76345bc899bSmrg		os=-sysv32
76445bc899bSmrg		;;
76545bc899bSmrg	i*86v4*)
76645bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76745bc899bSmrg		os=-sysv4
76845bc899bSmrg		;;
76945bc899bSmrg	i*86v)
77045bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
77145bc899bSmrg		os=-sysv
77245bc899bSmrg		;;
77345bc899bSmrg	i*86sol2)
77445bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
77545bc899bSmrg		os=-solaris2
77645bc899bSmrg		;;
77745bc899bSmrg	i386mach)
77845bc899bSmrg		basic_machine=i386-mach
77945bc899bSmrg		os=-mach
78045bc899bSmrg		;;
78145bc899bSmrg	i386-vsta | vsta)
78245bc899bSmrg		basic_machine=i386-unknown
78345bc899bSmrg		os=-vsta
78445bc899bSmrg		;;
78545bc899bSmrg	iris | iris4d)
78645bc899bSmrg		basic_machine=mips-sgi
78745bc899bSmrg		case $os in
78845bc899bSmrg		    -irix*)
78945bc899bSmrg			;;
79045bc899bSmrg		    *)
79145bc899bSmrg			os=-irix4
79245bc899bSmrg			;;
79345bc899bSmrg		esac
79445bc899bSmrg		;;
79545bc899bSmrg	isi68 | isi)
79645bc899bSmrg		basic_machine=m68k-isi
79745bc899bSmrg		os=-sysv
79845bc899bSmrg		;;
79957ba8e8bSmrg	leon-*|leon[3-9]-*)
80057ba8e8bSmrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
80157ba8e8bSmrg		;;
80250f2e948Smrg	m68knommu)
80350f2e948Smrg		basic_machine=m68k-unknown
80450f2e948Smrg		os=-linux
80550f2e948Smrg		;;
80650f2e948Smrg	m68knommu-*)
80750f2e948Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
80850f2e948Smrg		os=-linux
80950f2e948Smrg		;;
81045bc899bSmrg	m88k-omron*)
81145bc899bSmrg		basic_machine=m88k-omron
81245bc899bSmrg		;;
81345bc899bSmrg	magnum | m3230)
81445bc899bSmrg		basic_machine=mips-mips
81545bc899bSmrg		os=-sysv
81645bc899bSmrg		;;
81745bc899bSmrg	merlin)
81845bc899bSmrg		basic_machine=ns32k-utek
81945bc899bSmrg		os=-sysv
82045bc899bSmrg		;;
821c97b1c41Smrg	microblaze*)
822b40a6198Smrg		basic_machine=microblaze-xilinx
823b40a6198Smrg		;;
824c97b1c41Smrg	mingw64)
825c97b1c41Smrg		basic_machine=x86_64-pc
826c97b1c41Smrg		os=-mingw64
827c97b1c41Smrg		;;
82845bc899bSmrg	mingw32)
829c97b1c41Smrg		basic_machine=i686-pc
83045bc899bSmrg		os=-mingw32
83145bc899bSmrg		;;
83250f2e948Smrg	mingw32ce)
83350f2e948Smrg		basic_machine=arm-unknown
83450f2e948Smrg		os=-mingw32ce
83550f2e948Smrg		;;
83645bc899bSmrg	miniframe)
83745bc899bSmrg		basic_machine=m68000-convergent
83845bc899bSmrg		;;
83945bc899bSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
84045bc899bSmrg		basic_machine=m68k-atari
84145bc899bSmrg		os=-mint
84245bc899bSmrg		;;
84345bc899bSmrg	mips3*-*)
84445bc899bSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
84545bc899bSmrg		;;
84645bc899bSmrg	mips3*)
84745bc899bSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
84845bc899bSmrg		;;
84945bc899bSmrg	monitor)
85045bc899bSmrg		basic_machine=m68k-rom68k
85145bc899bSmrg		os=-coff
85245bc899bSmrg		;;
85345bc899bSmrg	morphos)
85445bc899bSmrg		basic_machine=powerpc-unknown
85545bc899bSmrg		os=-morphos
85645bc899bSmrg		;;
85757ba8e8bSmrg	moxiebox)
85857ba8e8bSmrg		basic_machine=moxie-unknown
85957ba8e8bSmrg		os=-moxiebox
86057ba8e8bSmrg		;;
86145bc899bSmrg	msdos)
86245bc899bSmrg		basic_machine=i386-pc
86345bc899bSmrg		os=-msdos
86445bc899bSmrg		;;
86550f2e948Smrg	ms1-*)
86650f2e948Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
86750f2e948Smrg		;;
868b40a6198Smrg	msys)
869c97b1c41Smrg		basic_machine=i686-pc
870b40a6198Smrg		os=-msys
871b40a6198Smrg		;;
87245bc899bSmrg	mvs)
87345bc899bSmrg		basic_machine=i370-ibm
87445bc899bSmrg		os=-mvs
87545bc899bSmrg		;;
876b40a6198Smrg	nacl)
877b40a6198Smrg		basic_machine=le32-unknown
878b40a6198Smrg		os=-nacl
879b40a6198Smrg		;;
88045bc899bSmrg	ncr3000)
88145bc899bSmrg		basic_machine=i486-ncr
88245bc899bSmrg		os=-sysv4
88345bc899bSmrg		;;
88445bc899bSmrg	netbsd386)
88545bc899bSmrg		basic_machine=i386-unknown
88645bc899bSmrg		os=-netbsd
88745bc899bSmrg		;;
88845bc899bSmrg	netwinder)
88945bc899bSmrg		basic_machine=armv4l-rebel
89045bc899bSmrg		os=-linux
89145bc899bSmrg		;;
89245bc899bSmrg	news | news700 | news800 | news900)
89345bc899bSmrg		basic_machine=m68k-sony
89445bc899bSmrg		os=-newsos
89545bc899bSmrg		;;
89645bc899bSmrg	news1000)
89745bc899bSmrg		basic_machine=m68030-sony
89845bc899bSmrg		os=-newsos
89945bc899bSmrg		;;
90045bc899bSmrg	news-3600 | risc-news)
90145bc899bSmrg		basic_machine=mips-sony
90245bc899bSmrg		os=-newsos
90345bc899bSmrg		;;
90445bc899bSmrg	necv70)
90545bc899bSmrg		basic_machine=v70-nec
90645bc899bSmrg		os=-sysv
90745bc899bSmrg		;;
90845bc899bSmrg	next | m*-next )
90945bc899bSmrg		basic_machine=m68k-next
91045bc899bSmrg		case $os in
91145bc899bSmrg		    -nextstep* )
91245bc899bSmrg			;;
91345bc899bSmrg		    -ns2*)
91445bc899bSmrg		      os=-nextstep2
91545bc899bSmrg			;;
91645bc899bSmrg		    *)
91745bc899bSmrg		      os=-nextstep3
91845bc899bSmrg			;;
91945bc899bSmrg		esac
92045bc899bSmrg		;;
92145bc899bSmrg	nh3000)
92245bc899bSmrg		basic_machine=m68k-harris
92345bc899bSmrg		os=-cxux
92445bc899bSmrg		;;
92545bc899bSmrg	nh[45]000)
92645bc899bSmrg		basic_machine=m88k-harris
92745bc899bSmrg		os=-cxux
92845bc899bSmrg		;;
92945bc899bSmrg	nindy960)
93045bc899bSmrg		basic_machine=i960-intel
93145bc899bSmrg		os=-nindy
93245bc899bSmrg		;;
93345bc899bSmrg	mon960)
93445bc899bSmrg		basic_machine=i960-intel
93545bc899bSmrg		os=-mon960
93645bc899bSmrg		;;
93745bc899bSmrg	nonstopux)
93845bc899bSmrg		basic_machine=mips-compaq
93945bc899bSmrg		os=-nonstopux
94045bc899bSmrg		;;
94145bc899bSmrg	np1)
94245bc899bSmrg		basic_machine=np1-gould
94345bc899bSmrg		;;
944b40a6198Smrg	neo-tandem)
945b40a6198Smrg		basic_machine=neo-tandem
946b40a6198Smrg		;;
947b40a6198Smrg	nse-tandem)
948b40a6198Smrg		basic_machine=nse-tandem
949b40a6198Smrg		;;
95045bc899bSmrg	nsr-tandem)
95145bc899bSmrg		basic_machine=nsr-tandem
95245bc899bSmrg		;;
953f2408745Smrg	nsx-tandem)
954f2408745Smrg		basic_machine=nsx-tandem
955f2408745Smrg		;;
95645bc899bSmrg	op50n-* | op60c-*)
95745bc899bSmrg		basic_machine=hppa1.1-oki
95845bc899bSmrg		os=-proelf
95945bc899bSmrg		;;
96050f2e948Smrg	openrisc | openrisc-*)
96145bc899bSmrg		basic_machine=or32-unknown
96250f2e948Smrg		;;
96350f2e948Smrg	os400)
96450f2e948Smrg		basic_machine=powerpc-ibm
96550f2e948Smrg		os=-os400
96645bc899bSmrg		;;
96745bc899bSmrg	OSE68000 | ose68000)
96845bc899bSmrg		basic_machine=m68000-ericsson
96945bc899bSmrg		os=-ose
97045bc899bSmrg		;;
97145bc899bSmrg	os68k)
97245bc899bSmrg		basic_machine=m68k-none
97345bc899bSmrg		os=-os68k
97445bc899bSmrg		;;
97545bc899bSmrg	pa-hitachi)
97645bc899bSmrg		basic_machine=hppa1.1-hitachi
97745bc899bSmrg		os=-hiuxwe2
97845bc899bSmrg		;;
97945bc899bSmrg	paragon)
98045bc899bSmrg		basic_machine=i860-intel
98145bc899bSmrg		os=-osf
98245bc899bSmrg		;;
98350f2e948Smrg	parisc)
98450f2e948Smrg		basic_machine=hppa-unknown
98550f2e948Smrg		os=-linux
98650f2e948Smrg		;;
98750f2e948Smrg	parisc-*)
98850f2e948Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
98950f2e948Smrg		os=-linux
99050f2e948Smrg		;;
99145bc899bSmrg	pbd)
99245bc899bSmrg		basic_machine=sparc-tti
99345bc899bSmrg		;;
99445bc899bSmrg	pbb)
99545bc899bSmrg		basic_machine=m68k-tti
99645bc899bSmrg		;;
99745bc899bSmrg	pc532 | pc532-*)
99845bc899bSmrg		basic_machine=ns32k-pc532
99945bc899bSmrg		;;
100050f2e948Smrg	pc98)
100150f2e948Smrg		basic_machine=i386-pc
100250f2e948Smrg		;;
100350f2e948Smrg	pc98-*)
100450f2e948Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
100550f2e948Smrg		;;
100645bc899bSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
100745bc899bSmrg		basic_machine=i586-pc
100845bc899bSmrg		;;
100945bc899bSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
101045bc899bSmrg		basic_machine=i686-pc
101145bc899bSmrg		;;
101245bc899bSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
101345bc899bSmrg		basic_machine=i686-pc
101445bc899bSmrg		;;
101545bc899bSmrg	pentium4)
101645bc899bSmrg		basic_machine=i786-pc
101745bc899bSmrg		;;
101845bc899bSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
101945bc899bSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
102045bc899bSmrg		;;
102145bc899bSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
102245bc899bSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102345bc899bSmrg		;;
102445bc899bSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
102545bc899bSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102645bc899bSmrg		;;
102745bc899bSmrg	pentium4-*)
102845bc899bSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
102945bc899bSmrg		;;
103045bc899bSmrg	pn)
103145bc899bSmrg		basic_machine=pn-gould
103245bc899bSmrg		;;
103345bc899bSmrg	power)	basic_machine=power-ibm
103445bc899bSmrg		;;
1035b40a6198Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
103645bc899bSmrg		;;
1037b40a6198Smrg	ppc-* | ppcbe-*)
1038b40a6198Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
103945bc899bSmrg		;;
1040f2408745Smrg	ppcle | powerpclittle)
104145bc899bSmrg		basic_machine=powerpcle-unknown
104245bc899bSmrg		;;
104345bc899bSmrg	ppcle-* | powerpclittle-*)
104445bc899bSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
104545bc899bSmrg		;;
104645bc899bSmrg	ppc64)	basic_machine=powerpc64-unknown
104745bc899bSmrg		;;
104857ba8e8bSmrg	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
104945bc899bSmrg		;;
1050f2408745Smrg	ppc64le | powerpc64little)
105145bc899bSmrg		basic_machine=powerpc64le-unknown
105245bc899bSmrg		;;
105345bc899bSmrg	ppc64le-* | powerpc64little-*)
105445bc899bSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
105545bc899bSmrg		;;
105645bc899bSmrg	ps2)
105745bc899bSmrg		basic_machine=i386-ibm
105845bc899bSmrg		;;
105945bc899bSmrg	pw32)
106045bc899bSmrg		basic_machine=i586-unknown
106145bc899bSmrg		os=-pw32
106245bc899bSmrg		;;
1063c97b1c41Smrg	rdos | rdos64)
1064c97b1c41Smrg		basic_machine=x86_64-pc
1065c97b1c41Smrg		os=-rdos
1066c97b1c41Smrg		;;
1067c97b1c41Smrg	rdos32)
106850f2e948Smrg		basic_machine=i386-pc
106950f2e948Smrg		os=-rdos
107050f2e948Smrg		;;
107145bc899bSmrg	rom68k)
107245bc899bSmrg		basic_machine=m68k-rom68k
107345bc899bSmrg		os=-coff
107445bc899bSmrg		;;
107545bc899bSmrg	rm[46]00)
107645bc899bSmrg		basic_machine=mips-siemens
107745bc899bSmrg		;;
107845bc899bSmrg	rtpc | rtpc-*)
107945bc899bSmrg		basic_machine=romp-ibm
108045bc899bSmrg		;;
108150f2e948Smrg	s390 | s390-*)
108250f2e948Smrg		basic_machine=s390-ibm
108350f2e948Smrg		;;
108450f2e948Smrg	s390x | s390x-*)
108550f2e948Smrg		basic_machine=s390x-ibm
108650f2e948Smrg		;;
108745bc899bSmrg	sa29200)
108845bc899bSmrg		basic_machine=a29k-amd
108945bc899bSmrg		os=-udi
109045bc899bSmrg		;;
109145bc899bSmrg	sb1)
109245bc899bSmrg		basic_machine=mipsisa64sb1-unknown
109345bc899bSmrg		;;
109445bc899bSmrg	sb1el)
109545bc899bSmrg		basic_machine=mipsisa64sb1el-unknown
109645bc899bSmrg		;;
109750f2e948Smrg	sde)
109850f2e948Smrg		basic_machine=mipsisa32-sde
109950f2e948Smrg		os=-elf
110050f2e948Smrg		;;
110145bc899bSmrg	sei)
110245bc899bSmrg		basic_machine=mips-sei
110345bc899bSmrg		os=-seiux
110445bc899bSmrg		;;
110545bc899bSmrg	sequent)
110645bc899bSmrg		basic_machine=i386-sequent
110745bc899bSmrg		;;
110845bc899bSmrg	sh)
110945bc899bSmrg		basic_machine=sh-hitachi
111045bc899bSmrg		os=-hms
111145bc899bSmrg		;;
111250f2e948Smrg	sh5el)
111350f2e948Smrg		basic_machine=sh5le-unknown
111450f2e948Smrg		;;
111545bc899bSmrg	sh64)
111645bc899bSmrg		basic_machine=sh64-unknown
111745bc899bSmrg		;;
111845bc899bSmrg	sparclite-wrs | simso-wrs)
111945bc899bSmrg		basic_machine=sparclite-wrs
112045bc899bSmrg		os=-vxworks
112145bc899bSmrg		;;
112245bc899bSmrg	sps7)
112345bc899bSmrg		basic_machine=m68k-bull
112445bc899bSmrg		os=-sysv2
112545bc899bSmrg		;;
112645bc899bSmrg	spur)
112745bc899bSmrg		basic_machine=spur-unknown
112845bc899bSmrg		;;
112945bc899bSmrg	st2000)
113045bc899bSmrg		basic_machine=m68k-tandem
113145bc899bSmrg		;;
113245bc899bSmrg	stratus)
113345bc899bSmrg		basic_machine=i860-stratus
113445bc899bSmrg		os=-sysv4
113545bc899bSmrg		;;
1136b40a6198Smrg	strongarm-* | thumb-*)
1137b40a6198Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1138b40a6198Smrg		;;
113945bc899bSmrg	sun2)
114045bc899bSmrg		basic_machine=m68000-sun
114145bc899bSmrg		;;
114245bc899bSmrg	sun2os3)
114345bc899bSmrg		basic_machine=m68000-sun
114445bc899bSmrg		os=-sunos3
114545bc899bSmrg		;;
114645bc899bSmrg	sun2os4)
114745bc899bSmrg		basic_machine=m68000-sun
114845bc899bSmrg		os=-sunos4
114945bc899bSmrg		;;
115045bc899bSmrg	sun3os3)
115145bc899bSmrg		basic_machine=m68k-sun
115245bc899bSmrg		os=-sunos3
115345bc899bSmrg		;;
115445bc899bSmrg	sun3os4)
115545bc899bSmrg		basic_machine=m68k-sun
115645bc899bSmrg		os=-sunos4
115745bc899bSmrg		;;
115845bc899bSmrg	sun4os3)
115945bc899bSmrg		basic_machine=sparc-sun
116045bc899bSmrg		os=-sunos3
116145bc899bSmrg		;;
116245bc899bSmrg	sun4os4)
116345bc899bSmrg		basic_machine=sparc-sun
116445bc899bSmrg		os=-sunos4
116545bc899bSmrg		;;
116645bc899bSmrg	sun4sol2)
116745bc899bSmrg		basic_machine=sparc-sun
116845bc899bSmrg		os=-solaris2
116945bc899bSmrg		;;
117045bc899bSmrg	sun3 | sun3-*)
117145bc899bSmrg		basic_machine=m68k-sun
117245bc899bSmrg		;;
117345bc899bSmrg	sun4)
117445bc899bSmrg		basic_machine=sparc-sun
117545bc899bSmrg		;;
117645bc899bSmrg	sun386 | sun386i | roadrunner)
117745bc899bSmrg		basic_machine=i386-sun
117845bc899bSmrg		;;
117945bc899bSmrg	sv1)
118045bc899bSmrg		basic_machine=sv1-cray
118145bc899bSmrg		os=-unicos
118245bc899bSmrg		;;
118345bc899bSmrg	symmetry)
118445bc899bSmrg		basic_machine=i386-sequent
118545bc899bSmrg		os=-dynix
118645bc899bSmrg		;;
118745bc899bSmrg	t3e)
118845bc899bSmrg		basic_machine=alphaev5-cray
118945bc899bSmrg		os=-unicos
119045bc899bSmrg		;;
119145bc899bSmrg	t90)
119245bc899bSmrg		basic_machine=t90-cray
119345bc899bSmrg		os=-unicos
119445bc899bSmrg		;;
119550f2e948Smrg	tile*)
1196b40a6198Smrg		basic_machine=$basic_machine-unknown
119750f2e948Smrg		os=-linux-gnu
119850f2e948Smrg		;;
119945bc899bSmrg	tx39)
120045bc899bSmrg		basic_machine=mipstx39-unknown
120145bc899bSmrg		;;
120245bc899bSmrg	tx39el)
120345bc899bSmrg		basic_machine=mipstx39el-unknown
120445bc899bSmrg		;;
120545bc899bSmrg	toad1)
120645bc899bSmrg		basic_machine=pdp10-xkl
120745bc899bSmrg		os=-tops20
120845bc899bSmrg		;;
120945bc899bSmrg	tower | tower-32)
121045bc899bSmrg		basic_machine=m68k-ncr
121145bc899bSmrg		;;
121250f2e948Smrg	tpf)
121350f2e948Smrg		basic_machine=s390x-ibm
121450f2e948Smrg		os=-tpf
121550f2e948Smrg		;;
121645bc899bSmrg	udi29k)
121745bc899bSmrg		basic_machine=a29k-amd
121845bc899bSmrg		os=-udi
121945bc899bSmrg		;;
122045bc899bSmrg	ultra3)
122145bc899bSmrg		basic_machine=a29k-nyu
122245bc899bSmrg		os=-sym1
122345bc899bSmrg		;;
122445bc899bSmrg	v810 | necv810)
122545bc899bSmrg		basic_machine=v810-nec
122645bc899bSmrg		os=-none
122745bc899bSmrg		;;
122845bc899bSmrg	vaxv)
122945bc899bSmrg		basic_machine=vax-dec
123045bc899bSmrg		os=-sysv
123145bc899bSmrg		;;
123245bc899bSmrg	vms)
123345bc899bSmrg		basic_machine=vax-dec
123445bc899bSmrg		os=-vms
123545bc899bSmrg		;;
123645bc899bSmrg	vpp*|vx|vx-*)
123745bc899bSmrg		basic_machine=f301-fujitsu
123845bc899bSmrg		;;
123945bc899bSmrg	vxworks960)
124045bc899bSmrg		basic_machine=i960-wrs
124145bc899bSmrg		os=-vxworks
124245bc899bSmrg		;;
124345bc899bSmrg	vxworks68)
124445bc899bSmrg		basic_machine=m68k-wrs
124545bc899bSmrg		os=-vxworks
124645bc899bSmrg		;;
124745bc899bSmrg	vxworks29k)
124845bc899bSmrg		basic_machine=a29k-wrs
124945bc899bSmrg		os=-vxworks
125045bc899bSmrg		;;
1251f2408745Smrg	wasm32)
1252f2408745Smrg		basic_machine=wasm32-unknown
1253f2408745Smrg		;;
125445bc899bSmrg	w65*)
125545bc899bSmrg		basic_machine=w65-wdc
125645bc899bSmrg		os=-none
125745bc899bSmrg		;;
125845bc899bSmrg	w89k-*)
125945bc899bSmrg		basic_machine=hppa1.1-winbond
126045bc899bSmrg		os=-proelf
126145bc899bSmrg		;;
126250f2e948Smrg	xbox)
126350f2e948Smrg		basic_machine=i686-pc
126450f2e948Smrg		os=-mingw32
126550f2e948Smrg		;;
126645bc899bSmrg	xps | xps100)
126745bc899bSmrg		basic_machine=xps100-honeywell
126845bc899bSmrg		;;
1269b40a6198Smrg	xscale-* | xscalee[bl]-*)
1270b40a6198Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1271b40a6198Smrg		;;
127245bc899bSmrg	ymp)
127345bc899bSmrg		basic_machine=ymp-cray
127445bc899bSmrg		os=-unicos
127545bc899bSmrg		;;
127645bc899bSmrg	z8k-*-coff)
127745bc899bSmrg		basic_machine=z8k-unknown
127845bc899bSmrg		os=-sim
127945bc899bSmrg		;;
1280b40a6198Smrg	z80-*-coff)
1281b40a6198Smrg		basic_machine=z80-unknown
1282b40a6198Smrg		os=-sim
1283b40a6198Smrg		;;
128445bc899bSmrg	none)
128545bc899bSmrg		basic_machine=none-none
128645bc899bSmrg		os=-none
128745bc899bSmrg		;;
128845bc899bSmrg
128945bc899bSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
129045bc899bSmrg# some cases the only manufacturer, in others, it is the most popular.
129145bc899bSmrg	w89k)
129245bc899bSmrg		basic_machine=hppa1.1-winbond
129345bc899bSmrg		;;
129445bc899bSmrg	op50n)
129545bc899bSmrg		basic_machine=hppa1.1-oki
129645bc899bSmrg		;;
129745bc899bSmrg	op60c)
129845bc899bSmrg		basic_machine=hppa1.1-oki
129945bc899bSmrg		;;
130045bc899bSmrg	romp)
130145bc899bSmrg		basic_machine=romp-ibm
130245bc899bSmrg		;;
130350f2e948Smrg	mmix)
130450f2e948Smrg		basic_machine=mmix-knuth
130550f2e948Smrg		;;
130645bc899bSmrg	rs6000)
130745bc899bSmrg		basic_machine=rs6000-ibm
130845bc899bSmrg		;;
130945bc899bSmrg	vax)
131045bc899bSmrg		basic_machine=vax-dec
131145bc899bSmrg		;;
131245bc899bSmrg	pdp10)
131345bc899bSmrg		# there are many clones, so DEC is not a safe bet
131445bc899bSmrg		basic_machine=pdp10-unknown
131545bc899bSmrg		;;
131645bc899bSmrg	pdp11)
131745bc899bSmrg		basic_machine=pdp11-dec
131845bc899bSmrg		;;
131945bc899bSmrg	we32k)
132045bc899bSmrg		basic_machine=we32k-att
132145bc899bSmrg		;;
1322b40a6198Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
132345bc899bSmrg		basic_machine=sh-unknown
132445bc899bSmrg		;;
132550f2e948Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
132645bc899bSmrg		basic_machine=sparc-sun
132745bc899bSmrg		;;
132845bc899bSmrg	cydra)
132945bc899bSmrg		basic_machine=cydra-cydrome
133045bc899bSmrg		;;
133145bc899bSmrg	orion)
133245bc899bSmrg		basic_machine=orion-highlevel
133345bc899bSmrg		;;
133445bc899bSmrg	orion105)
133545bc899bSmrg		basic_machine=clipper-highlevel
133645bc899bSmrg		;;
133745bc899bSmrg	mac | mpw | mac-mpw)
133845bc899bSmrg		basic_machine=m68k-apple
133945bc899bSmrg		;;
134045bc899bSmrg	pmac | pmac-mpw)
134145bc899bSmrg		basic_machine=powerpc-apple
134245bc899bSmrg		;;
134345bc899bSmrg	*-unknown)
134445bc899bSmrg		# Make sure to match an already-canonicalized machine name.
134545bc899bSmrg		;;
134645bc899bSmrg	*)
134745bc899bSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
134845bc899bSmrg		exit 1
134945bc899bSmrg		;;
135045bc899bSmrgesac
135145bc899bSmrg
135245bc899bSmrg# Here we canonicalize certain aliases for manufacturers.
135345bc899bSmrgcase $basic_machine in
135445bc899bSmrg	*-digital*)
135545bc899bSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
135645bc899bSmrg		;;
135745bc899bSmrg	*-commodore*)
135845bc899bSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
135945bc899bSmrg		;;
136045bc899bSmrg	*)
136145bc899bSmrg		;;
136245bc899bSmrgesac
136345bc899bSmrg
136445bc899bSmrg# Decode manufacturer-specific aliases for certain operating systems.
136545bc899bSmrg
136645bc899bSmrgif [ x"$os" != x"" ]
136745bc899bSmrgthen
136845bc899bSmrgcase $os in
1369b40a6198Smrg	# First match some system type aliases
1370b40a6198Smrg	# that might get confused with valid system types.
137145bc899bSmrg	# -solaris* is a basic system type, with this one exception.
1372b40a6198Smrg	-auroraux)
1373b40a6198Smrg		os=-auroraux
1374b40a6198Smrg		;;
137545bc899bSmrg	-solaris1 | -solaris1.*)
137645bc899bSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
137745bc899bSmrg		;;
137845bc899bSmrg	-solaris)
137945bc899bSmrg		os=-solaris2
138045bc899bSmrg		;;
138145bc899bSmrg	-svr4*)
138245bc899bSmrg		os=-sysv4
138345bc899bSmrg		;;
138445bc899bSmrg	-unixware*)
138545bc899bSmrg		os=-sysv4.2uw
138645bc899bSmrg		;;
138745bc899bSmrg	-gnu/linux*)
138845bc899bSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
138945bc899bSmrg		;;
139045bc899bSmrg	# First accept the basic system types.
139145bc899bSmrg	# The portable systems comes first.
139245bc899bSmrg	# Each alternative MUST END IN A *, to match a version number.
139345bc899bSmrg	# -sysv* is not here because it comes later, after sysvr4.
139445bc899bSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1395b40a6198Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1396b40a6198Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1397c97b1c41Smrg	      | -sym* | -kopensolaris* | -plan9* \
139845bc899bSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1399f2408745Smrg	      | -aos* | -aros* | -cloudabi* | -sortix* \
140045bc899bSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
140145bc899bSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
140250f2e948Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1403f2408745Smrg	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
140450f2e948Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
140550f2e948Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
140645bc899bSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
140745bc899bSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1408f2408745Smrg	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
1409b40a6198Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1410f2408745Smrg	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1411c97b1c41Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
141257ba8e8bSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
141345bc899bSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
141445bc899bSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
141545bc899bSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
141645bc899bSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
141745bc899bSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
141850f2e948Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1419f2408745Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1420f2408745Smrg	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
142145bc899bSmrg	# Remember, each alternative MUST END IN *, to match a version number.
142245bc899bSmrg		;;
142345bc899bSmrg	-qnx*)
142445bc899bSmrg		case $basic_machine in
142545bc899bSmrg		    x86-* | i*86-*)
142645bc899bSmrg			;;
142745bc899bSmrg		    *)
142845bc899bSmrg			os=-nto$os
142945bc899bSmrg			;;
143045bc899bSmrg		esac
143145bc899bSmrg		;;
143245bc899bSmrg	-nto-qnx*)
143345bc899bSmrg		;;
143445bc899bSmrg	-nto*)
143545bc899bSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
143645bc899bSmrg		;;
143745bc899bSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
143850f2e948Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
143945bc899bSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
144045bc899bSmrg		;;
144145bc899bSmrg	-mac*)
144245bc899bSmrg		os=`echo $os | sed -e 's|mac|macos|'`
144345bc899bSmrg		;;
144450f2e948Smrg	-linux-dietlibc)
144550f2e948Smrg		os=-linux-dietlibc
144650f2e948Smrg		;;
144745bc899bSmrg	-linux*)
144845bc899bSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
144945bc899bSmrg		;;
145045bc899bSmrg	-sunos5*)
145145bc899bSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
145245bc899bSmrg		;;
145345bc899bSmrg	-sunos6*)
145445bc899bSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
145545bc899bSmrg		;;
145645bc899bSmrg	-opened*)
145745bc899bSmrg		os=-openedition
145845bc899bSmrg		;;
1459b40a6198Smrg	-os400*)
146050f2e948Smrg		os=-os400
146150f2e948Smrg		;;
146245bc899bSmrg	-wince*)
146345bc899bSmrg		os=-wince
146445bc899bSmrg		;;
146545bc899bSmrg	-osfrose*)
146645bc899bSmrg		os=-osfrose
146745bc899bSmrg		;;
146845bc899bSmrg	-osf*)
146945bc899bSmrg		os=-osf
147045bc899bSmrg		;;
147145bc899bSmrg	-utek*)
147245bc899bSmrg		os=-bsd
147345bc899bSmrg		;;
147445bc899bSmrg	-dynix*)
147545bc899bSmrg		os=-bsd
147645bc899bSmrg		;;
147745bc899bSmrg	-acis*)
147845bc899bSmrg		os=-aos
147945bc899bSmrg		;;
148045bc899bSmrg	-atheos*)
148145bc899bSmrg		os=-atheos
148245bc899bSmrg		;;
148350f2e948Smrg	-syllable*)
148450f2e948Smrg		os=-syllable
148550f2e948Smrg		;;
148645bc899bSmrg	-386bsd)
148745bc899bSmrg		os=-bsd
148845bc899bSmrg		;;
148945bc899bSmrg	-ctix* | -uts*)
149045bc899bSmrg		os=-sysv
149145bc899bSmrg		;;
149245bc899bSmrg	-nova*)
149345bc899bSmrg		os=-rtmk-nova
149445bc899bSmrg		;;
149545bc899bSmrg	-ns2 )
149645bc899bSmrg		os=-nextstep2
149745bc899bSmrg		;;
149845bc899bSmrg	-nsk*)
149945bc899bSmrg		os=-nsk
150045bc899bSmrg		;;
150145bc899bSmrg	# Preserve the version number of sinix5.
150245bc899bSmrg	-sinix5.*)
150345bc899bSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
150445bc899bSmrg		;;
150545bc899bSmrg	-sinix*)
150645bc899bSmrg		os=-sysv4
150745bc899bSmrg		;;
1508b40a6198Smrg	-tpf*)
150950f2e948Smrg		os=-tpf
151050f2e948Smrg		;;
151145bc899bSmrg	-triton*)
151245bc899bSmrg		os=-sysv3
151345bc899bSmrg		;;
151445bc899bSmrg	-oss*)
151545bc899bSmrg		os=-sysv3
151645bc899bSmrg		;;
151745bc899bSmrg	-svr4)
151845bc899bSmrg		os=-sysv4
151945bc899bSmrg		;;
152045bc899bSmrg	-svr3)
152145bc899bSmrg		os=-sysv3
152245bc899bSmrg		;;
152345bc899bSmrg	-sysvr4)
152445bc899bSmrg		os=-sysv4
152545bc899bSmrg		;;
152645bc899bSmrg	# This must come after -sysvr4.
152745bc899bSmrg	-sysv*)
152845bc899bSmrg		;;
152945bc899bSmrg	-ose*)
153045bc899bSmrg		os=-ose
153145bc899bSmrg		;;
153245bc899bSmrg	-es1800*)
153345bc899bSmrg		os=-ose
153445bc899bSmrg		;;
153545bc899bSmrg	-xenix)
153645bc899bSmrg		os=-xenix
153745bc899bSmrg		;;
153845bc899bSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
153945bc899bSmrg		os=-mint
154045bc899bSmrg		;;
154145bc899bSmrg	-aros*)
154245bc899bSmrg		os=-aros
154345bc899bSmrg		;;
154450f2e948Smrg	-zvmoe)
154550f2e948Smrg		os=-zvmoe
154650f2e948Smrg		;;
1547b40a6198Smrg	-dicos*)
1548b40a6198Smrg		os=-dicos
1549b40a6198Smrg		;;
1550b40a6198Smrg	-nacl*)
1551b40a6198Smrg		;;
1552f2408745Smrg	-ios)
1553f2408745Smrg		;;
155445bc899bSmrg	-none)
155545bc899bSmrg		;;
155645bc899bSmrg	*)
155745bc899bSmrg		# Get rid of the `-' at the beginning of $os.
155845bc899bSmrg		os=`echo $os | sed 's/[^-]*-//'`
155945bc899bSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
156045bc899bSmrg		exit 1
156145bc899bSmrg		;;
156245bc899bSmrgesac
156345bc899bSmrgelse
156445bc899bSmrg
156545bc899bSmrg# Here we handle the default operating systems that come with various machines.
156645bc899bSmrg# The value should be what the vendor currently ships out the door with their
156745bc899bSmrg# machine or put another way, the most popular os provided with the machine.
156845bc899bSmrg
156945bc899bSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
157045bc899bSmrg# "-sun"), then you have to tell the case statement up towards the top
157145bc899bSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
157245bc899bSmrg# will signal an error saying that MANUFACTURER isn't an operating
157345bc899bSmrg# system, and we'll never get to this point.
157445bc899bSmrg
157545bc899bSmrgcase $basic_machine in
1576b40a6198Smrg	score-*)
157750f2e948Smrg		os=-elf
157850f2e948Smrg		;;
1579b40a6198Smrg	spu-*)
158050f2e948Smrg		os=-elf
158150f2e948Smrg		;;
158245bc899bSmrg	*-acorn)
158345bc899bSmrg		os=-riscix1.2
158445bc899bSmrg		;;
158545bc899bSmrg	arm*-rebel)
158645bc899bSmrg		os=-linux
158745bc899bSmrg		;;
158845bc899bSmrg	arm*-semi)
158945bc899bSmrg		os=-aout
159045bc899bSmrg		;;
1591b40a6198Smrg	c4x-* | tic4x-*)
1592b40a6198Smrg		os=-coff
1593b40a6198Smrg		;;
1594c97b1c41Smrg	c8051-*)
1595c97b1c41Smrg		os=-elf
1596c97b1c41Smrg		;;
1597c97b1c41Smrg	hexagon-*)
1598c97b1c41Smrg		os=-elf
1599c97b1c41Smrg		;;
1600b40a6198Smrg	tic54x-*)
1601b40a6198Smrg		os=-coff
1602b40a6198Smrg		;;
1603b40a6198Smrg	tic55x-*)
1604b40a6198Smrg		os=-coff
1605b40a6198Smrg		;;
1606b40a6198Smrg	tic6x-*)
1607b40a6198Smrg		os=-coff
160845bc899bSmrg		;;
160945bc899bSmrg	# This must come before the *-dec entry.
161045bc899bSmrg	pdp10-*)
161145bc899bSmrg		os=-tops20
161245bc899bSmrg		;;
161345bc899bSmrg	pdp11-*)
161445bc899bSmrg		os=-none
161545bc899bSmrg		;;
161645bc899bSmrg	*-dec | vax-*)
161745bc899bSmrg		os=-ultrix4.2
161845bc899bSmrg		;;
161945bc899bSmrg	m68*-apollo)
162045bc899bSmrg		os=-domain
162145bc899bSmrg		;;
162245bc899bSmrg	i386-sun)
162345bc899bSmrg		os=-sunos4.0.2
162445bc899bSmrg		;;
162545bc899bSmrg	m68000-sun)
162645bc899bSmrg		os=-sunos3
162745bc899bSmrg		;;
162845bc899bSmrg	m68*-cisco)
162945bc899bSmrg		os=-aout
163045bc899bSmrg		;;
1631b40a6198Smrg	mep-*)
163250f2e948Smrg		os=-elf
163350f2e948Smrg		;;
163445bc899bSmrg	mips*-cisco)
163545bc899bSmrg		os=-elf
163645bc899bSmrg		;;
163745bc899bSmrg	mips*-*)
163845bc899bSmrg		os=-elf
163945bc899bSmrg		;;
164045bc899bSmrg	or32-*)
164145bc899bSmrg		os=-coff
164245bc899bSmrg		;;
164345bc899bSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
164445bc899bSmrg		os=-sysv3
164545bc899bSmrg		;;
164645bc899bSmrg	sparc-* | *-sun)
164745bc899bSmrg		os=-sunos4.1.1
164845bc899bSmrg		;;
1649f2408745Smrg	pru-*)
1650f2408745Smrg		os=-elf
1651f2408745Smrg		;;
165245bc899bSmrg	*-be)
165345bc899bSmrg		os=-beos
165445bc899bSmrg		;;
165550f2e948Smrg	*-haiku)
165650f2e948Smrg		os=-haiku
165750f2e948Smrg		;;
165845bc899bSmrg	*-ibm)
165945bc899bSmrg		os=-aix
166045bc899bSmrg		;;
1661b40a6198Smrg	*-knuth)
166250f2e948Smrg		os=-mmixware
166350f2e948Smrg		;;
166445bc899bSmrg	*-wec)
166545bc899bSmrg		os=-proelf
166645bc899bSmrg		;;
166745bc899bSmrg	*-winbond)
166845bc899bSmrg		os=-proelf
166945bc899bSmrg		;;
167045bc899bSmrg	*-oki)
167145bc899bSmrg		os=-proelf
167245bc899bSmrg		;;
167345bc899bSmrg	*-hp)
167445bc899bSmrg		os=-hpux
167545bc899bSmrg		;;
167645bc899bSmrg	*-hitachi)
167745bc899bSmrg		os=-hiux
167845bc899bSmrg		;;
167945bc899bSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
168045bc899bSmrg		os=-sysv
168145bc899bSmrg		;;
168245bc899bSmrg	*-cbm)
168345bc899bSmrg		os=-amigaos
168445bc899bSmrg		;;
168545bc899bSmrg	*-dg)
168645bc899bSmrg		os=-dgux
168745bc899bSmrg		;;
168845bc899bSmrg	*-dolphin)
168945bc899bSmrg		os=-sysv3
169045bc899bSmrg		;;
169145bc899bSmrg	m68k-ccur)
169245bc899bSmrg		os=-rtu
169345bc899bSmrg		;;
169445bc899bSmrg	m88k-omron*)
169545bc899bSmrg		os=-luna
169645bc899bSmrg		;;
169745bc899bSmrg	*-next )
169845bc899bSmrg		os=-nextstep
169945bc899bSmrg		;;
170045bc899bSmrg	*-sequent)
170145bc899bSmrg		os=-ptx
170245bc899bSmrg		;;
170345bc899bSmrg	*-crds)
170445bc899bSmrg		os=-unos
170545bc899bSmrg		;;
170645bc899bSmrg	*-ns)
170745bc899bSmrg		os=-genix
170845bc899bSmrg		;;
170945bc899bSmrg	i370-*)
171045bc899bSmrg		os=-mvs
171145bc899bSmrg		;;
171245bc899bSmrg	*-next)
171345bc899bSmrg		os=-nextstep3
171445bc899bSmrg		;;
171545bc899bSmrg	*-gould)
171645bc899bSmrg		os=-sysv
171745bc899bSmrg		;;
171845bc899bSmrg	*-highlevel)
171945bc899bSmrg		os=-bsd
172045bc899bSmrg		;;
172145bc899bSmrg	*-encore)
172245bc899bSmrg		os=-bsd
172345bc899bSmrg		;;
172445bc899bSmrg	*-sgi)
172545bc899bSmrg		os=-irix
172645bc899bSmrg		;;
172745bc899bSmrg	*-siemens)
172845bc899bSmrg		os=-sysv4
172945bc899bSmrg		;;
173045bc899bSmrg	*-masscomp)
173145bc899bSmrg		os=-rtu
173245bc899bSmrg		;;
173345bc899bSmrg	f30[01]-fujitsu | f700-fujitsu)
173445bc899bSmrg		os=-uxpv
173545bc899bSmrg		;;
173645bc899bSmrg	*-rom68k)
173745bc899bSmrg		os=-coff
173845bc899bSmrg		;;
173945bc899bSmrg	*-*bug)
174045bc899bSmrg		os=-coff
174145bc899bSmrg		;;
174245bc899bSmrg	*-apple)
174345bc899bSmrg		os=-macos
174445bc899bSmrg		;;
174545bc899bSmrg	*-atari*)
174645bc899bSmrg		os=-mint
174745bc899bSmrg		;;
174845bc899bSmrg	*)
174945bc899bSmrg		os=-none
175045bc899bSmrg		;;
175145bc899bSmrgesac
175245bc899bSmrgfi
175345bc899bSmrg
175445bc899bSmrg# Here we handle the case where we know the os, and the CPU type, but not the
175545bc899bSmrg# manufacturer.  We pick the logical manufacturer.
175645bc899bSmrgvendor=unknown
175745bc899bSmrgcase $basic_machine in
175845bc899bSmrg	*-unknown)
175945bc899bSmrg		case $os in
176045bc899bSmrg			-riscix*)
176145bc899bSmrg				vendor=acorn
176245bc899bSmrg				;;
176345bc899bSmrg			-sunos*)
176445bc899bSmrg				vendor=sun
176545bc899bSmrg				;;
1766b40a6198Smrg			-cnk*|-aix*)
176745bc899bSmrg				vendor=ibm
176845bc899bSmrg				;;
176945bc899bSmrg			-beos*)
177045bc899bSmrg				vendor=be
177145bc899bSmrg				;;
177245bc899bSmrg			-hpux*)
177345bc899bSmrg				vendor=hp
177445bc899bSmrg				;;
177545bc899bSmrg			-mpeix*)
177645bc899bSmrg				vendor=hp
177745bc899bSmrg				;;
177845bc899bSmrg			-hiux*)
177945bc899bSmrg				vendor=hitachi
178045bc899bSmrg				;;
178145bc899bSmrg			-unos*)
178245bc899bSmrg				vendor=crds
178345bc899bSmrg				;;
178445bc899bSmrg			-dgux*)
178545bc899bSmrg				vendor=dg
178645bc899bSmrg				;;
178745bc899bSmrg			-luna*)
178845bc899bSmrg				vendor=omron
178945bc899bSmrg				;;
179045bc899bSmrg			-genix*)
179145bc899bSmrg				vendor=ns
179245bc899bSmrg				;;
179345bc899bSmrg			-mvs* | -opened*)
179445bc899bSmrg				vendor=ibm
179545bc899bSmrg				;;
179650f2e948Smrg			-os400*)
179750f2e948Smrg				vendor=ibm
179850f2e948Smrg				;;
179945bc899bSmrg			-ptx*)
180045bc899bSmrg				vendor=sequent
180145bc899bSmrg				;;
180250f2e948Smrg			-tpf*)
180350f2e948Smrg				vendor=ibm
180450f2e948Smrg				;;
180545bc899bSmrg			-vxsim* | -vxworks* | -windiss*)
180645bc899bSmrg				vendor=wrs
180745bc899bSmrg				;;
180845bc899bSmrg			-aux*)
180945bc899bSmrg				vendor=apple
181045bc899bSmrg				;;
181145bc899bSmrg			-hms*)
181245bc899bSmrg				vendor=hitachi
181345bc899bSmrg				;;
181445bc899bSmrg			-mpw* | -macos*)
181545bc899bSmrg				vendor=apple
181645bc899bSmrg				;;
181745bc899bSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
181845bc899bSmrg				vendor=atari
181945bc899bSmrg				;;
182045bc899bSmrg			-vos*)
182145bc899bSmrg				vendor=stratus
182245bc899bSmrg				;;
182345bc899bSmrg		esac
182445bc899bSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
182545bc899bSmrg		;;
182645bc899bSmrgesac
182745bc899bSmrg
182845bc899bSmrgecho $basic_machine$os
182950f2e948Smrgexit
183045bc899bSmrg
183145bc899bSmrg# Local variables:
183245bc899bSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
183345bc899bSmrg# time-stamp-start: "timestamp='"
183445bc899bSmrg# time-stamp-format: "%:y-%02m-%02d"
183545bc899bSmrg# time-stamp-end: "'"
183645bc899bSmrg# End:
1837