config.sub revision 05cf1079
104007ebaSmrg#! /bin/sh
204007ebaSmrg# Configuration validation subroutine script.
305cf1079Smrg#   Copyright 1992-2018 Free Software Foundation, Inc.
404007ebaSmrg
505cf1079Smrgtimestamp='2018-02-22'
604007ebaSmrg
704007ebaSmrg# This file is free software; you can redistribute it and/or modify it
804007ebaSmrg# under the terms of the GNU General Public License as published by
904007ebaSmrg# the Free Software Foundation; either version 3 of the License, or
1004007ebaSmrg# (at your option) any later version.
1104007ebaSmrg#
1204007ebaSmrg# This program is distributed in the hope that it will be useful, but
1304007ebaSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1404007ebaSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1504007ebaSmrg# General Public License for more details.
1604007ebaSmrg#
1704007ebaSmrg# You should have received a copy of the GNU General Public License
1805cf1079Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
1904007ebaSmrg#
2004007ebaSmrg# As a special exception to the GNU General Public License, if you
2104007ebaSmrg# distribute this file as part of a program that contains a
2204007ebaSmrg# configuration script generated by Autoconf, you may include it under
2304007ebaSmrg# the same distribution terms that you use for the rest of that
2404007ebaSmrg# program.  This Exception is an additional permission under section 7
2504007ebaSmrg# of the GNU General Public License, version 3 ("GPLv3").
2604007ebaSmrg
2704007ebaSmrg
2805cf1079Smrg# Please send patches to <config-patches@gnu.org>.
2904007ebaSmrg#
3004007ebaSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3104007ebaSmrg# Supply the specified configuration type as an argument.
3204007ebaSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3304007ebaSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3404007ebaSmrg
3504007ebaSmrg# You can get the latest version of this script from:
3605cf1079Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
3704007ebaSmrg
3804007ebaSmrg# This file is supposed to be the same for all GNU packages
3904007ebaSmrg# and recognize all the CPU types, system types and aliases
4004007ebaSmrg# that are meaningful with *any* GNU software.
4104007ebaSmrg# Each package is responsible for reporting which valid configurations
4204007ebaSmrg# it does not support.  The user should be able to distinguish
4304007ebaSmrg# a failure to support a valid configuration from a meaningless
4404007ebaSmrg# configuration.
4504007ebaSmrg
4604007ebaSmrg# The goal of this file is to map all the various variations of a given
4704007ebaSmrg# machine specification into a single specification in the form:
4804007ebaSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4904007ebaSmrg# or in some cases, the newer four-part form:
5004007ebaSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5104007ebaSmrg# It is wrong to echo any other type of specification.
5204007ebaSmrg
5304007ebaSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5404007ebaSmrg
5504007ebaSmrgusage="\
5605cf1079SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
5704007ebaSmrg
5804007ebaSmrgCanonicalize a configuration name.
5904007ebaSmrg
6005cf1079SmrgOptions:
6104007ebaSmrg  -h, --help         print this help, then exit
6204007ebaSmrg  -t, --time-stamp   print date of last modification, then exit
6304007ebaSmrg  -v, --version      print version number, then exit
6404007ebaSmrg
6504007ebaSmrgReport bugs and patches to <config-patches@gnu.org>."
6604007ebaSmrg
6704007ebaSmrgversion="\
6804007ebaSmrgGNU config.sub ($timestamp)
6904007ebaSmrg
7005cf1079SmrgCopyright 1992-2018 Free Software Foundation, Inc.
7104007ebaSmrg
7204007ebaSmrgThis is free software; see the source for copying conditions.  There is NO
7304007ebaSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7404007ebaSmrg
7504007ebaSmrghelp="
7604007ebaSmrgTry \`$me --help' for more information."
7704007ebaSmrg
7804007ebaSmrg# Parse command line
7904007ebaSmrgwhile test $# -gt 0 ; do
8004007ebaSmrg  case $1 in
8104007ebaSmrg    --time-stamp | --time* | -t )
8204007ebaSmrg       echo "$timestamp" ; exit ;;
8304007ebaSmrg    --version | -v )
8404007ebaSmrg       echo "$version" ; exit ;;
8504007ebaSmrg    --help | --h* | -h )
8604007ebaSmrg       echo "$usage"; exit ;;
8704007ebaSmrg    -- )     # Stop option processing
8804007ebaSmrg       shift; break ;;
8904007ebaSmrg    - )	# Use stdin as input.
9004007ebaSmrg       break ;;
9104007ebaSmrg    -* )
9204007ebaSmrg       echo "$me: invalid option $1$help"
9304007ebaSmrg       exit 1 ;;
9404007ebaSmrg
9504007ebaSmrg    *local*)
9604007ebaSmrg       # First pass through any local machine types.
9705cf1079Smrg       echo "$1"
9804007ebaSmrg       exit ;;
9904007ebaSmrg
10004007ebaSmrg    * )
10104007ebaSmrg       break ;;
10204007ebaSmrg  esac
10304007ebaSmrgdone
10404007ebaSmrg
10504007ebaSmrgcase $# in
10604007ebaSmrg 0) echo "$me: missing argument$help" >&2
10704007ebaSmrg    exit 1;;
10804007ebaSmrg 1) ;;
10904007ebaSmrg *) echo "$me: too many arguments$help" >&2
11004007ebaSmrg    exit 1;;
11104007ebaSmrgesac
11204007ebaSmrg
11304007ebaSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11404007ebaSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11505cf1079Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11604007ebaSmrgcase $maybe_os in
11704007ebaSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
11804007ebaSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
11905cf1079Smrg  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
12005cf1079Smrg  kopensolaris*-gnu* | cloudabi*-eabi* | \
12104007ebaSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12204007ebaSmrg    os=-$maybe_os
12305cf1079Smrg    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12404007ebaSmrg    ;;
12504007ebaSmrg  android-linux)
12604007ebaSmrg    os=-linux-android
12705cf1079Smrg    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
12804007ebaSmrg    ;;
12904007ebaSmrg  *)
13005cf1079Smrg    basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
13105cf1079Smrg    if [ "$basic_machine" != "$1" ]
13205cf1079Smrg    then os=`echo "$1" | sed 's/.*-/-/'`
13304007ebaSmrg    else os=; fi
13404007ebaSmrg    ;;
13504007ebaSmrgesac
13604007ebaSmrg
13704007ebaSmrg### Let's recognize common machines as not being operating systems so
13804007ebaSmrg### that things like config.sub decstation-3100 work.  We also
13904007ebaSmrg### recognize some manufacturers as not being operating systems, so we
14004007ebaSmrg### can provide default operating systems below.
14104007ebaSmrgcase $os in
14204007ebaSmrg	-sun*os*)
14304007ebaSmrg		# Prevent following clause from handling this invalid input.
14404007ebaSmrg		;;
14504007ebaSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14604007ebaSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14704007ebaSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14804007ebaSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14904007ebaSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15004007ebaSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15104007ebaSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
15204007ebaSmrg		os=
15304007ebaSmrg		basic_machine=$1
15404007ebaSmrg		;;
15504007ebaSmrg	-bluegene*)
15604007ebaSmrg		os=-cnk
15704007ebaSmrg		;;
15804007ebaSmrg	-sim | -cisco | -oki | -wec | -winbond)
15904007ebaSmrg		os=
16004007ebaSmrg		basic_machine=$1
16104007ebaSmrg		;;
16204007ebaSmrg	-scout)
16304007ebaSmrg		;;
16404007ebaSmrg	-wrs)
16504007ebaSmrg		os=-vxworks
16604007ebaSmrg		basic_machine=$1
16704007ebaSmrg		;;
16804007ebaSmrg	-chorusos*)
16904007ebaSmrg		os=-chorusos
17004007ebaSmrg		basic_machine=$1
17104007ebaSmrg		;;
17204007ebaSmrg	-chorusrdb)
17304007ebaSmrg		os=-chorusrdb
17404007ebaSmrg		basic_machine=$1
17504007ebaSmrg		;;
17604007ebaSmrg	-hiux*)
17704007ebaSmrg		os=-hiuxwe2
17804007ebaSmrg		;;
17904007ebaSmrg	-sco6)
18004007ebaSmrg		os=-sco5v6
18105cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
18204007ebaSmrg		;;
18304007ebaSmrg	-sco5)
18404007ebaSmrg		os=-sco3.2v5
18505cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
18604007ebaSmrg		;;
18704007ebaSmrg	-sco4)
18804007ebaSmrg		os=-sco3.2v4
18905cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
19004007ebaSmrg		;;
19104007ebaSmrg	-sco3.2.[4-9]*)
19204007ebaSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19305cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
19404007ebaSmrg		;;
19504007ebaSmrg	-sco3.2v[4-9]*)
19604007ebaSmrg		# Don't forget version if it is 3.2v4 or newer.
19705cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
19804007ebaSmrg		;;
19904007ebaSmrg	-sco5v6*)
20004007ebaSmrg		# Don't forget version if it is 3.2v4 or newer.
20105cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
20204007ebaSmrg		;;
20304007ebaSmrg	-sco*)
20404007ebaSmrg		os=-sco3.2v2
20505cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
20604007ebaSmrg		;;
20704007ebaSmrg	-udk*)
20805cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
20904007ebaSmrg		;;
21004007ebaSmrg	-isc)
21104007ebaSmrg		os=-isc2.2
21205cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
21304007ebaSmrg		;;
21404007ebaSmrg	-clix*)
21504007ebaSmrg		basic_machine=clipper-intergraph
21604007ebaSmrg		;;
21704007ebaSmrg	-isc*)
21805cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
21904007ebaSmrg		;;
22004007ebaSmrg	-lynx*178)
22104007ebaSmrg		os=-lynxos178
22204007ebaSmrg		;;
22304007ebaSmrg	-lynx*5)
22404007ebaSmrg		os=-lynxos5
22504007ebaSmrg		;;
22604007ebaSmrg	-lynx*)
22704007ebaSmrg		os=-lynxos
22804007ebaSmrg		;;
22904007ebaSmrg	-ptx*)
23005cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
23104007ebaSmrg		;;
23204007ebaSmrg	-psos*)
23304007ebaSmrg		os=-psos
23404007ebaSmrg		;;
23504007ebaSmrg	-mint | -mint[0-9]*)
23604007ebaSmrg		basic_machine=m68k-atari
23704007ebaSmrg		os=-mint
23804007ebaSmrg		;;
23904007ebaSmrgesac
24004007ebaSmrg
24104007ebaSmrg# Decode aliases for certain CPU-COMPANY combinations.
24204007ebaSmrgcase $basic_machine in
24304007ebaSmrg	# Recognize the basic CPU types without company name.
24404007ebaSmrg	# Some are omitted here because they have special meanings below.
24504007ebaSmrg	1750a | 580 \
24604007ebaSmrg	| a29k \
24704007ebaSmrg	| aarch64 | aarch64_be \
24804007ebaSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
24904007ebaSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25004007ebaSmrg	| am33_2.0 \
25104007ebaSmrg	| arc | arceb \
25204007ebaSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
25304007ebaSmrg	| avr | avr32 \
25405cf1079Smrg	| ba \
25504007ebaSmrg	| be32 | be64 \
25604007ebaSmrg	| bfin \
25704007ebaSmrg	| c4x | c8051 | clipper \
25804007ebaSmrg	| d10v | d30v | dlx | dsp16xx \
25905cf1079Smrg	| e2k | epiphany \
26005cf1079Smrg	| fido | fr30 | frv | ft32 \
26104007ebaSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26204007ebaSmrg	| hexagon \
26305cf1079Smrg	| i370 | i860 | i960 | ia16 | ia64 \
26404007ebaSmrg	| ip2k | iq2000 \
2657f419768Smrg	| k1om \
26604007ebaSmrg	| le32 | le64 \
26704007ebaSmrg	| lm32 \
26804007ebaSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26904007ebaSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27004007ebaSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27104007ebaSmrg	| mips16 \
27204007ebaSmrg	| mips64 | mips64el \
27304007ebaSmrg	| mips64octeon | mips64octeonel \
27404007ebaSmrg	| mips64orion | mips64orionel \
27504007ebaSmrg	| mips64r5900 | mips64r5900el \
27604007ebaSmrg	| mips64vr | mips64vrel \
27704007ebaSmrg	| mips64vr4100 | mips64vr4100el \
27804007ebaSmrg	| mips64vr4300 | mips64vr4300el \
27904007ebaSmrg	| mips64vr5000 | mips64vr5000el \
28004007ebaSmrg	| mips64vr5900 | mips64vr5900el \
28104007ebaSmrg	| mipsisa32 | mipsisa32el \
28204007ebaSmrg	| mipsisa32r2 | mipsisa32r2el \
2837f419768Smrg	| mipsisa32r6 | mipsisa32r6el \
28404007ebaSmrg	| mipsisa64 | mipsisa64el \
28504007ebaSmrg	| mipsisa64r2 | mipsisa64r2el \
2867f419768Smrg	| mipsisa64r6 | mipsisa64r6el \
28704007ebaSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28804007ebaSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28904007ebaSmrg	| mipsr5900 | mipsr5900el \
29004007ebaSmrg	| mipstx39 | mipstx39el \
29104007ebaSmrg	| mn10200 | mn10300 \
29204007ebaSmrg	| moxie \
29304007ebaSmrg	| mt \
29404007ebaSmrg	| msp430 \
29504007ebaSmrg	| nds32 | nds32le | nds32be \
29604007ebaSmrg	| nios | nios2 | nios2eb | nios2el \
29704007ebaSmrg	| ns16k | ns32k \
2987f419768Smrg	| open8 | or1k | or1knd | or32 \
29905cf1079Smrg	| pdp10 | pj | pjl \
30004007ebaSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30105cf1079Smrg	| pru \
30204007ebaSmrg	| pyramid \
3037f419768Smrg	| riscv32 | riscv64 \
30404007ebaSmrg	| rl78 | rx \
30504007ebaSmrg	| score \
30605cf1079Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30704007ebaSmrg	| sh64 | sh64le \
30804007ebaSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30904007ebaSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31004007ebaSmrg	| spu \
31104007ebaSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31204007ebaSmrg	| ubicom32 \
31304007ebaSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31405cf1079Smrg	| visium \
31505cf1079Smrg	| wasm32 \
31604007ebaSmrg	| x86 | xc16x | xstormy16 | xtensa \
31704007ebaSmrg	| z8k | z80)
31804007ebaSmrg		basic_machine=$basic_machine-unknown
31904007ebaSmrg		;;
32004007ebaSmrg	c54x)
32104007ebaSmrg		basic_machine=tic54x-unknown
32204007ebaSmrg		;;
32304007ebaSmrg	c55x)
32404007ebaSmrg		basic_machine=tic55x-unknown
32504007ebaSmrg		;;
32604007ebaSmrg	c6x)
32704007ebaSmrg		basic_machine=tic6x-unknown
32804007ebaSmrg		;;
32905cf1079Smrg	leon|leon[3-9])
33005cf1079Smrg		basic_machine=sparc-$basic_machine
33105cf1079Smrg		;;
3327f419768Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33304007ebaSmrg		basic_machine=$basic_machine-unknown
33404007ebaSmrg		os=-none
33504007ebaSmrg		;;
33605cf1079Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
33704007ebaSmrg		;;
33804007ebaSmrg	ms1)
33904007ebaSmrg		basic_machine=mt-unknown
34004007ebaSmrg		;;
34104007ebaSmrg
34204007ebaSmrg	strongarm | thumb | xscale)
34304007ebaSmrg		basic_machine=arm-unknown
34404007ebaSmrg		;;
34504007ebaSmrg	xgate)
34604007ebaSmrg		basic_machine=$basic_machine-unknown
34704007ebaSmrg		os=-none
34804007ebaSmrg		;;
34904007ebaSmrg	xscaleeb)
35004007ebaSmrg		basic_machine=armeb-unknown
35104007ebaSmrg		;;
35204007ebaSmrg
35304007ebaSmrg	xscaleel)
35404007ebaSmrg		basic_machine=armel-unknown
35504007ebaSmrg		;;
35604007ebaSmrg
35704007ebaSmrg	# We use `pc' rather than `unknown'
35804007ebaSmrg	# because (1) that's what they normally are, and
35904007ebaSmrg	# (2) the word "unknown" tends to confuse beginning users.
36004007ebaSmrg	i*86 | x86_64)
36104007ebaSmrg	  basic_machine=$basic_machine-pc
36204007ebaSmrg	  ;;
36304007ebaSmrg	# Object if more than one company name word.
36404007ebaSmrg	*-*-*)
36505cf1079Smrg		echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
36604007ebaSmrg		exit 1
36704007ebaSmrg		;;
36804007ebaSmrg	# Recognize the basic CPU types with company name.
36904007ebaSmrg	580-* \
37004007ebaSmrg	| a29k-* \
37104007ebaSmrg	| aarch64-* | aarch64_be-* \
37204007ebaSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37304007ebaSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
37404007ebaSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37504007ebaSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37604007ebaSmrg	| avr-* | avr32-* \
37705cf1079Smrg	| ba-* \
37804007ebaSmrg	| be32-* | be64-* \
37904007ebaSmrg	| bfin-* | bs2000-* \
38004007ebaSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
38104007ebaSmrg	| c8051-* | clipper-* | craynv-* | cydra-* \
38204007ebaSmrg	| d10v-* | d30v-* | dlx-* \
38305cf1079Smrg	| e2k-* | elxsi-* \
38404007ebaSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38504007ebaSmrg	| h8300-* | h8500-* \
38604007ebaSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38704007ebaSmrg	| hexagon-* \
38805cf1079Smrg	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
38904007ebaSmrg	| ip2k-* | iq2000-* \
3907f419768Smrg	| k1om-* \
39104007ebaSmrg	| le32-* | le64-* \
39204007ebaSmrg	| lm32-* \
39304007ebaSmrg	| m32c-* | m32r-* | m32rle-* \
39404007ebaSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
39504007ebaSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
39604007ebaSmrg	| microblaze-* | microblazeel-* \
39704007ebaSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39804007ebaSmrg	| mips16-* \
39904007ebaSmrg	| mips64-* | mips64el-* \
40004007ebaSmrg	| mips64octeon-* | mips64octeonel-* \
40104007ebaSmrg	| mips64orion-* | mips64orionel-* \
40204007ebaSmrg	| mips64r5900-* | mips64r5900el-* \
40304007ebaSmrg	| mips64vr-* | mips64vrel-* \
40404007ebaSmrg	| mips64vr4100-* | mips64vr4100el-* \
40504007ebaSmrg	| mips64vr4300-* | mips64vr4300el-* \
40604007ebaSmrg	| mips64vr5000-* | mips64vr5000el-* \
40704007ebaSmrg	| mips64vr5900-* | mips64vr5900el-* \
40804007ebaSmrg	| mipsisa32-* | mipsisa32el-* \
40904007ebaSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
4107f419768Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41104007ebaSmrg	| mipsisa64-* | mipsisa64el-* \
41204007ebaSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
4137f419768Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41404007ebaSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41504007ebaSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
41604007ebaSmrg	| mipsr5900-* | mipsr5900el-* \
41704007ebaSmrg	| mipstx39-* | mipstx39el-* \
41804007ebaSmrg	| mmix-* \
41904007ebaSmrg	| mt-* \
42004007ebaSmrg	| msp430-* \
42104007ebaSmrg	| nds32-* | nds32le-* | nds32be-* \
42204007ebaSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42304007ebaSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
42404007ebaSmrg	| open8-* \
4257f419768Smrg	| or1k*-* \
42604007ebaSmrg	| orion-* \
42704007ebaSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42804007ebaSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
42905cf1079Smrg	| pru-* \
43004007ebaSmrg	| pyramid-* \
43105cf1079Smrg	| riscv32-* | riscv64-* \
43204007ebaSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
43304007ebaSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43404007ebaSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43504007ebaSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43604007ebaSmrg	| sparclite-* \
43705cf1079Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
43804007ebaSmrg	| tahoe-* \
43904007ebaSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
44004007ebaSmrg	| tile*-* \
44104007ebaSmrg	| tron-* \
44204007ebaSmrg	| ubicom32-* \
44304007ebaSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44404007ebaSmrg	| vax-* \
44505cf1079Smrg	| visium-* \
44605cf1079Smrg	| wasm32-* \
44704007ebaSmrg	| we32k-* \
44804007ebaSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
44904007ebaSmrg	| xstormy16-* | xtensa*-* \
45004007ebaSmrg	| ymp-* \
45104007ebaSmrg	| z8k-* | z80-*)
45204007ebaSmrg		;;
45304007ebaSmrg	# Recognize the basic CPU types without company name, with glob match.
45404007ebaSmrg	xtensa*)
45504007ebaSmrg		basic_machine=$basic_machine-unknown
45604007ebaSmrg		;;
45704007ebaSmrg	# Recognize the various machine names and aliases which stand
45804007ebaSmrg	# for a CPU type and a company and sometimes even an OS.
45904007ebaSmrg	386bsd)
46005cf1079Smrg		basic_machine=i386-pc
46104007ebaSmrg		os=-bsd
46204007ebaSmrg		;;
46304007ebaSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46404007ebaSmrg		basic_machine=m68000-att
46504007ebaSmrg		;;
46604007ebaSmrg	3b*)
46704007ebaSmrg		basic_machine=we32k-att
46804007ebaSmrg		;;
46904007ebaSmrg	a29khif)
47004007ebaSmrg		basic_machine=a29k-amd
47104007ebaSmrg		os=-udi
47204007ebaSmrg		;;
47304007ebaSmrg	abacus)
47404007ebaSmrg		basic_machine=abacus-unknown
47504007ebaSmrg		;;
47604007ebaSmrg	adobe68k)
47704007ebaSmrg		basic_machine=m68010-adobe
47804007ebaSmrg		os=-scout
47904007ebaSmrg		;;
48004007ebaSmrg	alliant | fx80)
48104007ebaSmrg		basic_machine=fx80-alliant
48204007ebaSmrg		;;
48304007ebaSmrg	altos | altos3068)
48404007ebaSmrg		basic_machine=m68k-altos
48504007ebaSmrg		;;
48604007ebaSmrg	am29k)
48704007ebaSmrg		basic_machine=a29k-none
48804007ebaSmrg		os=-bsd
48904007ebaSmrg		;;
49004007ebaSmrg	amd64)
49104007ebaSmrg		basic_machine=x86_64-pc
49204007ebaSmrg		;;
49304007ebaSmrg	amd64-*)
49405cf1079Smrg		basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
49504007ebaSmrg		;;
49604007ebaSmrg	amdahl)
49704007ebaSmrg		basic_machine=580-amdahl
49804007ebaSmrg		os=-sysv
49904007ebaSmrg		;;
50004007ebaSmrg	amiga | amiga-*)
50104007ebaSmrg		basic_machine=m68k-unknown
50204007ebaSmrg		;;
50304007ebaSmrg	amigaos | amigados)
50404007ebaSmrg		basic_machine=m68k-unknown
50504007ebaSmrg		os=-amigaos
50604007ebaSmrg		;;
50704007ebaSmrg	amigaunix | amix)
50804007ebaSmrg		basic_machine=m68k-unknown
50904007ebaSmrg		os=-sysv4
51004007ebaSmrg		;;
51104007ebaSmrg	apollo68)
51204007ebaSmrg		basic_machine=m68k-apollo
51304007ebaSmrg		os=-sysv
51404007ebaSmrg		;;
51504007ebaSmrg	apollo68bsd)
51604007ebaSmrg		basic_machine=m68k-apollo
51704007ebaSmrg		os=-bsd
51804007ebaSmrg		;;
51904007ebaSmrg	aros)
52004007ebaSmrg		basic_machine=i386-pc
52104007ebaSmrg		os=-aros
52204007ebaSmrg		;;
52305cf1079Smrg	asmjs)
52405cf1079Smrg		basic_machine=asmjs-unknown
52505cf1079Smrg		;;
52604007ebaSmrg	aux)
52704007ebaSmrg		basic_machine=m68k-apple
52804007ebaSmrg		os=-aux
52904007ebaSmrg		;;
53004007ebaSmrg	balance)
53104007ebaSmrg		basic_machine=ns32k-sequent
53204007ebaSmrg		os=-dynix
53304007ebaSmrg		;;
53404007ebaSmrg	blackfin)
53504007ebaSmrg		basic_machine=bfin-unknown
53604007ebaSmrg		os=-linux
53704007ebaSmrg		;;
53804007ebaSmrg	blackfin-*)
53905cf1079Smrg		basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
54004007ebaSmrg		os=-linux
54104007ebaSmrg		;;
54204007ebaSmrg	bluegene*)
54304007ebaSmrg		basic_machine=powerpc-ibm
54404007ebaSmrg		os=-cnk
54504007ebaSmrg		;;
54604007ebaSmrg	c54x-*)
54705cf1079Smrg		basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
54804007ebaSmrg		;;
54904007ebaSmrg	c55x-*)
55005cf1079Smrg		basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
55104007ebaSmrg		;;
55204007ebaSmrg	c6x-*)
55305cf1079Smrg		basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
55404007ebaSmrg		;;
55504007ebaSmrg	c90)
55604007ebaSmrg		basic_machine=c90-cray
55704007ebaSmrg		os=-unicos
55804007ebaSmrg		;;
55904007ebaSmrg	cegcc)
56004007ebaSmrg		basic_machine=arm-unknown
56104007ebaSmrg		os=-cegcc
56204007ebaSmrg		;;
56304007ebaSmrg	convex-c1)
56404007ebaSmrg		basic_machine=c1-convex
56504007ebaSmrg		os=-bsd
56604007ebaSmrg		;;
56704007ebaSmrg	convex-c2)
56804007ebaSmrg		basic_machine=c2-convex
56904007ebaSmrg		os=-bsd
57004007ebaSmrg		;;
57104007ebaSmrg	convex-c32)
57204007ebaSmrg		basic_machine=c32-convex
57304007ebaSmrg		os=-bsd
57404007ebaSmrg		;;
57504007ebaSmrg	convex-c34)
57604007ebaSmrg		basic_machine=c34-convex
57704007ebaSmrg		os=-bsd
57804007ebaSmrg		;;
57904007ebaSmrg	convex-c38)
58004007ebaSmrg		basic_machine=c38-convex
58104007ebaSmrg		os=-bsd
58204007ebaSmrg		;;
58304007ebaSmrg	cray | j90)
58404007ebaSmrg		basic_machine=j90-cray
58504007ebaSmrg		os=-unicos
58604007ebaSmrg		;;
58704007ebaSmrg	craynv)
58804007ebaSmrg		basic_machine=craynv-cray
58904007ebaSmrg		os=-unicosmp
59004007ebaSmrg		;;
59104007ebaSmrg	cr16 | cr16-*)
59204007ebaSmrg		basic_machine=cr16-unknown
59304007ebaSmrg		os=-elf
59404007ebaSmrg		;;
59504007ebaSmrg	crds | unos)
59604007ebaSmrg		basic_machine=m68k-crds
59704007ebaSmrg		;;
59804007ebaSmrg	crisv32 | crisv32-* | etraxfs*)
59904007ebaSmrg		basic_machine=crisv32-axis
60004007ebaSmrg		;;
60104007ebaSmrg	cris | cris-* | etrax*)
60204007ebaSmrg		basic_machine=cris-axis
60304007ebaSmrg		;;
60404007ebaSmrg	crx)
60504007ebaSmrg		basic_machine=crx-unknown
60604007ebaSmrg		os=-elf
60704007ebaSmrg		;;
60804007ebaSmrg	da30 | da30-*)
60904007ebaSmrg		basic_machine=m68k-da30
61004007ebaSmrg		;;
61104007ebaSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61204007ebaSmrg		basic_machine=mips-dec
61304007ebaSmrg		;;
61404007ebaSmrg	decsystem10* | dec10*)
61504007ebaSmrg		basic_machine=pdp10-dec
61604007ebaSmrg		os=-tops10
61704007ebaSmrg		;;
61804007ebaSmrg	decsystem20* | dec20*)
61904007ebaSmrg		basic_machine=pdp10-dec
62004007ebaSmrg		os=-tops20
62104007ebaSmrg		;;
62204007ebaSmrg	delta | 3300 | motorola-3300 | motorola-delta \
62304007ebaSmrg	      | 3300-motorola | delta-motorola)
62404007ebaSmrg		basic_machine=m68k-motorola
62504007ebaSmrg		;;
62604007ebaSmrg	delta88)
62704007ebaSmrg		basic_machine=m88k-motorola
62804007ebaSmrg		os=-sysv3
62904007ebaSmrg		;;
63004007ebaSmrg	dicos)
63104007ebaSmrg		basic_machine=i686-pc
63204007ebaSmrg		os=-dicos
63304007ebaSmrg		;;
63404007ebaSmrg	djgpp)
63504007ebaSmrg		basic_machine=i586-pc
63604007ebaSmrg		os=-msdosdjgpp
63704007ebaSmrg		;;
63804007ebaSmrg	dpx20 | dpx20-*)
63904007ebaSmrg		basic_machine=rs6000-bull
64004007ebaSmrg		os=-bosx
64104007ebaSmrg		;;
64205cf1079Smrg	dpx2*)
64304007ebaSmrg		basic_machine=m68k-bull
64404007ebaSmrg		os=-sysv3
64504007ebaSmrg		;;
64605cf1079Smrg	e500v[12])
64705cf1079Smrg		basic_machine=powerpc-unknown
64805cf1079Smrg		os=$os"spe"
64905cf1079Smrg		;;
65005cf1079Smrg	e500v[12]-*)
65105cf1079Smrg		basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
65205cf1079Smrg		os=$os"spe"
65305cf1079Smrg		;;
65404007ebaSmrg	ebmon29k)
65504007ebaSmrg		basic_machine=a29k-amd
65604007ebaSmrg		os=-ebmon
65704007ebaSmrg		;;
65804007ebaSmrg	elxsi)
65904007ebaSmrg		basic_machine=elxsi-elxsi
66004007ebaSmrg		os=-bsd
66104007ebaSmrg		;;
66204007ebaSmrg	encore | umax | mmax)
66304007ebaSmrg		basic_machine=ns32k-encore
66404007ebaSmrg		;;
66504007ebaSmrg	es1800 | OSE68k | ose68k | ose | OSE)
66604007ebaSmrg		basic_machine=m68k-ericsson
66704007ebaSmrg		os=-ose
66804007ebaSmrg		;;
66904007ebaSmrg	fx2800)
67004007ebaSmrg		basic_machine=i860-alliant
67104007ebaSmrg		;;
67204007ebaSmrg	genix)
67304007ebaSmrg		basic_machine=ns32k-ns
67404007ebaSmrg		;;
67504007ebaSmrg	gmicro)
67604007ebaSmrg		basic_machine=tron-gmicro
67704007ebaSmrg		os=-sysv
67804007ebaSmrg		;;
67904007ebaSmrg	go32)
68004007ebaSmrg		basic_machine=i386-pc
68104007ebaSmrg		os=-go32
68204007ebaSmrg		;;
68304007ebaSmrg	h3050r* | hiux*)
68404007ebaSmrg		basic_machine=hppa1.1-hitachi
68504007ebaSmrg		os=-hiuxwe2
68604007ebaSmrg		;;
68704007ebaSmrg	h8300hms)
68804007ebaSmrg		basic_machine=h8300-hitachi
68904007ebaSmrg		os=-hms
69004007ebaSmrg		;;
69104007ebaSmrg	h8300xray)
69204007ebaSmrg		basic_machine=h8300-hitachi
69304007ebaSmrg		os=-xray
69404007ebaSmrg		;;
69504007ebaSmrg	h8500hms)
69604007ebaSmrg		basic_machine=h8500-hitachi
69704007ebaSmrg		os=-hms
69804007ebaSmrg		;;
69904007ebaSmrg	harris)
70004007ebaSmrg		basic_machine=m88k-harris
70104007ebaSmrg		os=-sysv3
70204007ebaSmrg		;;
70304007ebaSmrg	hp300-*)
70404007ebaSmrg		basic_machine=m68k-hp
70504007ebaSmrg		;;
70604007ebaSmrg	hp300bsd)
70704007ebaSmrg		basic_machine=m68k-hp
70804007ebaSmrg		os=-bsd
70904007ebaSmrg		;;
71004007ebaSmrg	hp300hpux)
71104007ebaSmrg		basic_machine=m68k-hp
71204007ebaSmrg		os=-hpux
71304007ebaSmrg		;;
71404007ebaSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
71504007ebaSmrg		basic_machine=hppa1.0-hp
71604007ebaSmrg		;;
71704007ebaSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
71804007ebaSmrg		basic_machine=m68000-hp
71904007ebaSmrg		;;
72004007ebaSmrg	hp9k3[2-9][0-9])
72104007ebaSmrg		basic_machine=m68k-hp
72204007ebaSmrg		;;
72304007ebaSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
72404007ebaSmrg		basic_machine=hppa1.0-hp
72504007ebaSmrg		;;
72604007ebaSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
72704007ebaSmrg		basic_machine=hppa1.1-hp
72804007ebaSmrg		;;
72904007ebaSmrg	hp9k78[0-9] | hp78[0-9])
73004007ebaSmrg		# FIXME: really hppa2.0-hp
73104007ebaSmrg		basic_machine=hppa1.1-hp
73204007ebaSmrg		;;
73304007ebaSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
73404007ebaSmrg		# FIXME: really hppa2.0-hp
73504007ebaSmrg		basic_machine=hppa1.1-hp
73604007ebaSmrg		;;
73704007ebaSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
73804007ebaSmrg		basic_machine=hppa1.1-hp
73904007ebaSmrg		;;
74004007ebaSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
74104007ebaSmrg		basic_machine=hppa1.0-hp
74204007ebaSmrg		;;
74304007ebaSmrg	hppaosf)
74404007ebaSmrg		basic_machine=hppa1.1-hp
74504007ebaSmrg		os=-osf
74604007ebaSmrg		;;
74704007ebaSmrg	hppro)
74804007ebaSmrg		basic_machine=hppa1.1-hp
74904007ebaSmrg		os=-proelf
75004007ebaSmrg		;;
75104007ebaSmrg	i370-ibm* | ibm*)
75204007ebaSmrg		basic_machine=i370-ibm
75304007ebaSmrg		;;
75404007ebaSmrg	i*86v32)
75505cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
75604007ebaSmrg		os=-sysv32
75704007ebaSmrg		;;
75804007ebaSmrg	i*86v4*)
75905cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
76004007ebaSmrg		os=-sysv4
76104007ebaSmrg		;;
76204007ebaSmrg	i*86v)
76305cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
76404007ebaSmrg		os=-sysv
76504007ebaSmrg		;;
76604007ebaSmrg	i*86sol2)
76705cf1079Smrg		basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
76804007ebaSmrg		os=-solaris2
76904007ebaSmrg		;;
77004007ebaSmrg	i386mach)
77104007ebaSmrg		basic_machine=i386-mach
77204007ebaSmrg		os=-mach
77304007ebaSmrg		;;
77405cf1079Smrg	vsta)
77504007ebaSmrg		basic_machine=i386-unknown
77604007ebaSmrg		os=-vsta
77704007ebaSmrg		;;
77804007ebaSmrg	iris | iris4d)
77904007ebaSmrg		basic_machine=mips-sgi
78004007ebaSmrg		case $os in
78104007ebaSmrg		    -irix*)
78204007ebaSmrg			;;
78304007ebaSmrg		    *)
78404007ebaSmrg			os=-irix4
78504007ebaSmrg			;;
78604007ebaSmrg		esac
78704007ebaSmrg		;;
78804007ebaSmrg	isi68 | isi)
78904007ebaSmrg		basic_machine=m68k-isi
79004007ebaSmrg		os=-sysv
79104007ebaSmrg		;;
79205cf1079Smrg	leon-*|leon[3-9]-*)
79305cf1079Smrg		basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
79405cf1079Smrg		;;
79504007ebaSmrg	m68knommu)
79604007ebaSmrg		basic_machine=m68k-unknown
79704007ebaSmrg		os=-linux
79804007ebaSmrg		;;
79904007ebaSmrg	m68knommu-*)
80005cf1079Smrg		basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
80104007ebaSmrg		os=-linux
80204007ebaSmrg		;;
80304007ebaSmrg	magnum | m3230)
80404007ebaSmrg		basic_machine=mips-mips
80504007ebaSmrg		os=-sysv
80604007ebaSmrg		;;
80704007ebaSmrg	merlin)
80804007ebaSmrg		basic_machine=ns32k-utek
80904007ebaSmrg		os=-sysv
81004007ebaSmrg		;;
81104007ebaSmrg	microblaze*)
81204007ebaSmrg		basic_machine=microblaze-xilinx
81304007ebaSmrg		;;
81404007ebaSmrg	mingw64)
81504007ebaSmrg		basic_machine=x86_64-pc
81604007ebaSmrg		os=-mingw64
81704007ebaSmrg		;;
81804007ebaSmrg	mingw32)
81904007ebaSmrg		basic_machine=i686-pc
82004007ebaSmrg		os=-mingw32
82104007ebaSmrg		;;
82204007ebaSmrg	mingw32ce)
82304007ebaSmrg		basic_machine=arm-unknown
82404007ebaSmrg		os=-mingw32ce
82504007ebaSmrg		;;
82604007ebaSmrg	miniframe)
82704007ebaSmrg		basic_machine=m68000-convergent
82804007ebaSmrg		;;
82904007ebaSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
83004007ebaSmrg		basic_machine=m68k-atari
83104007ebaSmrg		os=-mint
83204007ebaSmrg		;;
83304007ebaSmrg	mips3*-*)
83405cf1079Smrg		basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
83504007ebaSmrg		;;
83604007ebaSmrg	mips3*)
83705cf1079Smrg		basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
83804007ebaSmrg		;;
83904007ebaSmrg	monitor)
84004007ebaSmrg		basic_machine=m68k-rom68k
84104007ebaSmrg		os=-coff
84204007ebaSmrg		;;
84304007ebaSmrg	morphos)
84404007ebaSmrg		basic_machine=powerpc-unknown
84504007ebaSmrg		os=-morphos
84604007ebaSmrg		;;
8477f419768Smrg	moxiebox)
8487f419768Smrg		basic_machine=moxie-unknown
8497f419768Smrg		os=-moxiebox
8507f419768Smrg		;;
85104007ebaSmrg	msdos)
85204007ebaSmrg		basic_machine=i386-pc
85304007ebaSmrg		os=-msdos
85404007ebaSmrg		;;
85504007ebaSmrg	ms1-*)
85605cf1079Smrg		basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
85704007ebaSmrg		;;
85804007ebaSmrg	msys)
85904007ebaSmrg		basic_machine=i686-pc
86004007ebaSmrg		os=-msys
86104007ebaSmrg		;;
86204007ebaSmrg	mvs)
86304007ebaSmrg		basic_machine=i370-ibm
86404007ebaSmrg		os=-mvs
86504007ebaSmrg		;;
86604007ebaSmrg	nacl)
86704007ebaSmrg		basic_machine=le32-unknown
86804007ebaSmrg		os=-nacl
86904007ebaSmrg		;;
87004007ebaSmrg	ncr3000)
87104007ebaSmrg		basic_machine=i486-ncr
87204007ebaSmrg		os=-sysv4
87304007ebaSmrg		;;
87404007ebaSmrg	netbsd386)
87504007ebaSmrg		basic_machine=i386-unknown
87604007ebaSmrg		os=-netbsd
87704007ebaSmrg		;;
87804007ebaSmrg	netwinder)
87904007ebaSmrg		basic_machine=armv4l-rebel
88004007ebaSmrg		os=-linux
88104007ebaSmrg		;;
88204007ebaSmrg	news | news700 | news800 | news900)
88304007ebaSmrg		basic_machine=m68k-sony
88404007ebaSmrg		os=-newsos
88504007ebaSmrg		;;
88604007ebaSmrg	news1000)
88704007ebaSmrg		basic_machine=m68030-sony
88804007ebaSmrg		os=-newsos
88904007ebaSmrg		;;
89004007ebaSmrg	news-3600 | risc-news)
89104007ebaSmrg		basic_machine=mips-sony
89204007ebaSmrg		os=-newsos
89304007ebaSmrg		;;
89404007ebaSmrg	necv70)
89504007ebaSmrg		basic_machine=v70-nec
89604007ebaSmrg		os=-sysv
89704007ebaSmrg		;;
89805cf1079Smrg	next | m*-next)
89904007ebaSmrg		basic_machine=m68k-next
90004007ebaSmrg		case $os in
90104007ebaSmrg		    -nextstep* )
90204007ebaSmrg			;;
90304007ebaSmrg		    -ns2*)
90404007ebaSmrg		      os=-nextstep2
90504007ebaSmrg			;;
90604007ebaSmrg		    *)
90704007ebaSmrg		      os=-nextstep3
90804007ebaSmrg			;;
90904007ebaSmrg		esac
91004007ebaSmrg		;;
91104007ebaSmrg	nh3000)
91204007ebaSmrg		basic_machine=m68k-harris
91304007ebaSmrg		os=-cxux
91404007ebaSmrg		;;
91504007ebaSmrg	nh[45]000)
91604007ebaSmrg		basic_machine=m88k-harris
91704007ebaSmrg		os=-cxux
91804007ebaSmrg		;;
91904007ebaSmrg	nindy960)
92004007ebaSmrg		basic_machine=i960-intel
92104007ebaSmrg		os=-nindy
92204007ebaSmrg		;;
92304007ebaSmrg	mon960)
92404007ebaSmrg		basic_machine=i960-intel
92504007ebaSmrg		os=-mon960
92604007ebaSmrg		;;
92704007ebaSmrg	nonstopux)
92804007ebaSmrg		basic_machine=mips-compaq
92904007ebaSmrg		os=-nonstopux
93004007ebaSmrg		;;
93104007ebaSmrg	np1)
93204007ebaSmrg		basic_machine=np1-gould
93304007ebaSmrg		;;
93404007ebaSmrg	neo-tandem)
93504007ebaSmrg		basic_machine=neo-tandem
93604007ebaSmrg		;;
93704007ebaSmrg	nse-tandem)
93804007ebaSmrg		basic_machine=nse-tandem
93904007ebaSmrg		;;
94004007ebaSmrg	nsr-tandem)
94104007ebaSmrg		basic_machine=nsr-tandem
94204007ebaSmrg		;;
94305cf1079Smrg	nsv-tandem)
94405cf1079Smrg		basic_machine=nsv-tandem
94505cf1079Smrg		;;
94605cf1079Smrg	nsx-tandem)
94705cf1079Smrg		basic_machine=nsx-tandem
94805cf1079Smrg		;;
94904007ebaSmrg	op50n-* | op60c-*)
95004007ebaSmrg		basic_machine=hppa1.1-oki
95104007ebaSmrg		os=-proelf
95204007ebaSmrg		;;
95304007ebaSmrg	openrisc | openrisc-*)
95404007ebaSmrg		basic_machine=or32-unknown
95504007ebaSmrg		;;
95604007ebaSmrg	os400)
95704007ebaSmrg		basic_machine=powerpc-ibm
95804007ebaSmrg		os=-os400
95904007ebaSmrg		;;
96004007ebaSmrg	OSE68000 | ose68000)
96104007ebaSmrg		basic_machine=m68000-ericsson
96204007ebaSmrg		os=-ose
96304007ebaSmrg		;;
96404007ebaSmrg	os68k)
96504007ebaSmrg		basic_machine=m68k-none
96604007ebaSmrg		os=-os68k
96704007ebaSmrg		;;
96804007ebaSmrg	pa-hitachi)
96904007ebaSmrg		basic_machine=hppa1.1-hitachi
97004007ebaSmrg		os=-hiuxwe2
97104007ebaSmrg		;;
97204007ebaSmrg	paragon)
97304007ebaSmrg		basic_machine=i860-intel
97404007ebaSmrg		os=-osf
97504007ebaSmrg		;;
97604007ebaSmrg	parisc)
97704007ebaSmrg		basic_machine=hppa-unknown
97804007ebaSmrg		os=-linux
97904007ebaSmrg		;;
98004007ebaSmrg	parisc-*)
98105cf1079Smrg		basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
98204007ebaSmrg		os=-linux
98304007ebaSmrg		;;
98404007ebaSmrg	pbd)
98504007ebaSmrg		basic_machine=sparc-tti
98604007ebaSmrg		;;
98704007ebaSmrg	pbb)
98804007ebaSmrg		basic_machine=m68k-tti
98904007ebaSmrg		;;
99004007ebaSmrg	pc532 | pc532-*)
99104007ebaSmrg		basic_machine=ns32k-pc532
99204007ebaSmrg		;;
99304007ebaSmrg	pc98)
99404007ebaSmrg		basic_machine=i386-pc
99504007ebaSmrg		;;
99604007ebaSmrg	pc98-*)
99705cf1079Smrg		basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
99804007ebaSmrg		;;
99904007ebaSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
100004007ebaSmrg		basic_machine=i586-pc
100104007ebaSmrg		;;
100204007ebaSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
100304007ebaSmrg		basic_machine=i686-pc
100404007ebaSmrg		;;
100504007ebaSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
100604007ebaSmrg		basic_machine=i686-pc
100704007ebaSmrg		;;
100804007ebaSmrg	pentium4)
100904007ebaSmrg		basic_machine=i786-pc
101004007ebaSmrg		;;
101104007ebaSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
101205cf1079Smrg		basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
101304007ebaSmrg		;;
101404007ebaSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
101505cf1079Smrg		basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
101604007ebaSmrg		;;
101704007ebaSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
101805cf1079Smrg		basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
101904007ebaSmrg		;;
102004007ebaSmrg	pentium4-*)
102105cf1079Smrg		basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
102204007ebaSmrg		;;
102304007ebaSmrg	pn)
102404007ebaSmrg		basic_machine=pn-gould
102504007ebaSmrg		;;
102604007ebaSmrg	power)	basic_machine=power-ibm
102704007ebaSmrg		;;
102804007ebaSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
102904007ebaSmrg		;;
103004007ebaSmrg	ppc-* | ppcbe-*)
103105cf1079Smrg		basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
103204007ebaSmrg		;;
103305cf1079Smrg	ppcle | powerpclittle)
103404007ebaSmrg		basic_machine=powerpcle-unknown
103504007ebaSmrg		;;
103604007ebaSmrg	ppcle-* | powerpclittle-*)
103705cf1079Smrg		basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
103804007ebaSmrg		;;
103904007ebaSmrg	ppc64)	basic_machine=powerpc64-unknown
104004007ebaSmrg		;;
104105cf1079Smrg	ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
104204007ebaSmrg		;;
104305cf1079Smrg	ppc64le | powerpc64little)
104404007ebaSmrg		basic_machine=powerpc64le-unknown
104504007ebaSmrg		;;
104604007ebaSmrg	ppc64le-* | powerpc64little-*)
104705cf1079Smrg		basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
104804007ebaSmrg		;;
104904007ebaSmrg	ps2)
105004007ebaSmrg		basic_machine=i386-ibm
105104007ebaSmrg		;;
105204007ebaSmrg	pw32)
105304007ebaSmrg		basic_machine=i586-unknown
105404007ebaSmrg		os=-pw32
105504007ebaSmrg		;;
105604007ebaSmrg	rdos | rdos64)
105704007ebaSmrg		basic_machine=x86_64-pc
105804007ebaSmrg		os=-rdos
105904007ebaSmrg		;;
106004007ebaSmrg	rdos32)
106104007ebaSmrg		basic_machine=i386-pc
106204007ebaSmrg		os=-rdos
106304007ebaSmrg		;;
106404007ebaSmrg	rom68k)
106504007ebaSmrg		basic_machine=m68k-rom68k
106604007ebaSmrg		os=-coff
106704007ebaSmrg		;;
106804007ebaSmrg	rm[46]00)
106904007ebaSmrg		basic_machine=mips-siemens
107004007ebaSmrg		;;
107104007ebaSmrg	rtpc | rtpc-*)
107204007ebaSmrg		basic_machine=romp-ibm
107304007ebaSmrg		;;
107404007ebaSmrg	s390 | s390-*)
107504007ebaSmrg		basic_machine=s390-ibm
107604007ebaSmrg		;;
107704007ebaSmrg	s390x | s390x-*)
107804007ebaSmrg		basic_machine=s390x-ibm
107904007ebaSmrg		;;
108004007ebaSmrg	sa29200)
108104007ebaSmrg		basic_machine=a29k-amd
108204007ebaSmrg		os=-udi
108304007ebaSmrg		;;
108404007ebaSmrg	sb1)
108504007ebaSmrg		basic_machine=mipsisa64sb1-unknown
108604007ebaSmrg		;;
108704007ebaSmrg	sb1el)
108804007ebaSmrg		basic_machine=mipsisa64sb1el-unknown
108904007ebaSmrg		;;
109004007ebaSmrg	sde)
109104007ebaSmrg		basic_machine=mipsisa32-sde
109204007ebaSmrg		os=-elf
109304007ebaSmrg		;;
109404007ebaSmrg	sei)
109504007ebaSmrg		basic_machine=mips-sei
109604007ebaSmrg		os=-seiux
109704007ebaSmrg		;;
109804007ebaSmrg	sequent)
109904007ebaSmrg		basic_machine=i386-sequent
110004007ebaSmrg		;;
110104007ebaSmrg	sh5el)
110204007ebaSmrg		basic_machine=sh5le-unknown
110304007ebaSmrg		;;
110405cf1079Smrg	simso-wrs)
110504007ebaSmrg		basic_machine=sparclite-wrs
110604007ebaSmrg		os=-vxworks
110704007ebaSmrg		;;
110804007ebaSmrg	sps7)
110904007ebaSmrg		basic_machine=m68k-bull
111004007ebaSmrg		os=-sysv2
111104007ebaSmrg		;;
111204007ebaSmrg	spur)
111304007ebaSmrg		basic_machine=spur-unknown
111404007ebaSmrg		;;
111504007ebaSmrg	st2000)
111604007ebaSmrg		basic_machine=m68k-tandem
111704007ebaSmrg		;;
111804007ebaSmrg	stratus)
111904007ebaSmrg		basic_machine=i860-stratus
112004007ebaSmrg		os=-sysv4
112104007ebaSmrg		;;
112204007ebaSmrg	strongarm-* | thumb-*)
112305cf1079Smrg		basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
112404007ebaSmrg		;;
112504007ebaSmrg	sun2)
112604007ebaSmrg		basic_machine=m68000-sun
112704007ebaSmrg		;;
112804007ebaSmrg	sun2os3)
112904007ebaSmrg		basic_machine=m68000-sun
113004007ebaSmrg		os=-sunos3
113104007ebaSmrg		;;
113204007ebaSmrg	sun2os4)
113304007ebaSmrg		basic_machine=m68000-sun
113404007ebaSmrg		os=-sunos4
113504007ebaSmrg		;;
113604007ebaSmrg	sun3os3)
113704007ebaSmrg		basic_machine=m68k-sun
113804007ebaSmrg		os=-sunos3
113904007ebaSmrg		;;
114004007ebaSmrg	sun3os4)
114104007ebaSmrg		basic_machine=m68k-sun
114204007ebaSmrg		os=-sunos4
114304007ebaSmrg		;;
114404007ebaSmrg	sun4os3)
114504007ebaSmrg		basic_machine=sparc-sun
114604007ebaSmrg		os=-sunos3
114704007ebaSmrg		;;
114804007ebaSmrg	sun4os4)
114904007ebaSmrg		basic_machine=sparc-sun
115004007ebaSmrg		os=-sunos4
115104007ebaSmrg		;;
115204007ebaSmrg	sun4sol2)
115304007ebaSmrg		basic_machine=sparc-sun
115404007ebaSmrg		os=-solaris2
115504007ebaSmrg		;;
115604007ebaSmrg	sun3 | sun3-*)
115704007ebaSmrg		basic_machine=m68k-sun
115804007ebaSmrg		;;
115904007ebaSmrg	sun4)
116004007ebaSmrg		basic_machine=sparc-sun
116104007ebaSmrg		;;
116204007ebaSmrg	sun386 | sun386i | roadrunner)
116304007ebaSmrg		basic_machine=i386-sun
116404007ebaSmrg		;;
116504007ebaSmrg	sv1)
116604007ebaSmrg		basic_machine=sv1-cray
116704007ebaSmrg		os=-unicos
116804007ebaSmrg		;;
116904007ebaSmrg	symmetry)
117004007ebaSmrg		basic_machine=i386-sequent
117104007ebaSmrg		os=-dynix
117204007ebaSmrg		;;
117304007ebaSmrg	t3e)
117404007ebaSmrg		basic_machine=alphaev5-cray
117504007ebaSmrg		os=-unicos
117604007ebaSmrg		;;
117704007ebaSmrg	t90)
117804007ebaSmrg		basic_machine=t90-cray
117904007ebaSmrg		os=-unicos
118004007ebaSmrg		;;
118104007ebaSmrg	tile*)
118204007ebaSmrg		basic_machine=$basic_machine-unknown
118304007ebaSmrg		os=-linux-gnu
118404007ebaSmrg		;;
118504007ebaSmrg	tx39)
118604007ebaSmrg		basic_machine=mipstx39-unknown
118704007ebaSmrg		;;
118804007ebaSmrg	tx39el)
118904007ebaSmrg		basic_machine=mipstx39el-unknown
119004007ebaSmrg		;;
119104007ebaSmrg	toad1)
119204007ebaSmrg		basic_machine=pdp10-xkl
119304007ebaSmrg		os=-tops20
119404007ebaSmrg		;;
119504007ebaSmrg	tower | tower-32)
119604007ebaSmrg		basic_machine=m68k-ncr
119704007ebaSmrg		;;
119804007ebaSmrg	tpf)
119904007ebaSmrg		basic_machine=s390x-ibm
120004007ebaSmrg		os=-tpf
120104007ebaSmrg		;;
120204007ebaSmrg	udi29k)
120304007ebaSmrg		basic_machine=a29k-amd
120404007ebaSmrg		os=-udi
120504007ebaSmrg		;;
120604007ebaSmrg	ultra3)
120704007ebaSmrg		basic_machine=a29k-nyu
120804007ebaSmrg		os=-sym1
120904007ebaSmrg		;;
121004007ebaSmrg	v810 | necv810)
121104007ebaSmrg		basic_machine=v810-nec
121204007ebaSmrg		os=-none
121304007ebaSmrg		;;
121404007ebaSmrg	vaxv)
121504007ebaSmrg		basic_machine=vax-dec
121604007ebaSmrg		os=-sysv
121704007ebaSmrg		;;
121804007ebaSmrg	vms)
121904007ebaSmrg		basic_machine=vax-dec
122004007ebaSmrg		os=-vms
122104007ebaSmrg		;;
122204007ebaSmrg	vpp*|vx|vx-*)
122304007ebaSmrg		basic_machine=f301-fujitsu
122404007ebaSmrg		;;
122504007ebaSmrg	vxworks960)
122604007ebaSmrg		basic_machine=i960-wrs
122704007ebaSmrg		os=-vxworks
122804007ebaSmrg		;;
122904007ebaSmrg	vxworks68)
123004007ebaSmrg		basic_machine=m68k-wrs
123104007ebaSmrg		os=-vxworks
123204007ebaSmrg		;;
123304007ebaSmrg	vxworks29k)
123404007ebaSmrg		basic_machine=a29k-wrs
123504007ebaSmrg		os=-vxworks
123604007ebaSmrg		;;
123704007ebaSmrg	w65*)
123804007ebaSmrg		basic_machine=w65-wdc
123904007ebaSmrg		os=-none
124004007ebaSmrg		;;
124104007ebaSmrg	w89k-*)
124204007ebaSmrg		basic_machine=hppa1.1-winbond
124304007ebaSmrg		os=-proelf
124404007ebaSmrg		;;
124505cf1079Smrg	x64)
124605cf1079Smrg		basic_machine=x86_64-pc
124705cf1079Smrg		;;
124804007ebaSmrg	xbox)
124904007ebaSmrg		basic_machine=i686-pc
125004007ebaSmrg		os=-mingw32
125104007ebaSmrg		;;
125204007ebaSmrg	xps | xps100)
125304007ebaSmrg		basic_machine=xps100-honeywell
125404007ebaSmrg		;;
125504007ebaSmrg	xscale-* | xscalee[bl]-*)
125605cf1079Smrg		basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
125704007ebaSmrg		;;
125804007ebaSmrg	ymp)
125904007ebaSmrg		basic_machine=ymp-cray
126004007ebaSmrg		os=-unicos
126104007ebaSmrg		;;
126204007ebaSmrg	none)
126304007ebaSmrg		basic_machine=none-none
126404007ebaSmrg		os=-none
126504007ebaSmrg		;;
126604007ebaSmrg
126704007ebaSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
126804007ebaSmrg# some cases the only manufacturer, in others, it is the most popular.
126904007ebaSmrg	w89k)
127004007ebaSmrg		basic_machine=hppa1.1-winbond
127104007ebaSmrg		;;
127204007ebaSmrg	op50n)
127304007ebaSmrg		basic_machine=hppa1.1-oki
127404007ebaSmrg		;;
127504007ebaSmrg	op60c)
127604007ebaSmrg		basic_machine=hppa1.1-oki
127704007ebaSmrg		;;
127804007ebaSmrg	romp)
127904007ebaSmrg		basic_machine=romp-ibm
128004007ebaSmrg		;;
128104007ebaSmrg	mmix)
128204007ebaSmrg		basic_machine=mmix-knuth
128304007ebaSmrg		;;
128404007ebaSmrg	rs6000)
128504007ebaSmrg		basic_machine=rs6000-ibm
128604007ebaSmrg		;;
128704007ebaSmrg	vax)
128804007ebaSmrg		basic_machine=vax-dec
128904007ebaSmrg		;;
129004007ebaSmrg	pdp11)
129104007ebaSmrg		basic_machine=pdp11-dec
129204007ebaSmrg		;;
129304007ebaSmrg	we32k)
129404007ebaSmrg		basic_machine=we32k-att
129504007ebaSmrg		;;
129604007ebaSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
129704007ebaSmrg		basic_machine=sh-unknown
129804007ebaSmrg		;;
129904007ebaSmrg	cydra)
130004007ebaSmrg		basic_machine=cydra-cydrome
130104007ebaSmrg		;;
130204007ebaSmrg	orion)
130304007ebaSmrg		basic_machine=orion-highlevel
130404007ebaSmrg		;;
130504007ebaSmrg	orion105)
130604007ebaSmrg		basic_machine=clipper-highlevel
130704007ebaSmrg		;;
130804007ebaSmrg	mac | mpw | mac-mpw)
130904007ebaSmrg		basic_machine=m68k-apple
131004007ebaSmrg		;;
131104007ebaSmrg	pmac | pmac-mpw)
131204007ebaSmrg		basic_machine=powerpc-apple
131304007ebaSmrg		;;
131404007ebaSmrg	*-unknown)
131504007ebaSmrg		# Make sure to match an already-canonicalized machine name.
131604007ebaSmrg		;;
131704007ebaSmrg	*)
131805cf1079Smrg		echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
131904007ebaSmrg		exit 1
132004007ebaSmrg		;;
132104007ebaSmrgesac
132204007ebaSmrg
132304007ebaSmrg# Here we canonicalize certain aliases for manufacturers.
132404007ebaSmrgcase $basic_machine in
132504007ebaSmrg	*-digital*)
132605cf1079Smrg		basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
132704007ebaSmrg		;;
132804007ebaSmrg	*-commodore*)
132905cf1079Smrg		basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
133004007ebaSmrg		;;
133104007ebaSmrg	*)
133204007ebaSmrg		;;
133304007ebaSmrgesac
133404007ebaSmrg
133504007ebaSmrg# Decode manufacturer-specific aliases for certain operating systems.
133604007ebaSmrg
133704007ebaSmrgif [ x"$os" != x"" ]
133804007ebaSmrgthen
133904007ebaSmrgcase $os in
134005cf1079Smrg	# First match some system type aliases that might get confused
134105cf1079Smrg	# with valid system types.
134204007ebaSmrg	# -solaris* is a basic system type, with this one exception.
134304007ebaSmrg	-auroraux)
134404007ebaSmrg		os=-auroraux
134504007ebaSmrg		;;
134604007ebaSmrg	-solaris1 | -solaris1.*)
134704007ebaSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
134804007ebaSmrg		;;
134904007ebaSmrg	-solaris)
135004007ebaSmrg		os=-solaris2
135104007ebaSmrg		;;
135204007ebaSmrg	-unixware*)
135304007ebaSmrg		os=-sysv4.2uw
135404007ebaSmrg		;;
135504007ebaSmrg	-gnu/linux*)
135604007ebaSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
135704007ebaSmrg		;;
135805cf1079Smrg	# es1800 is here to avoid being matched by es* (a different OS)
135905cf1079Smrg	-es1800*)
136005cf1079Smrg		os=-ose
136105cf1079Smrg		;;
136205cf1079Smrg	# Now accept the basic system types.
136304007ebaSmrg	# The portable systems comes first.
136405cf1079Smrg	# Each alternative MUST end in a * to match a version number.
136504007ebaSmrg	# -sysv* is not here because it comes later, after sysvr4.
136604007ebaSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
136704007ebaSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
136804007ebaSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
136904007ebaSmrg	      | -sym* | -kopensolaris* | -plan9* \
137004007ebaSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
137105cf1079Smrg	      | -aos* | -aros* | -cloudabi* | -sortix* \
137204007ebaSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
137304007ebaSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
137405cf1079Smrg	      | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
137505cf1079Smrg	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
137604007ebaSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
137704007ebaSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
137804007ebaSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
137904007ebaSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
138005cf1079Smrg	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
138104007ebaSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
138205cf1079Smrg	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
138304007ebaSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13847f419768Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
138505cf1079Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
138604007ebaSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
138704007ebaSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
138804007ebaSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
138905cf1079Smrg	      | -morphos* | -superux* | -rtmk* | -windiss* \
139004007ebaSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
139105cf1079Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
139205cf1079Smrg	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
139305cf1079Smrg	      | -midnightbsd*)
139404007ebaSmrg	# Remember, each alternative MUST END IN *, to match a version number.
139504007ebaSmrg		;;
139604007ebaSmrg	-qnx*)
139704007ebaSmrg		case $basic_machine in
139804007ebaSmrg		    x86-* | i*86-*)
139904007ebaSmrg			;;
140004007ebaSmrg		    *)
140104007ebaSmrg			os=-nto$os
140204007ebaSmrg			;;
140304007ebaSmrg		esac
140404007ebaSmrg		;;
140504007ebaSmrg	-nto-qnx*)
140604007ebaSmrg		;;
140704007ebaSmrg	-nto*)
140804007ebaSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
140904007ebaSmrg		;;
141005cf1079Smrg	-sim | -xray | -os68k* | -v88r* \
141105cf1079Smrg	      | -windows* | -osx | -abug | -netware* | -os9* \
141204007ebaSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
141304007ebaSmrg		;;
141404007ebaSmrg	-mac*)
141505cf1079Smrg		os=`echo "$os" | sed -e 's|mac|macos|'`
141604007ebaSmrg		;;
141704007ebaSmrg	-linux-dietlibc)
141804007ebaSmrg		os=-linux-dietlibc
141904007ebaSmrg		;;
142004007ebaSmrg	-linux*)
142104007ebaSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
142204007ebaSmrg		;;
142304007ebaSmrg	-sunos5*)
142405cf1079Smrg		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
142504007ebaSmrg		;;
142604007ebaSmrg	-sunos6*)
142705cf1079Smrg		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
142804007ebaSmrg		;;
142904007ebaSmrg	-opened*)
143004007ebaSmrg		os=-openedition
143104007ebaSmrg		;;
143204007ebaSmrg	-os400*)
143304007ebaSmrg		os=-os400
143404007ebaSmrg		;;
143504007ebaSmrg	-wince*)
143604007ebaSmrg		os=-wince
143704007ebaSmrg		;;
143804007ebaSmrg	-utek*)
143904007ebaSmrg		os=-bsd
144004007ebaSmrg		;;
144104007ebaSmrg	-dynix*)
144204007ebaSmrg		os=-bsd
144304007ebaSmrg		;;
144404007ebaSmrg	-acis*)
144504007ebaSmrg		os=-aos
144604007ebaSmrg		;;
144704007ebaSmrg	-atheos*)
144804007ebaSmrg		os=-atheos
144904007ebaSmrg		;;
145004007ebaSmrg	-syllable*)
145104007ebaSmrg		os=-syllable
145204007ebaSmrg		;;
145304007ebaSmrg	-386bsd)
145404007ebaSmrg		os=-bsd
145504007ebaSmrg		;;
145604007ebaSmrg	-ctix* | -uts*)
145704007ebaSmrg		os=-sysv
145804007ebaSmrg		;;
145904007ebaSmrg	-nova*)
146004007ebaSmrg		os=-rtmk-nova
146104007ebaSmrg		;;
146205cf1079Smrg	-ns2)
146304007ebaSmrg		os=-nextstep2
146404007ebaSmrg		;;
146504007ebaSmrg	-nsk*)
146604007ebaSmrg		os=-nsk
146704007ebaSmrg		;;
146804007ebaSmrg	# Preserve the version number of sinix5.
146904007ebaSmrg	-sinix5.*)
147004007ebaSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
147104007ebaSmrg		;;
147204007ebaSmrg	-sinix*)
147304007ebaSmrg		os=-sysv4
147404007ebaSmrg		;;
147504007ebaSmrg	-tpf*)
147604007ebaSmrg		os=-tpf
147704007ebaSmrg		;;
147804007ebaSmrg	-triton*)
147904007ebaSmrg		os=-sysv3
148004007ebaSmrg		;;
148104007ebaSmrg	-oss*)
148204007ebaSmrg		os=-sysv3
148304007ebaSmrg		;;
148405cf1079Smrg	-svr4*)
148504007ebaSmrg		os=-sysv4
148604007ebaSmrg		;;
148704007ebaSmrg	-svr3)
148804007ebaSmrg		os=-sysv3
148904007ebaSmrg		;;
149004007ebaSmrg	-sysvr4)
149104007ebaSmrg		os=-sysv4
149204007ebaSmrg		;;
149304007ebaSmrg	# This must come after -sysvr4.
149404007ebaSmrg	-sysv*)
149504007ebaSmrg		;;
149604007ebaSmrg	-ose*)
149704007ebaSmrg		os=-ose
149804007ebaSmrg		;;
149904007ebaSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
150004007ebaSmrg		os=-mint
150104007ebaSmrg		;;
150204007ebaSmrg	-zvmoe)
150304007ebaSmrg		os=-zvmoe
150404007ebaSmrg		;;
150504007ebaSmrg	-dicos*)
150604007ebaSmrg		os=-dicos
150704007ebaSmrg		;;
150805cf1079Smrg	-pikeos*)
150905cf1079Smrg		# Until real need of OS specific support for
151005cf1079Smrg		# particular features comes up, bare metal
151105cf1079Smrg		# configurations are quite functional.
151205cf1079Smrg		case $basic_machine in
151305cf1079Smrg		    arm*)
151405cf1079Smrg			os=-eabi
151505cf1079Smrg			;;
151605cf1079Smrg		    *)
151705cf1079Smrg			os=-elf
151805cf1079Smrg			;;
151905cf1079Smrg		esac
152005cf1079Smrg		;;
152104007ebaSmrg	-nacl*)
152204007ebaSmrg		;;
152305cf1079Smrg	-ios)
152405cf1079Smrg		;;
152504007ebaSmrg	-none)
152604007ebaSmrg		;;
152704007ebaSmrg	*)
152804007ebaSmrg		# Get rid of the `-' at the beginning of $os.
152904007ebaSmrg		os=`echo $os | sed 's/[^-]*-//'`
153005cf1079Smrg		echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
153104007ebaSmrg		exit 1
153204007ebaSmrg		;;
153304007ebaSmrgesac
153404007ebaSmrgelse
153504007ebaSmrg
153604007ebaSmrg# Here we handle the default operating systems that come with various machines.
153704007ebaSmrg# The value should be what the vendor currently ships out the door with their
153804007ebaSmrg# machine or put another way, the most popular os provided with the machine.
153904007ebaSmrg
154004007ebaSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
154104007ebaSmrg# "-sun"), then you have to tell the case statement up towards the top
154204007ebaSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
154304007ebaSmrg# will signal an error saying that MANUFACTURER isn't an operating
154404007ebaSmrg# system, and we'll never get to this point.
154504007ebaSmrg
154604007ebaSmrgcase $basic_machine in
154704007ebaSmrg	score-*)
154804007ebaSmrg		os=-elf
154904007ebaSmrg		;;
155004007ebaSmrg	spu-*)
155104007ebaSmrg		os=-elf
155204007ebaSmrg		;;
155304007ebaSmrg	*-acorn)
155404007ebaSmrg		os=-riscix1.2
155504007ebaSmrg		;;
155604007ebaSmrg	arm*-rebel)
155704007ebaSmrg		os=-linux
155804007ebaSmrg		;;
155904007ebaSmrg	arm*-semi)
156004007ebaSmrg		os=-aout
156104007ebaSmrg		;;
156204007ebaSmrg	c4x-* | tic4x-*)
156304007ebaSmrg		os=-coff
156404007ebaSmrg		;;
156504007ebaSmrg	c8051-*)
156604007ebaSmrg		os=-elf
156704007ebaSmrg		;;
156804007ebaSmrg	hexagon-*)
156904007ebaSmrg		os=-elf
157004007ebaSmrg		;;
157104007ebaSmrg	tic54x-*)
157204007ebaSmrg		os=-coff
157304007ebaSmrg		;;
157404007ebaSmrg	tic55x-*)
157504007ebaSmrg		os=-coff
157604007ebaSmrg		;;
157704007ebaSmrg	tic6x-*)
157804007ebaSmrg		os=-coff
157904007ebaSmrg		;;
158004007ebaSmrg	# This must come before the *-dec entry.
158104007ebaSmrg	pdp10-*)
158204007ebaSmrg		os=-tops20
158304007ebaSmrg		;;
158404007ebaSmrg	pdp11-*)
158504007ebaSmrg		os=-none
158604007ebaSmrg		;;
158704007ebaSmrg	*-dec | vax-*)
158804007ebaSmrg		os=-ultrix4.2
158904007ebaSmrg		;;
159004007ebaSmrg	m68*-apollo)
159104007ebaSmrg		os=-domain
159204007ebaSmrg		;;
159304007ebaSmrg	i386-sun)
159404007ebaSmrg		os=-sunos4.0.2
159504007ebaSmrg		;;
159604007ebaSmrg	m68000-sun)
159704007ebaSmrg		os=-sunos3
159804007ebaSmrg		;;
159904007ebaSmrg	m68*-cisco)
160004007ebaSmrg		os=-aout
160104007ebaSmrg		;;
160204007ebaSmrg	mep-*)
160304007ebaSmrg		os=-elf
160404007ebaSmrg		;;
160504007ebaSmrg	mips*-cisco)
160604007ebaSmrg		os=-elf
160704007ebaSmrg		;;
160804007ebaSmrg	mips*-*)
160904007ebaSmrg		os=-elf
161004007ebaSmrg		;;
161104007ebaSmrg	or32-*)
161204007ebaSmrg		os=-coff
161304007ebaSmrg		;;
161404007ebaSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
161504007ebaSmrg		os=-sysv3
161604007ebaSmrg		;;
161704007ebaSmrg	sparc-* | *-sun)
161804007ebaSmrg		os=-sunos4.1.1
161904007ebaSmrg		;;
162005cf1079Smrg	pru-*)
162105cf1079Smrg		os=-elf
162205cf1079Smrg		;;
162304007ebaSmrg	*-be)
162404007ebaSmrg		os=-beos
162504007ebaSmrg		;;
162604007ebaSmrg	*-ibm)
162704007ebaSmrg		os=-aix
162804007ebaSmrg		;;
162904007ebaSmrg	*-knuth)
163004007ebaSmrg		os=-mmixware
163104007ebaSmrg		;;
163204007ebaSmrg	*-wec)
163304007ebaSmrg		os=-proelf
163404007ebaSmrg		;;
163504007ebaSmrg	*-winbond)
163604007ebaSmrg		os=-proelf
163704007ebaSmrg		;;
163804007ebaSmrg	*-oki)
163904007ebaSmrg		os=-proelf
164004007ebaSmrg		;;
164104007ebaSmrg	*-hp)
164204007ebaSmrg		os=-hpux
164304007ebaSmrg		;;
164404007ebaSmrg	*-hitachi)
164504007ebaSmrg		os=-hiux
164604007ebaSmrg		;;
164704007ebaSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
164804007ebaSmrg		os=-sysv
164904007ebaSmrg		;;
165004007ebaSmrg	*-cbm)
165104007ebaSmrg		os=-amigaos
165204007ebaSmrg		;;
165304007ebaSmrg	*-dg)
165404007ebaSmrg		os=-dgux
165504007ebaSmrg		;;
165604007ebaSmrg	*-dolphin)
165704007ebaSmrg		os=-sysv3
165804007ebaSmrg		;;
165904007ebaSmrg	m68k-ccur)
166004007ebaSmrg		os=-rtu
166104007ebaSmrg		;;
166204007ebaSmrg	m88k-omron*)
166304007ebaSmrg		os=-luna
166404007ebaSmrg		;;
166505cf1079Smrg	*-next)
166604007ebaSmrg		os=-nextstep
166704007ebaSmrg		;;
166804007ebaSmrg	*-sequent)
166904007ebaSmrg		os=-ptx
167004007ebaSmrg		;;
167104007ebaSmrg	*-crds)
167204007ebaSmrg		os=-unos
167304007ebaSmrg		;;
167404007ebaSmrg	*-ns)
167504007ebaSmrg		os=-genix
167604007ebaSmrg		;;
167704007ebaSmrg	i370-*)
167804007ebaSmrg		os=-mvs
167904007ebaSmrg		;;
168004007ebaSmrg	*-gould)
168104007ebaSmrg		os=-sysv
168204007ebaSmrg		;;
168304007ebaSmrg	*-highlevel)
168404007ebaSmrg		os=-bsd
168504007ebaSmrg		;;
168604007ebaSmrg	*-encore)
168704007ebaSmrg		os=-bsd
168804007ebaSmrg		;;
168904007ebaSmrg	*-sgi)
169004007ebaSmrg		os=-irix
169104007ebaSmrg		;;
169204007ebaSmrg	*-siemens)
169304007ebaSmrg		os=-sysv4
169404007ebaSmrg		;;
169504007ebaSmrg	*-masscomp)
169604007ebaSmrg		os=-rtu
169704007ebaSmrg		;;
169804007ebaSmrg	f30[01]-fujitsu | f700-fujitsu)
169904007ebaSmrg		os=-uxpv
170004007ebaSmrg		;;
170104007ebaSmrg	*-rom68k)
170204007ebaSmrg		os=-coff
170304007ebaSmrg		;;
170404007ebaSmrg	*-*bug)
170504007ebaSmrg		os=-coff
170604007ebaSmrg		;;
170704007ebaSmrg	*-apple)
170804007ebaSmrg		os=-macos
170904007ebaSmrg		;;
171004007ebaSmrg	*-atari*)
171104007ebaSmrg		os=-mint
171204007ebaSmrg		;;
171304007ebaSmrg	*)
171404007ebaSmrg		os=-none
171504007ebaSmrg		;;
171604007ebaSmrgesac
171704007ebaSmrgfi
171804007ebaSmrg
171904007ebaSmrg# Here we handle the case where we know the os, and the CPU type, but not the
172004007ebaSmrg# manufacturer.  We pick the logical manufacturer.
172104007ebaSmrgvendor=unknown
172204007ebaSmrgcase $basic_machine in
172304007ebaSmrg	*-unknown)
172404007ebaSmrg		case $os in
172504007ebaSmrg			-riscix*)
172604007ebaSmrg				vendor=acorn
172704007ebaSmrg				;;
172804007ebaSmrg			-sunos*)
172904007ebaSmrg				vendor=sun
173004007ebaSmrg				;;
173104007ebaSmrg			-cnk*|-aix*)
173204007ebaSmrg				vendor=ibm
173304007ebaSmrg				;;
173404007ebaSmrg			-beos*)
173504007ebaSmrg				vendor=be
173604007ebaSmrg				;;
173704007ebaSmrg			-hpux*)
173804007ebaSmrg				vendor=hp
173904007ebaSmrg				;;
174004007ebaSmrg			-mpeix*)
174104007ebaSmrg				vendor=hp
174204007ebaSmrg				;;
174304007ebaSmrg			-hiux*)
174404007ebaSmrg				vendor=hitachi
174504007ebaSmrg				;;
174604007ebaSmrg			-unos*)
174704007ebaSmrg				vendor=crds
174804007ebaSmrg				;;
174904007ebaSmrg			-dgux*)
175004007ebaSmrg				vendor=dg
175104007ebaSmrg				;;
175204007ebaSmrg			-luna*)
175304007ebaSmrg				vendor=omron
175404007ebaSmrg				;;
175504007ebaSmrg			-genix*)
175604007ebaSmrg				vendor=ns
175704007ebaSmrg				;;
175804007ebaSmrg			-mvs* | -opened*)
175904007ebaSmrg				vendor=ibm
176004007ebaSmrg				;;
176104007ebaSmrg			-os400*)
176204007ebaSmrg				vendor=ibm
176304007ebaSmrg				;;
176404007ebaSmrg			-ptx*)
176504007ebaSmrg				vendor=sequent
176604007ebaSmrg				;;
176704007ebaSmrg			-tpf*)
176804007ebaSmrg				vendor=ibm
176904007ebaSmrg				;;
177004007ebaSmrg			-vxsim* | -vxworks* | -windiss*)
177104007ebaSmrg				vendor=wrs
177204007ebaSmrg				;;
177304007ebaSmrg			-aux*)
177404007ebaSmrg				vendor=apple
177504007ebaSmrg				;;
177604007ebaSmrg			-hms*)
177704007ebaSmrg				vendor=hitachi
177804007ebaSmrg				;;
177904007ebaSmrg			-mpw* | -macos*)
178004007ebaSmrg				vendor=apple
178104007ebaSmrg				;;
178204007ebaSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
178304007ebaSmrg				vendor=atari
178404007ebaSmrg				;;
178504007ebaSmrg			-vos*)
178604007ebaSmrg				vendor=stratus
178704007ebaSmrg				;;
178804007ebaSmrg		esac
178905cf1079Smrg		basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
179004007ebaSmrg		;;
179104007ebaSmrgesac
179204007ebaSmrg
179305cf1079Smrgecho "$basic_machine$os"
179404007ebaSmrgexit
179504007ebaSmrg
179604007ebaSmrg# Local variables:
179705cf1079Smrg# eval: (add-hook 'write-file-functions 'time-stamp)
179804007ebaSmrg# time-stamp-start: "timestamp='"
179904007ebaSmrg# time-stamp-format: "%:y-%02m-%02d"
180004007ebaSmrg# time-stamp-end: "'"
180104007ebaSmrg# End:
1802