config.sub revision 93d9adc1
172b676d7Smrg#! /bin/sh
272b676d7Smrg# Configuration validation subroutine script.
393d9adc1Smrg#   Copyright 1992-2016 Free Software Foundation, Inc.
472b676d7Smrg
593d9adc1Smrgtimestamp='2016-03-30'
672b676d7Smrg
793d9adc1Smrg# This file is free software; you can redistribute it and/or modify it
893d9adc1Smrg# under the terms of the GNU General Public License as published by
993d9adc1Smrg# the Free Software Foundation; either version 3 of the License, or
1072b676d7Smrg# (at your option) any later version.
1172b676d7Smrg#
1293d9adc1Smrg# This program is distributed in the hope that it will be useful, but
1393d9adc1Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1493d9adc1Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1593d9adc1Smrg# General Public License for more details.
1672b676d7Smrg#
1772b676d7Smrg# You should have received a copy of the GNU General Public License
1893d9adc1Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1972b676d7Smrg#
2072b676d7Smrg# As a special exception to the GNU General Public License, if you
2172b676d7Smrg# distribute this file as part of a program that contains a
2272b676d7Smrg# configuration script generated by Autoconf, you may include it under
2393d9adc1Smrg# the same distribution terms that you use for the rest of that
2493d9adc1Smrg# program.  This Exception is an additional permission under section 7
2593d9adc1Smrg# of the GNU General Public License, version 3 ("GPLv3").
2672b676d7Smrg
2772b676d7Smrg
2893d9adc1Smrg# Please send patches to <config-patches@gnu.org>.
2972b676d7Smrg#
3072b676d7Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3172b676d7Smrg# Supply the specified configuration type as an argument.
3272b676d7Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
3372b676d7Smrg# Otherwise, we print the canonical config type on stdout and succeed.
3472b676d7Smrg
3574c14cd6Smrg# You can get the latest version of this script from:
3693d9adc1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
3774c14cd6Smrg
3872b676d7Smrg# This file is supposed to be the same for all GNU packages
3972b676d7Smrg# and recognize all the CPU types, system types and aliases
4072b676d7Smrg# that are meaningful with *any* GNU software.
4172b676d7Smrg# Each package is responsible for reporting which valid configurations
4272b676d7Smrg# it does not support.  The user should be able to distinguish
4372b676d7Smrg# a failure to support a valid configuration from a meaningless
4472b676d7Smrg# configuration.
4572b676d7Smrg
4672b676d7Smrg# The goal of this file is to map all the various variations of a given
4772b676d7Smrg# machine specification into a single specification in the form:
4872b676d7Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4972b676d7Smrg# or in some cases, the newer four-part form:
5072b676d7Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5172b676d7Smrg# It is wrong to echo any other type of specification.
5272b676d7Smrg
5372b676d7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
5472b676d7Smrg
5572b676d7Smrgusage="\
5693d9adc1SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
5772b676d7Smrg
5872b676d7SmrgCanonicalize a configuration name.
5972b676d7Smrg
6072b676d7SmrgOperation modes:
6172b676d7Smrg  -h, --help         print this help, then exit
6272b676d7Smrg  -t, --time-stamp   print date of last modification, then exit
6372b676d7Smrg  -v, --version      print version number, then exit
6472b676d7Smrg
6572b676d7SmrgReport bugs and patches to <config-patches@gnu.org>."
6672b676d7Smrg
6772b676d7Smrgversion="\
6872b676d7SmrgGNU config.sub ($timestamp)
6972b676d7Smrg
7093d9adc1SmrgCopyright 1992-2016 Free Software Foundation, Inc.
7172b676d7Smrg
7272b676d7SmrgThis is free software; see the source for copying conditions.  There is NO
7372b676d7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7472b676d7Smrg
7572b676d7Smrghelp="
7672b676d7SmrgTry \`$me --help' for more information."
7772b676d7Smrg
7872b676d7Smrg# Parse command line
7972b676d7Smrgwhile test $# -gt 0 ; do
8072b676d7Smrg  case $1 in
8172b676d7Smrg    --time-stamp | --time* | -t )
8272b676d7Smrg       echo "$timestamp" ; exit ;;
8372b676d7Smrg    --version | -v )
8472b676d7Smrg       echo "$version" ; exit ;;
8572b676d7Smrg    --help | --h* | -h )
8672b676d7Smrg       echo "$usage"; exit ;;
8772b676d7Smrg    -- )     # Stop option processing
8872b676d7Smrg       shift; break ;;
8972b676d7Smrg    - )	# Use stdin as input.
9072b676d7Smrg       break ;;
9172b676d7Smrg    -* )
9272b676d7Smrg       echo "$me: invalid option $1$help"
9372b676d7Smrg       exit 1 ;;
9472b676d7Smrg
9572b676d7Smrg    *local*)
9672b676d7Smrg       # First pass through any local machine types.
9772b676d7Smrg       echo $1
9872b676d7Smrg       exit ;;
9972b676d7Smrg
10072b676d7Smrg    * )
10172b676d7Smrg       break ;;
10272b676d7Smrg  esac
10372b676d7Smrgdone
10472b676d7Smrg
10572b676d7Smrgcase $# in
10672b676d7Smrg 0) echo "$me: missing argument$help" >&2
10772b676d7Smrg    exit 1;;
10872b676d7Smrg 1) ;;
10972b676d7Smrg *) echo "$me: too many arguments$help" >&2
11072b676d7Smrg    exit 1;;
11172b676d7Smrgesac
11272b676d7Smrg
11372b676d7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11472b676d7Smrg# Here we must recognize all the valid KERNEL-OS combinations.
11572b676d7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11672b676d7Smrgcase $maybe_os in
11774c14cd6Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
11893d9adc1Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
11993d9adc1Smrg  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
12074c14cd6Smrg  kopensolaris*-gnu* | \
12172b676d7Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12272b676d7Smrg    os=-$maybe_os
12372b676d7Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12472b676d7Smrg    ;;
12593d9adc1Smrg  android-linux)
12693d9adc1Smrg    os=-linux-android
12793d9adc1Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
12893d9adc1Smrg    ;;
12972b676d7Smrg  *)
13072b676d7Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13172b676d7Smrg    if [ $basic_machine != $1 ]
13272b676d7Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13372b676d7Smrg    else os=; fi
13472b676d7Smrg    ;;
13572b676d7Smrgesac
13672b676d7Smrg
13772b676d7Smrg### Let's recognize common machines as not being operating systems so
13872b676d7Smrg### that things like config.sub decstation-3100 work.  We also
13972b676d7Smrg### recognize some manufacturers as not being operating systems, so we
14072b676d7Smrg### can provide default operating systems below.
14172b676d7Smrgcase $os in
14272b676d7Smrg	-sun*os*)
14372b676d7Smrg		# Prevent following clause from handling this invalid input.
14472b676d7Smrg		;;
14572b676d7Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14672b676d7Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14772b676d7Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14872b676d7Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14972b676d7Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15072b676d7Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15193d9adc1Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15272b676d7Smrg		os=
15372b676d7Smrg		basic_machine=$1
15472b676d7Smrg		;;
15574c14cd6Smrg	-bluegene*)
15674c14cd6Smrg		os=-cnk
15774c14cd6Smrg		;;
15872b676d7Smrg	-sim | -cisco | -oki | -wec | -winbond)
15972b676d7Smrg		os=
16072b676d7Smrg		basic_machine=$1
16172b676d7Smrg		;;
16272b676d7Smrg	-scout)
16372b676d7Smrg		;;
16472b676d7Smrg	-wrs)
16572b676d7Smrg		os=-vxworks
16672b676d7Smrg		basic_machine=$1
16772b676d7Smrg		;;
16872b676d7Smrg	-chorusos*)
16972b676d7Smrg		os=-chorusos
17072b676d7Smrg		basic_machine=$1
17172b676d7Smrg		;;
17274c14cd6Smrg	-chorusrdb)
17374c14cd6Smrg		os=-chorusrdb
17472b676d7Smrg		basic_machine=$1
17574c14cd6Smrg		;;
17672b676d7Smrg	-hiux*)
17772b676d7Smrg		os=-hiuxwe2
17872b676d7Smrg		;;
17972b676d7Smrg	-sco6)
18072b676d7Smrg		os=-sco5v6
18172b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18272b676d7Smrg		;;
18372b676d7Smrg	-sco5)
18472b676d7Smrg		os=-sco3.2v5
18572b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18672b676d7Smrg		;;
18772b676d7Smrg	-sco4)
18872b676d7Smrg		os=-sco3.2v4
18972b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19072b676d7Smrg		;;
19172b676d7Smrg	-sco3.2.[4-9]*)
19272b676d7Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19372b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19472b676d7Smrg		;;
19572b676d7Smrg	-sco3.2v[4-9]*)
19672b676d7Smrg		# Don't forget version if it is 3.2v4 or newer.
19772b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19872b676d7Smrg		;;
19972b676d7Smrg	-sco5v6*)
20072b676d7Smrg		# Don't forget version if it is 3.2v4 or newer.
20172b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20272b676d7Smrg		;;
20372b676d7Smrg	-sco*)
20472b676d7Smrg		os=-sco3.2v2
20572b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20672b676d7Smrg		;;
20772b676d7Smrg	-udk*)
20872b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20972b676d7Smrg		;;
21072b676d7Smrg	-isc)
21172b676d7Smrg		os=-isc2.2
21272b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21372b676d7Smrg		;;
21472b676d7Smrg	-clix*)
21572b676d7Smrg		basic_machine=clipper-intergraph
21672b676d7Smrg		;;
21772b676d7Smrg	-isc*)
21872b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21972b676d7Smrg		;;
22093d9adc1Smrg	-lynx*178)
22193d9adc1Smrg		os=-lynxos178
22293d9adc1Smrg		;;
22393d9adc1Smrg	-lynx*5)
22493d9adc1Smrg		os=-lynxos5
22593d9adc1Smrg		;;
22672b676d7Smrg	-lynx*)
22772b676d7Smrg		os=-lynxos
22872b676d7Smrg		;;
22972b676d7Smrg	-ptx*)
23072b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23172b676d7Smrg		;;
23272b676d7Smrg	-windowsnt*)
23372b676d7Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23472b676d7Smrg		;;
23572b676d7Smrg	-psos*)
23672b676d7Smrg		os=-psos
23772b676d7Smrg		;;
23872b676d7Smrg	-mint | -mint[0-9]*)
23972b676d7Smrg		basic_machine=m68k-atari
24072b676d7Smrg		os=-mint
24172b676d7Smrg		;;
24272b676d7Smrgesac
24372b676d7Smrg
24472b676d7Smrg# Decode aliases for certain CPU-COMPANY combinations.
24572b676d7Smrgcase $basic_machine in
24672b676d7Smrg	# Recognize the basic CPU types without company name.
24772b676d7Smrg	# Some are omitted here because they have special meanings below.
24872b676d7Smrg	1750a | 580 \
24972b676d7Smrg	| a29k \
25093d9adc1Smrg	| aarch64 | aarch64_be \
25172b676d7Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25272b676d7Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25372b676d7Smrg	| am33_2.0 \
25493d9adc1Smrg	| arc | arceb \
25593d9adc1Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
25693d9adc1Smrg	| avr | avr32 \
25793d9adc1Smrg	| ba \
25893d9adc1Smrg	| be32 | be64 \
25972b676d7Smrg	| bfin \
26093d9adc1Smrg	| c4x | c8051 | clipper \
26121525869Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
26293d9adc1Smrg	| e2k | epiphany \
26393d9adc1Smrg	| fido | fr30 | frv | ft32 \
26472b676d7Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26593d9adc1Smrg	| hexagon \
26672b676d7Smrg	| i370 | i860 | i960 | ia64 \
26772b676d7Smrg	| ip2k | iq2000 \
26893d9adc1Smrg	| k1om \
26993d9adc1Smrg	| le32 | le64 \
27074c14cd6Smrg	| lm32 \
2711fd23544Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
27293d9adc1Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27372b676d7Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27472b676d7Smrg	| mips16 \
27572b676d7Smrg	| mips64 | mips64el \
27674c14cd6Smrg	| mips64octeon | mips64octeonel \
27772b676d7Smrg	| mips64orion | mips64orionel \
27874c14cd6Smrg	| mips64r5900 | mips64r5900el \
27974c14cd6Smrg	| mips64vr | mips64vrel \
28072b676d7Smrg	| mips64vr4100 | mips64vr4100el \
28172b676d7Smrg	| mips64vr4300 | mips64vr4300el \
28272b676d7Smrg	| mips64vr5000 | mips64vr5000el \
28372b676d7Smrg	| mips64vr5900 | mips64vr5900el \
28472b676d7Smrg	| mipsisa32 | mipsisa32el \
28572b676d7Smrg	| mipsisa32r2 | mipsisa32r2el \
28693d9adc1Smrg	| mipsisa32r6 | mipsisa32r6el \
28772b676d7Smrg	| mipsisa64 | mipsisa64el \
28872b676d7Smrg	| mipsisa64r2 | mipsisa64r2el \
28993d9adc1Smrg	| mipsisa64r6 | mipsisa64r6el \
29072b676d7Smrg	| mipsisa64sb1 | mipsisa64sb1el \
29172b676d7Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
29293d9adc1Smrg	| mipsr5900 | mipsr5900el \
29372b676d7Smrg	| mipstx39 | mipstx39el \
29472b676d7Smrg	| mn10200 | mn10300 \
29574c14cd6Smrg	| moxie \
29672b676d7Smrg	| mt \
29772b676d7Smrg	| msp430 \
29874c14cd6Smrg	| nds32 | nds32le | nds32be \
29993d9adc1Smrg	| nios | nios2 | nios2eb | nios2el \
30072b676d7Smrg	| ns16k | ns32k \
30193d9adc1Smrg	| open8 | or1k | or1knd | or32 \
30272b676d7Smrg	| pdp10 | pdp11 | pj | pjl \
30393d9adc1Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30472b676d7Smrg	| pyramid \
30593d9adc1Smrg	| riscv32 | riscv64 \
30693d9adc1Smrg	| rl78 | rx \
3071fd23544Smrg	| score \
30893d9adc1Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30972b676d7Smrg	| sh64 | sh64le \
3101fd23544Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3111fd23544Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31293d9adc1Smrg	| spu \
31393d9adc1Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31474c14cd6Smrg	| ubicom32 \
31593d9adc1Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31693d9adc1Smrg	| visium \
31772b676d7Smrg	| we32k \
31893d9adc1Smrg	| x86 | xc16x | xstormy16 | xtensa \
31974c14cd6Smrg	| z8k | z80)
32072b676d7Smrg		basic_machine=$basic_machine-unknown
32172b676d7Smrg		;;
32274c14cd6Smrg	c54x)
32374c14cd6Smrg		basic_machine=tic54x-unknown
32474c14cd6Smrg		;;
32574c14cd6Smrg	c55x)
32674c14cd6Smrg		basic_machine=tic55x-unknown
32774c14cd6Smrg		;;
32874c14cd6Smrg	c6x)
32974c14cd6Smrg		basic_machine=tic6x-unknown
33074c14cd6Smrg		;;
33193d9adc1Smrg	leon|leon[3-9])
33293d9adc1Smrg		basic_machine=sparc-$basic_machine
33393d9adc1Smrg		;;
33493d9adc1Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33572b676d7Smrg		basic_machine=$basic_machine-unknown
33672b676d7Smrg		os=-none
33772b676d7Smrg		;;
33872b676d7Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33972b676d7Smrg		;;
34072b676d7Smrg	ms1)
34172b676d7Smrg		basic_machine=mt-unknown
34272b676d7Smrg		;;
34372b676d7Smrg
34493d9adc1Smrg	strongarm | thumb | xscale)
34593d9adc1Smrg		basic_machine=arm-unknown
34693d9adc1Smrg		;;
34793d9adc1Smrg	xgate)
34893d9adc1Smrg		basic_machine=$basic_machine-unknown
34993d9adc1Smrg		os=-none
35093d9adc1Smrg		;;
35193d9adc1Smrg	xscaleeb)
35293d9adc1Smrg		basic_machine=armeb-unknown
35393d9adc1Smrg		;;
35493d9adc1Smrg
35593d9adc1Smrg	xscaleel)
35693d9adc1Smrg		basic_machine=armel-unknown
35793d9adc1Smrg		;;
35893d9adc1Smrg
35972b676d7Smrg	# We use `pc' rather than `unknown'
36072b676d7Smrg	# because (1) that's what they normally are, and
36172b676d7Smrg	# (2) the word "unknown" tends to confuse beginning users.
36272b676d7Smrg	i*86 | x86_64)
36372b676d7Smrg	  basic_machine=$basic_machine-pc
36472b676d7Smrg	  ;;
36572b676d7Smrg	# Object if more than one company name word.
36672b676d7Smrg	*-*-*)
36772b676d7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36872b676d7Smrg		exit 1
36972b676d7Smrg		;;
37072b676d7Smrg	# Recognize the basic CPU types with company name.
37172b676d7Smrg	580-* \
37272b676d7Smrg	| a29k-* \
37393d9adc1Smrg	| aarch64-* | aarch64_be-* \
37472b676d7Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37572b676d7Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
37693d9adc1Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37772b676d7Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3781fd23544Smrg	| avr-* | avr32-* \
37993d9adc1Smrg	| ba-* \
38093d9adc1Smrg	| be32-* | be64-* \
38172b676d7Smrg	| bfin-* | bs2000-* \
38274c14cd6Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
38393d9adc1Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
38472b676d7Smrg	| d10v-* | d30v-* | dlx-* \
38593d9adc1Smrg	| e2k-* | elxsi-* \
3861fd23544Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38772b676d7Smrg	| h8300-* | h8500-* \
38872b676d7Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38993d9adc1Smrg	| hexagon-* \
39072b676d7Smrg	| i*86-* | i860-* | i960-* | ia64-* \
39172b676d7Smrg	| ip2k-* | iq2000-* \
39293d9adc1Smrg	| k1om-* \
39393d9adc1Smrg	| le32-* | le64-* \
39474c14cd6Smrg	| lm32-* \
3951fd23544Smrg	| m32c-* | m32r-* | m32rle-* \
39672b676d7Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
39793d9adc1Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
39893d9adc1Smrg	| microblaze-* | microblazeel-* \
39972b676d7Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
40072b676d7Smrg	| mips16-* \
40172b676d7Smrg	| mips64-* | mips64el-* \
40274c14cd6Smrg	| mips64octeon-* | mips64octeonel-* \
40372b676d7Smrg	| mips64orion-* | mips64orionel-* \
40474c14cd6Smrg	| mips64r5900-* | mips64r5900el-* \
40574c14cd6Smrg	| mips64vr-* | mips64vrel-* \
40672b676d7Smrg	| mips64vr4100-* | mips64vr4100el-* \
40772b676d7Smrg	| mips64vr4300-* | mips64vr4300el-* \
40872b676d7Smrg	| mips64vr5000-* | mips64vr5000el-* \
40972b676d7Smrg	| mips64vr5900-* | mips64vr5900el-* \
41072b676d7Smrg	| mipsisa32-* | mipsisa32el-* \
41172b676d7Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
41293d9adc1Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41372b676d7Smrg	| mipsisa64-* | mipsisa64el-* \
41472b676d7Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
41593d9adc1Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41672b676d7Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41772b676d7Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
41893d9adc1Smrg	| mipsr5900-* | mipsr5900el-* \
41972b676d7Smrg	| mipstx39-* | mipstx39el-* \
42072b676d7Smrg	| mmix-* \
42172b676d7Smrg	| mt-* \
42272b676d7Smrg	| msp430-* \
42374c14cd6Smrg	| nds32-* | nds32le-* | nds32be-* \
42493d9adc1Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42572b676d7Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
42693d9adc1Smrg	| open8-* \
42793d9adc1Smrg	| or1k*-* \
42872b676d7Smrg	| orion-* \
42972b676d7Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
43093d9adc1Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
43172b676d7Smrg	| pyramid-* \
43293d9adc1Smrg	| riscv32-* | riscv64-* \
43393d9adc1Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
43474c14cd6Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43572b676d7Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4361fd23544Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43772b676d7Smrg	| sparclite-* \
43893d9adc1Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
43993d9adc1Smrg	| tahoe-* \
44072b676d7Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
44193d9adc1Smrg	| tile*-* \
44272b676d7Smrg	| tron-* \
44374c14cd6Smrg	| ubicom32-* \
44493d9adc1Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44593d9adc1Smrg	| vax-* \
44693d9adc1Smrg	| visium-* \
44772b676d7Smrg	| we32k-* \
44893d9adc1Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4491fd23544Smrg	| xstormy16-* | xtensa*-* \
45072b676d7Smrg	| ymp-* \
45174c14cd6Smrg	| z8k-* | z80-*)
45272b676d7Smrg		;;
4531fd23544Smrg	# Recognize the basic CPU types without company name, with glob match.
4541fd23544Smrg	xtensa*)
4551fd23544Smrg		basic_machine=$basic_machine-unknown
45672b676d7Smrg		;;
45772b676d7Smrg	# Recognize the various machine names and aliases which stand
45872b676d7Smrg	# for a CPU type and a company and sometimes even an OS.
45972b676d7Smrg	386bsd)
46072b676d7Smrg		basic_machine=i386-unknown
46172b676d7Smrg		os=-bsd
46272b676d7Smrg		;;
46372b676d7Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46472b676d7Smrg		basic_machine=m68000-att
46572b676d7Smrg		;;
46672b676d7Smrg	3b*)
46772b676d7Smrg		basic_machine=we32k-att
46872b676d7Smrg		;;
46972b676d7Smrg	a29khif)
47072b676d7Smrg		basic_machine=a29k-amd
47172b676d7Smrg		os=-udi
47272b676d7Smrg		;;
47374c14cd6Smrg	abacus)
47472b676d7Smrg		basic_machine=abacus-unknown
47572b676d7Smrg		;;
47672b676d7Smrg	adobe68k)
47772b676d7Smrg		basic_machine=m68010-adobe
47872b676d7Smrg		os=-scout
47972b676d7Smrg		;;
48072b676d7Smrg	alliant | fx80)
48172b676d7Smrg		basic_machine=fx80-alliant
48272b676d7Smrg		;;
48372b676d7Smrg	altos | altos3068)
48472b676d7Smrg		basic_machine=m68k-altos
48572b676d7Smrg		;;
48672b676d7Smrg	am29k)
48772b676d7Smrg		basic_machine=a29k-none
48872b676d7Smrg		os=-bsd
48972b676d7Smrg		;;
49072b676d7Smrg	amd64)
49172b676d7Smrg		basic_machine=x86_64-pc
49272b676d7Smrg		;;
49372b676d7Smrg	amd64-*)
49472b676d7Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49572b676d7Smrg		;;
49672b676d7Smrg	amdahl)
49772b676d7Smrg		basic_machine=580-amdahl
49872b676d7Smrg		os=-sysv
49972b676d7Smrg		;;
50072b676d7Smrg	amiga | amiga-*)
50172b676d7Smrg		basic_machine=m68k-unknown
50272b676d7Smrg		;;
50372b676d7Smrg	amigaos | amigados)
50472b676d7Smrg		basic_machine=m68k-unknown
50572b676d7Smrg		os=-amigaos
50672b676d7Smrg		;;
50772b676d7Smrg	amigaunix | amix)
50872b676d7Smrg		basic_machine=m68k-unknown
50972b676d7Smrg		os=-sysv4
51072b676d7Smrg		;;
51172b676d7Smrg	apollo68)
51272b676d7Smrg		basic_machine=m68k-apollo
51372b676d7Smrg		os=-sysv
51472b676d7Smrg		;;
51572b676d7Smrg	apollo68bsd)
51672b676d7Smrg		basic_machine=m68k-apollo
51772b676d7Smrg		os=-bsd
51872b676d7Smrg		;;
51974c14cd6Smrg	aros)
52074c14cd6Smrg		basic_machine=i386-pc
52174c14cd6Smrg		os=-aros
52274c14cd6Smrg		;;
52393d9adc1Smrg	asmjs)
52493d9adc1Smrg		basic_machine=asmjs-unknown
52593d9adc1Smrg		;;
52672b676d7Smrg	aux)
52772b676d7Smrg		basic_machine=m68k-apple
52872b676d7Smrg		os=-aux
52972b676d7Smrg		;;
53072b676d7Smrg	balance)
53172b676d7Smrg		basic_machine=ns32k-sequent
53272b676d7Smrg		os=-dynix
53372b676d7Smrg		;;
5341fd23544Smrg	blackfin)
5351fd23544Smrg		basic_machine=bfin-unknown
5361fd23544Smrg		os=-linux
5371fd23544Smrg		;;
5381fd23544Smrg	blackfin-*)
5391fd23544Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5401fd23544Smrg		os=-linux
5411fd23544Smrg		;;
54274c14cd6Smrg	bluegene*)
54374c14cd6Smrg		basic_machine=powerpc-ibm
54474c14cd6Smrg		os=-cnk
54574c14cd6Smrg		;;
54674c14cd6Smrg	c54x-*)
54774c14cd6Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54874c14cd6Smrg		;;
54974c14cd6Smrg	c55x-*)
55074c14cd6Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
55174c14cd6Smrg		;;
55274c14cd6Smrg	c6x-*)
55374c14cd6Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
55474c14cd6Smrg		;;
55572b676d7Smrg	c90)
55672b676d7Smrg		basic_machine=c90-cray
55772b676d7Smrg		os=-unicos
55872b676d7Smrg		;;
55974c14cd6Smrg	cegcc)
56074c14cd6Smrg		basic_machine=arm-unknown
56174c14cd6Smrg		os=-cegcc
56274c14cd6Smrg		;;
56372b676d7Smrg	convex-c1)
56472b676d7Smrg		basic_machine=c1-convex
56572b676d7Smrg		os=-bsd
56672b676d7Smrg		;;
56772b676d7Smrg	convex-c2)
56872b676d7Smrg		basic_machine=c2-convex
56972b676d7Smrg		os=-bsd
57072b676d7Smrg		;;
57172b676d7Smrg	convex-c32)
57272b676d7Smrg		basic_machine=c32-convex
57372b676d7Smrg		os=-bsd
57472b676d7Smrg		;;
57572b676d7Smrg	convex-c34)
57672b676d7Smrg		basic_machine=c34-convex
57772b676d7Smrg		os=-bsd
57872b676d7Smrg		;;
57972b676d7Smrg	convex-c38)
58072b676d7Smrg		basic_machine=c38-convex
58172b676d7Smrg		os=-bsd
58272b676d7Smrg		;;
58372b676d7Smrg	cray | j90)
58472b676d7Smrg		basic_machine=j90-cray
58572b676d7Smrg		os=-unicos
58672b676d7Smrg		;;
58772b676d7Smrg	craynv)
58872b676d7Smrg		basic_machine=craynv-cray
58972b676d7Smrg		os=-unicosmp
59072b676d7Smrg		;;
59174c14cd6Smrg	cr16 | cr16-*)
5921fd23544Smrg		basic_machine=cr16-unknown
59372b676d7Smrg		os=-elf
59472b676d7Smrg		;;
59572b676d7Smrg	crds | unos)
59672b676d7Smrg		basic_machine=m68k-crds
59772b676d7Smrg		;;
59872b676d7Smrg	crisv32 | crisv32-* | etraxfs*)
59972b676d7Smrg		basic_machine=crisv32-axis
60072b676d7Smrg		;;
60172b676d7Smrg	cris | cris-* | etrax*)
60272b676d7Smrg		basic_machine=cris-axis
60372b676d7Smrg		;;
60472b676d7Smrg	crx)
60572b676d7Smrg		basic_machine=crx-unknown
60672b676d7Smrg		os=-elf
60772b676d7Smrg		;;
60872b676d7Smrg	da30 | da30-*)
60972b676d7Smrg		basic_machine=m68k-da30
61072b676d7Smrg		;;
61172b676d7Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61272b676d7Smrg		basic_machine=mips-dec
61372b676d7Smrg		;;
61472b676d7Smrg	decsystem10* | dec10*)
61572b676d7Smrg		basic_machine=pdp10-dec
61672b676d7Smrg		os=-tops10
61772b676d7Smrg		;;
61872b676d7Smrg	decsystem20* | dec20*)
61972b676d7Smrg		basic_machine=pdp10-dec
62072b676d7Smrg		os=-tops20
62172b676d7Smrg		;;
62272b676d7Smrg	delta | 3300 | motorola-3300 | motorola-delta \
62372b676d7Smrg	      | 3300-motorola | delta-motorola)
62472b676d7Smrg		basic_machine=m68k-motorola
62572b676d7Smrg		;;
62672b676d7Smrg	delta88)
62772b676d7Smrg		basic_machine=m88k-motorola
62872b676d7Smrg		os=-sysv3
62972b676d7Smrg		;;
63074c14cd6Smrg	dicos)
63174c14cd6Smrg		basic_machine=i686-pc
63274c14cd6Smrg		os=-dicos
63374c14cd6Smrg		;;
63472b676d7Smrg	djgpp)
63572b676d7Smrg		basic_machine=i586-pc
63672b676d7Smrg		os=-msdosdjgpp
63772b676d7Smrg		;;
63872b676d7Smrg	dpx20 | dpx20-*)
63972b676d7Smrg		basic_machine=rs6000-bull
64072b676d7Smrg		os=-bosx
64172b676d7Smrg		;;
64272b676d7Smrg	dpx2* | dpx2*-bull)
64372b676d7Smrg		basic_machine=m68k-bull
64472b676d7Smrg		os=-sysv3
64572b676d7Smrg		;;
64672b676d7Smrg	ebmon29k)
64772b676d7Smrg		basic_machine=a29k-amd
64872b676d7Smrg		os=-ebmon
64972b676d7Smrg		;;
65072b676d7Smrg	elxsi)
65172b676d7Smrg		basic_machine=elxsi-elxsi
65272b676d7Smrg		os=-bsd
65372b676d7Smrg		;;
65472b676d7Smrg	encore | umax | mmax)
65572b676d7Smrg		basic_machine=ns32k-encore
65672b676d7Smrg		;;
65772b676d7Smrg	es1800 | OSE68k | ose68k | ose | OSE)
65872b676d7Smrg		basic_machine=m68k-ericsson
65972b676d7Smrg		os=-ose
66072b676d7Smrg		;;
66172b676d7Smrg	fx2800)
66272b676d7Smrg		basic_machine=i860-alliant
66372b676d7Smrg		;;
66472b676d7Smrg	genix)
66572b676d7Smrg		basic_machine=ns32k-ns
66672b676d7Smrg		;;
66772b676d7Smrg	gmicro)
66872b676d7Smrg		basic_machine=tron-gmicro
66972b676d7Smrg		os=-sysv
67072b676d7Smrg		;;
67172b676d7Smrg	go32)
67272b676d7Smrg		basic_machine=i386-pc
67372b676d7Smrg		os=-go32
67472b676d7Smrg		;;
67572b676d7Smrg	h3050r* | hiux*)
67672b676d7Smrg		basic_machine=hppa1.1-hitachi
67772b676d7Smrg		os=-hiuxwe2
67872b676d7Smrg		;;
67972b676d7Smrg	h8300hms)
68072b676d7Smrg		basic_machine=h8300-hitachi
68172b676d7Smrg		os=-hms
68272b676d7Smrg		;;
68372b676d7Smrg	h8300xray)
68472b676d7Smrg		basic_machine=h8300-hitachi
68572b676d7Smrg		os=-xray
68672b676d7Smrg		;;
68772b676d7Smrg	h8500hms)
68872b676d7Smrg		basic_machine=h8500-hitachi
68972b676d7Smrg		os=-hms
69072b676d7Smrg		;;
69172b676d7Smrg	harris)
69272b676d7Smrg		basic_machine=m88k-harris
69372b676d7Smrg		os=-sysv3
69472b676d7Smrg		;;
69572b676d7Smrg	hp300-*)
69672b676d7Smrg		basic_machine=m68k-hp
69772b676d7Smrg		;;
69872b676d7Smrg	hp300bsd)
69972b676d7Smrg		basic_machine=m68k-hp
70072b676d7Smrg		os=-bsd
70172b676d7Smrg		;;
70272b676d7Smrg	hp300hpux)
70372b676d7Smrg		basic_machine=m68k-hp
70472b676d7Smrg		os=-hpux
70572b676d7Smrg		;;
70672b676d7Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
70772b676d7Smrg		basic_machine=hppa1.0-hp
70872b676d7Smrg		;;
70972b676d7Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
71072b676d7Smrg		basic_machine=m68000-hp
71172b676d7Smrg		;;
71272b676d7Smrg	hp9k3[2-9][0-9])
71372b676d7Smrg		basic_machine=m68k-hp
71472b676d7Smrg		;;
71572b676d7Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
71672b676d7Smrg		basic_machine=hppa1.0-hp
71772b676d7Smrg		;;
71872b676d7Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
71972b676d7Smrg		basic_machine=hppa1.1-hp
72072b676d7Smrg		;;
72172b676d7Smrg	hp9k78[0-9] | hp78[0-9])
72272b676d7Smrg		# FIXME: really hppa2.0-hp
72372b676d7Smrg		basic_machine=hppa1.1-hp
72472b676d7Smrg		;;
72572b676d7Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
72672b676d7Smrg		# FIXME: really hppa2.0-hp
72772b676d7Smrg		basic_machine=hppa1.1-hp
72872b676d7Smrg		;;
72972b676d7Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
73072b676d7Smrg		basic_machine=hppa1.1-hp
73172b676d7Smrg		;;
73272b676d7Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
73372b676d7Smrg		basic_machine=hppa1.0-hp
73472b676d7Smrg		;;
73572b676d7Smrg	hppa-next)
73672b676d7Smrg		os=-nextstep3
73772b676d7Smrg		;;
73872b676d7Smrg	hppaosf)
73972b676d7Smrg		basic_machine=hppa1.1-hp
74072b676d7Smrg		os=-osf
74172b676d7Smrg		;;
74272b676d7Smrg	hppro)
74372b676d7Smrg		basic_machine=hppa1.1-hp
74472b676d7Smrg		os=-proelf
74572b676d7Smrg		;;
74672b676d7Smrg	i370-ibm* | ibm*)
74772b676d7Smrg		basic_machine=i370-ibm
74872b676d7Smrg		;;
74972b676d7Smrg	i*86v32)
75072b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75172b676d7Smrg		os=-sysv32
75272b676d7Smrg		;;
75372b676d7Smrg	i*86v4*)
75472b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75572b676d7Smrg		os=-sysv4
75672b676d7Smrg		;;
75772b676d7Smrg	i*86v)
75872b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75972b676d7Smrg		os=-sysv
76072b676d7Smrg		;;
76172b676d7Smrg	i*86sol2)
76272b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76372b676d7Smrg		os=-solaris2
76472b676d7Smrg		;;
76572b676d7Smrg	i386mach)
76672b676d7Smrg		basic_machine=i386-mach
76772b676d7Smrg		os=-mach
76872b676d7Smrg		;;
76972b676d7Smrg	i386-vsta | vsta)
77072b676d7Smrg		basic_machine=i386-unknown
77172b676d7Smrg		os=-vsta
77272b676d7Smrg		;;
77372b676d7Smrg	iris | iris4d)
77472b676d7Smrg		basic_machine=mips-sgi
77572b676d7Smrg		case $os in
77672b676d7Smrg		    -irix*)
77772b676d7Smrg			;;
77872b676d7Smrg		    *)
77972b676d7Smrg			os=-irix4
78072b676d7Smrg			;;
78172b676d7Smrg		esac
78272b676d7Smrg		;;
78372b676d7Smrg	isi68 | isi)
78472b676d7Smrg		basic_machine=m68k-isi
78572b676d7Smrg		os=-sysv
78672b676d7Smrg		;;
78793d9adc1Smrg	leon-*|leon[3-9]-*)
78893d9adc1Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
78993d9adc1Smrg		;;
7901fd23544Smrg	m68knommu)
7911fd23544Smrg		basic_machine=m68k-unknown
7921fd23544Smrg		os=-linux
7931fd23544Smrg		;;
7941fd23544Smrg	m68knommu-*)
7951fd23544Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7961fd23544Smrg		os=-linux
7971fd23544Smrg		;;
79872b676d7Smrg	m88k-omron*)
79972b676d7Smrg		basic_machine=m88k-omron
80072b676d7Smrg		;;
80172b676d7Smrg	magnum | m3230)
80272b676d7Smrg		basic_machine=mips-mips
80372b676d7Smrg		os=-sysv
80472b676d7Smrg		;;
80572b676d7Smrg	merlin)
80672b676d7Smrg		basic_machine=ns32k-utek
80772b676d7Smrg		os=-sysv
80872b676d7Smrg		;;
80993d9adc1Smrg	microblaze*)
81074c14cd6Smrg		basic_machine=microblaze-xilinx
81174c14cd6Smrg		;;
81293d9adc1Smrg	mingw64)
81393d9adc1Smrg		basic_machine=x86_64-pc
81493d9adc1Smrg		os=-mingw64
81593d9adc1Smrg		;;
81672b676d7Smrg	mingw32)
81793d9adc1Smrg		basic_machine=i686-pc
81872b676d7Smrg		os=-mingw32
81972b676d7Smrg		;;
8201fd23544Smrg	mingw32ce)
8211fd23544Smrg		basic_machine=arm-unknown
8221fd23544Smrg		os=-mingw32ce
8231fd23544Smrg		;;
82472b676d7Smrg	miniframe)
82572b676d7Smrg		basic_machine=m68000-convergent
82672b676d7Smrg		;;
82772b676d7Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
82872b676d7Smrg		basic_machine=m68k-atari
82972b676d7Smrg		os=-mint
83072b676d7Smrg		;;
83121525869Smrg	mipsEE* | ee | ps2)
83221525869Smrg		basic_machine=mips64r5900el-scei
83321525869Smrg		case $os in
83421525869Smrg		    -linux*)
83521525869Smrg			;;
83621525869Smrg		    *)
83721525869Smrg			os=-elf
83821525869Smrg			;;
83921525869Smrg		esac
84021525869Smrg		;;
84121525869Smrg	iop)
84221525869Smrg		basic_machine=mipsel-scei
84321525869Smrg		os=-irx
84421525869Smrg		;;
84521525869Smrg	dvp)
84621525869Smrg		basic_machine=dvp-scei
84721525869Smrg		os=-elf
84821525869Smrg		;;
84972b676d7Smrg	mips3*-*)
85072b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
85172b676d7Smrg		;;
85272b676d7Smrg	mips3*)
85372b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
85472b676d7Smrg		;;
85572b676d7Smrg	monitor)
85672b676d7Smrg		basic_machine=m68k-rom68k
85772b676d7Smrg		os=-coff
85872b676d7Smrg		;;
85972b676d7Smrg	morphos)
86072b676d7Smrg		basic_machine=powerpc-unknown
86172b676d7Smrg		os=-morphos
86272b676d7Smrg		;;
86393d9adc1Smrg	moxiebox)
86493d9adc1Smrg		basic_machine=moxie-unknown
86593d9adc1Smrg		os=-moxiebox
86693d9adc1Smrg		;;
86772b676d7Smrg	msdos)
86872b676d7Smrg		basic_machine=i386-pc
86972b676d7Smrg		os=-msdos
87072b676d7Smrg		;;
87172b676d7Smrg	ms1-*)
87272b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
87372b676d7Smrg		;;
87493d9adc1Smrg	msys)
87593d9adc1Smrg		basic_machine=i686-pc
87693d9adc1Smrg		os=-msys
87793d9adc1Smrg		;;
87872b676d7Smrg	mvs)
87972b676d7Smrg		basic_machine=i370-ibm
88072b676d7Smrg		os=-mvs
88172b676d7Smrg		;;
88293d9adc1Smrg	nacl)
88393d9adc1Smrg		basic_machine=le32-unknown
88493d9adc1Smrg		os=-nacl
88593d9adc1Smrg		;;
88672b676d7Smrg	ncr3000)
88772b676d7Smrg		basic_machine=i486-ncr
88872b676d7Smrg		os=-sysv4
88972b676d7Smrg		;;
89072b676d7Smrg	netbsd386)
89172b676d7Smrg		basic_machine=i386-unknown
89272b676d7Smrg		os=-netbsd
89372b676d7Smrg		;;
89472b676d7Smrg	netwinder)
89572b676d7Smrg		basic_machine=armv4l-rebel
89672b676d7Smrg		os=-linux
89772b676d7Smrg		;;
89872b676d7Smrg	news | news700 | news800 | news900)
89972b676d7Smrg		basic_machine=m68k-sony
90072b676d7Smrg		os=-newsos
90172b676d7Smrg		;;
90272b676d7Smrg	news1000)
90372b676d7Smrg		basic_machine=m68030-sony
90472b676d7Smrg		os=-newsos
90572b676d7Smrg		;;
90672b676d7Smrg	news-3600 | risc-news)
90772b676d7Smrg		basic_machine=mips-sony
90872b676d7Smrg		os=-newsos
90972b676d7Smrg		;;
91072b676d7Smrg	necv70)
91172b676d7Smrg		basic_machine=v70-nec
91272b676d7Smrg		os=-sysv
91372b676d7Smrg		;;
91472b676d7Smrg	next | m*-next )
91572b676d7Smrg		basic_machine=m68k-next
91672b676d7Smrg		case $os in
91772b676d7Smrg		    -nextstep* )
91872b676d7Smrg			;;
91972b676d7Smrg		    -ns2*)
92072b676d7Smrg		      os=-nextstep2
92172b676d7Smrg			;;
92272b676d7Smrg		    *)
92372b676d7Smrg		      os=-nextstep3
92472b676d7Smrg			;;
92572b676d7Smrg		esac
92672b676d7Smrg		;;
92772b676d7Smrg	nh3000)
92872b676d7Smrg		basic_machine=m68k-harris
92972b676d7Smrg		os=-cxux
93072b676d7Smrg		;;
93172b676d7Smrg	nh[45]000)
93272b676d7Smrg		basic_machine=m88k-harris
93372b676d7Smrg		os=-cxux
93472b676d7Smrg		;;
93572b676d7Smrg	nindy960)
93672b676d7Smrg		basic_machine=i960-intel
93772b676d7Smrg		os=-nindy
93872b676d7Smrg		;;
93972b676d7Smrg	mon960)
94072b676d7Smrg		basic_machine=i960-intel
94172b676d7Smrg		os=-mon960
94272b676d7Smrg		;;
94372b676d7Smrg	nonstopux)
94472b676d7Smrg		basic_machine=mips-compaq
94572b676d7Smrg		os=-nonstopux
94672b676d7Smrg		;;
94772b676d7Smrg	np1)
94872b676d7Smrg		basic_machine=np1-gould
94972b676d7Smrg		;;
95074c14cd6Smrg	neo-tandem)
95174c14cd6Smrg		basic_machine=neo-tandem
95274c14cd6Smrg		;;
95374c14cd6Smrg	nse-tandem)
95474c14cd6Smrg		basic_machine=nse-tandem
95574c14cd6Smrg		;;
95672b676d7Smrg	nsr-tandem)
95772b676d7Smrg		basic_machine=nsr-tandem
95872b676d7Smrg		;;
95972b676d7Smrg	op50n-* | op60c-*)
96072b676d7Smrg		basic_machine=hppa1.1-oki
96172b676d7Smrg		os=-proelf
96272b676d7Smrg		;;
96372b676d7Smrg	openrisc | openrisc-*)
96472b676d7Smrg		basic_machine=or32-unknown
96572b676d7Smrg		;;
96672b676d7Smrg	os400)
96772b676d7Smrg		basic_machine=powerpc-ibm
96872b676d7Smrg		os=-os400
96972b676d7Smrg		;;
97072b676d7Smrg	OSE68000 | ose68000)
97172b676d7Smrg		basic_machine=m68000-ericsson
97272b676d7Smrg		os=-ose
97372b676d7Smrg		;;
97472b676d7Smrg	os68k)
97572b676d7Smrg		basic_machine=m68k-none
97672b676d7Smrg		os=-os68k
97772b676d7Smrg		;;
97872b676d7Smrg	pa-hitachi)
97972b676d7Smrg		basic_machine=hppa1.1-hitachi
98072b676d7Smrg		os=-hiuxwe2
98172b676d7Smrg		;;
98272b676d7Smrg	paragon)
98372b676d7Smrg		basic_machine=i860-intel
98472b676d7Smrg		os=-osf
98572b676d7Smrg		;;
9861fd23544Smrg	parisc)
9871fd23544Smrg		basic_machine=hppa-unknown
9881fd23544Smrg		os=-linux
9891fd23544Smrg		;;
9901fd23544Smrg	parisc-*)
9911fd23544Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9921fd23544Smrg		os=-linux
9931fd23544Smrg		;;
99472b676d7Smrg	pbd)
99572b676d7Smrg		basic_machine=sparc-tti
99672b676d7Smrg		;;
99772b676d7Smrg	pbb)
99872b676d7Smrg		basic_machine=m68k-tti
99972b676d7Smrg		;;
100072b676d7Smrg	pc532 | pc532-*)
100172b676d7Smrg		basic_machine=ns32k-pc532
100272b676d7Smrg		;;
100372b676d7Smrg	pc98)
100472b676d7Smrg		basic_machine=i386-pc
100572b676d7Smrg		;;
100672b676d7Smrg	pc98-*)
100772b676d7Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
100872b676d7Smrg		;;
100972b676d7Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
101072b676d7Smrg		basic_machine=i586-pc
101172b676d7Smrg		;;
101272b676d7Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
101372b676d7Smrg		basic_machine=i686-pc
101472b676d7Smrg		;;
101572b676d7Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
101672b676d7Smrg		basic_machine=i686-pc
101772b676d7Smrg		;;
101872b676d7Smrg	pentium4)
101972b676d7Smrg		basic_machine=i786-pc
102072b676d7Smrg		;;
102172b676d7Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
102272b676d7Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
102372b676d7Smrg		;;
102472b676d7Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
102572b676d7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102672b676d7Smrg		;;
102772b676d7Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
102872b676d7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102972b676d7Smrg		;;
103072b676d7Smrg	pentium4-*)
103172b676d7Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
103272b676d7Smrg		;;
103372b676d7Smrg	pn)
103472b676d7Smrg		basic_machine=pn-gould
103572b676d7Smrg		;;
103672b676d7Smrg	power)	basic_machine=power-ibm
103772b676d7Smrg		;;
103893d9adc1Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
103972b676d7Smrg		;;
104093d9adc1Smrg	ppc-* | ppcbe-*)
104193d9adc1Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
104272b676d7Smrg		;;
104372b676d7Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
104472b676d7Smrg		basic_machine=powerpcle-unknown
104572b676d7Smrg		;;
104672b676d7Smrg	ppcle-* | powerpclittle-*)
104772b676d7Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
104872b676d7Smrg		;;
104972b676d7Smrg	ppc64)	basic_machine=powerpc64-unknown
105072b676d7Smrg		;;
105172b676d7Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
105272b676d7Smrg		;;
105372b676d7Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
105472b676d7Smrg		basic_machine=powerpc64le-unknown
105572b676d7Smrg		;;
105672b676d7Smrg	ppc64le-* | powerpc64little-*)
105772b676d7Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
105872b676d7Smrg		;;
105972b676d7Smrg	ps2)
106072b676d7Smrg		basic_machine=i386-ibm
106172b676d7Smrg		;;
106272b676d7Smrg	pw32)
106372b676d7Smrg		basic_machine=i586-unknown
106472b676d7Smrg		os=-pw32
106572b676d7Smrg		;;
106693d9adc1Smrg	rdos | rdos64)
106793d9adc1Smrg		basic_machine=x86_64-pc
106893d9adc1Smrg		os=-rdos
106993d9adc1Smrg		;;
107093d9adc1Smrg	rdos32)
107172b676d7Smrg		basic_machine=i386-pc
107272b676d7Smrg		os=-rdos
107372b676d7Smrg		;;
107472b676d7Smrg	rom68k)
107572b676d7Smrg		basic_machine=m68k-rom68k
107672b676d7Smrg		os=-coff
107772b676d7Smrg		;;
107872b676d7Smrg	rm[46]00)
107972b676d7Smrg		basic_machine=mips-siemens
108072b676d7Smrg		;;
108172b676d7Smrg	rtpc | rtpc-*)
108272b676d7Smrg		basic_machine=romp-ibm
108372b676d7Smrg		;;
108472b676d7Smrg	s390 | s390-*)
108572b676d7Smrg		basic_machine=s390-ibm
108672b676d7Smrg		;;
108772b676d7Smrg	s390x | s390x-*)
108872b676d7Smrg		basic_machine=s390x-ibm
108972b676d7Smrg		;;
109072b676d7Smrg	sa29200)
109172b676d7Smrg		basic_machine=a29k-amd
109272b676d7Smrg		os=-udi
109372b676d7Smrg		;;
109472b676d7Smrg	sb1)
109572b676d7Smrg		basic_machine=mipsisa64sb1-unknown
109672b676d7Smrg		;;
109772b676d7Smrg	sb1el)
109872b676d7Smrg		basic_machine=mipsisa64sb1el-unknown
109972b676d7Smrg		;;
11001fd23544Smrg	sde)
11011fd23544Smrg		basic_machine=mipsisa32-sde
11021fd23544Smrg		os=-elf
11031fd23544Smrg		;;
110472b676d7Smrg	sei)
110572b676d7Smrg		basic_machine=mips-sei
110672b676d7Smrg		os=-seiux
110772b676d7Smrg		;;
110872b676d7Smrg	sequent)
110972b676d7Smrg		basic_machine=i386-sequent
111072b676d7Smrg		;;
111172b676d7Smrg	sh)
111272b676d7Smrg		basic_machine=sh-hitachi
111372b676d7Smrg		os=-hms
111472b676d7Smrg		;;
11151fd23544Smrg	sh5el)
11161fd23544Smrg		basic_machine=sh5le-unknown
11171fd23544Smrg		;;
111872b676d7Smrg	sh64)
111972b676d7Smrg		basic_machine=sh64-unknown
112072b676d7Smrg		;;
112172b676d7Smrg	sparclite-wrs | simso-wrs)
112272b676d7Smrg		basic_machine=sparclite-wrs
112372b676d7Smrg		os=-vxworks
112472b676d7Smrg		;;
112572b676d7Smrg	sps7)
112672b676d7Smrg		basic_machine=m68k-bull
112772b676d7Smrg		os=-sysv2
112872b676d7Smrg		;;
112972b676d7Smrg	spur)
113072b676d7Smrg		basic_machine=spur-unknown
113172b676d7Smrg		;;
113272b676d7Smrg	st2000)
113372b676d7Smrg		basic_machine=m68k-tandem
113472b676d7Smrg		;;
113572b676d7Smrg	stratus)
113672b676d7Smrg		basic_machine=i860-stratus
113772b676d7Smrg		os=-sysv4
113872b676d7Smrg		;;
113993d9adc1Smrg	strongarm-* | thumb-*)
114093d9adc1Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
114193d9adc1Smrg		;;
114272b676d7Smrg	sun2)
114372b676d7Smrg		basic_machine=m68000-sun
114472b676d7Smrg		;;
114572b676d7Smrg	sun2os3)
114672b676d7Smrg		basic_machine=m68000-sun
114772b676d7Smrg		os=-sunos3
114872b676d7Smrg		;;
114972b676d7Smrg	sun2os4)
115072b676d7Smrg		basic_machine=m68000-sun
115172b676d7Smrg		os=-sunos4
115272b676d7Smrg		;;
115372b676d7Smrg	sun3os3)
115472b676d7Smrg		basic_machine=m68k-sun
115572b676d7Smrg		os=-sunos3
115672b676d7Smrg		;;
115772b676d7Smrg	sun3os4)
115872b676d7Smrg		basic_machine=m68k-sun
115972b676d7Smrg		os=-sunos4
116072b676d7Smrg		;;
116172b676d7Smrg	sun4os3)
116272b676d7Smrg		basic_machine=sparc-sun
116372b676d7Smrg		os=-sunos3
116472b676d7Smrg		;;
116572b676d7Smrg	sun4os4)
116672b676d7Smrg		basic_machine=sparc-sun
116772b676d7Smrg		os=-sunos4
116872b676d7Smrg		;;
116972b676d7Smrg	sun4sol2)
117072b676d7Smrg		basic_machine=sparc-sun
117172b676d7Smrg		os=-solaris2
117272b676d7Smrg		;;
117372b676d7Smrg	sun3 | sun3-*)
117472b676d7Smrg		basic_machine=m68k-sun
117572b676d7Smrg		;;
117672b676d7Smrg	sun4)
117772b676d7Smrg		basic_machine=sparc-sun
117872b676d7Smrg		;;
117972b676d7Smrg	sun386 | sun386i | roadrunner)
118072b676d7Smrg		basic_machine=i386-sun
118172b676d7Smrg		;;
118272b676d7Smrg	sv1)
118372b676d7Smrg		basic_machine=sv1-cray
118472b676d7Smrg		os=-unicos
118572b676d7Smrg		;;
118672b676d7Smrg	symmetry)
118772b676d7Smrg		basic_machine=i386-sequent
118872b676d7Smrg		os=-dynix
118972b676d7Smrg		;;
119072b676d7Smrg	t3e)
119172b676d7Smrg		basic_machine=alphaev5-cray
119272b676d7Smrg		os=-unicos
119372b676d7Smrg		;;
119472b676d7Smrg	t90)
119572b676d7Smrg		basic_machine=t90-cray
119672b676d7Smrg		os=-unicos
119772b676d7Smrg		;;
11981fd23544Smrg	tile*)
119993d9adc1Smrg		basic_machine=$basic_machine-unknown
12001fd23544Smrg		os=-linux-gnu
12011fd23544Smrg		;;
120272b676d7Smrg	tx39)
120372b676d7Smrg		basic_machine=mipstx39-unknown
120472b676d7Smrg		;;
120572b676d7Smrg	tx39el)
120672b676d7Smrg		basic_machine=mipstx39el-unknown
120772b676d7Smrg		;;
120872b676d7Smrg	toad1)
120972b676d7Smrg		basic_machine=pdp10-xkl
121072b676d7Smrg		os=-tops20
121172b676d7Smrg		;;
121272b676d7Smrg	tower | tower-32)
121372b676d7Smrg		basic_machine=m68k-ncr
121472b676d7Smrg		;;
121572b676d7Smrg	tpf)
121672b676d7Smrg		basic_machine=s390x-ibm
121772b676d7Smrg		os=-tpf
121872b676d7Smrg		;;
121972b676d7Smrg	udi29k)
122072b676d7Smrg		basic_machine=a29k-amd
122172b676d7Smrg		os=-udi
122272b676d7Smrg		;;
122372b676d7Smrg	ultra3)
122472b676d7Smrg		basic_machine=a29k-nyu
122572b676d7Smrg		os=-sym1
122672b676d7Smrg		;;
122772b676d7Smrg	v810 | necv810)
122872b676d7Smrg		basic_machine=v810-nec
122972b676d7Smrg		os=-none
123072b676d7Smrg		;;
123172b676d7Smrg	vaxv)
123272b676d7Smrg		basic_machine=vax-dec
123372b676d7Smrg		os=-sysv
123472b676d7Smrg		;;
123572b676d7Smrg	vms)
123672b676d7Smrg		basic_machine=vax-dec
123772b676d7Smrg		os=-vms
123872b676d7Smrg		;;
123972b676d7Smrg	vpp*|vx|vx-*)
124072b676d7Smrg		basic_machine=f301-fujitsu
124172b676d7Smrg		;;
124272b676d7Smrg	vxworks960)
124372b676d7Smrg		basic_machine=i960-wrs
124472b676d7Smrg		os=-vxworks
124572b676d7Smrg		;;
124672b676d7Smrg	vxworks68)
124772b676d7Smrg		basic_machine=m68k-wrs
124872b676d7Smrg		os=-vxworks
124972b676d7Smrg		;;
125072b676d7Smrg	vxworks29k)
125172b676d7Smrg		basic_machine=a29k-wrs
125272b676d7Smrg		os=-vxworks
125372b676d7Smrg		;;
125472b676d7Smrg	w65*)
125572b676d7Smrg		basic_machine=w65-wdc
125672b676d7Smrg		os=-none
125772b676d7Smrg		;;
125872b676d7Smrg	w89k-*)
125972b676d7Smrg		basic_machine=hppa1.1-winbond
126072b676d7Smrg		os=-proelf
126172b676d7Smrg		;;
126272b676d7Smrg	xbox)
126372b676d7Smrg		basic_machine=i686-pc
126472b676d7Smrg		os=-mingw32
126572b676d7Smrg		;;
126672b676d7Smrg	xps | xps100)
126772b676d7Smrg		basic_machine=xps100-honeywell
126872b676d7Smrg		;;
126993d9adc1Smrg	xscale-* | xscalee[bl]-*)
127093d9adc1Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
127193d9adc1Smrg		;;
127272b676d7Smrg	ymp)
127372b676d7Smrg		basic_machine=ymp-cray
127472b676d7Smrg		os=-unicos
127572b676d7Smrg		;;
127672b676d7Smrg	z8k-*-coff)
127772b676d7Smrg		basic_machine=z8k-unknown
127872b676d7Smrg		os=-sim
127972b676d7Smrg		;;
128074c14cd6Smrg	z80-*-coff)
128174c14cd6Smrg		basic_machine=z80-unknown
128274c14cd6Smrg		os=-sim
128374c14cd6Smrg		;;
128472b676d7Smrg	none)
128572b676d7Smrg		basic_machine=none-none
128672b676d7Smrg		os=-none
128772b676d7Smrg		;;
128872b676d7Smrg
128972b676d7Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
129072b676d7Smrg# some cases the only manufacturer, in others, it is the most popular.
129172b676d7Smrg	w89k)
129272b676d7Smrg		basic_machine=hppa1.1-winbond
129372b676d7Smrg		;;
129472b676d7Smrg	op50n)
129572b676d7Smrg		basic_machine=hppa1.1-oki
129672b676d7Smrg		;;
129772b676d7Smrg	op60c)
129872b676d7Smrg		basic_machine=hppa1.1-oki
129972b676d7Smrg		;;
130072b676d7Smrg	romp)
130172b676d7Smrg		basic_machine=romp-ibm
130272b676d7Smrg		;;
130372b676d7Smrg	mmix)
130472b676d7Smrg		basic_machine=mmix-knuth
130572b676d7Smrg		;;
130672b676d7Smrg	rs6000)
130772b676d7Smrg		basic_machine=rs6000-ibm
130872b676d7Smrg		;;
130972b676d7Smrg	vax)
131072b676d7Smrg		basic_machine=vax-dec
131172b676d7Smrg		;;
131272b676d7Smrg	pdp10)
131372b676d7Smrg		# there are many clones, so DEC is not a safe bet
131472b676d7Smrg		basic_machine=pdp10-unknown
131572b676d7Smrg		;;
131672b676d7Smrg	pdp11)
131772b676d7Smrg		basic_machine=pdp11-dec
131872b676d7Smrg		;;
131972b676d7Smrg	we32k)
132072b676d7Smrg		basic_machine=we32k-att
132172b676d7Smrg		;;
132274c14cd6Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
132372b676d7Smrg		basic_machine=sh-unknown
132472b676d7Smrg		;;
13251fd23544Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
132672b676d7Smrg		basic_machine=sparc-sun
132772b676d7Smrg		;;
132872b676d7Smrg	cydra)
132972b676d7Smrg		basic_machine=cydra-cydrome
133072b676d7Smrg		;;
133172b676d7Smrg	orion)
133272b676d7Smrg		basic_machine=orion-highlevel
133372b676d7Smrg		;;
133472b676d7Smrg	orion105)
133572b676d7Smrg		basic_machine=clipper-highlevel
133672b676d7Smrg		;;
133772b676d7Smrg	mac | mpw | mac-mpw)
133872b676d7Smrg		basic_machine=m68k-apple
133972b676d7Smrg		;;
134072b676d7Smrg	pmac | pmac-mpw)
134172b676d7Smrg		basic_machine=powerpc-apple
134272b676d7Smrg		;;
134372b676d7Smrg	*-unknown)
134472b676d7Smrg		# Make sure to match an already-canonicalized machine name.
134572b676d7Smrg		;;
134672b676d7Smrg	*)
134772b676d7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
134872b676d7Smrg		exit 1
134972b676d7Smrg		;;
135072b676d7Smrgesac
135172b676d7Smrg
135272b676d7Smrg# Here we canonicalize certain aliases for manufacturers.
135372b676d7Smrgcase $basic_machine in
135472b676d7Smrg	*-digital*)
135572b676d7Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
135672b676d7Smrg		;;
135772b676d7Smrg	*-commodore*)
135872b676d7Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
135972b676d7Smrg		;;
136072b676d7Smrg	*)
136172b676d7Smrg		;;
136272b676d7Smrgesac
136372b676d7Smrg
136472b676d7Smrg# Decode manufacturer-specific aliases for certain operating systems.
136572b676d7Smrg
136672b676d7Smrgif [ x"$os" != x"" ]
136772b676d7Smrgthen
136872b676d7Smrgcase $os in
136974c14cd6Smrg	# First match some system type aliases
137074c14cd6Smrg	# that might get confused with valid system types.
137172b676d7Smrg	# -solaris* is a basic system type, with this one exception.
137274c14cd6Smrg	-auroraux)
137374c14cd6Smrg		os=-auroraux
137474c14cd6Smrg		;;
137572b676d7Smrg	-solaris1 | -solaris1.*)
137672b676d7Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
137772b676d7Smrg		;;
137872b676d7Smrg	-solaris)
137972b676d7Smrg		os=-solaris2
138072b676d7Smrg		;;
138172b676d7Smrg	-svr4*)
138272b676d7Smrg		os=-sysv4
138372b676d7Smrg		;;
138472b676d7Smrg	-unixware*)
138572b676d7Smrg		os=-sysv4.2uw
138672b676d7Smrg		;;
138772b676d7Smrg	-gnu/linux*)
138872b676d7Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
138972b676d7Smrg		;;
139072b676d7Smrg	# First accept the basic system types.
139172b676d7Smrg	# The portable systems comes first.
139272b676d7Smrg	# Each alternative MUST END IN A *, to match a version number.
139372b676d7Smrg	# -sysv* is not here because it comes later, after sysvr4.
139472b676d7Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
139574c14cd6Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
139674c14cd6Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
139793d9adc1Smrg	      | -sym* | -kopensolaris* | -plan9* \
139872b676d7Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
139993d9adc1Smrg	      | -aos* | -aros* | -cloudabi* | -sortix* \
140072b676d7Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
140172b676d7Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
140272b676d7Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
140393d9adc1Smrg	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
140472b676d7Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
140572b676d7Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
140672b676d7Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
140772b676d7Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
140874c14cd6Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
140993d9adc1Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
141093d9adc1Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
141193d9adc1Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
141293d9adc1Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
141372b676d7Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
141472b676d7Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
141521525869Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
141672b676d7Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
141772b676d7Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
141872b676d7Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
141993d9adc1Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
142093d9adc1Smrg	      | -onefs* | -tirtos*)
142172b676d7Smrg	# Remember, each alternative MUST END IN *, to match a version number.
142272b676d7Smrg		;;
142372b676d7Smrg	-qnx*)
142472b676d7Smrg		case $basic_machine in
142572b676d7Smrg		    x86-* | i*86-*)
142672b676d7Smrg			;;
142772b676d7Smrg		    *)
142872b676d7Smrg			os=-nto$os
142972b676d7Smrg			;;
143072b676d7Smrg		esac
143172b676d7Smrg		;;
143272b676d7Smrg	-nto-qnx*)
143372b676d7Smrg		;;
143472b676d7Smrg	-nto*)
143572b676d7Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
143672b676d7Smrg		;;
143772b676d7Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
143872b676d7Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
143972b676d7Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
144072b676d7Smrg		;;
144172b676d7Smrg	-mac*)
144272b676d7Smrg		os=`echo $os | sed -e 's|mac|macos|'`
144372b676d7Smrg		;;
144472b676d7Smrg	-linux-dietlibc)
144572b676d7Smrg		os=-linux-dietlibc
144672b676d7Smrg		;;
144772b676d7Smrg	-linux*)
144872b676d7Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
144972b676d7Smrg		;;
145072b676d7Smrg	-sunos5*)
145172b676d7Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
145272b676d7Smrg		;;
145372b676d7Smrg	-sunos6*)
145472b676d7Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
145572b676d7Smrg		;;
145672b676d7Smrg	-opened*)
145772b676d7Smrg		os=-openedition
145872b676d7Smrg		;;
145974c14cd6Smrg	-os400*)
146072b676d7Smrg		os=-os400
146172b676d7Smrg		;;
146272b676d7Smrg	-wince*)
146372b676d7Smrg		os=-wince
146472b676d7Smrg		;;
146572b676d7Smrg	-osfrose*)
146672b676d7Smrg		os=-osfrose
146772b676d7Smrg		;;
146872b676d7Smrg	-osf*)
146972b676d7Smrg		os=-osf
147072b676d7Smrg		;;
147172b676d7Smrg	-utek*)
147272b676d7Smrg		os=-bsd
147372b676d7Smrg		;;
147472b676d7Smrg	-dynix*)
147572b676d7Smrg		os=-bsd
147672b676d7Smrg		;;
147772b676d7Smrg	-acis*)
147872b676d7Smrg		os=-aos
147972b676d7Smrg		;;
148072b676d7Smrg	-atheos*)
148172b676d7Smrg		os=-atheos
148272b676d7Smrg		;;
148372b676d7Smrg	-syllable*)
148472b676d7Smrg		os=-syllable
148572b676d7Smrg		;;
148672b676d7Smrg	-386bsd)
148772b676d7Smrg		os=-bsd
148872b676d7Smrg		;;
148972b676d7Smrg	-ctix* | -uts*)
149072b676d7Smrg		os=-sysv
149172b676d7Smrg		;;
149272b676d7Smrg	-nova*)
149372b676d7Smrg		os=-rtmk-nova
149472b676d7Smrg		;;
149572b676d7Smrg	-ns2 )
149672b676d7Smrg		os=-nextstep2
149772b676d7Smrg		;;
149872b676d7Smrg	-nsk*)
149972b676d7Smrg		os=-nsk
150072b676d7Smrg		;;
150172b676d7Smrg	# Preserve the version number of sinix5.
150272b676d7Smrg	-sinix5.*)
150372b676d7Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
150472b676d7Smrg		;;
150572b676d7Smrg	-sinix*)
150672b676d7Smrg		os=-sysv4
150772b676d7Smrg		;;
150874c14cd6Smrg	-tpf*)
150972b676d7Smrg		os=-tpf
151072b676d7Smrg		;;
151172b676d7Smrg	-triton*)
151272b676d7Smrg		os=-sysv3
151372b676d7Smrg		;;
151472b676d7Smrg	-oss*)
151572b676d7Smrg		os=-sysv3
151672b676d7Smrg		;;
151772b676d7Smrg	-svr4)
151872b676d7Smrg		os=-sysv4
151972b676d7Smrg		;;
152072b676d7Smrg	-svr3)
152172b676d7Smrg		os=-sysv3
152272b676d7Smrg		;;
152372b676d7Smrg	-sysvr4)
152472b676d7Smrg		os=-sysv4
152572b676d7Smrg		;;
152672b676d7Smrg	# This must come after -sysvr4.
152772b676d7Smrg	-sysv*)
152872b676d7Smrg		;;
152972b676d7Smrg	-ose*)
153072b676d7Smrg		os=-ose
153172b676d7Smrg		;;
153272b676d7Smrg	-es1800*)
153372b676d7Smrg		os=-ose
153472b676d7Smrg		;;
153572b676d7Smrg	-xenix)
153672b676d7Smrg		os=-xenix
153772b676d7Smrg		;;
153872b676d7Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
153972b676d7Smrg		os=-mint
154072b676d7Smrg		;;
154172b676d7Smrg	-aros*)
154272b676d7Smrg		os=-aros
154372b676d7Smrg		;;
154472b676d7Smrg	-zvmoe)
154572b676d7Smrg		os=-zvmoe
154672b676d7Smrg		;;
154774c14cd6Smrg	-dicos*)
154874c14cd6Smrg		os=-dicos
154974c14cd6Smrg		;;
155074c14cd6Smrg	-nacl*)
155174c14cd6Smrg		;;
155293d9adc1Smrg	-ios)
155393d9adc1Smrg		;;
155472b676d7Smrg	-none)
155572b676d7Smrg		;;
155672b676d7Smrg	*)
155772b676d7Smrg		# Get rid of the `-' at the beginning of $os.
155872b676d7Smrg		os=`echo $os | sed 's/[^-]*-//'`
155972b676d7Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
156072b676d7Smrg		exit 1
156172b676d7Smrg		;;
156272b676d7Smrgesac
156372b676d7Smrgelse
156472b676d7Smrg
156572b676d7Smrg# Here we handle the default operating systems that come with various machines.
156672b676d7Smrg# The value should be what the vendor currently ships out the door with their
156772b676d7Smrg# machine or put another way, the most popular os provided with the machine.
156872b676d7Smrg
156972b676d7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
157072b676d7Smrg# "-sun"), then you have to tell the case statement up towards the top
157172b676d7Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
157272b676d7Smrg# will signal an error saying that MANUFACTURER isn't an operating
157372b676d7Smrg# system, and we'll never get to this point.
157472b676d7Smrg
157572b676d7Smrgcase $basic_machine in
157674c14cd6Smrg	score-*)
15771fd23544Smrg		os=-elf
15781fd23544Smrg		;;
157974c14cd6Smrg	spu-*)
15801fd23544Smrg		os=-elf
15811fd23544Smrg		;;
158272b676d7Smrg	*-acorn)
158372b676d7Smrg		os=-riscix1.2
158472b676d7Smrg		;;
158572b676d7Smrg	arm*-rebel)
158672b676d7Smrg		os=-linux
158772b676d7Smrg		;;
158872b676d7Smrg	arm*-semi)
158972b676d7Smrg		os=-aout
159072b676d7Smrg		;;
159174c14cd6Smrg	c4x-* | tic4x-*)
159274c14cd6Smrg		os=-coff
159374c14cd6Smrg		;;
159493d9adc1Smrg	c8051-*)
159593d9adc1Smrg		os=-elf
159693d9adc1Smrg		;;
159793d9adc1Smrg	hexagon-*)
159893d9adc1Smrg		os=-elf
159993d9adc1Smrg		;;
160074c14cd6Smrg	tic54x-*)
160174c14cd6Smrg		os=-coff
160274c14cd6Smrg		;;
160374c14cd6Smrg	tic55x-*)
160474c14cd6Smrg		os=-coff
160574c14cd6Smrg		;;
160674c14cd6Smrg	tic6x-*)
160774c14cd6Smrg		os=-coff
16081fd23544Smrg		;;
160972b676d7Smrg	# This must come before the *-dec entry.
161072b676d7Smrg	pdp10-*)
161172b676d7Smrg		os=-tops20
161272b676d7Smrg		;;
161372b676d7Smrg	pdp11-*)
161472b676d7Smrg		os=-none
161572b676d7Smrg		;;
161672b676d7Smrg	*-dec | vax-*)
161772b676d7Smrg		os=-ultrix4.2
161872b676d7Smrg		;;
161972b676d7Smrg	m68*-apollo)
162072b676d7Smrg		os=-domain
162172b676d7Smrg		;;
162272b676d7Smrg	i386-sun)
162372b676d7Smrg		os=-sunos4.0.2
162472b676d7Smrg		;;
162572b676d7Smrg	m68000-sun)
162672b676d7Smrg		os=-sunos3
162772b676d7Smrg		;;
162872b676d7Smrg	m68*-cisco)
162972b676d7Smrg		os=-aout
163072b676d7Smrg		;;
163174c14cd6Smrg	mep-*)
16321fd23544Smrg		os=-elf
16331fd23544Smrg		;;
163472b676d7Smrg	mips*-cisco)
163572b676d7Smrg		os=-elf
163672b676d7Smrg		;;
163772b676d7Smrg	mips*-*)
163872b676d7Smrg		os=-elf
163972b676d7Smrg		;;
164072b676d7Smrg	or32-*)
164172b676d7Smrg		os=-coff
164272b676d7Smrg		;;
164372b676d7Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
164472b676d7Smrg		os=-sysv3
164572b676d7Smrg		;;
164672b676d7Smrg	sparc-* | *-sun)
164772b676d7Smrg		os=-sunos4.1.1
164872b676d7Smrg		;;
164972b676d7Smrg	*-be)
165072b676d7Smrg		os=-beos
165172b676d7Smrg		;;
165272b676d7Smrg	*-haiku)
165372b676d7Smrg		os=-haiku
165472b676d7Smrg		;;
165572b676d7Smrg	*-ibm)
165672b676d7Smrg		os=-aix
165772b676d7Smrg		;;
165874c14cd6Smrg	*-knuth)
165972b676d7Smrg		os=-mmixware
166072b676d7Smrg		;;
166172b676d7Smrg	*-wec)
166272b676d7Smrg		os=-proelf
166372b676d7Smrg		;;
166472b676d7Smrg	*-winbond)
166572b676d7Smrg		os=-proelf
166672b676d7Smrg		;;
166772b676d7Smrg	*-oki)
166872b676d7Smrg		os=-proelf
166972b676d7Smrg		;;
167072b676d7Smrg	*-hp)
167172b676d7Smrg		os=-hpux
167272b676d7Smrg		;;
167372b676d7Smrg	*-hitachi)
167472b676d7Smrg		os=-hiux
167572b676d7Smrg		;;
167672b676d7Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
167772b676d7Smrg		os=-sysv
167872b676d7Smrg		;;
167972b676d7Smrg	*-cbm)
168072b676d7Smrg		os=-amigaos
168172b676d7Smrg		;;
168272b676d7Smrg	*-dg)
168372b676d7Smrg		os=-dgux
168472b676d7Smrg		;;
168572b676d7Smrg	*-dolphin)
168672b676d7Smrg		os=-sysv3
168772b676d7Smrg		;;
168872b676d7Smrg	m68k-ccur)
168972b676d7Smrg		os=-rtu
169072b676d7Smrg		;;
169172b676d7Smrg	m88k-omron*)
169272b676d7Smrg		os=-luna
169372b676d7Smrg		;;
169472b676d7Smrg	*-next )
169572b676d7Smrg		os=-nextstep
169672b676d7Smrg		;;
169772b676d7Smrg	*-sequent)
169872b676d7Smrg		os=-ptx
169972b676d7Smrg		;;
170072b676d7Smrg	*-crds)
170172b676d7Smrg		os=-unos
170272b676d7Smrg		;;
170372b676d7Smrg	*-ns)
170472b676d7Smrg		os=-genix
170572b676d7Smrg		;;
170672b676d7Smrg	i370-*)
170772b676d7Smrg		os=-mvs
170872b676d7Smrg		;;
170972b676d7Smrg	*-next)
171072b676d7Smrg		os=-nextstep3
171172b676d7Smrg		;;
171272b676d7Smrg	*-gould)
171372b676d7Smrg		os=-sysv
171472b676d7Smrg		;;
171572b676d7Smrg	*-highlevel)
171672b676d7Smrg		os=-bsd
171772b676d7Smrg		;;
171872b676d7Smrg	*-encore)
171972b676d7Smrg		os=-bsd
172072b676d7Smrg		;;
172172b676d7Smrg	*-sgi)
172272b676d7Smrg		os=-irix
172372b676d7Smrg		;;
172472b676d7Smrg	*-siemens)
172572b676d7Smrg		os=-sysv4
172672b676d7Smrg		;;
172772b676d7Smrg	*-masscomp)
172872b676d7Smrg		os=-rtu
172972b676d7Smrg		;;
173072b676d7Smrg	f30[01]-fujitsu | f700-fujitsu)
173172b676d7Smrg		os=-uxpv
173272b676d7Smrg		;;
173372b676d7Smrg	*-rom68k)
173472b676d7Smrg		os=-coff
173572b676d7Smrg		;;
173672b676d7Smrg	*-*bug)
173772b676d7Smrg		os=-coff
173872b676d7Smrg		;;
173972b676d7Smrg	*-apple)
174072b676d7Smrg		os=-macos
174172b676d7Smrg		;;
174272b676d7Smrg	*-atari*)
174372b676d7Smrg		os=-mint
174472b676d7Smrg		;;
174572b676d7Smrg	*)
174672b676d7Smrg		os=-none
174772b676d7Smrg		;;
174872b676d7Smrgesac
174972b676d7Smrgfi
175072b676d7Smrg
175172b676d7Smrg# Here we handle the case where we know the os, and the CPU type, but not the
175272b676d7Smrg# manufacturer.  We pick the logical manufacturer.
175372b676d7Smrgvendor=unknown
175472b676d7Smrgcase $basic_machine in
175572b676d7Smrg	*-unknown)
175672b676d7Smrg		case $os in
175772b676d7Smrg			-riscix*)
175872b676d7Smrg				vendor=acorn
175972b676d7Smrg				;;
176072b676d7Smrg			-sunos*)
176172b676d7Smrg				vendor=sun
176272b676d7Smrg				;;
176374c14cd6Smrg			-cnk*|-aix*)
176472b676d7Smrg				vendor=ibm
176572b676d7Smrg				;;
176672b676d7Smrg			-beos*)
176772b676d7Smrg				vendor=be
176872b676d7Smrg				;;
176972b676d7Smrg			-hpux*)
177072b676d7Smrg				vendor=hp
177172b676d7Smrg				;;
177272b676d7Smrg			-mpeix*)
177372b676d7Smrg				vendor=hp
177472b676d7Smrg				;;
177572b676d7Smrg			-hiux*)
177672b676d7Smrg				vendor=hitachi
177772b676d7Smrg				;;
177872b676d7Smrg			-unos*)
177972b676d7Smrg				vendor=crds
178072b676d7Smrg				;;
178172b676d7Smrg			-dgux*)
178272b676d7Smrg				vendor=dg
178372b676d7Smrg				;;
178472b676d7Smrg			-luna*)
178572b676d7Smrg				vendor=omron
178672b676d7Smrg				;;
178772b676d7Smrg			-genix*)
178872b676d7Smrg				vendor=ns
178972b676d7Smrg				;;
179072b676d7Smrg			-mvs* | -opened*)
179172b676d7Smrg				vendor=ibm
179272b676d7Smrg				;;
179372b676d7Smrg			-os400*)
179472b676d7Smrg				vendor=ibm
179572b676d7Smrg				;;
179672b676d7Smrg			-ptx*)
179772b676d7Smrg				vendor=sequent
179872b676d7Smrg				;;
179972b676d7Smrg			-tpf*)
180072b676d7Smrg				vendor=ibm
180172b676d7Smrg				;;
180272b676d7Smrg			-vxsim* | -vxworks* | -windiss*)
180372b676d7Smrg				vendor=wrs
180472b676d7Smrg				;;
180572b676d7Smrg			-aux*)
180672b676d7Smrg				vendor=apple
180772b676d7Smrg				;;
180872b676d7Smrg			-hms*)
180972b676d7Smrg				vendor=hitachi
181072b676d7Smrg				;;
181172b676d7Smrg			-mpw* | -macos*)
181272b676d7Smrg				vendor=apple
181372b676d7Smrg				;;
181472b676d7Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
181572b676d7Smrg				vendor=atari
181672b676d7Smrg				;;
181772b676d7Smrg			-vos*)
181872b676d7Smrg				vendor=stratus
181972b676d7Smrg				;;
182072b676d7Smrg		esac
182172b676d7Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
182272b676d7Smrg		;;
182372b676d7Smrgesac
182472b676d7Smrg
182572b676d7Smrgecho $basic_machine$os
182672b676d7Smrgexit
182772b676d7Smrg
182872b676d7Smrg# Local variables:
182972b676d7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
183072b676d7Smrg# time-stamp-start: "timestamp='"
183172b676d7Smrg# time-stamp-format: "%:y-%02m-%02d"
183272b676d7Smrg# time-stamp-end: "'"
183372b676d7Smrg# End:
1834