config.sub revision 6ef05171
16ef05171Smrg#!/bin/sh
243f32c10Smrg# Configuration validation subroutine script.
36ef05171Smrg#   Copyright 1992-2017 Free Software Foundation, Inc.
443f32c10Smrg
56ef05171Smrgtimestamp='2017-04-02'
643f32c10Smrg
76ef05171Smrg# This file is free software; you can redistribute it and/or modify it
86ef05171Smrg# under the terms of the GNU General Public License as published by
96ef05171Smrg# the Free Software Foundation; either version 3 of the License, or
1043f32c10Smrg# (at your option) any later version.
1143f32c10Smrg#
126ef05171Smrg# This program is distributed in the hope that it will be useful, but
136ef05171Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
146ef05171Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
156ef05171Smrg# General Public License for more details.
1643f32c10Smrg#
1743f32c10Smrg# You should have received a copy of the GNU General Public License
186ef05171Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1943f32c10Smrg#
2043f32c10Smrg# As a special exception to the GNU General Public License, if you
2143f32c10Smrg# distribute this file as part of a program that contains a
2243f32c10Smrg# configuration script generated by Autoconf, you may include it under
236ef05171Smrg# the same distribution terms that you use for the rest of that
246ef05171Smrg# program.  This Exception is an additional permission under section 7
256ef05171Smrg# of the GNU General Public License, version 3 ("GPLv3").
2643f32c10Smrg
2743f32c10Smrg
286ef05171Smrg# Please send patches to <config-patches@gnu.org>.
2943f32c10Smrg#
3043f32c10Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3143f32c10Smrg# Supply the specified configuration type as an argument.
3243f32c10Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
3343f32c10Smrg# Otherwise, we print the canonical config type on stdout and succeed.
3443f32c10Smrg
356ef05171Smrg# You can get the latest version of this script from:
366ef05171Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
376ef05171Smrg
3843f32c10Smrg# This file is supposed to be the same for all GNU packages
3943f32c10Smrg# and recognize all the CPU types, system types and aliases
4043f32c10Smrg# that are meaningful with *any* GNU software.
4143f32c10Smrg# Each package is responsible for reporting which valid configurations
4243f32c10Smrg# it does not support.  The user should be able to distinguish
4343f32c10Smrg# a failure to support a valid configuration from a meaningless
4443f32c10Smrg# configuration.
4543f32c10Smrg
4643f32c10Smrg# The goal of this file is to map all the various variations of a given
4743f32c10Smrg# machine specification into a single specification in the form:
4843f32c10Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4943f32c10Smrg# or in some cases, the newer four-part form:
5043f32c10Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5143f32c10Smrg# It is wrong to echo any other type of specification.
5243f32c10Smrg
5343f32c10Smrgme=`echo "$0" | sed -e 's,.*/,,'`
5443f32c10Smrg
5543f32c10Smrgusage="\
566ef05171SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
5743f32c10Smrg
5843f32c10SmrgCanonicalize a configuration name.
5943f32c10Smrg
6043f32c10SmrgOperation modes:
6143f32c10Smrg  -h, --help         print this help, then exit
6243f32c10Smrg  -t, --time-stamp   print date of last modification, then exit
6343f32c10Smrg  -v, --version      print version number, then exit
6443f32c10Smrg
6543f32c10SmrgReport bugs and patches to <config-patches@gnu.org>."
6643f32c10Smrg
6743f32c10Smrgversion="\
6843f32c10SmrgGNU config.sub ($timestamp)
6943f32c10Smrg
706ef05171SmrgCopyright 1992-2017 Free Software Foundation, Inc.
7143f32c10Smrg
7243f32c10SmrgThis is free software; see the source for copying conditions.  There is NO
7343f32c10Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7443f32c10Smrg
7543f32c10Smrghelp="
7643f32c10SmrgTry \`$me --help' for more information."
7743f32c10Smrg
7843f32c10Smrg# Parse command line
7943f32c10Smrgwhile test $# -gt 0 ; do
8043f32c10Smrg  case $1 in
8143f32c10Smrg    --time-stamp | --time* | -t )
8243f32c10Smrg       echo "$timestamp" ; exit ;;
8343f32c10Smrg    --version | -v )
8443f32c10Smrg       echo "$version" ; exit ;;
8543f32c10Smrg    --help | --h* | -h )
8643f32c10Smrg       echo "$usage"; exit ;;
8743f32c10Smrg    -- )     # Stop option processing
8843f32c10Smrg       shift; break ;;
8943f32c10Smrg    - )	# Use stdin as input.
9043f32c10Smrg       break ;;
9143f32c10Smrg    -* )
9243f32c10Smrg       echo "$me: invalid option $1$help"
9343f32c10Smrg       exit 1 ;;
9443f32c10Smrg
9543f32c10Smrg    *local*)
9643f32c10Smrg       # First pass through any local machine types.
9743f32c10Smrg       echo $1
9843f32c10Smrg       exit ;;
9943f32c10Smrg
10043f32c10Smrg    * )
10143f32c10Smrg       break ;;
10243f32c10Smrg  esac
10343f32c10Smrgdone
10443f32c10Smrg
10543f32c10Smrgcase $# in
10643f32c10Smrg 0) echo "$me: missing argument$help" >&2
10743f32c10Smrg    exit 1;;
10843f32c10Smrg 1) ;;
10943f32c10Smrg *) echo "$me: too many arguments$help" >&2
11043f32c10Smrg    exit 1;;
11143f32c10Smrgesac
11243f32c10Smrg
11343f32c10Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11443f32c10Smrg# Here we must recognize all the valid KERNEL-OS combinations.
11543f32c10Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11643f32c10Smrgcase $maybe_os in
1176ef05171Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1186ef05171Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1196ef05171Smrg  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
1206ef05171Smrg  kopensolaris*-gnu* | cloudabi*-eabi* | \
12143f32c10Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12243f32c10Smrg    os=-$maybe_os
12343f32c10Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12443f32c10Smrg    ;;
1256ef05171Smrg  android-linux)
1266ef05171Smrg    os=-linux-android
1276ef05171Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1286ef05171Smrg    ;;
12943f32c10Smrg  *)
13043f32c10Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13143f32c10Smrg    if [ $basic_machine != $1 ]
13243f32c10Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13343f32c10Smrg    else os=; fi
13443f32c10Smrg    ;;
13543f32c10Smrgesac
13643f32c10Smrg
13743f32c10Smrg### Let's recognize common machines as not being operating systems so
13843f32c10Smrg### that things like config.sub decstation-3100 work.  We also
13943f32c10Smrg### recognize some manufacturers as not being operating systems, so we
14043f32c10Smrg### can provide default operating systems below.
14143f32c10Smrgcase $os in
14243f32c10Smrg	-sun*os*)
14343f32c10Smrg		# Prevent following clause from handling this invalid input.
14443f32c10Smrg		;;
14543f32c10Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14643f32c10Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14743f32c10Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14843f32c10Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14943f32c10Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15043f32c10Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1516ef05171Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15243f32c10Smrg		os=
15343f32c10Smrg		basic_machine=$1
15443f32c10Smrg		;;
1556ef05171Smrg	-bluegene*)
1566ef05171Smrg		os=-cnk
1576ef05171Smrg		;;
15843f32c10Smrg	-sim | -cisco | -oki | -wec | -winbond)
15943f32c10Smrg		os=
16043f32c10Smrg		basic_machine=$1
16143f32c10Smrg		;;
16243f32c10Smrg	-scout)
16343f32c10Smrg		;;
16443f32c10Smrg	-wrs)
16543f32c10Smrg		os=-vxworks
16643f32c10Smrg		basic_machine=$1
16743f32c10Smrg		;;
16843f32c10Smrg	-chorusos*)
16943f32c10Smrg		os=-chorusos
17043f32c10Smrg		basic_machine=$1
17143f32c10Smrg		;;
1726ef05171Smrg	-chorusrdb)
1736ef05171Smrg		os=-chorusrdb
17443f32c10Smrg		basic_machine=$1
1756ef05171Smrg		;;
17643f32c10Smrg	-hiux*)
17743f32c10Smrg		os=-hiuxwe2
17843f32c10Smrg		;;
17943f32c10Smrg	-sco6)
18043f32c10Smrg		os=-sco5v6
18143f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18243f32c10Smrg		;;
18343f32c10Smrg	-sco5)
18443f32c10Smrg		os=-sco3.2v5
18543f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18643f32c10Smrg		;;
18743f32c10Smrg	-sco4)
18843f32c10Smrg		os=-sco3.2v4
18943f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19043f32c10Smrg		;;
19143f32c10Smrg	-sco3.2.[4-9]*)
19243f32c10Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19343f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19443f32c10Smrg		;;
19543f32c10Smrg	-sco3.2v[4-9]*)
19643f32c10Smrg		# Don't forget version if it is 3.2v4 or newer.
19743f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19843f32c10Smrg		;;
19943f32c10Smrg	-sco5v6*)
20043f32c10Smrg		# Don't forget version if it is 3.2v4 or newer.
20143f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20243f32c10Smrg		;;
20343f32c10Smrg	-sco*)
20443f32c10Smrg		os=-sco3.2v2
20543f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20643f32c10Smrg		;;
20743f32c10Smrg	-udk*)
20843f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20943f32c10Smrg		;;
21043f32c10Smrg	-isc)
21143f32c10Smrg		os=-isc2.2
21243f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21343f32c10Smrg		;;
21443f32c10Smrg	-clix*)
21543f32c10Smrg		basic_machine=clipper-intergraph
21643f32c10Smrg		;;
21743f32c10Smrg	-isc*)
21843f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21943f32c10Smrg		;;
2206ef05171Smrg	-lynx*178)
2216ef05171Smrg		os=-lynxos178
2226ef05171Smrg		;;
2236ef05171Smrg	-lynx*5)
2246ef05171Smrg		os=-lynxos5
2256ef05171Smrg		;;
22643f32c10Smrg	-lynx*)
22743f32c10Smrg		os=-lynxos
22843f32c10Smrg		;;
22943f32c10Smrg	-ptx*)
23043f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23143f32c10Smrg		;;
23243f32c10Smrg	-windowsnt*)
23343f32c10Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23443f32c10Smrg		;;
23543f32c10Smrg	-psos*)
23643f32c10Smrg		os=-psos
23743f32c10Smrg		;;
23843f32c10Smrg	-mint | -mint[0-9]*)
23943f32c10Smrg		basic_machine=m68k-atari
24043f32c10Smrg		os=-mint
24143f32c10Smrg		;;
24243f32c10Smrgesac
24343f32c10Smrg
24443f32c10Smrg# Decode aliases for certain CPU-COMPANY combinations.
24543f32c10Smrgcase $basic_machine in
24643f32c10Smrg	# Recognize the basic CPU types without company name.
24743f32c10Smrg	# Some are omitted here because they have special meanings below.
24843f32c10Smrg	1750a | 580 \
24943f32c10Smrg	| a29k \
2506ef05171Smrg	| aarch64 | aarch64_be \
25143f32c10Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25243f32c10Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25343f32c10Smrg	| am33_2.0 \
2546ef05171Smrg	| arc | arceb \
2556ef05171Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2566ef05171Smrg	| avr | avr32 \
2576ef05171Smrg	| ba \
2586ef05171Smrg	| be32 | be64 \
25943f32c10Smrg	| bfin \
2606ef05171Smrg	| c4x | c8051 | clipper \
26143f32c10Smrg	| d10v | d30v | dlx | dsp16xx \
2626ef05171Smrg	| e2k | epiphany \
2636ef05171Smrg	| fido | fr30 | frv | ft32 \
26443f32c10Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2656ef05171Smrg	| hexagon \
2666ef05171Smrg	| i370 | i860 | i960 | ia16 | ia64 \
26743f32c10Smrg	| ip2k | iq2000 \
2686ef05171Smrg	| k1om \
2696ef05171Smrg	| le32 | le64 \
2706ef05171Smrg	| lm32 \
27143f32c10Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2726ef05171Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27343f32c10Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27443f32c10Smrg	| mips16 \
27543f32c10Smrg	| mips64 | mips64el \
2766ef05171Smrg	| mips64octeon | mips64octeonel \
27743f32c10Smrg	| mips64orion | mips64orionel \
2786ef05171Smrg	| mips64r5900 | mips64r5900el \
2796ef05171Smrg	| mips64vr | mips64vrel \
28043f32c10Smrg	| mips64vr4100 | mips64vr4100el \
28143f32c10Smrg	| mips64vr4300 | mips64vr4300el \
28243f32c10Smrg	| mips64vr5000 | mips64vr5000el \
28343f32c10Smrg	| mips64vr5900 | mips64vr5900el \
28443f32c10Smrg	| mipsisa32 | mipsisa32el \
28543f32c10Smrg	| mipsisa32r2 | mipsisa32r2el \
2866ef05171Smrg	| mipsisa32r6 | mipsisa32r6el \
28743f32c10Smrg	| mipsisa64 | mipsisa64el \
28843f32c10Smrg	| mipsisa64r2 | mipsisa64r2el \
2896ef05171Smrg	| mipsisa64r6 | mipsisa64r6el \
29043f32c10Smrg	| mipsisa64sb1 | mipsisa64sb1el \
29143f32c10Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2926ef05171Smrg	| mipsr5900 | mipsr5900el \
29343f32c10Smrg	| mipstx39 | mipstx39el \
29443f32c10Smrg	| mn10200 | mn10300 \
2956ef05171Smrg	| moxie \
29643f32c10Smrg	| mt \
29743f32c10Smrg	| msp430 \
2986ef05171Smrg	| nds32 | nds32le | nds32be \
2996ef05171Smrg	| nios | nios2 | nios2eb | nios2el \
30043f32c10Smrg	| ns16k | ns32k \
3016ef05171Smrg	| open8 | or1k | or1knd | or32 \
30243f32c10Smrg	| pdp10 | pdp11 | pj | pjl \
3036ef05171Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3046ef05171Smrg	| pru \
30543f32c10Smrg	| pyramid \
3066ef05171Smrg	| riscv32 | riscv64 \
3076ef05171Smrg	| rl78 | rx \
30843f32c10Smrg	| score \
3096ef05171Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
31043f32c10Smrg	| sh64 | sh64le \
31143f32c10Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31243f32c10Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3136ef05171Smrg	| spu \
3146ef05171Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3156ef05171Smrg	| ubicom32 \
3166ef05171Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3176ef05171Smrg	| visium \
3186ef05171Smrg	| wasm32 \
31943f32c10Smrg	| we32k \
3206ef05171Smrg	| x86 | xc16x | xstormy16 | xtensa \
3216ef05171Smrg	| z8k | z80)
32243f32c10Smrg		basic_machine=$basic_machine-unknown
32343f32c10Smrg		;;
3246ef05171Smrg	c54x)
3256ef05171Smrg		basic_machine=tic54x-unknown
3266ef05171Smrg		;;
3276ef05171Smrg	c55x)
3286ef05171Smrg		basic_machine=tic55x-unknown
3296ef05171Smrg		;;
3306ef05171Smrg	c6x)
3316ef05171Smrg		basic_machine=tic6x-unknown
3326ef05171Smrg		;;
3336ef05171Smrg	leon|leon[3-9])
3346ef05171Smrg		basic_machine=sparc-$basic_machine
3356ef05171Smrg		;;
3366ef05171Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33743f32c10Smrg		basic_machine=$basic_machine-unknown
33843f32c10Smrg		os=-none
33943f32c10Smrg		;;
34043f32c10Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
34143f32c10Smrg		;;
34243f32c10Smrg	ms1)
34343f32c10Smrg		basic_machine=mt-unknown
34443f32c10Smrg		;;
34543f32c10Smrg
3466ef05171Smrg	strongarm | thumb | xscale)
3476ef05171Smrg		basic_machine=arm-unknown
3486ef05171Smrg		;;
3496ef05171Smrg	xgate)
3506ef05171Smrg		basic_machine=$basic_machine-unknown
3516ef05171Smrg		os=-none
3526ef05171Smrg		;;
3536ef05171Smrg	xscaleeb)
3546ef05171Smrg		basic_machine=armeb-unknown
3556ef05171Smrg		;;
3566ef05171Smrg
3576ef05171Smrg	xscaleel)
3586ef05171Smrg		basic_machine=armel-unknown
3596ef05171Smrg		;;
3606ef05171Smrg
36143f32c10Smrg	# We use `pc' rather than `unknown'
36243f32c10Smrg	# because (1) that's what they normally are, and
36343f32c10Smrg	# (2) the word "unknown" tends to confuse beginning users.
36443f32c10Smrg	i*86 | x86_64)
36543f32c10Smrg	  basic_machine=$basic_machine-pc
36643f32c10Smrg	  ;;
36743f32c10Smrg	# Object if more than one company name word.
36843f32c10Smrg	*-*-*)
36943f32c10Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
37043f32c10Smrg		exit 1
37143f32c10Smrg		;;
37243f32c10Smrg	# Recognize the basic CPU types with company name.
37343f32c10Smrg	580-* \
37443f32c10Smrg	| a29k-* \
3756ef05171Smrg	| aarch64-* | aarch64_be-* \
37643f32c10Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37743f32c10Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3786ef05171Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37943f32c10Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
38043f32c10Smrg	| avr-* | avr32-* \
3816ef05171Smrg	| ba-* \
3826ef05171Smrg	| be32-* | be64-* \
38343f32c10Smrg	| bfin-* | bs2000-* \
3846ef05171Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3856ef05171Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
38643f32c10Smrg	| d10v-* | d30v-* | dlx-* \
3876ef05171Smrg	| e2k-* | elxsi-* \
38843f32c10Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38943f32c10Smrg	| h8300-* | h8500-* \
39043f32c10Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3916ef05171Smrg	| hexagon-* \
3926ef05171Smrg	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
39343f32c10Smrg	| ip2k-* | iq2000-* \
3946ef05171Smrg	| k1om-* \
3956ef05171Smrg	| le32-* | le64-* \
3966ef05171Smrg	| lm32-* \
39743f32c10Smrg	| m32c-* | m32r-* | m32rle-* \
39843f32c10Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3996ef05171Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
4006ef05171Smrg	| microblaze-* | microblazeel-* \
40143f32c10Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
40243f32c10Smrg	| mips16-* \
40343f32c10Smrg	| mips64-* | mips64el-* \
4046ef05171Smrg	| mips64octeon-* | mips64octeonel-* \
40543f32c10Smrg	| mips64orion-* | mips64orionel-* \
4066ef05171Smrg	| mips64r5900-* | mips64r5900el-* \
4076ef05171Smrg	| mips64vr-* | mips64vrel-* \
40843f32c10Smrg	| mips64vr4100-* | mips64vr4100el-* \
40943f32c10Smrg	| mips64vr4300-* | mips64vr4300el-* \
41043f32c10Smrg	| mips64vr5000-* | mips64vr5000el-* \
41143f32c10Smrg	| mips64vr5900-* | mips64vr5900el-* \
41243f32c10Smrg	| mipsisa32-* | mipsisa32el-* \
41343f32c10Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4146ef05171Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41543f32c10Smrg	| mipsisa64-* | mipsisa64el-* \
41643f32c10Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4176ef05171Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41843f32c10Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41943f32c10Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4206ef05171Smrg	| mipsr5900-* | mipsr5900el-* \
42143f32c10Smrg	| mipstx39-* | mipstx39el-* \
42243f32c10Smrg	| mmix-* \
42343f32c10Smrg	| mt-* \
42443f32c10Smrg	| msp430-* \
4256ef05171Smrg	| nds32-* | nds32le-* | nds32be-* \
4266ef05171Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42743f32c10Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4286ef05171Smrg	| open8-* \
4296ef05171Smrg	| or1k*-* \
43043f32c10Smrg	| orion-* \
43143f32c10Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4326ef05171Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4336ef05171Smrg	| pru-* \
43443f32c10Smrg	| pyramid-* \
4356ef05171Smrg	| riscv32-* | riscv64-* \
4366ef05171Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
4376ef05171Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43843f32c10Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43943f32c10Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
44043f32c10Smrg	| sparclite-* \
4416ef05171Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
4426ef05171Smrg	| tahoe-* \
44343f32c10Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4446ef05171Smrg	| tile*-* \
44543f32c10Smrg	| tron-* \
4466ef05171Smrg	| ubicom32-* \
4476ef05171Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4486ef05171Smrg	| vax-* \
4496ef05171Smrg	| visium-* \
4506ef05171Smrg	| wasm32-* \
45143f32c10Smrg	| we32k-* \
4526ef05171Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
45343f32c10Smrg	| xstormy16-* | xtensa*-* \
45443f32c10Smrg	| ymp-* \
4556ef05171Smrg	| z8k-* | z80-*)
45643f32c10Smrg		;;
45743f32c10Smrg	# Recognize the basic CPU types without company name, with glob match.
45843f32c10Smrg	xtensa*)
45943f32c10Smrg		basic_machine=$basic_machine-unknown
46043f32c10Smrg		;;
46143f32c10Smrg	# Recognize the various machine names and aliases which stand
46243f32c10Smrg	# for a CPU type and a company and sometimes even an OS.
46343f32c10Smrg	386bsd)
46443f32c10Smrg		basic_machine=i386-unknown
46543f32c10Smrg		os=-bsd
46643f32c10Smrg		;;
46743f32c10Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46843f32c10Smrg		basic_machine=m68000-att
46943f32c10Smrg		;;
47043f32c10Smrg	3b*)
47143f32c10Smrg		basic_machine=we32k-att
47243f32c10Smrg		;;
47343f32c10Smrg	a29khif)
47443f32c10Smrg		basic_machine=a29k-amd
47543f32c10Smrg		os=-udi
47643f32c10Smrg		;;
4776ef05171Smrg	abacus)
47843f32c10Smrg		basic_machine=abacus-unknown
47943f32c10Smrg		;;
48043f32c10Smrg	adobe68k)
48143f32c10Smrg		basic_machine=m68010-adobe
48243f32c10Smrg		os=-scout
48343f32c10Smrg		;;
48443f32c10Smrg	alliant | fx80)
48543f32c10Smrg		basic_machine=fx80-alliant
48643f32c10Smrg		;;
48743f32c10Smrg	altos | altos3068)
48843f32c10Smrg		basic_machine=m68k-altos
48943f32c10Smrg		;;
49043f32c10Smrg	am29k)
49143f32c10Smrg		basic_machine=a29k-none
49243f32c10Smrg		os=-bsd
49343f32c10Smrg		;;
49443f32c10Smrg	amd64)
49543f32c10Smrg		basic_machine=x86_64-pc
49643f32c10Smrg		;;
49743f32c10Smrg	amd64-*)
49843f32c10Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49943f32c10Smrg		;;
50043f32c10Smrg	amdahl)
50143f32c10Smrg		basic_machine=580-amdahl
50243f32c10Smrg		os=-sysv
50343f32c10Smrg		;;
50443f32c10Smrg	amiga | amiga-*)
50543f32c10Smrg		basic_machine=m68k-unknown
50643f32c10Smrg		;;
50743f32c10Smrg	amigaos | amigados)
50843f32c10Smrg		basic_machine=m68k-unknown
50943f32c10Smrg		os=-amigaos
51043f32c10Smrg		;;
51143f32c10Smrg	amigaunix | amix)
51243f32c10Smrg		basic_machine=m68k-unknown
51343f32c10Smrg		os=-sysv4
51443f32c10Smrg		;;
51543f32c10Smrg	apollo68)
51643f32c10Smrg		basic_machine=m68k-apollo
51743f32c10Smrg		os=-sysv
51843f32c10Smrg		;;
51943f32c10Smrg	apollo68bsd)
52043f32c10Smrg		basic_machine=m68k-apollo
52143f32c10Smrg		os=-bsd
52243f32c10Smrg		;;
5236ef05171Smrg	aros)
5246ef05171Smrg		basic_machine=i386-pc
5256ef05171Smrg		os=-aros
5266ef05171Smrg		;;
5276ef05171Smrg	asmjs)
5286ef05171Smrg		basic_machine=asmjs-unknown
5296ef05171Smrg		;;
53043f32c10Smrg	aux)
53143f32c10Smrg		basic_machine=m68k-apple
53243f32c10Smrg		os=-aux
53343f32c10Smrg		;;
53443f32c10Smrg	balance)
53543f32c10Smrg		basic_machine=ns32k-sequent
53643f32c10Smrg		os=-dynix
53743f32c10Smrg		;;
53843f32c10Smrg	blackfin)
53943f32c10Smrg		basic_machine=bfin-unknown
54043f32c10Smrg		os=-linux
54143f32c10Smrg		;;
54243f32c10Smrg	blackfin-*)
54343f32c10Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
54443f32c10Smrg		os=-linux
54543f32c10Smrg		;;
5466ef05171Smrg	bluegene*)
5476ef05171Smrg		basic_machine=powerpc-ibm
5486ef05171Smrg		os=-cnk
5496ef05171Smrg		;;
5506ef05171Smrg	c54x-*)
5516ef05171Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5526ef05171Smrg		;;
5536ef05171Smrg	c55x-*)
5546ef05171Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5556ef05171Smrg		;;
5566ef05171Smrg	c6x-*)
5576ef05171Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5586ef05171Smrg		;;
55943f32c10Smrg	c90)
56043f32c10Smrg		basic_machine=c90-cray
56143f32c10Smrg		os=-unicos
56243f32c10Smrg		;;
5636ef05171Smrg	cegcc)
5646ef05171Smrg		basic_machine=arm-unknown
5656ef05171Smrg		os=-cegcc
5666ef05171Smrg		;;
56743f32c10Smrg	convex-c1)
56843f32c10Smrg		basic_machine=c1-convex
56943f32c10Smrg		os=-bsd
57043f32c10Smrg		;;
57143f32c10Smrg	convex-c2)
57243f32c10Smrg		basic_machine=c2-convex
57343f32c10Smrg		os=-bsd
57443f32c10Smrg		;;
57543f32c10Smrg	convex-c32)
57643f32c10Smrg		basic_machine=c32-convex
57743f32c10Smrg		os=-bsd
57843f32c10Smrg		;;
57943f32c10Smrg	convex-c34)
58043f32c10Smrg		basic_machine=c34-convex
58143f32c10Smrg		os=-bsd
58243f32c10Smrg		;;
58343f32c10Smrg	convex-c38)
58443f32c10Smrg		basic_machine=c38-convex
58543f32c10Smrg		os=-bsd
58643f32c10Smrg		;;
58743f32c10Smrg	cray | j90)
58843f32c10Smrg		basic_machine=j90-cray
58943f32c10Smrg		os=-unicos
59043f32c10Smrg		;;
59143f32c10Smrg	craynv)
59243f32c10Smrg		basic_machine=craynv-cray
59343f32c10Smrg		os=-unicosmp
59443f32c10Smrg		;;
5956ef05171Smrg	cr16 | cr16-*)
59643f32c10Smrg		basic_machine=cr16-unknown
59743f32c10Smrg		os=-elf
59843f32c10Smrg		;;
59943f32c10Smrg	crds | unos)
60043f32c10Smrg		basic_machine=m68k-crds
60143f32c10Smrg		;;
60243f32c10Smrg	crisv32 | crisv32-* | etraxfs*)
60343f32c10Smrg		basic_machine=crisv32-axis
60443f32c10Smrg		;;
60543f32c10Smrg	cris | cris-* | etrax*)
60643f32c10Smrg		basic_machine=cris-axis
60743f32c10Smrg		;;
60843f32c10Smrg	crx)
60943f32c10Smrg		basic_machine=crx-unknown
61043f32c10Smrg		os=-elf
61143f32c10Smrg		;;
61243f32c10Smrg	da30 | da30-*)
61343f32c10Smrg		basic_machine=m68k-da30
61443f32c10Smrg		;;
61543f32c10Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61643f32c10Smrg		basic_machine=mips-dec
61743f32c10Smrg		;;
61843f32c10Smrg	decsystem10* | dec10*)
61943f32c10Smrg		basic_machine=pdp10-dec
62043f32c10Smrg		os=-tops10
62143f32c10Smrg		;;
62243f32c10Smrg	decsystem20* | dec20*)
62343f32c10Smrg		basic_machine=pdp10-dec
62443f32c10Smrg		os=-tops20
62543f32c10Smrg		;;
62643f32c10Smrg	delta | 3300 | motorola-3300 | motorola-delta \
62743f32c10Smrg	      | 3300-motorola | delta-motorola)
62843f32c10Smrg		basic_machine=m68k-motorola
62943f32c10Smrg		;;
63043f32c10Smrg	delta88)
63143f32c10Smrg		basic_machine=m88k-motorola
63243f32c10Smrg		os=-sysv3
63343f32c10Smrg		;;
6346ef05171Smrg	dicos)
6356ef05171Smrg		basic_machine=i686-pc
6366ef05171Smrg		os=-dicos
6376ef05171Smrg		;;
63843f32c10Smrg	djgpp)
63943f32c10Smrg		basic_machine=i586-pc
64043f32c10Smrg		os=-msdosdjgpp
64143f32c10Smrg		;;
64243f32c10Smrg	dpx20 | dpx20-*)
64343f32c10Smrg		basic_machine=rs6000-bull
64443f32c10Smrg		os=-bosx
64543f32c10Smrg		;;
64643f32c10Smrg	dpx2* | dpx2*-bull)
64743f32c10Smrg		basic_machine=m68k-bull
64843f32c10Smrg		os=-sysv3
64943f32c10Smrg		;;
6506ef05171Smrg	e500v[12])
6516ef05171Smrg		basic_machine=powerpc-unknown
6526ef05171Smrg		os=$os"spe"
6536ef05171Smrg		;;
6546ef05171Smrg	e500v[12]-*)
6556ef05171Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
6566ef05171Smrg		os=$os"spe"
6576ef05171Smrg		;;
65843f32c10Smrg	ebmon29k)
65943f32c10Smrg		basic_machine=a29k-amd
66043f32c10Smrg		os=-ebmon
66143f32c10Smrg		;;
66243f32c10Smrg	elxsi)
66343f32c10Smrg		basic_machine=elxsi-elxsi
66443f32c10Smrg		os=-bsd
66543f32c10Smrg		;;
66643f32c10Smrg	encore | umax | mmax)
66743f32c10Smrg		basic_machine=ns32k-encore
66843f32c10Smrg		;;
66943f32c10Smrg	es1800 | OSE68k | ose68k | ose | OSE)
67043f32c10Smrg		basic_machine=m68k-ericsson
67143f32c10Smrg		os=-ose
67243f32c10Smrg		;;
67343f32c10Smrg	fx2800)
67443f32c10Smrg		basic_machine=i860-alliant
67543f32c10Smrg		;;
67643f32c10Smrg	genix)
67743f32c10Smrg		basic_machine=ns32k-ns
67843f32c10Smrg		;;
67943f32c10Smrg	gmicro)
68043f32c10Smrg		basic_machine=tron-gmicro
68143f32c10Smrg		os=-sysv
68243f32c10Smrg		;;
68343f32c10Smrg	go32)
68443f32c10Smrg		basic_machine=i386-pc
68543f32c10Smrg		os=-go32
68643f32c10Smrg		;;
68743f32c10Smrg	h3050r* | hiux*)
68843f32c10Smrg		basic_machine=hppa1.1-hitachi
68943f32c10Smrg		os=-hiuxwe2
69043f32c10Smrg		;;
69143f32c10Smrg	h8300hms)
69243f32c10Smrg		basic_machine=h8300-hitachi
69343f32c10Smrg		os=-hms
69443f32c10Smrg		;;
69543f32c10Smrg	h8300xray)
69643f32c10Smrg		basic_machine=h8300-hitachi
69743f32c10Smrg		os=-xray
69843f32c10Smrg		;;
69943f32c10Smrg	h8500hms)
70043f32c10Smrg		basic_machine=h8500-hitachi
70143f32c10Smrg		os=-hms
70243f32c10Smrg		;;
70343f32c10Smrg	harris)
70443f32c10Smrg		basic_machine=m88k-harris
70543f32c10Smrg		os=-sysv3
70643f32c10Smrg		;;
70743f32c10Smrg	hp300-*)
70843f32c10Smrg		basic_machine=m68k-hp
70943f32c10Smrg		;;
71043f32c10Smrg	hp300bsd)
71143f32c10Smrg		basic_machine=m68k-hp
71243f32c10Smrg		os=-bsd
71343f32c10Smrg		;;
71443f32c10Smrg	hp300hpux)
71543f32c10Smrg		basic_machine=m68k-hp
71643f32c10Smrg		os=-hpux
71743f32c10Smrg		;;
71843f32c10Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
71943f32c10Smrg		basic_machine=hppa1.0-hp
72043f32c10Smrg		;;
72143f32c10Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
72243f32c10Smrg		basic_machine=m68000-hp
72343f32c10Smrg		;;
72443f32c10Smrg	hp9k3[2-9][0-9])
72543f32c10Smrg		basic_machine=m68k-hp
72643f32c10Smrg		;;
72743f32c10Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
72843f32c10Smrg		basic_machine=hppa1.0-hp
72943f32c10Smrg		;;
73043f32c10Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
73143f32c10Smrg		basic_machine=hppa1.1-hp
73243f32c10Smrg		;;
73343f32c10Smrg	hp9k78[0-9] | hp78[0-9])
73443f32c10Smrg		# FIXME: really hppa2.0-hp
73543f32c10Smrg		basic_machine=hppa1.1-hp
73643f32c10Smrg		;;
73743f32c10Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
73843f32c10Smrg		# FIXME: really hppa2.0-hp
73943f32c10Smrg		basic_machine=hppa1.1-hp
74043f32c10Smrg		;;
74143f32c10Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
74243f32c10Smrg		basic_machine=hppa1.1-hp
74343f32c10Smrg		;;
74443f32c10Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
74543f32c10Smrg		basic_machine=hppa1.0-hp
74643f32c10Smrg		;;
74743f32c10Smrg	hppa-next)
74843f32c10Smrg		os=-nextstep3
74943f32c10Smrg		;;
75043f32c10Smrg	hppaosf)
75143f32c10Smrg		basic_machine=hppa1.1-hp
75243f32c10Smrg		os=-osf
75343f32c10Smrg		;;
75443f32c10Smrg	hppro)
75543f32c10Smrg		basic_machine=hppa1.1-hp
75643f32c10Smrg		os=-proelf
75743f32c10Smrg		;;
75843f32c10Smrg	i370-ibm* | ibm*)
75943f32c10Smrg		basic_machine=i370-ibm
76043f32c10Smrg		;;
76143f32c10Smrg	i*86v32)
76243f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76343f32c10Smrg		os=-sysv32
76443f32c10Smrg		;;
76543f32c10Smrg	i*86v4*)
76643f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76743f32c10Smrg		os=-sysv4
76843f32c10Smrg		;;
76943f32c10Smrg	i*86v)
77043f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
77143f32c10Smrg		os=-sysv
77243f32c10Smrg		;;
77343f32c10Smrg	i*86sol2)
77443f32c10Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
77543f32c10Smrg		os=-solaris2
77643f32c10Smrg		;;
77743f32c10Smrg	i386mach)
77843f32c10Smrg		basic_machine=i386-mach
77943f32c10Smrg		os=-mach
78043f32c10Smrg		;;
78143f32c10Smrg	i386-vsta | vsta)
78243f32c10Smrg		basic_machine=i386-unknown
78343f32c10Smrg		os=-vsta
78443f32c10Smrg		;;
78543f32c10Smrg	iris | iris4d)
78643f32c10Smrg		basic_machine=mips-sgi
78743f32c10Smrg		case $os in
78843f32c10Smrg		    -irix*)
78943f32c10Smrg			;;
79043f32c10Smrg		    *)
79143f32c10Smrg			os=-irix4
79243f32c10Smrg			;;
79343f32c10Smrg		esac
79443f32c10Smrg		;;
79543f32c10Smrg	isi68 | isi)
79643f32c10Smrg		basic_machine=m68k-isi
79743f32c10Smrg		os=-sysv
79843f32c10Smrg		;;
7996ef05171Smrg	leon-*|leon[3-9]-*)
8006ef05171Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
8016ef05171Smrg		;;
80243f32c10Smrg	m68knommu)
80343f32c10Smrg		basic_machine=m68k-unknown
80443f32c10Smrg		os=-linux
80543f32c10Smrg		;;
80643f32c10Smrg	m68knommu-*)
80743f32c10Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
80843f32c10Smrg		os=-linux
80943f32c10Smrg		;;
81043f32c10Smrg	m88k-omron*)
81143f32c10Smrg		basic_machine=m88k-omron
81243f32c10Smrg		;;
81343f32c10Smrg	magnum | m3230)
81443f32c10Smrg		basic_machine=mips-mips
81543f32c10Smrg		os=-sysv
81643f32c10Smrg		;;
81743f32c10Smrg	merlin)
81843f32c10Smrg		basic_machine=ns32k-utek
81943f32c10Smrg		os=-sysv
82043f32c10Smrg		;;
8216ef05171Smrg	microblaze*)
8226ef05171Smrg		basic_machine=microblaze-xilinx
8236ef05171Smrg		;;
8246ef05171Smrg	mingw64)
8256ef05171Smrg		basic_machine=x86_64-pc
8266ef05171Smrg		os=-mingw64
8276ef05171Smrg		;;
82843f32c10Smrg	mingw32)
8296ef05171Smrg		basic_machine=i686-pc
83043f32c10Smrg		os=-mingw32
83143f32c10Smrg		;;
83243f32c10Smrg	mingw32ce)
83343f32c10Smrg		basic_machine=arm-unknown
83443f32c10Smrg		os=-mingw32ce
83543f32c10Smrg		;;
83643f32c10Smrg	miniframe)
83743f32c10Smrg		basic_machine=m68000-convergent
83843f32c10Smrg		;;
83943f32c10Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
84043f32c10Smrg		basic_machine=m68k-atari
84143f32c10Smrg		os=-mint
84243f32c10Smrg		;;
84343f32c10Smrg	mips3*-*)
84443f32c10Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
84543f32c10Smrg		;;
84643f32c10Smrg	mips3*)
84743f32c10Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
84843f32c10Smrg		;;
84943f32c10Smrg	monitor)
85043f32c10Smrg		basic_machine=m68k-rom68k
85143f32c10Smrg		os=-coff
85243f32c10Smrg		;;
85343f32c10Smrg	morphos)
85443f32c10Smrg		basic_machine=powerpc-unknown
85543f32c10Smrg		os=-morphos
85643f32c10Smrg		;;
8576ef05171Smrg	moxiebox)
8586ef05171Smrg		basic_machine=moxie-unknown
8596ef05171Smrg		os=-moxiebox
8606ef05171Smrg		;;
86143f32c10Smrg	msdos)
86243f32c10Smrg		basic_machine=i386-pc
86343f32c10Smrg		os=-msdos
86443f32c10Smrg		;;
86543f32c10Smrg	ms1-*)
86643f32c10Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
86743f32c10Smrg		;;
8686ef05171Smrg	msys)
8696ef05171Smrg		basic_machine=i686-pc
8706ef05171Smrg		os=-msys
8716ef05171Smrg		;;
87243f32c10Smrg	mvs)
87343f32c10Smrg		basic_machine=i370-ibm
87443f32c10Smrg		os=-mvs
87543f32c10Smrg		;;
8766ef05171Smrg	nacl)
8776ef05171Smrg		basic_machine=le32-unknown
8786ef05171Smrg		os=-nacl
8796ef05171Smrg		;;
88043f32c10Smrg	ncr3000)
88143f32c10Smrg		basic_machine=i486-ncr
88243f32c10Smrg		os=-sysv4
88343f32c10Smrg		;;
88443f32c10Smrg	netbsd386)
88543f32c10Smrg		basic_machine=i386-unknown
88643f32c10Smrg		os=-netbsd
88743f32c10Smrg		;;
88843f32c10Smrg	netwinder)
88943f32c10Smrg		basic_machine=armv4l-rebel
89043f32c10Smrg		os=-linux
89143f32c10Smrg		;;
89243f32c10Smrg	news | news700 | news800 | news900)
89343f32c10Smrg		basic_machine=m68k-sony
89443f32c10Smrg		os=-newsos
89543f32c10Smrg		;;
89643f32c10Smrg	news1000)
89743f32c10Smrg		basic_machine=m68030-sony
89843f32c10Smrg		os=-newsos
89943f32c10Smrg		;;
90043f32c10Smrg	news-3600 | risc-news)
90143f32c10Smrg		basic_machine=mips-sony
90243f32c10Smrg		os=-newsos
90343f32c10Smrg		;;
90443f32c10Smrg	necv70)
90543f32c10Smrg		basic_machine=v70-nec
90643f32c10Smrg		os=-sysv
90743f32c10Smrg		;;
90843f32c10Smrg	next | m*-next )
90943f32c10Smrg		basic_machine=m68k-next
91043f32c10Smrg		case $os in
91143f32c10Smrg		    -nextstep* )
91243f32c10Smrg			;;
91343f32c10Smrg		    -ns2*)
91443f32c10Smrg		      os=-nextstep2
91543f32c10Smrg			;;
91643f32c10Smrg		    *)
91743f32c10Smrg		      os=-nextstep3
91843f32c10Smrg			;;
91943f32c10Smrg		esac
92043f32c10Smrg		;;
92143f32c10Smrg	nh3000)
92243f32c10Smrg		basic_machine=m68k-harris
92343f32c10Smrg		os=-cxux
92443f32c10Smrg		;;
92543f32c10Smrg	nh[45]000)
92643f32c10Smrg		basic_machine=m88k-harris
92743f32c10Smrg		os=-cxux
92843f32c10Smrg		;;
92943f32c10Smrg	nindy960)
93043f32c10Smrg		basic_machine=i960-intel
93143f32c10Smrg		os=-nindy
93243f32c10Smrg		;;
93343f32c10Smrg	mon960)
93443f32c10Smrg		basic_machine=i960-intel
93543f32c10Smrg		os=-mon960
93643f32c10Smrg		;;
93743f32c10Smrg	nonstopux)
93843f32c10Smrg		basic_machine=mips-compaq
93943f32c10Smrg		os=-nonstopux
94043f32c10Smrg		;;
94143f32c10Smrg	np1)
94243f32c10Smrg		basic_machine=np1-gould
94343f32c10Smrg		;;
9446ef05171Smrg	neo-tandem)
9456ef05171Smrg		basic_machine=neo-tandem
9466ef05171Smrg		;;
9476ef05171Smrg	nse-tandem)
9486ef05171Smrg		basic_machine=nse-tandem
9496ef05171Smrg		;;
95043f32c10Smrg	nsr-tandem)
95143f32c10Smrg		basic_machine=nsr-tandem
95243f32c10Smrg		;;
9536ef05171Smrg	nsx-tandem)
9546ef05171Smrg		basic_machine=nsx-tandem
9556ef05171Smrg		;;
95643f32c10Smrg	op50n-* | op60c-*)
95743f32c10Smrg		basic_machine=hppa1.1-oki
95843f32c10Smrg		os=-proelf
95943f32c10Smrg		;;
96043f32c10Smrg	openrisc | openrisc-*)
96143f32c10Smrg		basic_machine=or32-unknown
96243f32c10Smrg		;;
96343f32c10Smrg	os400)
96443f32c10Smrg		basic_machine=powerpc-ibm
96543f32c10Smrg		os=-os400
96643f32c10Smrg		;;
96743f32c10Smrg	OSE68000 | ose68000)
96843f32c10Smrg		basic_machine=m68000-ericsson
96943f32c10Smrg		os=-ose
97043f32c10Smrg		;;
97143f32c10Smrg	os68k)
97243f32c10Smrg		basic_machine=m68k-none
97343f32c10Smrg		os=-os68k
97443f32c10Smrg		;;
97543f32c10Smrg	pa-hitachi)
97643f32c10Smrg		basic_machine=hppa1.1-hitachi
97743f32c10Smrg		os=-hiuxwe2
97843f32c10Smrg		;;
97943f32c10Smrg	paragon)
98043f32c10Smrg		basic_machine=i860-intel
98143f32c10Smrg		os=-osf
98243f32c10Smrg		;;
98343f32c10Smrg	parisc)
98443f32c10Smrg		basic_machine=hppa-unknown
98543f32c10Smrg		os=-linux
98643f32c10Smrg		;;
98743f32c10Smrg	parisc-*)
98843f32c10Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
98943f32c10Smrg		os=-linux
99043f32c10Smrg		;;
99143f32c10Smrg	pbd)
99243f32c10Smrg		basic_machine=sparc-tti
99343f32c10Smrg		;;
99443f32c10Smrg	pbb)
99543f32c10Smrg		basic_machine=m68k-tti
99643f32c10Smrg		;;
99743f32c10Smrg	pc532 | pc532-*)
99843f32c10Smrg		basic_machine=ns32k-pc532
99943f32c10Smrg		;;
100043f32c10Smrg	pc98)
100143f32c10Smrg		basic_machine=i386-pc
100243f32c10Smrg		;;
100343f32c10Smrg	pc98-*)
100443f32c10Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
100543f32c10Smrg		;;
100643f32c10Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
100743f32c10Smrg		basic_machine=i586-pc
100843f32c10Smrg		;;
100943f32c10Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
101043f32c10Smrg		basic_machine=i686-pc
101143f32c10Smrg		;;
101243f32c10Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
101343f32c10Smrg		basic_machine=i686-pc
101443f32c10Smrg		;;
101543f32c10Smrg	pentium4)
101643f32c10Smrg		basic_machine=i786-pc
101743f32c10Smrg		;;
101843f32c10Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
101943f32c10Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
102043f32c10Smrg		;;
102143f32c10Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
102243f32c10Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102343f32c10Smrg		;;
102443f32c10Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
102543f32c10Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102643f32c10Smrg		;;
102743f32c10Smrg	pentium4-*)
102843f32c10Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
102943f32c10Smrg		;;
103043f32c10Smrg	pn)
103143f32c10Smrg		basic_machine=pn-gould
103243f32c10Smrg		;;
103343f32c10Smrg	power)	basic_machine=power-ibm
103443f32c10Smrg		;;
10356ef05171Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
103643f32c10Smrg		;;
10376ef05171Smrg	ppc-* | ppcbe-*)
10386ef05171Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
103943f32c10Smrg		;;
10406ef05171Smrg	ppcle | powerpclittle)
104143f32c10Smrg		basic_machine=powerpcle-unknown
104243f32c10Smrg		;;
104343f32c10Smrg	ppcle-* | powerpclittle-*)
104443f32c10Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
104543f32c10Smrg		;;
104643f32c10Smrg	ppc64)	basic_machine=powerpc64-unknown
104743f32c10Smrg		;;
10486ef05171Smrg	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
104943f32c10Smrg		;;
10506ef05171Smrg	ppc64le | powerpc64little)
105143f32c10Smrg		basic_machine=powerpc64le-unknown
105243f32c10Smrg		;;
105343f32c10Smrg	ppc64le-* | powerpc64little-*)
105443f32c10Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
105543f32c10Smrg		;;
105643f32c10Smrg	ps2)
105743f32c10Smrg		basic_machine=i386-ibm
105843f32c10Smrg		;;
105943f32c10Smrg	pw32)
106043f32c10Smrg		basic_machine=i586-unknown
106143f32c10Smrg		os=-pw32
106243f32c10Smrg		;;
10636ef05171Smrg	rdos | rdos64)
10646ef05171Smrg		basic_machine=x86_64-pc
10656ef05171Smrg		os=-rdos
10666ef05171Smrg		;;
10676ef05171Smrg	rdos32)
106843f32c10Smrg		basic_machine=i386-pc
106943f32c10Smrg		os=-rdos
107043f32c10Smrg		;;
107143f32c10Smrg	rom68k)
107243f32c10Smrg		basic_machine=m68k-rom68k
107343f32c10Smrg		os=-coff
107443f32c10Smrg		;;
107543f32c10Smrg	rm[46]00)
107643f32c10Smrg		basic_machine=mips-siemens
107743f32c10Smrg		;;
107843f32c10Smrg	rtpc | rtpc-*)
107943f32c10Smrg		basic_machine=romp-ibm
108043f32c10Smrg		;;
108143f32c10Smrg	s390 | s390-*)
108243f32c10Smrg		basic_machine=s390-ibm
108343f32c10Smrg		;;
108443f32c10Smrg	s390x | s390x-*)
108543f32c10Smrg		basic_machine=s390x-ibm
108643f32c10Smrg		;;
108743f32c10Smrg	sa29200)
108843f32c10Smrg		basic_machine=a29k-amd
108943f32c10Smrg		os=-udi
109043f32c10Smrg		;;
109143f32c10Smrg	sb1)
109243f32c10Smrg		basic_machine=mipsisa64sb1-unknown
109343f32c10Smrg		;;
109443f32c10Smrg	sb1el)
109543f32c10Smrg		basic_machine=mipsisa64sb1el-unknown
109643f32c10Smrg		;;
109743f32c10Smrg	sde)
109843f32c10Smrg		basic_machine=mipsisa32-sde
109943f32c10Smrg		os=-elf
110043f32c10Smrg		;;
110143f32c10Smrg	sei)
110243f32c10Smrg		basic_machine=mips-sei
110343f32c10Smrg		os=-seiux
110443f32c10Smrg		;;
110543f32c10Smrg	sequent)
110643f32c10Smrg		basic_machine=i386-sequent
110743f32c10Smrg		;;
110843f32c10Smrg	sh)
110943f32c10Smrg		basic_machine=sh-hitachi
111043f32c10Smrg		os=-hms
111143f32c10Smrg		;;
111243f32c10Smrg	sh5el)
111343f32c10Smrg		basic_machine=sh5le-unknown
111443f32c10Smrg		;;
111543f32c10Smrg	sh64)
111643f32c10Smrg		basic_machine=sh64-unknown
111743f32c10Smrg		;;
111843f32c10Smrg	sparclite-wrs | simso-wrs)
111943f32c10Smrg		basic_machine=sparclite-wrs
112043f32c10Smrg		os=-vxworks
112143f32c10Smrg		;;
112243f32c10Smrg	sps7)
112343f32c10Smrg		basic_machine=m68k-bull
112443f32c10Smrg		os=-sysv2
112543f32c10Smrg		;;
112643f32c10Smrg	spur)
112743f32c10Smrg		basic_machine=spur-unknown
112843f32c10Smrg		;;
112943f32c10Smrg	st2000)
113043f32c10Smrg		basic_machine=m68k-tandem
113143f32c10Smrg		;;
113243f32c10Smrg	stratus)
113343f32c10Smrg		basic_machine=i860-stratus
113443f32c10Smrg		os=-sysv4
113543f32c10Smrg		;;
11366ef05171Smrg	strongarm-* | thumb-*)
11376ef05171Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
11386ef05171Smrg		;;
113943f32c10Smrg	sun2)
114043f32c10Smrg		basic_machine=m68000-sun
114143f32c10Smrg		;;
114243f32c10Smrg	sun2os3)
114343f32c10Smrg		basic_machine=m68000-sun
114443f32c10Smrg		os=-sunos3
114543f32c10Smrg		;;
114643f32c10Smrg	sun2os4)
114743f32c10Smrg		basic_machine=m68000-sun
114843f32c10Smrg		os=-sunos4
114943f32c10Smrg		;;
115043f32c10Smrg	sun3os3)
115143f32c10Smrg		basic_machine=m68k-sun
115243f32c10Smrg		os=-sunos3
115343f32c10Smrg		;;
115443f32c10Smrg	sun3os4)
115543f32c10Smrg		basic_machine=m68k-sun
115643f32c10Smrg		os=-sunos4
115743f32c10Smrg		;;
115843f32c10Smrg	sun4os3)
115943f32c10Smrg		basic_machine=sparc-sun
116043f32c10Smrg		os=-sunos3
116143f32c10Smrg		;;
116243f32c10Smrg	sun4os4)
116343f32c10Smrg		basic_machine=sparc-sun
116443f32c10Smrg		os=-sunos4
116543f32c10Smrg		;;
116643f32c10Smrg	sun4sol2)
116743f32c10Smrg		basic_machine=sparc-sun
116843f32c10Smrg		os=-solaris2
116943f32c10Smrg		;;
117043f32c10Smrg	sun3 | sun3-*)
117143f32c10Smrg		basic_machine=m68k-sun
117243f32c10Smrg		;;
117343f32c10Smrg	sun4)
117443f32c10Smrg		basic_machine=sparc-sun
117543f32c10Smrg		;;
117643f32c10Smrg	sun386 | sun386i | roadrunner)
117743f32c10Smrg		basic_machine=i386-sun
117843f32c10Smrg		;;
117943f32c10Smrg	sv1)
118043f32c10Smrg		basic_machine=sv1-cray
118143f32c10Smrg		os=-unicos
118243f32c10Smrg		;;
118343f32c10Smrg	symmetry)
118443f32c10Smrg		basic_machine=i386-sequent
118543f32c10Smrg		os=-dynix
118643f32c10Smrg		;;
118743f32c10Smrg	t3e)
118843f32c10Smrg		basic_machine=alphaev5-cray
118943f32c10Smrg		os=-unicos
119043f32c10Smrg		;;
119143f32c10Smrg	t90)
119243f32c10Smrg		basic_machine=t90-cray
119343f32c10Smrg		os=-unicos
119443f32c10Smrg		;;
119543f32c10Smrg	tile*)
11966ef05171Smrg		basic_machine=$basic_machine-unknown
119743f32c10Smrg		os=-linux-gnu
119843f32c10Smrg		;;
119943f32c10Smrg	tx39)
120043f32c10Smrg		basic_machine=mipstx39-unknown
120143f32c10Smrg		;;
120243f32c10Smrg	tx39el)
120343f32c10Smrg		basic_machine=mipstx39el-unknown
120443f32c10Smrg		;;
120543f32c10Smrg	toad1)
120643f32c10Smrg		basic_machine=pdp10-xkl
120743f32c10Smrg		os=-tops20
120843f32c10Smrg		;;
120943f32c10Smrg	tower | tower-32)
121043f32c10Smrg		basic_machine=m68k-ncr
121143f32c10Smrg		;;
121243f32c10Smrg	tpf)
121343f32c10Smrg		basic_machine=s390x-ibm
121443f32c10Smrg		os=-tpf
121543f32c10Smrg		;;
121643f32c10Smrg	udi29k)
121743f32c10Smrg		basic_machine=a29k-amd
121843f32c10Smrg		os=-udi
121943f32c10Smrg		;;
122043f32c10Smrg	ultra3)
122143f32c10Smrg		basic_machine=a29k-nyu
122243f32c10Smrg		os=-sym1
122343f32c10Smrg		;;
122443f32c10Smrg	v810 | necv810)
122543f32c10Smrg		basic_machine=v810-nec
122643f32c10Smrg		os=-none
122743f32c10Smrg		;;
122843f32c10Smrg	vaxv)
122943f32c10Smrg		basic_machine=vax-dec
123043f32c10Smrg		os=-sysv
123143f32c10Smrg		;;
123243f32c10Smrg	vms)
123343f32c10Smrg		basic_machine=vax-dec
123443f32c10Smrg		os=-vms
123543f32c10Smrg		;;
123643f32c10Smrg	vpp*|vx|vx-*)
123743f32c10Smrg		basic_machine=f301-fujitsu
123843f32c10Smrg		;;
123943f32c10Smrg	vxworks960)
124043f32c10Smrg		basic_machine=i960-wrs
124143f32c10Smrg		os=-vxworks
124243f32c10Smrg		;;
124343f32c10Smrg	vxworks68)
124443f32c10Smrg		basic_machine=m68k-wrs
124543f32c10Smrg		os=-vxworks
124643f32c10Smrg		;;
124743f32c10Smrg	vxworks29k)
124843f32c10Smrg		basic_machine=a29k-wrs
124943f32c10Smrg		os=-vxworks
125043f32c10Smrg		;;
12516ef05171Smrg	wasm32)
12526ef05171Smrg		basic_machine=wasm32-unknown
12536ef05171Smrg		;;
125443f32c10Smrg	w65*)
125543f32c10Smrg		basic_machine=w65-wdc
125643f32c10Smrg		os=-none
125743f32c10Smrg		;;
125843f32c10Smrg	w89k-*)
125943f32c10Smrg		basic_machine=hppa1.1-winbond
126043f32c10Smrg		os=-proelf
126143f32c10Smrg		;;
126243f32c10Smrg	xbox)
126343f32c10Smrg		basic_machine=i686-pc
126443f32c10Smrg		os=-mingw32
126543f32c10Smrg		;;
126643f32c10Smrg	xps | xps100)
126743f32c10Smrg		basic_machine=xps100-honeywell
126843f32c10Smrg		;;
12696ef05171Smrg	xscale-* | xscalee[bl]-*)
12706ef05171Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12716ef05171Smrg		;;
127243f32c10Smrg	ymp)
127343f32c10Smrg		basic_machine=ymp-cray
127443f32c10Smrg		os=-unicos
127543f32c10Smrg		;;
127643f32c10Smrg	z8k-*-coff)
127743f32c10Smrg		basic_machine=z8k-unknown
127843f32c10Smrg		os=-sim
127943f32c10Smrg		;;
12806ef05171Smrg	z80-*-coff)
12816ef05171Smrg		basic_machine=z80-unknown
12826ef05171Smrg		os=-sim
12836ef05171Smrg		;;
128443f32c10Smrg	none)
128543f32c10Smrg		basic_machine=none-none
128643f32c10Smrg		os=-none
128743f32c10Smrg		;;
128843f32c10Smrg
128943f32c10Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
129043f32c10Smrg# some cases the only manufacturer, in others, it is the most popular.
129143f32c10Smrg	w89k)
129243f32c10Smrg		basic_machine=hppa1.1-winbond
129343f32c10Smrg		;;
129443f32c10Smrg	op50n)
129543f32c10Smrg		basic_machine=hppa1.1-oki
129643f32c10Smrg		;;
129743f32c10Smrg	op60c)
129843f32c10Smrg		basic_machine=hppa1.1-oki
129943f32c10Smrg		;;
130043f32c10Smrg	romp)
130143f32c10Smrg		basic_machine=romp-ibm
130243f32c10Smrg		;;
130343f32c10Smrg	mmix)
130443f32c10Smrg		basic_machine=mmix-knuth
130543f32c10Smrg		;;
130643f32c10Smrg	rs6000)
130743f32c10Smrg		basic_machine=rs6000-ibm
130843f32c10Smrg		;;
130943f32c10Smrg	vax)
131043f32c10Smrg		basic_machine=vax-dec
131143f32c10Smrg		;;
131243f32c10Smrg	pdp10)
131343f32c10Smrg		# there are many clones, so DEC is not a safe bet
131443f32c10Smrg		basic_machine=pdp10-unknown
131543f32c10Smrg		;;
131643f32c10Smrg	pdp11)
131743f32c10Smrg		basic_machine=pdp11-dec
131843f32c10Smrg		;;
131943f32c10Smrg	we32k)
132043f32c10Smrg		basic_machine=we32k-att
132143f32c10Smrg		;;
13226ef05171Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
132343f32c10Smrg		basic_machine=sh-unknown
132443f32c10Smrg		;;
132543f32c10Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
132643f32c10Smrg		basic_machine=sparc-sun
132743f32c10Smrg		;;
132843f32c10Smrg	cydra)
132943f32c10Smrg		basic_machine=cydra-cydrome
133043f32c10Smrg		;;
133143f32c10Smrg	orion)
133243f32c10Smrg		basic_machine=orion-highlevel
133343f32c10Smrg		;;
133443f32c10Smrg	orion105)
133543f32c10Smrg		basic_machine=clipper-highlevel
133643f32c10Smrg		;;
133743f32c10Smrg	mac | mpw | mac-mpw)
133843f32c10Smrg		basic_machine=m68k-apple
133943f32c10Smrg		;;
134043f32c10Smrg	pmac | pmac-mpw)
134143f32c10Smrg		basic_machine=powerpc-apple
134243f32c10Smrg		;;
134343f32c10Smrg	*-unknown)
134443f32c10Smrg		# Make sure to match an already-canonicalized machine name.
134543f32c10Smrg		;;
134643f32c10Smrg	*)
134743f32c10Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
134843f32c10Smrg		exit 1
134943f32c10Smrg		;;
135043f32c10Smrgesac
135143f32c10Smrg
135243f32c10Smrg# Here we canonicalize certain aliases for manufacturers.
135343f32c10Smrgcase $basic_machine in
135443f32c10Smrg	*-digital*)
135543f32c10Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
135643f32c10Smrg		;;
135743f32c10Smrg	*-commodore*)
135843f32c10Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
135943f32c10Smrg		;;
136043f32c10Smrg	*)
136143f32c10Smrg		;;
136243f32c10Smrgesac
136343f32c10Smrg
136443f32c10Smrg# Decode manufacturer-specific aliases for certain operating systems.
136543f32c10Smrg
136643f32c10Smrgif [ x"$os" != x"" ]
136743f32c10Smrgthen
136843f32c10Smrgcase $os in
13696ef05171Smrg	# First match some system type aliases
13706ef05171Smrg	# that might get confused with valid system types.
137143f32c10Smrg	# -solaris* is a basic system type, with this one exception.
13726ef05171Smrg	-auroraux)
13736ef05171Smrg		os=-auroraux
13746ef05171Smrg		;;
137543f32c10Smrg	-solaris1 | -solaris1.*)
137643f32c10Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
137743f32c10Smrg		;;
137843f32c10Smrg	-solaris)
137943f32c10Smrg		os=-solaris2
138043f32c10Smrg		;;
138143f32c10Smrg	-svr4*)
138243f32c10Smrg		os=-sysv4
138343f32c10Smrg		;;
138443f32c10Smrg	-unixware*)
138543f32c10Smrg		os=-sysv4.2uw
138643f32c10Smrg		;;
138743f32c10Smrg	-gnu/linux*)
138843f32c10Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
138943f32c10Smrg		;;
139043f32c10Smrg	# First accept the basic system types.
139143f32c10Smrg	# The portable systems comes first.
139243f32c10Smrg	# Each alternative MUST END IN A *, to match a version number.
139343f32c10Smrg	# -sysv* is not here because it comes later, after sysvr4.
139443f32c10Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13956ef05171Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13966ef05171Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13976ef05171Smrg	      | -sym* | -kopensolaris* | -plan9* \
139843f32c10Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13996ef05171Smrg	      | -aos* | -aros* | -cloudabi* | -sortix* \
140043f32c10Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
140143f32c10Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
140243f32c10Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
14036ef05171Smrg	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
140443f32c10Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
140543f32c10Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
140643f32c10Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
140743f32c10Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
14086ef05171Smrg	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
14096ef05171Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
14106ef05171Smrg	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
14116ef05171Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
14126ef05171Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
141343f32c10Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
141443f32c10Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
141543f32c10Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
141643f32c10Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
141743f32c10Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
141843f32c10Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
14196ef05171Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
14206ef05171Smrg	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
142143f32c10Smrg	# Remember, each alternative MUST END IN *, to match a version number.
142243f32c10Smrg		;;
142343f32c10Smrg	-qnx*)
142443f32c10Smrg		case $basic_machine in
142543f32c10Smrg		    x86-* | i*86-*)
142643f32c10Smrg			;;
142743f32c10Smrg		    *)
142843f32c10Smrg			os=-nto$os
142943f32c10Smrg			;;
143043f32c10Smrg		esac
143143f32c10Smrg		;;
143243f32c10Smrg	-nto-qnx*)
143343f32c10Smrg		;;
143443f32c10Smrg	-nto*)
143543f32c10Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
143643f32c10Smrg		;;
143743f32c10Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
143843f32c10Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
143943f32c10Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
144043f32c10Smrg		;;
144143f32c10Smrg	-mac*)
144243f32c10Smrg		os=`echo $os | sed -e 's|mac|macos|'`
144343f32c10Smrg		;;
144443f32c10Smrg	-linux-dietlibc)
144543f32c10Smrg		os=-linux-dietlibc
144643f32c10Smrg		;;
144743f32c10Smrg	-linux*)
144843f32c10Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
144943f32c10Smrg		;;
145043f32c10Smrg	-sunos5*)
145143f32c10Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
145243f32c10Smrg		;;
145343f32c10Smrg	-sunos6*)
145443f32c10Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
145543f32c10Smrg		;;
145643f32c10Smrg	-opened*)
145743f32c10Smrg		os=-openedition
145843f32c10Smrg		;;
14596ef05171Smrg	-os400*)
146043f32c10Smrg		os=-os400
146143f32c10Smrg		;;
146243f32c10Smrg	-wince*)
146343f32c10Smrg		os=-wince
146443f32c10Smrg		;;
146543f32c10Smrg	-osfrose*)
146643f32c10Smrg		os=-osfrose
146743f32c10Smrg		;;
146843f32c10Smrg	-osf*)
146943f32c10Smrg		os=-osf
147043f32c10Smrg		;;
147143f32c10Smrg	-utek*)
147243f32c10Smrg		os=-bsd
147343f32c10Smrg		;;
147443f32c10Smrg	-dynix*)
147543f32c10Smrg		os=-bsd
147643f32c10Smrg		;;
147743f32c10Smrg	-acis*)
147843f32c10Smrg		os=-aos
147943f32c10Smrg		;;
148043f32c10Smrg	-atheos*)
148143f32c10Smrg		os=-atheos
148243f32c10Smrg		;;
148343f32c10Smrg	-syllable*)
148443f32c10Smrg		os=-syllable
148543f32c10Smrg		;;
148643f32c10Smrg	-386bsd)
148743f32c10Smrg		os=-bsd
148843f32c10Smrg		;;
148943f32c10Smrg	-ctix* | -uts*)
149043f32c10Smrg		os=-sysv
149143f32c10Smrg		;;
149243f32c10Smrg	-nova*)
149343f32c10Smrg		os=-rtmk-nova
149443f32c10Smrg		;;
149543f32c10Smrg	-ns2 )
149643f32c10Smrg		os=-nextstep2
149743f32c10Smrg		;;
149843f32c10Smrg	-nsk*)
149943f32c10Smrg		os=-nsk
150043f32c10Smrg		;;
150143f32c10Smrg	# Preserve the version number of sinix5.
150243f32c10Smrg	-sinix5.*)
150343f32c10Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
150443f32c10Smrg		;;
150543f32c10Smrg	-sinix*)
150643f32c10Smrg		os=-sysv4
150743f32c10Smrg		;;
15086ef05171Smrg	-tpf*)
150943f32c10Smrg		os=-tpf
151043f32c10Smrg		;;
151143f32c10Smrg	-triton*)
151243f32c10Smrg		os=-sysv3
151343f32c10Smrg		;;
151443f32c10Smrg	-oss*)
151543f32c10Smrg		os=-sysv3
151643f32c10Smrg		;;
151743f32c10Smrg	-svr4)
151843f32c10Smrg		os=-sysv4
151943f32c10Smrg		;;
152043f32c10Smrg	-svr3)
152143f32c10Smrg		os=-sysv3
152243f32c10Smrg		;;
152343f32c10Smrg	-sysvr4)
152443f32c10Smrg		os=-sysv4
152543f32c10Smrg		;;
152643f32c10Smrg	# This must come after -sysvr4.
152743f32c10Smrg	-sysv*)
152843f32c10Smrg		;;
152943f32c10Smrg	-ose*)
153043f32c10Smrg		os=-ose
153143f32c10Smrg		;;
153243f32c10Smrg	-es1800*)
153343f32c10Smrg		os=-ose
153443f32c10Smrg		;;
153543f32c10Smrg	-xenix)
153643f32c10Smrg		os=-xenix
153743f32c10Smrg		;;
153843f32c10Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
153943f32c10Smrg		os=-mint
154043f32c10Smrg		;;
154143f32c10Smrg	-aros*)
154243f32c10Smrg		os=-aros
154343f32c10Smrg		;;
154443f32c10Smrg	-zvmoe)
154543f32c10Smrg		os=-zvmoe
154643f32c10Smrg		;;
15476ef05171Smrg	-dicos*)
15486ef05171Smrg		os=-dicos
15496ef05171Smrg		;;
15506ef05171Smrg	-nacl*)
15516ef05171Smrg		;;
15526ef05171Smrg	-ios)
15536ef05171Smrg		;;
155443f32c10Smrg	-none)
155543f32c10Smrg		;;
155643f32c10Smrg	*)
155743f32c10Smrg		# Get rid of the `-' at the beginning of $os.
155843f32c10Smrg		os=`echo $os | sed 's/[^-]*-//'`
155943f32c10Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
156043f32c10Smrg		exit 1
156143f32c10Smrg		;;
156243f32c10Smrgesac
156343f32c10Smrgelse
156443f32c10Smrg
156543f32c10Smrg# Here we handle the default operating systems that come with various machines.
156643f32c10Smrg# The value should be what the vendor currently ships out the door with their
156743f32c10Smrg# machine or put another way, the most popular os provided with the machine.
156843f32c10Smrg
156943f32c10Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
157043f32c10Smrg# "-sun"), then you have to tell the case statement up towards the top
157143f32c10Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
157243f32c10Smrg# will signal an error saying that MANUFACTURER isn't an operating
157343f32c10Smrg# system, and we'll never get to this point.
157443f32c10Smrg
157543f32c10Smrgcase $basic_machine in
15766ef05171Smrg	score-*)
157743f32c10Smrg		os=-elf
157843f32c10Smrg		;;
15796ef05171Smrg	spu-*)
158043f32c10Smrg		os=-elf
158143f32c10Smrg		;;
158243f32c10Smrg	*-acorn)
158343f32c10Smrg		os=-riscix1.2
158443f32c10Smrg		;;
158543f32c10Smrg	arm*-rebel)
158643f32c10Smrg		os=-linux
158743f32c10Smrg		;;
158843f32c10Smrg	arm*-semi)
158943f32c10Smrg		os=-aout
159043f32c10Smrg		;;
15916ef05171Smrg	c4x-* | tic4x-*)
15926ef05171Smrg		os=-coff
15936ef05171Smrg		;;
15946ef05171Smrg	c8051-*)
15956ef05171Smrg		os=-elf
15966ef05171Smrg		;;
15976ef05171Smrg	hexagon-*)
15986ef05171Smrg		os=-elf
15996ef05171Smrg		;;
16006ef05171Smrg	tic54x-*)
16016ef05171Smrg		os=-coff
16026ef05171Smrg		;;
16036ef05171Smrg	tic55x-*)
16046ef05171Smrg		os=-coff
16056ef05171Smrg		;;
16066ef05171Smrg	tic6x-*)
16076ef05171Smrg		os=-coff
160843f32c10Smrg		;;
160943f32c10Smrg	# This must come before the *-dec entry.
161043f32c10Smrg	pdp10-*)
161143f32c10Smrg		os=-tops20
161243f32c10Smrg		;;
161343f32c10Smrg	pdp11-*)
161443f32c10Smrg		os=-none
161543f32c10Smrg		;;
161643f32c10Smrg	*-dec | vax-*)
161743f32c10Smrg		os=-ultrix4.2
161843f32c10Smrg		;;
161943f32c10Smrg	m68*-apollo)
162043f32c10Smrg		os=-domain
162143f32c10Smrg		;;
162243f32c10Smrg	i386-sun)
162343f32c10Smrg		os=-sunos4.0.2
162443f32c10Smrg		;;
162543f32c10Smrg	m68000-sun)
162643f32c10Smrg		os=-sunos3
162743f32c10Smrg		;;
162843f32c10Smrg	m68*-cisco)
162943f32c10Smrg		os=-aout
163043f32c10Smrg		;;
16316ef05171Smrg	mep-*)
163243f32c10Smrg		os=-elf
163343f32c10Smrg		;;
163443f32c10Smrg	mips*-cisco)
163543f32c10Smrg		os=-elf
163643f32c10Smrg		;;
163743f32c10Smrg	mips*-*)
163843f32c10Smrg		os=-elf
163943f32c10Smrg		;;
164043f32c10Smrg	or32-*)
164143f32c10Smrg		os=-coff
164243f32c10Smrg		;;
164343f32c10Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
164443f32c10Smrg		os=-sysv3
164543f32c10Smrg		;;
164643f32c10Smrg	sparc-* | *-sun)
164743f32c10Smrg		os=-sunos4.1.1
164843f32c10Smrg		;;
16496ef05171Smrg	pru-*)
16506ef05171Smrg		os=-elf
16516ef05171Smrg		;;
165243f32c10Smrg	*-be)
165343f32c10Smrg		os=-beos
165443f32c10Smrg		;;
165543f32c10Smrg	*-haiku)
165643f32c10Smrg		os=-haiku
165743f32c10Smrg		;;
165843f32c10Smrg	*-ibm)
165943f32c10Smrg		os=-aix
166043f32c10Smrg		;;
16616ef05171Smrg	*-knuth)
166243f32c10Smrg		os=-mmixware
166343f32c10Smrg		;;
166443f32c10Smrg	*-wec)
166543f32c10Smrg		os=-proelf
166643f32c10Smrg		;;
166743f32c10Smrg	*-winbond)
166843f32c10Smrg		os=-proelf
166943f32c10Smrg		;;
167043f32c10Smrg	*-oki)
167143f32c10Smrg		os=-proelf
167243f32c10Smrg		;;
167343f32c10Smrg	*-hp)
167443f32c10Smrg		os=-hpux
167543f32c10Smrg		;;
167643f32c10Smrg	*-hitachi)
167743f32c10Smrg		os=-hiux
167843f32c10Smrg		;;
167943f32c10Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
168043f32c10Smrg		os=-sysv
168143f32c10Smrg		;;
168243f32c10Smrg	*-cbm)
168343f32c10Smrg		os=-amigaos
168443f32c10Smrg		;;
168543f32c10Smrg	*-dg)
168643f32c10Smrg		os=-dgux
168743f32c10Smrg		;;
168843f32c10Smrg	*-dolphin)
168943f32c10Smrg		os=-sysv3
169043f32c10Smrg		;;
169143f32c10Smrg	m68k-ccur)
169243f32c10Smrg		os=-rtu
169343f32c10Smrg		;;
169443f32c10Smrg	m88k-omron*)
169543f32c10Smrg		os=-luna
169643f32c10Smrg		;;
169743f32c10Smrg	*-next )
169843f32c10Smrg		os=-nextstep
169943f32c10Smrg		;;
170043f32c10Smrg	*-sequent)
170143f32c10Smrg		os=-ptx
170243f32c10Smrg		;;
170343f32c10Smrg	*-crds)
170443f32c10Smrg		os=-unos
170543f32c10Smrg		;;
170643f32c10Smrg	*-ns)
170743f32c10Smrg		os=-genix
170843f32c10Smrg		;;
170943f32c10Smrg	i370-*)
171043f32c10Smrg		os=-mvs
171143f32c10Smrg		;;
171243f32c10Smrg	*-next)
171343f32c10Smrg		os=-nextstep3
171443f32c10Smrg		;;
171543f32c10Smrg	*-gould)
171643f32c10Smrg		os=-sysv
171743f32c10Smrg		;;
171843f32c10Smrg	*-highlevel)
171943f32c10Smrg		os=-bsd
172043f32c10Smrg		;;
172143f32c10Smrg	*-encore)
172243f32c10Smrg		os=-bsd
172343f32c10Smrg		;;
172443f32c10Smrg	*-sgi)
172543f32c10Smrg		os=-irix
172643f32c10Smrg		;;
172743f32c10Smrg	*-siemens)
172843f32c10Smrg		os=-sysv4
172943f32c10Smrg		;;
173043f32c10Smrg	*-masscomp)
173143f32c10Smrg		os=-rtu
173243f32c10Smrg		;;
173343f32c10Smrg	f30[01]-fujitsu | f700-fujitsu)
173443f32c10Smrg		os=-uxpv
173543f32c10Smrg		;;
173643f32c10Smrg	*-rom68k)
173743f32c10Smrg		os=-coff
173843f32c10Smrg		;;
173943f32c10Smrg	*-*bug)
174043f32c10Smrg		os=-coff
174143f32c10Smrg		;;
174243f32c10Smrg	*-apple)
174343f32c10Smrg		os=-macos
174443f32c10Smrg		;;
174543f32c10Smrg	*-atari*)
174643f32c10Smrg		os=-mint
174743f32c10Smrg		;;
174843f32c10Smrg	*)
174943f32c10Smrg		os=-none
175043f32c10Smrg		;;
175143f32c10Smrgesac
175243f32c10Smrgfi
175343f32c10Smrg
175443f32c10Smrg# Here we handle the case where we know the os, and the CPU type, but not the
175543f32c10Smrg# manufacturer.  We pick the logical manufacturer.
175643f32c10Smrgvendor=unknown
175743f32c10Smrgcase $basic_machine in
175843f32c10Smrg	*-unknown)
175943f32c10Smrg		case $os in
176043f32c10Smrg			-riscix*)
176143f32c10Smrg				vendor=acorn
176243f32c10Smrg				;;
176343f32c10Smrg			-sunos*)
176443f32c10Smrg				vendor=sun
176543f32c10Smrg				;;
17666ef05171Smrg			-cnk*|-aix*)
176743f32c10Smrg				vendor=ibm
176843f32c10Smrg				;;
176943f32c10Smrg			-beos*)
177043f32c10Smrg				vendor=be
177143f32c10Smrg				;;
177243f32c10Smrg			-hpux*)
177343f32c10Smrg				vendor=hp
177443f32c10Smrg				;;
177543f32c10Smrg			-mpeix*)
177643f32c10Smrg				vendor=hp
177743f32c10Smrg				;;
177843f32c10Smrg			-hiux*)
177943f32c10Smrg				vendor=hitachi
178043f32c10Smrg				;;
178143f32c10Smrg			-unos*)
178243f32c10Smrg				vendor=crds
178343f32c10Smrg				;;
178443f32c10Smrg			-dgux*)
178543f32c10Smrg				vendor=dg
178643f32c10Smrg				;;
178743f32c10Smrg			-luna*)
178843f32c10Smrg				vendor=omron
178943f32c10Smrg				;;
179043f32c10Smrg			-genix*)
179143f32c10Smrg				vendor=ns
179243f32c10Smrg				;;
179343f32c10Smrg			-mvs* | -opened*)
179443f32c10Smrg				vendor=ibm
179543f32c10Smrg				;;
179643f32c10Smrg			-os400*)
179743f32c10Smrg				vendor=ibm
179843f32c10Smrg				;;
179943f32c10Smrg			-ptx*)
180043f32c10Smrg				vendor=sequent
180143f32c10Smrg				;;
180243f32c10Smrg			-tpf*)
180343f32c10Smrg				vendor=ibm
180443f32c10Smrg				;;
180543f32c10Smrg			-vxsim* | -vxworks* | -windiss*)
180643f32c10Smrg				vendor=wrs
180743f32c10Smrg				;;
180843f32c10Smrg			-aux*)
180943f32c10Smrg				vendor=apple
181043f32c10Smrg				;;
181143f32c10Smrg			-hms*)
181243f32c10Smrg				vendor=hitachi
181343f32c10Smrg				;;
181443f32c10Smrg			-mpw* | -macos*)
181543f32c10Smrg				vendor=apple
181643f32c10Smrg				;;
181743f32c10Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
181843f32c10Smrg				vendor=atari
181943f32c10Smrg				;;
182043f32c10Smrg			-vos*)
182143f32c10Smrg				vendor=stratus
182243f32c10Smrg				;;
182343f32c10Smrg		esac
182443f32c10Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
182543f32c10Smrg		;;
182643f32c10Smrgesac
182743f32c10Smrg
182843f32c10Smrgecho $basic_machine$os
182943f32c10Smrgexit
183043f32c10Smrg
183143f32c10Smrg# Local variables:
183243f32c10Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
183343f32c10Smrg# time-stamp-start: "timestamp='"
183443f32c10Smrg# time-stamp-format: "%:y-%02m-%02d"
183543f32c10Smrg# time-stamp-end: "'"
183643f32c10Smrg# End:
1837