config.sub revision 33dddc75
172b4363aSmrg#! /bin/sh
272b4363aSmrg# Configuration validation subroutine script.
333dddc75Smrg#   Copyright 1992-2014 Free Software Foundation, Inc.
472b4363aSmrg
533dddc75Smrgtimestamp='2014-12-03'
672b4363aSmrg
733dddc75Smrg# This file is free software; you can redistribute it and/or modify it
833dddc75Smrg# under the terms of the GNU General Public License as published by
933dddc75Smrg# the Free Software Foundation; either version 3 of the License, or
1072b4363aSmrg# (at your option) any later version.
1172b4363aSmrg#
1233dddc75Smrg# This program is distributed in the hope that it will be useful, but
1333dddc75Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1433dddc75Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1533dddc75Smrg# General Public License for more details.
1672b4363aSmrg#
1772b4363aSmrg# You should have received a copy of the GNU General Public License
1833dddc75Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1972b4363aSmrg#
2072b4363aSmrg# As a special exception to the GNU General Public License, if you
2172b4363aSmrg# distribute this file as part of a program that contains a
2272b4363aSmrg# configuration script generated by Autoconf, you may include it under
2333dddc75Smrg# the same distribution terms that you use for the rest of that
2433dddc75Smrg# program.  This Exception is an additional permission under section 7
2533dddc75Smrg# of the GNU General Public License, version 3 ("GPLv3").
2672b4363aSmrg
2772b4363aSmrg
2833dddc75Smrg# Please send patches to <config-patches@gnu.org>.
2972b4363aSmrg#
3072b4363aSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3172b4363aSmrg# Supply the specified configuration type as an argument.
3272b4363aSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3372b4363aSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3472b4363aSmrg
3508e312fdSmrg# You can get the latest version of this script from:
3608e312fdSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3708e312fdSmrg
3872b4363aSmrg# This file is supposed to be the same for all GNU packages
3972b4363aSmrg# and recognize all the CPU types, system types and aliases
4072b4363aSmrg# that are meaningful with *any* GNU software.
4172b4363aSmrg# Each package is responsible for reporting which valid configurations
4272b4363aSmrg# it does not support.  The user should be able to distinguish
4372b4363aSmrg# a failure to support a valid configuration from a meaningless
4472b4363aSmrg# configuration.
4572b4363aSmrg
4672b4363aSmrg# The goal of this file is to map all the various variations of a given
4772b4363aSmrg# machine specification into a single specification in the form:
4872b4363aSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4972b4363aSmrg# or in some cases, the newer four-part form:
5072b4363aSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5172b4363aSmrg# It is wrong to echo any other type of specification.
5272b4363aSmrg
5372b4363aSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5472b4363aSmrg
5572b4363aSmrgusage="\
5672b4363aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5772b4363aSmrg       $0 [OPTION] ALIAS
5872b4363aSmrg
5972b4363aSmrgCanonicalize a configuration name.
6072b4363aSmrg
6172b4363aSmrgOperation modes:
6272b4363aSmrg  -h, --help         print this help, then exit
6372b4363aSmrg  -t, --time-stamp   print date of last modification, then exit
6472b4363aSmrg  -v, --version      print version number, then exit
6572b4363aSmrg
6672b4363aSmrgReport bugs and patches to <config-patches@gnu.org>."
6772b4363aSmrg
6872b4363aSmrgversion="\
6972b4363aSmrgGNU config.sub ($timestamp)
7072b4363aSmrg
7133dddc75SmrgCopyright 1992-2014 Free Software Foundation, Inc.
7272b4363aSmrg
7372b4363aSmrgThis is free software; see the source for copying conditions.  There is NO
7472b4363aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7572b4363aSmrg
7672b4363aSmrghelp="
7772b4363aSmrgTry \`$me --help' for more information."
7872b4363aSmrg
7972b4363aSmrg# Parse command line
8072b4363aSmrgwhile test $# -gt 0 ; do
8172b4363aSmrg  case $1 in
8272b4363aSmrg    --time-stamp | --time* | -t )
8372b4363aSmrg       echo "$timestamp" ; exit ;;
8472b4363aSmrg    --version | -v )
8572b4363aSmrg       echo "$version" ; exit ;;
8672b4363aSmrg    --help | --h* | -h )
8772b4363aSmrg       echo "$usage"; exit ;;
8872b4363aSmrg    -- )     # Stop option processing
8972b4363aSmrg       shift; break ;;
9072b4363aSmrg    - )	# Use stdin as input.
9172b4363aSmrg       break ;;
9272b4363aSmrg    -* )
9372b4363aSmrg       echo "$me: invalid option $1$help"
9472b4363aSmrg       exit 1 ;;
9572b4363aSmrg
9672b4363aSmrg    *local*)
9772b4363aSmrg       # First pass through any local machine types.
9872b4363aSmrg       echo $1
9972b4363aSmrg       exit ;;
10072b4363aSmrg
10172b4363aSmrg    * )
10272b4363aSmrg       break ;;
10372b4363aSmrg  esac
10472b4363aSmrgdone
10572b4363aSmrg
10672b4363aSmrgcase $# in
10772b4363aSmrg 0) echo "$me: missing argument$help" >&2
10872b4363aSmrg    exit 1;;
10972b4363aSmrg 1) ;;
11072b4363aSmrg *) echo "$me: too many arguments$help" >&2
11172b4363aSmrg    exit 1;;
11272b4363aSmrgesac
11372b4363aSmrg
11472b4363aSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11572b4363aSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11672b4363aSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11772b4363aSmrgcase $maybe_os in
11808e312fdSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
11933dddc75Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12008e312fdSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
121dd77ae96Smrg  kopensolaris*-gnu* | \
12272b4363aSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12372b4363aSmrg    os=-$maybe_os
12472b4363aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12572b4363aSmrg    ;;
12633dddc75Smrg  android-linux)
12733dddc75Smrg    os=-linux-android
12833dddc75Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
12933dddc75Smrg    ;;
13072b4363aSmrg  *)
13172b4363aSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13272b4363aSmrg    if [ $basic_machine != $1 ]
13372b4363aSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13472b4363aSmrg    else os=; fi
13572b4363aSmrg    ;;
13672b4363aSmrgesac
13772b4363aSmrg
13872b4363aSmrg### Let's recognize common machines as not being operating systems so
13972b4363aSmrg### that things like config.sub decstation-3100 work.  We also
14072b4363aSmrg### recognize some manufacturers as not being operating systems, so we
14172b4363aSmrg### can provide default operating systems below.
14272b4363aSmrgcase $os in
14372b4363aSmrg	-sun*os*)
14472b4363aSmrg		# Prevent following clause from handling this invalid input.
14572b4363aSmrg		;;
14672b4363aSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14772b4363aSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14872b4363aSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14972b4363aSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15072b4363aSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15172b4363aSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15233dddc75Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15372b4363aSmrg		os=
15472b4363aSmrg		basic_machine=$1
15572b4363aSmrg		;;
15633dddc75Smrg	-bluegene*)
15733dddc75Smrg		os=-cnk
15808e312fdSmrg		;;
15972b4363aSmrg	-sim | -cisco | -oki | -wec | -winbond)
16072b4363aSmrg		os=
16172b4363aSmrg		basic_machine=$1
16272b4363aSmrg		;;
16372b4363aSmrg	-scout)
16472b4363aSmrg		;;
16572b4363aSmrg	-wrs)
16672b4363aSmrg		os=-vxworks
16772b4363aSmrg		basic_machine=$1
16872b4363aSmrg		;;
16972b4363aSmrg	-chorusos*)
17072b4363aSmrg		os=-chorusos
17172b4363aSmrg		basic_machine=$1
17272b4363aSmrg		;;
17333dddc75Smrg	-chorusrdb)
17433dddc75Smrg		os=-chorusrdb
17572b4363aSmrg		basic_machine=$1
17633dddc75Smrg		;;
17772b4363aSmrg	-hiux*)
17872b4363aSmrg		os=-hiuxwe2
17972b4363aSmrg		;;
18072b4363aSmrg	-sco6)
18172b4363aSmrg		os=-sco5v6
18272b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18372b4363aSmrg		;;
18472b4363aSmrg	-sco5)
18572b4363aSmrg		os=-sco3.2v5
18672b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18772b4363aSmrg		;;
18872b4363aSmrg	-sco4)
18972b4363aSmrg		os=-sco3.2v4
19072b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19172b4363aSmrg		;;
19272b4363aSmrg	-sco3.2.[4-9]*)
19372b4363aSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19472b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19572b4363aSmrg		;;
19672b4363aSmrg	-sco3.2v[4-9]*)
19772b4363aSmrg		# Don't forget version if it is 3.2v4 or newer.
19872b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19972b4363aSmrg		;;
20072b4363aSmrg	-sco5v6*)
20172b4363aSmrg		# Don't forget version if it is 3.2v4 or newer.
20272b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20372b4363aSmrg		;;
20472b4363aSmrg	-sco*)
20572b4363aSmrg		os=-sco3.2v2
20672b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20772b4363aSmrg		;;
20872b4363aSmrg	-udk*)
20972b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21072b4363aSmrg		;;
21172b4363aSmrg	-isc)
21272b4363aSmrg		os=-isc2.2
21372b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21472b4363aSmrg		;;
21572b4363aSmrg	-clix*)
21672b4363aSmrg		basic_machine=clipper-intergraph
21772b4363aSmrg		;;
21872b4363aSmrg	-isc*)
21972b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22072b4363aSmrg		;;
22133dddc75Smrg	-lynx*178)
22233dddc75Smrg		os=-lynxos178
22333dddc75Smrg		;;
22433dddc75Smrg	-lynx*5)
22533dddc75Smrg		os=-lynxos5
22633dddc75Smrg		;;
22772b4363aSmrg	-lynx*)
22872b4363aSmrg		os=-lynxos
22972b4363aSmrg		;;
23072b4363aSmrg	-ptx*)
23172b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23272b4363aSmrg		;;
23372b4363aSmrg	-windowsnt*)
23472b4363aSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23572b4363aSmrg		;;
23672b4363aSmrg	-psos*)
23772b4363aSmrg		os=-psos
23872b4363aSmrg		;;
23972b4363aSmrg	-mint | -mint[0-9]*)
24072b4363aSmrg		basic_machine=m68k-atari
24172b4363aSmrg		os=-mint
24272b4363aSmrg		;;
24372b4363aSmrgesac
24472b4363aSmrg
24572b4363aSmrg# Decode aliases for certain CPU-COMPANY combinations.
24672b4363aSmrgcase $basic_machine in
24772b4363aSmrg	# Recognize the basic CPU types without company name.
24872b4363aSmrg	# Some are omitted here because they have special meanings below.
24972b4363aSmrg	1750a | 580 \
25072b4363aSmrg	| a29k \
25133dddc75Smrg	| aarch64 | aarch64_be \
25272b4363aSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25372b4363aSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25472b4363aSmrg	| am33_2.0 \
25533dddc75Smrg	| arc | arceb \
25633dddc75Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
25733dddc75Smrg	| avr | avr32 \
25833dddc75Smrg	| be32 | be64 \
25972b4363aSmrg	| bfin \
26033dddc75Smrg	| c4x | c8051 | clipper \
26172b4363aSmrg	| d10v | d30v | dlx | dsp16xx \
26233dddc75Smrg	| epiphany \
263dd77ae96Smrg	| fido | fr30 | frv \
26472b4363aSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26533dddc75Smrg	| hexagon \
26672b4363aSmrg	| i370 | i860 | i960 | ia64 \
26772b4363aSmrg	| ip2k | iq2000 \
26833dddc75Smrg	| k1om \
26933dddc75Smrg	| le32 | le64 \
270dd77ae96Smrg	| lm32 \
27172b4363aSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
27233dddc75Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27372b4363aSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27472b4363aSmrg	| mips16 \
27572b4363aSmrg	| mips64 | mips64el \
276dd77ae96Smrg	| mips64octeon | mips64octeonel \
27772b4363aSmrg	| mips64orion | mips64orionel \
278dd77ae96Smrg	| mips64r5900 | mips64r5900el \
279dd77ae96Smrg	| mips64vr | mips64vrel \
28072b4363aSmrg	| mips64vr4100 | mips64vr4100el \
28172b4363aSmrg	| mips64vr4300 | mips64vr4300el \
28272b4363aSmrg	| mips64vr5000 | mips64vr5000el \
28372b4363aSmrg	| mips64vr5900 | mips64vr5900el \
28472b4363aSmrg	| mipsisa32 | mipsisa32el \
28572b4363aSmrg	| mipsisa32r2 | mipsisa32r2el \
28633dddc75Smrg	| mipsisa32r6 | mipsisa32r6el \
28772b4363aSmrg	| mipsisa64 | mipsisa64el \
28872b4363aSmrg	| mipsisa64r2 | mipsisa64r2el \
28933dddc75Smrg	| mipsisa64r6 | mipsisa64r6el \
29072b4363aSmrg	| mipsisa64sb1 | mipsisa64sb1el \
29172b4363aSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
29233dddc75Smrg	| mipsr5900 | mipsr5900el \
29372b4363aSmrg	| mipstx39 | mipstx39el \
29472b4363aSmrg	| mn10200 | mn10300 \
295dd77ae96Smrg	| moxie \
29672b4363aSmrg	| mt \
29772b4363aSmrg	| msp430 \
29808e312fdSmrg	| nds32 | nds32le | nds32be \
29933dddc75Smrg	| nios | nios2 | nios2eb | nios2el \
30072b4363aSmrg	| ns16k | ns32k \
30133dddc75Smrg	| open8 | or1k | or1knd | or32 \
30272b4363aSmrg	| pdp10 | pdp11 | pj | pjl \
30333dddc75Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30472b4363aSmrg	| pyramid \
30533dddc75Smrg	| riscv32 | riscv64 \
30633dddc75Smrg	| rl78 | rx \
30772b4363aSmrg	| score \
308dd77ae96Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30972b4363aSmrg	| sh64 | sh64le \
31072b4363aSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31172b4363aSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31233dddc75Smrg	| spu \
31333dddc75Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31408e312fdSmrg	| ubicom32 \
31533dddc75Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31633dddc75Smrg	| visium \
31772b4363aSmrg	| we32k \
31833dddc75Smrg	| x86 | xc16x | xstormy16 | xtensa \
319dd77ae96Smrg	| z8k | z80)
32072b4363aSmrg		basic_machine=$basic_machine-unknown
32172b4363aSmrg		;;
32208e312fdSmrg	c54x)
32308e312fdSmrg		basic_machine=tic54x-unknown
32408e312fdSmrg		;;
32508e312fdSmrg	c55x)
32608e312fdSmrg		basic_machine=tic55x-unknown
32708e312fdSmrg		;;
32808e312fdSmrg	c6x)
32908e312fdSmrg		basic_machine=tic6x-unknown
33008e312fdSmrg		;;
33133dddc75Smrg	leon|leon[3-9])
33233dddc75Smrg		basic_machine=sparc-$basic_machine
33333dddc75Smrg		;;
33433dddc75Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33572b4363aSmrg		basic_machine=$basic_machine-unknown
33672b4363aSmrg		os=-none
33772b4363aSmrg		;;
33872b4363aSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33972b4363aSmrg		;;
34072b4363aSmrg	ms1)
34172b4363aSmrg		basic_machine=mt-unknown
34272b4363aSmrg		;;
34372b4363aSmrg
34433dddc75Smrg	strongarm | thumb | xscale)
34533dddc75Smrg		basic_machine=arm-unknown
34633dddc75Smrg		;;
34733dddc75Smrg	xgate)
34833dddc75Smrg		basic_machine=$basic_machine-unknown
34933dddc75Smrg		os=-none
35033dddc75Smrg		;;
35133dddc75Smrg	xscaleeb)
35233dddc75Smrg		basic_machine=armeb-unknown
35333dddc75Smrg		;;
35433dddc75Smrg
35533dddc75Smrg	xscaleel)
35633dddc75Smrg		basic_machine=armel-unknown
35733dddc75Smrg		;;
35833dddc75Smrg
35972b4363aSmrg	# We use `pc' rather than `unknown'
36072b4363aSmrg	# because (1) that's what they normally are, and
36172b4363aSmrg	# (2) the word "unknown" tends to confuse beginning users.
36272b4363aSmrg	i*86 | x86_64)
36372b4363aSmrg	  basic_machine=$basic_machine-pc
36472b4363aSmrg	  ;;
36572b4363aSmrg	# Object if more than one company name word.
36672b4363aSmrg	*-*-*)
36772b4363aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36872b4363aSmrg		exit 1
36972b4363aSmrg		;;
37072b4363aSmrg	# Recognize the basic CPU types with company name.
37172b4363aSmrg	580-* \
37272b4363aSmrg	| a29k-* \
37333dddc75Smrg	| aarch64-* | aarch64_be-* \
37472b4363aSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37572b4363aSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
37633dddc75Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37772b4363aSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37872b4363aSmrg	| avr-* | avr32-* \
37933dddc75Smrg	| be32-* | be64-* \
38072b4363aSmrg	| bfin-* | bs2000-* \
38108e312fdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
38233dddc75Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
38372b4363aSmrg	| d10v-* | d30v-* | dlx-* \
38472b4363aSmrg	| elxsi-* \
385dd77ae96Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38672b4363aSmrg	| h8300-* | h8500-* \
38772b4363aSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38833dddc75Smrg	| hexagon-* \
38972b4363aSmrg	| i*86-* | i860-* | i960-* | ia64-* \
39072b4363aSmrg	| ip2k-* | iq2000-* \
39133dddc75Smrg	| k1om-* \
39233dddc75Smrg	| le32-* | le64-* \
393dd77ae96Smrg	| lm32-* \
39472b4363aSmrg	| m32c-* | m32r-* | m32rle-* \
39572b4363aSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
39633dddc75Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
39733dddc75Smrg	| microblaze-* | microblazeel-* \
39872b4363aSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39972b4363aSmrg	| mips16-* \
40072b4363aSmrg	| mips64-* | mips64el-* \
401dd77ae96Smrg	| mips64octeon-* | mips64octeonel-* \
40272b4363aSmrg	| mips64orion-* | mips64orionel-* \
403dd77ae96Smrg	| mips64r5900-* | mips64r5900el-* \
404dd77ae96Smrg	| mips64vr-* | mips64vrel-* \
40572b4363aSmrg	| mips64vr4100-* | mips64vr4100el-* \
40672b4363aSmrg	| mips64vr4300-* | mips64vr4300el-* \
40772b4363aSmrg	| mips64vr5000-* | mips64vr5000el-* \
40872b4363aSmrg	| mips64vr5900-* | mips64vr5900el-* \
40972b4363aSmrg	| mipsisa32-* | mipsisa32el-* \
41072b4363aSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
41133dddc75Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41272b4363aSmrg	| mipsisa64-* | mipsisa64el-* \
41372b4363aSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
41433dddc75Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41572b4363aSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41672b4363aSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
41733dddc75Smrg	| mipsr5900-* | mipsr5900el-* \
41872b4363aSmrg	| mipstx39-* | mipstx39el-* \
41972b4363aSmrg	| mmix-* \
42072b4363aSmrg	| mt-* \
42172b4363aSmrg	| msp430-* \
42208e312fdSmrg	| nds32-* | nds32le-* | nds32be-* \
42333dddc75Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42472b4363aSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
42533dddc75Smrg	| open8-* \
42633dddc75Smrg	| or1k*-* \
42772b4363aSmrg	| orion-* \
42872b4363aSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42933dddc75Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
43072b4363aSmrg	| pyramid-* \
43133dddc75Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
432dd77ae96Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43372b4363aSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43472b4363aSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43572b4363aSmrg	| sparclite-* \
43633dddc75Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
43733dddc75Smrg	| tahoe-* \
43808e312fdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43933dddc75Smrg	| tile*-* \
44072b4363aSmrg	| tron-* \
44108e312fdSmrg	| ubicom32-* \
44233dddc75Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44333dddc75Smrg	| vax-* \
44433dddc75Smrg	| visium-* \
44572b4363aSmrg	| we32k-* \
44633dddc75Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
447dd77ae96Smrg	| xstormy16-* | xtensa*-* \
44872b4363aSmrg	| ymp-* \
449dd77ae96Smrg	| z8k-* | z80-*)
450dd77ae96Smrg		;;
451dd77ae96Smrg	# Recognize the basic CPU types without company name, with glob match.
452dd77ae96Smrg	xtensa*)
453dd77ae96Smrg		basic_machine=$basic_machine-unknown
45472b4363aSmrg		;;
45572b4363aSmrg	# Recognize the various machine names and aliases which stand
45672b4363aSmrg	# for a CPU type and a company and sometimes even an OS.
45772b4363aSmrg	386bsd)
45872b4363aSmrg		basic_machine=i386-unknown
45972b4363aSmrg		os=-bsd
46072b4363aSmrg		;;
46172b4363aSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46272b4363aSmrg		basic_machine=m68000-att
46372b4363aSmrg		;;
46472b4363aSmrg	3b*)
46572b4363aSmrg		basic_machine=we32k-att
46672b4363aSmrg		;;
46772b4363aSmrg	a29khif)
46872b4363aSmrg		basic_machine=a29k-amd
46972b4363aSmrg		os=-udi
47072b4363aSmrg		;;
47133dddc75Smrg	abacus)
47272b4363aSmrg		basic_machine=abacus-unknown
47372b4363aSmrg		;;
47472b4363aSmrg	adobe68k)
47572b4363aSmrg		basic_machine=m68010-adobe
47672b4363aSmrg		os=-scout
47772b4363aSmrg		;;
47872b4363aSmrg	alliant | fx80)
47972b4363aSmrg		basic_machine=fx80-alliant
48072b4363aSmrg		;;
48172b4363aSmrg	altos | altos3068)
48272b4363aSmrg		basic_machine=m68k-altos
48372b4363aSmrg		;;
48472b4363aSmrg	am29k)
48572b4363aSmrg		basic_machine=a29k-none
48672b4363aSmrg		os=-bsd
48772b4363aSmrg		;;
48872b4363aSmrg	amd64)
48972b4363aSmrg		basic_machine=x86_64-pc
49072b4363aSmrg		;;
49172b4363aSmrg	amd64-*)
49272b4363aSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49372b4363aSmrg		;;
49472b4363aSmrg	amdahl)
49572b4363aSmrg		basic_machine=580-amdahl
49672b4363aSmrg		os=-sysv
49772b4363aSmrg		;;
49872b4363aSmrg	amiga | amiga-*)
49972b4363aSmrg		basic_machine=m68k-unknown
50072b4363aSmrg		;;
50172b4363aSmrg	amigaos | amigados)
50272b4363aSmrg		basic_machine=m68k-unknown
50372b4363aSmrg		os=-amigaos
50472b4363aSmrg		;;
50572b4363aSmrg	amigaunix | amix)
50672b4363aSmrg		basic_machine=m68k-unknown
50772b4363aSmrg		os=-sysv4
50872b4363aSmrg		;;
50972b4363aSmrg	apollo68)
51072b4363aSmrg		basic_machine=m68k-apollo
51172b4363aSmrg		os=-sysv
51272b4363aSmrg		;;
51372b4363aSmrg	apollo68bsd)
51472b4363aSmrg		basic_machine=m68k-apollo
51572b4363aSmrg		os=-bsd
51672b4363aSmrg		;;
517dd77ae96Smrg	aros)
518dd77ae96Smrg		basic_machine=i386-pc
519dd77ae96Smrg		os=-aros
520dd77ae96Smrg		;;
52172b4363aSmrg	aux)
52272b4363aSmrg		basic_machine=m68k-apple
52372b4363aSmrg		os=-aux
52472b4363aSmrg		;;
52572b4363aSmrg	balance)
52672b4363aSmrg		basic_machine=ns32k-sequent
52772b4363aSmrg		os=-dynix
52872b4363aSmrg		;;
529dd77ae96Smrg	blackfin)
530dd77ae96Smrg		basic_machine=bfin-unknown
531dd77ae96Smrg		os=-linux
532dd77ae96Smrg		;;
533dd77ae96Smrg	blackfin-*)
534dd77ae96Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
535dd77ae96Smrg		os=-linux
536dd77ae96Smrg		;;
53708e312fdSmrg	bluegene*)
53808e312fdSmrg		basic_machine=powerpc-ibm
53908e312fdSmrg		os=-cnk
54008e312fdSmrg		;;
54108e312fdSmrg	c54x-*)
54208e312fdSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54308e312fdSmrg		;;
54408e312fdSmrg	c55x-*)
54508e312fdSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
54608e312fdSmrg		;;
54708e312fdSmrg	c6x-*)
54808e312fdSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
54908e312fdSmrg		;;
55072b4363aSmrg	c90)
55172b4363aSmrg		basic_machine=c90-cray
55272b4363aSmrg		os=-unicos
55372b4363aSmrg		;;
55433dddc75Smrg	cegcc)
555dd77ae96Smrg		basic_machine=arm-unknown
556dd77ae96Smrg		os=-cegcc
557dd77ae96Smrg		;;
55872b4363aSmrg	convex-c1)
55972b4363aSmrg		basic_machine=c1-convex
56072b4363aSmrg		os=-bsd
56172b4363aSmrg		;;
56272b4363aSmrg	convex-c2)
56372b4363aSmrg		basic_machine=c2-convex
56472b4363aSmrg		os=-bsd
56572b4363aSmrg		;;
56672b4363aSmrg	convex-c32)
56772b4363aSmrg		basic_machine=c32-convex
56872b4363aSmrg		os=-bsd
56972b4363aSmrg		;;
57072b4363aSmrg	convex-c34)
57172b4363aSmrg		basic_machine=c34-convex
57272b4363aSmrg		os=-bsd
57372b4363aSmrg		;;
57472b4363aSmrg	convex-c38)
57572b4363aSmrg		basic_machine=c38-convex
57672b4363aSmrg		os=-bsd
57772b4363aSmrg		;;
57872b4363aSmrg	cray | j90)
57972b4363aSmrg		basic_machine=j90-cray
58072b4363aSmrg		os=-unicos
58172b4363aSmrg		;;
58272b4363aSmrg	craynv)
58372b4363aSmrg		basic_machine=craynv-cray
58472b4363aSmrg		os=-unicosmp
58572b4363aSmrg		;;
58633dddc75Smrg	cr16 | cr16-*)
587dd77ae96Smrg		basic_machine=cr16-unknown
58872b4363aSmrg		os=-elf
58972b4363aSmrg		;;
59072b4363aSmrg	crds | unos)
59172b4363aSmrg		basic_machine=m68k-crds
59272b4363aSmrg		;;
59372b4363aSmrg	crisv32 | crisv32-* | etraxfs*)
59472b4363aSmrg		basic_machine=crisv32-axis
59572b4363aSmrg		;;
59672b4363aSmrg	cris | cris-* | etrax*)
59772b4363aSmrg		basic_machine=cris-axis
59872b4363aSmrg		;;
59972b4363aSmrg	crx)
60072b4363aSmrg		basic_machine=crx-unknown
60172b4363aSmrg		os=-elf
60272b4363aSmrg		;;
60372b4363aSmrg	da30 | da30-*)
60472b4363aSmrg		basic_machine=m68k-da30
60572b4363aSmrg		;;
60672b4363aSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
60772b4363aSmrg		basic_machine=mips-dec
60872b4363aSmrg		;;
60972b4363aSmrg	decsystem10* | dec10*)
61072b4363aSmrg		basic_machine=pdp10-dec
61172b4363aSmrg		os=-tops10
61272b4363aSmrg		;;
61372b4363aSmrg	decsystem20* | dec20*)
61472b4363aSmrg		basic_machine=pdp10-dec
61572b4363aSmrg		os=-tops20
61672b4363aSmrg		;;
61772b4363aSmrg	delta | 3300 | motorola-3300 | motorola-delta \
61872b4363aSmrg	      | 3300-motorola | delta-motorola)
61972b4363aSmrg		basic_machine=m68k-motorola
62072b4363aSmrg		;;
62172b4363aSmrg	delta88)
62272b4363aSmrg		basic_machine=m88k-motorola
62372b4363aSmrg		os=-sysv3
62472b4363aSmrg		;;
625dd77ae96Smrg	dicos)
626dd77ae96Smrg		basic_machine=i686-pc
627dd77ae96Smrg		os=-dicos
628dd77ae96Smrg		;;
62972b4363aSmrg	djgpp)
63072b4363aSmrg		basic_machine=i586-pc
63172b4363aSmrg		os=-msdosdjgpp
63272b4363aSmrg		;;
63372b4363aSmrg	dpx20 | dpx20-*)
63472b4363aSmrg		basic_machine=rs6000-bull
63572b4363aSmrg		os=-bosx
63672b4363aSmrg		;;
63772b4363aSmrg	dpx2* | dpx2*-bull)
63872b4363aSmrg		basic_machine=m68k-bull
63972b4363aSmrg		os=-sysv3
64072b4363aSmrg		;;
64172b4363aSmrg	ebmon29k)
64272b4363aSmrg		basic_machine=a29k-amd
64372b4363aSmrg		os=-ebmon
64472b4363aSmrg		;;
64572b4363aSmrg	elxsi)
64672b4363aSmrg		basic_machine=elxsi-elxsi
64772b4363aSmrg		os=-bsd
64872b4363aSmrg		;;
64972b4363aSmrg	encore | umax | mmax)
65072b4363aSmrg		basic_machine=ns32k-encore
65172b4363aSmrg		;;
65272b4363aSmrg	es1800 | OSE68k | ose68k | ose | OSE)
65372b4363aSmrg		basic_machine=m68k-ericsson
65472b4363aSmrg		os=-ose
65572b4363aSmrg		;;
65672b4363aSmrg	fx2800)
65772b4363aSmrg		basic_machine=i860-alliant
65872b4363aSmrg		;;
65972b4363aSmrg	genix)
66072b4363aSmrg		basic_machine=ns32k-ns
66172b4363aSmrg		;;
66272b4363aSmrg	gmicro)
66372b4363aSmrg		basic_machine=tron-gmicro
66472b4363aSmrg		os=-sysv
66572b4363aSmrg		;;
66672b4363aSmrg	go32)
66772b4363aSmrg		basic_machine=i386-pc
66872b4363aSmrg		os=-go32
66972b4363aSmrg		;;
67072b4363aSmrg	h3050r* | hiux*)
67172b4363aSmrg		basic_machine=hppa1.1-hitachi
67272b4363aSmrg		os=-hiuxwe2
67372b4363aSmrg		;;
67472b4363aSmrg	h8300hms)
67572b4363aSmrg		basic_machine=h8300-hitachi
67672b4363aSmrg		os=-hms
67772b4363aSmrg		;;
67872b4363aSmrg	h8300xray)
67972b4363aSmrg		basic_machine=h8300-hitachi
68072b4363aSmrg		os=-xray
68172b4363aSmrg		;;
68272b4363aSmrg	h8500hms)
68372b4363aSmrg		basic_machine=h8500-hitachi
68472b4363aSmrg		os=-hms
68572b4363aSmrg		;;
68672b4363aSmrg	harris)
68772b4363aSmrg		basic_machine=m88k-harris
68872b4363aSmrg		os=-sysv3
68972b4363aSmrg		;;
69072b4363aSmrg	hp300-*)
69172b4363aSmrg		basic_machine=m68k-hp
69272b4363aSmrg		;;
69372b4363aSmrg	hp300bsd)
69472b4363aSmrg		basic_machine=m68k-hp
69572b4363aSmrg		os=-bsd
69672b4363aSmrg		;;
69772b4363aSmrg	hp300hpux)
69872b4363aSmrg		basic_machine=m68k-hp
69972b4363aSmrg		os=-hpux
70072b4363aSmrg		;;
70172b4363aSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
70272b4363aSmrg		basic_machine=hppa1.0-hp
70372b4363aSmrg		;;
70472b4363aSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
70572b4363aSmrg		basic_machine=m68000-hp
70672b4363aSmrg		;;
70772b4363aSmrg	hp9k3[2-9][0-9])
70872b4363aSmrg		basic_machine=m68k-hp
70972b4363aSmrg		;;
71072b4363aSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
71172b4363aSmrg		basic_machine=hppa1.0-hp
71272b4363aSmrg		;;
71372b4363aSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
71472b4363aSmrg		basic_machine=hppa1.1-hp
71572b4363aSmrg		;;
71672b4363aSmrg	hp9k78[0-9] | hp78[0-9])
71772b4363aSmrg		# FIXME: really hppa2.0-hp
71872b4363aSmrg		basic_machine=hppa1.1-hp
71972b4363aSmrg		;;
72072b4363aSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
72172b4363aSmrg		# FIXME: really hppa2.0-hp
72272b4363aSmrg		basic_machine=hppa1.1-hp
72372b4363aSmrg		;;
72472b4363aSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
72572b4363aSmrg		basic_machine=hppa1.1-hp
72672b4363aSmrg		;;
72772b4363aSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
72872b4363aSmrg		basic_machine=hppa1.0-hp
72972b4363aSmrg		;;
73072b4363aSmrg	hppa-next)
73172b4363aSmrg		os=-nextstep3
73272b4363aSmrg		;;
73372b4363aSmrg	hppaosf)
73472b4363aSmrg		basic_machine=hppa1.1-hp
73572b4363aSmrg		os=-osf
73672b4363aSmrg		;;
73772b4363aSmrg	hppro)
73872b4363aSmrg		basic_machine=hppa1.1-hp
73972b4363aSmrg		os=-proelf
74072b4363aSmrg		;;
74172b4363aSmrg	i370-ibm* | ibm*)
74272b4363aSmrg		basic_machine=i370-ibm
74372b4363aSmrg		;;
74472b4363aSmrg	i*86v32)
74572b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74672b4363aSmrg		os=-sysv32
74772b4363aSmrg		;;
74872b4363aSmrg	i*86v4*)
74972b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75072b4363aSmrg		os=-sysv4
75172b4363aSmrg		;;
75272b4363aSmrg	i*86v)
75372b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75472b4363aSmrg		os=-sysv
75572b4363aSmrg		;;
75672b4363aSmrg	i*86sol2)
75772b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75872b4363aSmrg		os=-solaris2
75972b4363aSmrg		;;
76072b4363aSmrg	i386mach)
76172b4363aSmrg		basic_machine=i386-mach
76272b4363aSmrg		os=-mach
76372b4363aSmrg		;;
76472b4363aSmrg	i386-vsta | vsta)
76572b4363aSmrg		basic_machine=i386-unknown
76672b4363aSmrg		os=-vsta
76772b4363aSmrg		;;
76872b4363aSmrg	iris | iris4d)
76972b4363aSmrg		basic_machine=mips-sgi
77072b4363aSmrg		case $os in
77172b4363aSmrg		    -irix*)
77272b4363aSmrg			;;
77372b4363aSmrg		    *)
77472b4363aSmrg			os=-irix4
77572b4363aSmrg			;;
77672b4363aSmrg		esac
77772b4363aSmrg		;;
77872b4363aSmrg	isi68 | isi)
77972b4363aSmrg		basic_machine=m68k-isi
78072b4363aSmrg		os=-sysv
78172b4363aSmrg		;;
78233dddc75Smrg	leon-*|leon[3-9]-*)
78333dddc75Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
78433dddc75Smrg		;;
785dd77ae96Smrg	m68knommu)
786dd77ae96Smrg		basic_machine=m68k-unknown
787dd77ae96Smrg		os=-linux
788dd77ae96Smrg		;;
789dd77ae96Smrg	m68knommu-*)
790dd77ae96Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
791dd77ae96Smrg		os=-linux
792dd77ae96Smrg		;;
79372b4363aSmrg	m88k-omron*)
79472b4363aSmrg		basic_machine=m88k-omron
79572b4363aSmrg		;;
79672b4363aSmrg	magnum | m3230)
79772b4363aSmrg		basic_machine=mips-mips
79872b4363aSmrg		os=-sysv
79972b4363aSmrg		;;
80072b4363aSmrg	merlin)
80172b4363aSmrg		basic_machine=ns32k-utek
80272b4363aSmrg		os=-sysv
80372b4363aSmrg		;;
80433dddc75Smrg	microblaze*)
80508e312fdSmrg		basic_machine=microblaze-xilinx
80608e312fdSmrg		;;
80733dddc75Smrg	mingw64)
80833dddc75Smrg		basic_machine=x86_64-pc
80933dddc75Smrg		os=-mingw64
81033dddc75Smrg		;;
81172b4363aSmrg	mingw32)
81233dddc75Smrg		basic_machine=i686-pc
81372b4363aSmrg		os=-mingw32
81472b4363aSmrg		;;
815dd77ae96Smrg	mingw32ce)
816dd77ae96Smrg		basic_machine=arm-unknown
817dd77ae96Smrg		os=-mingw32ce
818dd77ae96Smrg		;;
81972b4363aSmrg	miniframe)
82072b4363aSmrg		basic_machine=m68000-convergent
82172b4363aSmrg		;;
82272b4363aSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
82372b4363aSmrg		basic_machine=m68k-atari
82472b4363aSmrg		os=-mint
82572b4363aSmrg		;;
82672b4363aSmrg	mips3*-*)
82772b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
82872b4363aSmrg		;;
82972b4363aSmrg	mips3*)
83072b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
83172b4363aSmrg		;;
83272b4363aSmrg	monitor)
83372b4363aSmrg		basic_machine=m68k-rom68k
83472b4363aSmrg		os=-coff
83572b4363aSmrg		;;
83672b4363aSmrg	morphos)
83772b4363aSmrg		basic_machine=powerpc-unknown
83872b4363aSmrg		os=-morphos
83972b4363aSmrg		;;
84033dddc75Smrg	moxiebox)
84133dddc75Smrg		basic_machine=moxie-unknown
84233dddc75Smrg		os=-moxiebox
84333dddc75Smrg		;;
84472b4363aSmrg	msdos)
84572b4363aSmrg		basic_machine=i386-pc
84672b4363aSmrg		os=-msdos
84772b4363aSmrg		;;
84872b4363aSmrg	ms1-*)
84972b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
85072b4363aSmrg		;;
85133dddc75Smrg	msys)
85233dddc75Smrg		basic_machine=i686-pc
85333dddc75Smrg		os=-msys
85433dddc75Smrg		;;
85572b4363aSmrg	mvs)
85672b4363aSmrg		basic_machine=i370-ibm
85772b4363aSmrg		os=-mvs
85872b4363aSmrg		;;
85933dddc75Smrg	nacl)
86033dddc75Smrg		basic_machine=le32-unknown
86133dddc75Smrg		os=-nacl
86233dddc75Smrg		;;
86372b4363aSmrg	ncr3000)
86472b4363aSmrg		basic_machine=i486-ncr
86572b4363aSmrg		os=-sysv4
86672b4363aSmrg		;;
86772b4363aSmrg	netbsd386)
86872b4363aSmrg		basic_machine=i386-unknown
86972b4363aSmrg		os=-netbsd
87072b4363aSmrg		;;
87172b4363aSmrg	netwinder)
87272b4363aSmrg		basic_machine=armv4l-rebel
87372b4363aSmrg		os=-linux
87472b4363aSmrg		;;
87572b4363aSmrg	news | news700 | news800 | news900)
87672b4363aSmrg		basic_machine=m68k-sony
87772b4363aSmrg		os=-newsos
87872b4363aSmrg		;;
87972b4363aSmrg	news1000)
88072b4363aSmrg		basic_machine=m68030-sony
88172b4363aSmrg		os=-newsos
88272b4363aSmrg		;;
88372b4363aSmrg	news-3600 | risc-news)
88472b4363aSmrg		basic_machine=mips-sony
88572b4363aSmrg		os=-newsos
88672b4363aSmrg		;;
88772b4363aSmrg	necv70)
88872b4363aSmrg		basic_machine=v70-nec
88972b4363aSmrg		os=-sysv
89072b4363aSmrg		;;
89172b4363aSmrg	next | m*-next )
89272b4363aSmrg		basic_machine=m68k-next
89372b4363aSmrg		case $os in
89472b4363aSmrg		    -nextstep* )
89572b4363aSmrg			;;
89672b4363aSmrg		    -ns2*)
89772b4363aSmrg		      os=-nextstep2
89872b4363aSmrg			;;
89972b4363aSmrg		    *)
90072b4363aSmrg		      os=-nextstep3
90172b4363aSmrg			;;
90272b4363aSmrg		esac
90372b4363aSmrg		;;
90472b4363aSmrg	nh3000)
90572b4363aSmrg		basic_machine=m68k-harris
90672b4363aSmrg		os=-cxux
90772b4363aSmrg		;;
90872b4363aSmrg	nh[45]000)
90972b4363aSmrg		basic_machine=m88k-harris
91072b4363aSmrg		os=-cxux
91172b4363aSmrg		;;
91272b4363aSmrg	nindy960)
91372b4363aSmrg		basic_machine=i960-intel
91472b4363aSmrg		os=-nindy
91572b4363aSmrg		;;
91672b4363aSmrg	mon960)
91772b4363aSmrg		basic_machine=i960-intel
91872b4363aSmrg		os=-mon960
91972b4363aSmrg		;;
92072b4363aSmrg	nonstopux)
92172b4363aSmrg		basic_machine=mips-compaq
92272b4363aSmrg		os=-nonstopux
92372b4363aSmrg		;;
92472b4363aSmrg	np1)
92572b4363aSmrg		basic_machine=np1-gould
92672b4363aSmrg		;;
92733dddc75Smrg	neo-tandem)
92808e312fdSmrg		basic_machine=neo-tandem
92908e312fdSmrg		;;
93033dddc75Smrg	nse-tandem)
93108e312fdSmrg		basic_machine=nse-tandem
93208e312fdSmrg		;;
93372b4363aSmrg	nsr-tandem)
93472b4363aSmrg		basic_machine=nsr-tandem
93572b4363aSmrg		;;
93672b4363aSmrg	op50n-* | op60c-*)
93772b4363aSmrg		basic_machine=hppa1.1-oki
93872b4363aSmrg		os=-proelf
93972b4363aSmrg		;;
94072b4363aSmrg	openrisc | openrisc-*)
94172b4363aSmrg		basic_machine=or32-unknown
94272b4363aSmrg		;;
94372b4363aSmrg	os400)
94472b4363aSmrg		basic_machine=powerpc-ibm
94572b4363aSmrg		os=-os400
94672b4363aSmrg		;;
94772b4363aSmrg	OSE68000 | ose68000)
94872b4363aSmrg		basic_machine=m68000-ericsson
94972b4363aSmrg		os=-ose
95072b4363aSmrg		;;
95172b4363aSmrg	os68k)
95272b4363aSmrg		basic_machine=m68k-none
95372b4363aSmrg		os=-os68k
95472b4363aSmrg		;;
95572b4363aSmrg	pa-hitachi)
95672b4363aSmrg		basic_machine=hppa1.1-hitachi
95772b4363aSmrg		os=-hiuxwe2
95872b4363aSmrg		;;
95972b4363aSmrg	paragon)
96072b4363aSmrg		basic_machine=i860-intel
96172b4363aSmrg		os=-osf
96272b4363aSmrg		;;
963dd77ae96Smrg	parisc)
964dd77ae96Smrg		basic_machine=hppa-unknown
965dd77ae96Smrg		os=-linux
966dd77ae96Smrg		;;
967dd77ae96Smrg	parisc-*)
968dd77ae96Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
969dd77ae96Smrg		os=-linux
970dd77ae96Smrg		;;
97172b4363aSmrg	pbd)
97272b4363aSmrg		basic_machine=sparc-tti
97372b4363aSmrg		;;
97472b4363aSmrg	pbb)
97572b4363aSmrg		basic_machine=m68k-tti
97672b4363aSmrg		;;
97772b4363aSmrg	pc532 | pc532-*)
97872b4363aSmrg		basic_machine=ns32k-pc532
97972b4363aSmrg		;;
98072b4363aSmrg	pc98)
98172b4363aSmrg		basic_machine=i386-pc
98272b4363aSmrg		;;
98372b4363aSmrg	pc98-*)
98472b4363aSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
98572b4363aSmrg		;;
98672b4363aSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
98772b4363aSmrg		basic_machine=i586-pc
98872b4363aSmrg		;;
98972b4363aSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
99072b4363aSmrg		basic_machine=i686-pc
99172b4363aSmrg		;;
99272b4363aSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
99372b4363aSmrg		basic_machine=i686-pc
99472b4363aSmrg		;;
99572b4363aSmrg	pentium4)
99672b4363aSmrg		basic_machine=i786-pc
99772b4363aSmrg		;;
99872b4363aSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
99972b4363aSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
100072b4363aSmrg		;;
100172b4363aSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
100272b4363aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
100372b4363aSmrg		;;
100472b4363aSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
100572b4363aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
100672b4363aSmrg		;;
100772b4363aSmrg	pentium4-*)
100872b4363aSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
100972b4363aSmrg		;;
101072b4363aSmrg	pn)
101172b4363aSmrg		basic_machine=pn-gould
101272b4363aSmrg		;;
101372b4363aSmrg	power)	basic_machine=power-ibm
101472b4363aSmrg		;;
101533dddc75Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
101672b4363aSmrg		;;
101733dddc75Smrg	ppc-* | ppcbe-*)
101833dddc75Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
101972b4363aSmrg		;;
102072b4363aSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
102172b4363aSmrg		basic_machine=powerpcle-unknown
102272b4363aSmrg		;;
102372b4363aSmrg	ppcle-* | powerpclittle-*)
102472b4363aSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
102572b4363aSmrg		;;
102672b4363aSmrg	ppc64)	basic_machine=powerpc64-unknown
102772b4363aSmrg		;;
102872b4363aSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
102972b4363aSmrg		;;
103072b4363aSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
103172b4363aSmrg		basic_machine=powerpc64le-unknown
103272b4363aSmrg		;;
103372b4363aSmrg	ppc64le-* | powerpc64little-*)
103472b4363aSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
103572b4363aSmrg		;;
103672b4363aSmrg	ps2)
103772b4363aSmrg		basic_machine=i386-ibm
103872b4363aSmrg		;;
103972b4363aSmrg	pw32)
104072b4363aSmrg		basic_machine=i586-unknown
104172b4363aSmrg		os=-pw32
104272b4363aSmrg		;;
104333dddc75Smrg	rdos | rdos64)
104433dddc75Smrg		basic_machine=x86_64-pc
104533dddc75Smrg		os=-rdos
104633dddc75Smrg		;;
104733dddc75Smrg	rdos32)
104872b4363aSmrg		basic_machine=i386-pc
104972b4363aSmrg		os=-rdos
105072b4363aSmrg		;;
105172b4363aSmrg	rom68k)
105272b4363aSmrg		basic_machine=m68k-rom68k
105372b4363aSmrg		os=-coff
105472b4363aSmrg		;;
105572b4363aSmrg	rm[46]00)
105672b4363aSmrg		basic_machine=mips-siemens
105772b4363aSmrg		;;
105872b4363aSmrg	rtpc | rtpc-*)
105972b4363aSmrg		basic_machine=romp-ibm
106072b4363aSmrg		;;
106172b4363aSmrg	s390 | s390-*)
106272b4363aSmrg		basic_machine=s390-ibm
106372b4363aSmrg		;;
106472b4363aSmrg	s390x | s390x-*)
106572b4363aSmrg		basic_machine=s390x-ibm
106672b4363aSmrg		;;
106772b4363aSmrg	sa29200)
106872b4363aSmrg		basic_machine=a29k-amd
106972b4363aSmrg		os=-udi
107072b4363aSmrg		;;
107172b4363aSmrg	sb1)
107272b4363aSmrg		basic_machine=mipsisa64sb1-unknown
107372b4363aSmrg		;;
107472b4363aSmrg	sb1el)
107572b4363aSmrg		basic_machine=mipsisa64sb1el-unknown
107672b4363aSmrg		;;
107772b4363aSmrg	sde)
107872b4363aSmrg		basic_machine=mipsisa32-sde
107972b4363aSmrg		os=-elf
108072b4363aSmrg		;;
108172b4363aSmrg	sei)
108272b4363aSmrg		basic_machine=mips-sei
108372b4363aSmrg		os=-seiux
108472b4363aSmrg		;;
108572b4363aSmrg	sequent)
108672b4363aSmrg		basic_machine=i386-sequent
108772b4363aSmrg		;;
108872b4363aSmrg	sh)
108972b4363aSmrg		basic_machine=sh-hitachi
109072b4363aSmrg		os=-hms
109172b4363aSmrg		;;
1092dd77ae96Smrg	sh5el)
1093dd77ae96Smrg		basic_machine=sh5le-unknown
1094dd77ae96Smrg		;;
109572b4363aSmrg	sh64)
109672b4363aSmrg		basic_machine=sh64-unknown
109772b4363aSmrg		;;
109872b4363aSmrg	sparclite-wrs | simso-wrs)
109972b4363aSmrg		basic_machine=sparclite-wrs
110072b4363aSmrg		os=-vxworks
110172b4363aSmrg		;;
110272b4363aSmrg	sps7)
110372b4363aSmrg		basic_machine=m68k-bull
110472b4363aSmrg		os=-sysv2
110572b4363aSmrg		;;
110672b4363aSmrg	spur)
110772b4363aSmrg		basic_machine=spur-unknown
110872b4363aSmrg		;;
110972b4363aSmrg	st2000)
111072b4363aSmrg		basic_machine=m68k-tandem
111172b4363aSmrg		;;
111272b4363aSmrg	stratus)
111372b4363aSmrg		basic_machine=i860-stratus
111472b4363aSmrg		os=-sysv4
111572b4363aSmrg		;;
111633dddc75Smrg	strongarm-* | thumb-*)
111733dddc75Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
111833dddc75Smrg		;;
111972b4363aSmrg	sun2)
112072b4363aSmrg		basic_machine=m68000-sun
112172b4363aSmrg		;;
112272b4363aSmrg	sun2os3)
112372b4363aSmrg		basic_machine=m68000-sun
112472b4363aSmrg		os=-sunos3
112572b4363aSmrg		;;
112672b4363aSmrg	sun2os4)
112772b4363aSmrg		basic_machine=m68000-sun
112872b4363aSmrg		os=-sunos4
112972b4363aSmrg		;;
113072b4363aSmrg	sun3os3)
113172b4363aSmrg		basic_machine=m68k-sun
113272b4363aSmrg		os=-sunos3
113372b4363aSmrg		;;
113472b4363aSmrg	sun3os4)
113572b4363aSmrg		basic_machine=m68k-sun
113672b4363aSmrg		os=-sunos4
113772b4363aSmrg		;;
113872b4363aSmrg	sun4os3)
113972b4363aSmrg		basic_machine=sparc-sun
114072b4363aSmrg		os=-sunos3
114172b4363aSmrg		;;
114272b4363aSmrg	sun4os4)
114372b4363aSmrg		basic_machine=sparc-sun
114472b4363aSmrg		os=-sunos4
114572b4363aSmrg		;;
114672b4363aSmrg	sun4sol2)
114772b4363aSmrg		basic_machine=sparc-sun
114872b4363aSmrg		os=-solaris2
114972b4363aSmrg		;;
115072b4363aSmrg	sun3 | sun3-*)
115172b4363aSmrg		basic_machine=m68k-sun
115272b4363aSmrg		;;
115372b4363aSmrg	sun4)
115472b4363aSmrg		basic_machine=sparc-sun
115572b4363aSmrg		;;
115672b4363aSmrg	sun386 | sun386i | roadrunner)
115772b4363aSmrg		basic_machine=i386-sun
115872b4363aSmrg		;;
115972b4363aSmrg	sv1)
116072b4363aSmrg		basic_machine=sv1-cray
116172b4363aSmrg		os=-unicos
116272b4363aSmrg		;;
116372b4363aSmrg	symmetry)
116472b4363aSmrg		basic_machine=i386-sequent
116572b4363aSmrg		os=-dynix
116672b4363aSmrg		;;
116772b4363aSmrg	t3e)
116872b4363aSmrg		basic_machine=alphaev5-cray
116972b4363aSmrg		os=-unicos
117072b4363aSmrg		;;
117172b4363aSmrg	t90)
117272b4363aSmrg		basic_machine=t90-cray
117372b4363aSmrg		os=-unicos
117472b4363aSmrg		;;
1175dd77ae96Smrg	tile*)
117633dddc75Smrg		basic_machine=$basic_machine-unknown
1177dd77ae96Smrg		os=-linux-gnu
1178dd77ae96Smrg		;;
117972b4363aSmrg	tx39)
118072b4363aSmrg		basic_machine=mipstx39-unknown
118172b4363aSmrg		;;
118272b4363aSmrg	tx39el)
118372b4363aSmrg		basic_machine=mipstx39el-unknown
118472b4363aSmrg		;;
118572b4363aSmrg	toad1)
118672b4363aSmrg		basic_machine=pdp10-xkl
118772b4363aSmrg		os=-tops20
118872b4363aSmrg		;;
118972b4363aSmrg	tower | tower-32)
119072b4363aSmrg		basic_machine=m68k-ncr
119172b4363aSmrg		;;
119272b4363aSmrg	tpf)
119372b4363aSmrg		basic_machine=s390x-ibm
119472b4363aSmrg		os=-tpf
119572b4363aSmrg		;;
119672b4363aSmrg	udi29k)
119772b4363aSmrg		basic_machine=a29k-amd
119872b4363aSmrg		os=-udi
119972b4363aSmrg		;;
120072b4363aSmrg	ultra3)
120172b4363aSmrg		basic_machine=a29k-nyu
120272b4363aSmrg		os=-sym1
120372b4363aSmrg		;;
120472b4363aSmrg	v810 | necv810)
120572b4363aSmrg		basic_machine=v810-nec
120672b4363aSmrg		os=-none
120772b4363aSmrg		;;
120872b4363aSmrg	vaxv)
120972b4363aSmrg		basic_machine=vax-dec
121072b4363aSmrg		os=-sysv
121172b4363aSmrg		;;
121272b4363aSmrg	vms)
121372b4363aSmrg		basic_machine=vax-dec
121472b4363aSmrg		os=-vms
121572b4363aSmrg		;;
121672b4363aSmrg	vpp*|vx|vx-*)
121772b4363aSmrg		basic_machine=f301-fujitsu
121872b4363aSmrg		;;
121972b4363aSmrg	vxworks960)
122072b4363aSmrg		basic_machine=i960-wrs
122172b4363aSmrg		os=-vxworks
122272b4363aSmrg		;;
122372b4363aSmrg	vxworks68)
122472b4363aSmrg		basic_machine=m68k-wrs
122572b4363aSmrg		os=-vxworks
122672b4363aSmrg		;;
122772b4363aSmrg	vxworks29k)
122872b4363aSmrg		basic_machine=a29k-wrs
122972b4363aSmrg		os=-vxworks
123072b4363aSmrg		;;
123172b4363aSmrg	w65*)
123272b4363aSmrg		basic_machine=w65-wdc
123372b4363aSmrg		os=-none
123472b4363aSmrg		;;
123572b4363aSmrg	w89k-*)
123672b4363aSmrg		basic_machine=hppa1.1-winbond
123772b4363aSmrg		os=-proelf
123872b4363aSmrg		;;
123972b4363aSmrg	xbox)
124072b4363aSmrg		basic_machine=i686-pc
124172b4363aSmrg		os=-mingw32
124272b4363aSmrg		;;
124372b4363aSmrg	xps | xps100)
124472b4363aSmrg		basic_machine=xps100-honeywell
124572b4363aSmrg		;;
124633dddc75Smrg	xscale-* | xscalee[bl]-*)
124733dddc75Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
124833dddc75Smrg		;;
124972b4363aSmrg	ymp)
125072b4363aSmrg		basic_machine=ymp-cray
125172b4363aSmrg		os=-unicos
125272b4363aSmrg		;;
125372b4363aSmrg	z8k-*-coff)
125472b4363aSmrg		basic_machine=z8k-unknown
125572b4363aSmrg		os=-sim
125672b4363aSmrg		;;
1257dd77ae96Smrg	z80-*-coff)
1258dd77ae96Smrg		basic_machine=z80-unknown
1259dd77ae96Smrg		os=-sim
1260dd77ae96Smrg		;;
126172b4363aSmrg	none)
126272b4363aSmrg		basic_machine=none-none
126372b4363aSmrg		os=-none
126472b4363aSmrg		;;
126572b4363aSmrg
126672b4363aSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
126772b4363aSmrg# some cases the only manufacturer, in others, it is the most popular.
126872b4363aSmrg	w89k)
126972b4363aSmrg		basic_machine=hppa1.1-winbond
127072b4363aSmrg		;;
127172b4363aSmrg	op50n)
127272b4363aSmrg		basic_machine=hppa1.1-oki
127372b4363aSmrg		;;
127472b4363aSmrg	op60c)
127572b4363aSmrg		basic_machine=hppa1.1-oki
127672b4363aSmrg		;;
127772b4363aSmrg	romp)
127872b4363aSmrg		basic_machine=romp-ibm
127972b4363aSmrg		;;
128072b4363aSmrg	mmix)
128172b4363aSmrg		basic_machine=mmix-knuth
128272b4363aSmrg		;;
128372b4363aSmrg	rs6000)
128472b4363aSmrg		basic_machine=rs6000-ibm
128572b4363aSmrg		;;
128672b4363aSmrg	vax)
128772b4363aSmrg		basic_machine=vax-dec
128872b4363aSmrg		;;
128972b4363aSmrg	pdp10)
129072b4363aSmrg		# there are many clones, so DEC is not a safe bet
129172b4363aSmrg		basic_machine=pdp10-unknown
129272b4363aSmrg		;;
129372b4363aSmrg	pdp11)
129472b4363aSmrg		basic_machine=pdp11-dec
129572b4363aSmrg		;;
129672b4363aSmrg	we32k)
129772b4363aSmrg		basic_machine=we32k-att
129872b4363aSmrg		;;
1299dd77ae96Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
130072b4363aSmrg		basic_machine=sh-unknown
130172b4363aSmrg		;;
130272b4363aSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
130372b4363aSmrg		basic_machine=sparc-sun
130472b4363aSmrg		;;
130572b4363aSmrg	cydra)
130672b4363aSmrg		basic_machine=cydra-cydrome
130772b4363aSmrg		;;
130872b4363aSmrg	orion)
130972b4363aSmrg		basic_machine=orion-highlevel
131072b4363aSmrg		;;
131172b4363aSmrg	orion105)
131272b4363aSmrg		basic_machine=clipper-highlevel
131372b4363aSmrg		;;
131472b4363aSmrg	mac | mpw | mac-mpw)
131572b4363aSmrg		basic_machine=m68k-apple
131672b4363aSmrg		;;
131772b4363aSmrg	pmac | pmac-mpw)
131872b4363aSmrg		basic_machine=powerpc-apple
131972b4363aSmrg		;;
132072b4363aSmrg	*-unknown)
132172b4363aSmrg		# Make sure to match an already-canonicalized machine name.
132272b4363aSmrg		;;
132372b4363aSmrg	*)
132472b4363aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
132572b4363aSmrg		exit 1
132672b4363aSmrg		;;
132772b4363aSmrgesac
132872b4363aSmrg
132972b4363aSmrg# Here we canonicalize certain aliases for manufacturers.
133072b4363aSmrgcase $basic_machine in
133172b4363aSmrg	*-digital*)
133272b4363aSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
133372b4363aSmrg		;;
133472b4363aSmrg	*-commodore*)
133572b4363aSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
133672b4363aSmrg		;;
133772b4363aSmrg	*)
133872b4363aSmrg		;;
133972b4363aSmrgesac
134072b4363aSmrg
134172b4363aSmrg# Decode manufacturer-specific aliases for certain operating systems.
134272b4363aSmrg
134372b4363aSmrgif [ x"$os" != x"" ]
134472b4363aSmrgthen
134572b4363aSmrgcase $os in
134633dddc75Smrg	# First match some system type aliases
134733dddc75Smrg	# that might get confused with valid system types.
134872b4363aSmrg	# -solaris* is a basic system type, with this one exception.
134933dddc75Smrg	-auroraux)
135033dddc75Smrg		os=-auroraux
135108e312fdSmrg		;;
135272b4363aSmrg	-solaris1 | -solaris1.*)
135372b4363aSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
135472b4363aSmrg		;;
135572b4363aSmrg	-solaris)
135672b4363aSmrg		os=-solaris2
135772b4363aSmrg		;;
135872b4363aSmrg	-svr4*)
135972b4363aSmrg		os=-sysv4
136072b4363aSmrg		;;
136172b4363aSmrg	-unixware*)
136272b4363aSmrg		os=-sysv4.2uw
136372b4363aSmrg		;;
136472b4363aSmrg	-gnu/linux*)
136572b4363aSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
136672b4363aSmrg		;;
136772b4363aSmrg	# First accept the basic system types.
136872b4363aSmrg	# The portable systems comes first.
136972b4363aSmrg	# Each alternative MUST END IN A *, to match a version number.
137072b4363aSmrg	# -sysv* is not here because it comes later, after sysvr4.
137172b4363aSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
137208e312fdSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
137308e312fdSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
137433dddc75Smrg	      | -sym* | -kopensolaris* | -plan9* \
137572b4363aSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1376dd77ae96Smrg	      | -aos* | -aros* \
137772b4363aSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
137872b4363aSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
137972b4363aSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
138033dddc75Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
138172b4363aSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
138272b4363aSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
138372b4363aSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
138472b4363aSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1385dd77ae96Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
138633dddc75Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
138733dddc75Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
138833dddc75Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
138933dddc75Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
139072b4363aSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
139172b4363aSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
139272b4363aSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
139372b4363aSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
139472b4363aSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
139572b4363aSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
139633dddc75Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
139772b4363aSmrg	# Remember, each alternative MUST END IN *, to match a version number.
139872b4363aSmrg		;;
139972b4363aSmrg	-qnx*)
140072b4363aSmrg		case $basic_machine in
140172b4363aSmrg		    x86-* | i*86-*)
140272b4363aSmrg			;;
140372b4363aSmrg		    *)
140472b4363aSmrg			os=-nto$os
140572b4363aSmrg			;;
140672b4363aSmrg		esac
140772b4363aSmrg		;;
140872b4363aSmrg	-nto-qnx*)
140972b4363aSmrg		;;
141072b4363aSmrg	-nto*)
141172b4363aSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
141272b4363aSmrg		;;
141372b4363aSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
141472b4363aSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
141572b4363aSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
141672b4363aSmrg		;;
141772b4363aSmrg	-mac*)
141872b4363aSmrg		os=`echo $os | sed -e 's|mac|macos|'`
141972b4363aSmrg		;;
142072b4363aSmrg	-linux-dietlibc)
142172b4363aSmrg		os=-linux-dietlibc
142272b4363aSmrg		;;
142372b4363aSmrg	-linux*)
142472b4363aSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
142572b4363aSmrg		;;
142672b4363aSmrg	-sunos5*)
142772b4363aSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
142872b4363aSmrg		;;
142972b4363aSmrg	-sunos6*)
143072b4363aSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
143172b4363aSmrg		;;
143272b4363aSmrg	-opened*)
143372b4363aSmrg		os=-openedition
143472b4363aSmrg		;;
143533dddc75Smrg	-os400*)
143672b4363aSmrg		os=-os400
143772b4363aSmrg		;;
143872b4363aSmrg	-wince*)
143972b4363aSmrg		os=-wince
144072b4363aSmrg		;;
144172b4363aSmrg	-osfrose*)
144272b4363aSmrg		os=-osfrose
144372b4363aSmrg		;;
144472b4363aSmrg	-osf*)
144572b4363aSmrg		os=-osf
144672b4363aSmrg		;;
144772b4363aSmrg	-utek*)
144872b4363aSmrg		os=-bsd
144972b4363aSmrg		;;
145072b4363aSmrg	-dynix*)
145172b4363aSmrg		os=-bsd
145272b4363aSmrg		;;
145372b4363aSmrg	-acis*)
145472b4363aSmrg		os=-aos
145572b4363aSmrg		;;
145672b4363aSmrg	-atheos*)
145772b4363aSmrg		os=-atheos
145872b4363aSmrg		;;
145972b4363aSmrg	-syllable*)
146072b4363aSmrg		os=-syllable
146172b4363aSmrg		;;
146272b4363aSmrg	-386bsd)
146372b4363aSmrg		os=-bsd
146472b4363aSmrg		;;
146572b4363aSmrg	-ctix* | -uts*)
146672b4363aSmrg		os=-sysv
146772b4363aSmrg		;;
146872b4363aSmrg	-nova*)
146972b4363aSmrg		os=-rtmk-nova
147072b4363aSmrg		;;
147172b4363aSmrg	-ns2 )
147272b4363aSmrg		os=-nextstep2
147372b4363aSmrg		;;
147472b4363aSmrg	-nsk*)
147572b4363aSmrg		os=-nsk
147672b4363aSmrg		;;
147772b4363aSmrg	# Preserve the version number of sinix5.
147872b4363aSmrg	-sinix5.*)
147972b4363aSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
148072b4363aSmrg		;;
148172b4363aSmrg	-sinix*)
148272b4363aSmrg		os=-sysv4
148372b4363aSmrg		;;
148433dddc75Smrg	-tpf*)
148572b4363aSmrg		os=-tpf
148672b4363aSmrg		;;
148772b4363aSmrg	-triton*)
148872b4363aSmrg		os=-sysv3
148972b4363aSmrg		;;
149072b4363aSmrg	-oss*)
149172b4363aSmrg		os=-sysv3
149272b4363aSmrg		;;
149372b4363aSmrg	-svr4)
149472b4363aSmrg		os=-sysv4
149572b4363aSmrg		;;
149672b4363aSmrg	-svr3)
149772b4363aSmrg		os=-sysv3
149872b4363aSmrg		;;
149972b4363aSmrg	-sysvr4)
150072b4363aSmrg		os=-sysv4
150172b4363aSmrg		;;
150272b4363aSmrg	# This must come after -sysvr4.
150372b4363aSmrg	-sysv*)
150472b4363aSmrg		;;
150572b4363aSmrg	-ose*)
150672b4363aSmrg		os=-ose
150772b4363aSmrg		;;
150872b4363aSmrg	-es1800*)
150972b4363aSmrg		os=-ose
151072b4363aSmrg		;;
151172b4363aSmrg	-xenix)
151272b4363aSmrg		os=-xenix
151372b4363aSmrg		;;
151472b4363aSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
151572b4363aSmrg		os=-mint
151672b4363aSmrg		;;
151772b4363aSmrg	-aros*)
151872b4363aSmrg		os=-aros
151972b4363aSmrg		;;
152072b4363aSmrg	-zvmoe)
152172b4363aSmrg		os=-zvmoe
152272b4363aSmrg		;;
1523dd77ae96Smrg	-dicos*)
1524dd77ae96Smrg		os=-dicos
1525dd77ae96Smrg		;;
152633dddc75Smrg	-nacl*)
152733dddc75Smrg		;;
152872b4363aSmrg	-none)
152972b4363aSmrg		;;
153072b4363aSmrg	*)
153172b4363aSmrg		# Get rid of the `-' at the beginning of $os.
153272b4363aSmrg		os=`echo $os | sed 's/[^-]*-//'`
153372b4363aSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
153472b4363aSmrg		exit 1
153572b4363aSmrg		;;
153672b4363aSmrgesac
153772b4363aSmrgelse
153872b4363aSmrg
153972b4363aSmrg# Here we handle the default operating systems that come with various machines.
154072b4363aSmrg# The value should be what the vendor currently ships out the door with their
154172b4363aSmrg# machine or put another way, the most popular os provided with the machine.
154272b4363aSmrg
154372b4363aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
154472b4363aSmrg# "-sun"), then you have to tell the case statement up towards the top
154572b4363aSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
154672b4363aSmrg# will signal an error saying that MANUFACTURER isn't an operating
154772b4363aSmrg# system, and we'll never get to this point.
154872b4363aSmrg
154972b4363aSmrgcase $basic_machine in
155033dddc75Smrg	score-*)
155172b4363aSmrg		os=-elf
155272b4363aSmrg		;;
155333dddc75Smrg	spu-*)
155472b4363aSmrg		os=-elf
155572b4363aSmrg		;;
155672b4363aSmrg	*-acorn)
155772b4363aSmrg		os=-riscix1.2
155872b4363aSmrg		;;
155972b4363aSmrg	arm*-rebel)
156072b4363aSmrg		os=-linux
156172b4363aSmrg		;;
156272b4363aSmrg	arm*-semi)
156372b4363aSmrg		os=-aout
156472b4363aSmrg		;;
156533dddc75Smrg	c4x-* | tic4x-*)
156633dddc75Smrg		os=-coff
156733dddc75Smrg		;;
156833dddc75Smrg	c8051-*)
156933dddc75Smrg		os=-elf
157033dddc75Smrg		;;
157133dddc75Smrg	hexagon-*)
157233dddc75Smrg		os=-elf
157372b4363aSmrg		;;
157408e312fdSmrg	tic54x-*)
157508e312fdSmrg		os=-coff
157608e312fdSmrg		;;
157708e312fdSmrg	tic55x-*)
157808e312fdSmrg		os=-coff
157908e312fdSmrg		;;
158008e312fdSmrg	tic6x-*)
158108e312fdSmrg		os=-coff
158208e312fdSmrg		;;
158372b4363aSmrg	# This must come before the *-dec entry.
158472b4363aSmrg	pdp10-*)
158572b4363aSmrg		os=-tops20
158672b4363aSmrg		;;
158772b4363aSmrg	pdp11-*)
158872b4363aSmrg		os=-none
158972b4363aSmrg		;;
159072b4363aSmrg	*-dec | vax-*)
159172b4363aSmrg		os=-ultrix4.2
159272b4363aSmrg		;;
159372b4363aSmrg	m68*-apollo)
159472b4363aSmrg		os=-domain
159572b4363aSmrg		;;
159672b4363aSmrg	i386-sun)
159772b4363aSmrg		os=-sunos4.0.2
159872b4363aSmrg		;;
159972b4363aSmrg	m68000-sun)
160072b4363aSmrg		os=-sunos3
160172b4363aSmrg		;;
160272b4363aSmrg	m68*-cisco)
160372b4363aSmrg		os=-aout
160472b4363aSmrg		;;
160533dddc75Smrg	mep-*)
1606dd77ae96Smrg		os=-elf
1607dd77ae96Smrg		;;
160872b4363aSmrg	mips*-cisco)
160972b4363aSmrg		os=-elf
161072b4363aSmrg		;;
161172b4363aSmrg	mips*-*)
161272b4363aSmrg		os=-elf
161372b4363aSmrg		;;
161472b4363aSmrg	or32-*)
161572b4363aSmrg		os=-coff
161672b4363aSmrg		;;
161772b4363aSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
161872b4363aSmrg		os=-sysv3
161972b4363aSmrg		;;
162072b4363aSmrg	sparc-* | *-sun)
162172b4363aSmrg		os=-sunos4.1.1
162272b4363aSmrg		;;
162372b4363aSmrg	*-be)
162472b4363aSmrg		os=-beos
162572b4363aSmrg		;;
162672b4363aSmrg	*-haiku)
162772b4363aSmrg		os=-haiku
162872b4363aSmrg		;;
162972b4363aSmrg	*-ibm)
163072b4363aSmrg		os=-aix
163172b4363aSmrg		;;
163233dddc75Smrg	*-knuth)
163372b4363aSmrg		os=-mmixware
163472b4363aSmrg		;;
163572b4363aSmrg	*-wec)
163672b4363aSmrg		os=-proelf
163772b4363aSmrg		;;
163872b4363aSmrg	*-winbond)
163972b4363aSmrg		os=-proelf
164072b4363aSmrg		;;
164172b4363aSmrg	*-oki)
164272b4363aSmrg		os=-proelf
164372b4363aSmrg		;;
164472b4363aSmrg	*-hp)
164572b4363aSmrg		os=-hpux
164672b4363aSmrg		;;
164772b4363aSmrg	*-hitachi)
164872b4363aSmrg		os=-hiux
164972b4363aSmrg		;;
165072b4363aSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
165172b4363aSmrg		os=-sysv
165272b4363aSmrg		;;
165372b4363aSmrg	*-cbm)
165472b4363aSmrg		os=-amigaos
165572b4363aSmrg		;;
165672b4363aSmrg	*-dg)
165772b4363aSmrg		os=-dgux
165872b4363aSmrg		;;
165972b4363aSmrg	*-dolphin)
166072b4363aSmrg		os=-sysv3
166172b4363aSmrg		;;
166272b4363aSmrg	m68k-ccur)
166372b4363aSmrg		os=-rtu
166472b4363aSmrg		;;
166572b4363aSmrg	m88k-omron*)
166672b4363aSmrg		os=-luna
166772b4363aSmrg		;;
166872b4363aSmrg	*-next )
166972b4363aSmrg		os=-nextstep
167072b4363aSmrg		;;
167172b4363aSmrg	*-sequent)
167272b4363aSmrg		os=-ptx
167372b4363aSmrg		;;
167472b4363aSmrg	*-crds)
167572b4363aSmrg		os=-unos
167672b4363aSmrg		;;
167772b4363aSmrg	*-ns)
167872b4363aSmrg		os=-genix
167972b4363aSmrg		;;
168072b4363aSmrg	i370-*)
168172b4363aSmrg		os=-mvs
168272b4363aSmrg		;;
168372b4363aSmrg	*-next)
168472b4363aSmrg		os=-nextstep3
168572b4363aSmrg		;;
168672b4363aSmrg	*-gould)
168772b4363aSmrg		os=-sysv
168872b4363aSmrg		;;
168972b4363aSmrg	*-highlevel)
169072b4363aSmrg		os=-bsd
169172b4363aSmrg		;;
169272b4363aSmrg	*-encore)
169372b4363aSmrg		os=-bsd
169472b4363aSmrg		;;
169572b4363aSmrg	*-sgi)
169672b4363aSmrg		os=-irix
169772b4363aSmrg		;;
169872b4363aSmrg	*-siemens)
169972b4363aSmrg		os=-sysv4
170072b4363aSmrg		;;
170172b4363aSmrg	*-masscomp)
170272b4363aSmrg		os=-rtu
170372b4363aSmrg		;;
170472b4363aSmrg	f30[01]-fujitsu | f700-fujitsu)
170572b4363aSmrg		os=-uxpv
170672b4363aSmrg		;;
170772b4363aSmrg	*-rom68k)
170872b4363aSmrg		os=-coff
170972b4363aSmrg		;;
171072b4363aSmrg	*-*bug)
171172b4363aSmrg		os=-coff
171272b4363aSmrg		;;
171372b4363aSmrg	*-apple)
171472b4363aSmrg		os=-macos
171572b4363aSmrg		;;
171672b4363aSmrg	*-atari*)
171772b4363aSmrg		os=-mint
171872b4363aSmrg		;;
171972b4363aSmrg	*)
172072b4363aSmrg		os=-none
172172b4363aSmrg		;;
172272b4363aSmrgesac
172372b4363aSmrgfi
172472b4363aSmrg
172572b4363aSmrg# Here we handle the case where we know the os, and the CPU type, but not the
172672b4363aSmrg# manufacturer.  We pick the logical manufacturer.
172772b4363aSmrgvendor=unknown
172872b4363aSmrgcase $basic_machine in
172972b4363aSmrg	*-unknown)
173072b4363aSmrg		case $os in
173172b4363aSmrg			-riscix*)
173272b4363aSmrg				vendor=acorn
173372b4363aSmrg				;;
173472b4363aSmrg			-sunos*)
173572b4363aSmrg				vendor=sun
173672b4363aSmrg				;;
173708e312fdSmrg			-cnk*|-aix*)
173872b4363aSmrg				vendor=ibm
173972b4363aSmrg				;;
174072b4363aSmrg			-beos*)
174172b4363aSmrg				vendor=be
174272b4363aSmrg				;;
174372b4363aSmrg			-hpux*)
174472b4363aSmrg				vendor=hp
174572b4363aSmrg				;;
174672b4363aSmrg			-mpeix*)
174772b4363aSmrg				vendor=hp
174872b4363aSmrg				;;
174972b4363aSmrg			-hiux*)
175072b4363aSmrg				vendor=hitachi
175172b4363aSmrg				;;
175272b4363aSmrg			-unos*)
175372b4363aSmrg				vendor=crds
175472b4363aSmrg				;;
175572b4363aSmrg			-dgux*)
175672b4363aSmrg				vendor=dg
175772b4363aSmrg				;;
175872b4363aSmrg			-luna*)
175972b4363aSmrg				vendor=omron
176072b4363aSmrg				;;
176172b4363aSmrg			-genix*)
176272b4363aSmrg				vendor=ns
176372b4363aSmrg				;;
176472b4363aSmrg			-mvs* | -opened*)
176572b4363aSmrg				vendor=ibm
176672b4363aSmrg				;;
176772b4363aSmrg			-os400*)
176872b4363aSmrg				vendor=ibm
176972b4363aSmrg				;;
177072b4363aSmrg			-ptx*)
177172b4363aSmrg				vendor=sequent
177272b4363aSmrg				;;
177372b4363aSmrg			-tpf*)
177472b4363aSmrg				vendor=ibm
177572b4363aSmrg				;;
177672b4363aSmrg			-vxsim* | -vxworks* | -windiss*)
177772b4363aSmrg				vendor=wrs
177872b4363aSmrg				;;
177972b4363aSmrg			-aux*)
178072b4363aSmrg				vendor=apple
178172b4363aSmrg				;;
178272b4363aSmrg			-hms*)
178372b4363aSmrg				vendor=hitachi
178472b4363aSmrg				;;
178572b4363aSmrg			-mpw* | -macos*)
178672b4363aSmrg				vendor=apple
178772b4363aSmrg				;;
178872b4363aSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
178972b4363aSmrg				vendor=atari
179072b4363aSmrg				;;
179172b4363aSmrg			-vos*)
179272b4363aSmrg				vendor=stratus
179372b4363aSmrg				;;
179472b4363aSmrg		esac
179572b4363aSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
179672b4363aSmrg		;;
179772b4363aSmrgesac
179872b4363aSmrg
179972b4363aSmrgecho $basic_machine$os
180072b4363aSmrgexit
180172b4363aSmrg
180272b4363aSmrg# Local variables:
180372b4363aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
180472b4363aSmrg# time-stamp-start: "timestamp='"
180572b4363aSmrg# time-stamp-format: "%:y-%02m-%02d"
180672b4363aSmrg# time-stamp-end: "'"
180772b4363aSmrg# End:
1808