config.sub revision fb4ebca8
129459361Smrg#! /bin/sh
229459361Smrg# Configuration validation subroutine script.
3fb4ebca8Smrg#   Copyright 1992-2013 Free Software Foundation, Inc.
429459361Smrg
5fb4ebca8Smrgtimestamp='2013-10-01'
629459361Smrg
7fb4ebca8Smrg# This file is free software; you can redistribute it and/or modify it
8fb4ebca8Smrg# under the terms of the GNU General Public License as published by
9fb4ebca8Smrg# the Free Software Foundation; either version 3 of the License, or
1029459361Smrg# (at your option) any later version.
1129459361Smrg#
12fb4ebca8Smrg# This program is distributed in the hope that it will be useful, but
13fb4ebca8Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14fb4ebca8Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15fb4ebca8Smrg# General Public License for more details.
1629459361Smrg#
1729459361Smrg# You should have received a copy of the GNU General Public License
18fb4ebca8Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1929459361Smrg#
2029459361Smrg# As a special exception to the GNU General Public License, if you
2129459361Smrg# distribute this file as part of a program that contains a
2229459361Smrg# configuration script generated by Autoconf, you may include it under
23fb4ebca8Smrg# the same distribution terms that you use for the rest of that
24fb4ebca8Smrg# program.  This Exception is an additional permission under section 7
25fb4ebca8Smrg# of the GNU General Public License, version 3 ("GPLv3").
2629459361Smrg
2729459361Smrg
28fb4ebca8Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2929459361Smrg#
3029459361Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3129459361Smrg# Supply the specified configuration type as an argument.
3229459361Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
3329459361Smrg# Otherwise, we print the canonical config type on stdout and succeed.
3429459361Smrg
354fbc8bdeSmrg# You can get the latest version of this script from:
364fbc8bdeSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
374fbc8bdeSmrg
3829459361Smrg# This file is supposed to be the same for all GNU packages
3929459361Smrg# and recognize all the CPU types, system types and aliases
4029459361Smrg# that are meaningful with *any* GNU software.
4129459361Smrg# Each package is responsible for reporting which valid configurations
4229459361Smrg# it does not support.  The user should be able to distinguish
4329459361Smrg# a failure to support a valid configuration from a meaningless
4429459361Smrg# configuration.
4529459361Smrg
4629459361Smrg# The goal of this file is to map all the various variations of a given
4729459361Smrg# machine specification into a single specification in the form:
4829459361Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4929459361Smrg# or in some cases, the newer four-part form:
5029459361Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5129459361Smrg# It is wrong to echo any other type of specification.
5229459361Smrg
5329459361Smrgme=`echo "$0" | sed -e 's,.*/,,'`
5429459361Smrg
5529459361Smrgusage="\
5629459361SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5729459361Smrg       $0 [OPTION] ALIAS
5829459361Smrg
5929459361SmrgCanonicalize a configuration name.
6029459361Smrg
6129459361SmrgOperation modes:
6229459361Smrg  -h, --help         print this help, then exit
6329459361Smrg  -t, --time-stamp   print date of last modification, then exit
6429459361Smrg  -v, --version      print version number, then exit
6529459361Smrg
6629459361SmrgReport bugs and patches to <config-patches@gnu.org>."
6729459361Smrg
6829459361Smrgversion="\
6929459361SmrgGNU config.sub ($timestamp)
7029459361Smrg
71fb4ebca8SmrgCopyright 1992-2013 Free Software Foundation, Inc.
7229459361Smrg
7329459361SmrgThis is free software; see the source for copying conditions.  There is NO
7429459361Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7529459361Smrg
7629459361Smrghelp="
7729459361SmrgTry \`$me --help' for more information."
7829459361Smrg
7929459361Smrg# Parse command line
8029459361Smrgwhile test $# -gt 0 ; do
8129459361Smrg  case $1 in
8229459361Smrg    --time-stamp | --time* | -t )
8329459361Smrg       echo "$timestamp" ; exit ;;
8429459361Smrg    --version | -v )
8529459361Smrg       echo "$version" ; exit ;;
8629459361Smrg    --help | --h* | -h )
8729459361Smrg       echo "$usage"; exit ;;
8829459361Smrg    -- )     # Stop option processing
8929459361Smrg       shift; break ;;
9029459361Smrg    - )	# Use stdin as input.
9129459361Smrg       break ;;
9229459361Smrg    -* )
9329459361Smrg       echo "$me: invalid option $1$help"
9429459361Smrg       exit 1 ;;
9529459361Smrg
9629459361Smrg    *local*)
9729459361Smrg       # First pass through any local machine types.
9829459361Smrg       echo $1
9929459361Smrg       exit ;;
10029459361Smrg
10129459361Smrg    * )
10229459361Smrg       break ;;
10329459361Smrg  esac
10429459361Smrgdone
10529459361Smrg
10629459361Smrgcase $# in
10729459361Smrg 0) echo "$me: missing argument$help" >&2
10829459361Smrg    exit 1;;
10929459361Smrg 1) ;;
11029459361Smrg *) echo "$me: too many arguments$help" >&2
11129459361Smrg    exit 1;;
11229459361Smrgesac
11329459361Smrg
11429459361Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11529459361Smrg# Here we must recognize all the valid KERNEL-OS combinations.
11629459361Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11729459361Smrgcase $maybe_os in
1184fbc8bdeSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119fb4ebca8Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1204fbc8bdeSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
12147202d7bSmrg  kopensolaris*-gnu* | \
12229459361Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12329459361Smrg    os=-$maybe_os
12429459361Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12529459361Smrg    ;;
126fb4ebca8Smrg  android-linux)
127fb4ebca8Smrg    os=-linux-android
128fb4ebca8Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129fb4ebca8Smrg    ;;
13029459361Smrg  *)
13129459361Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13229459361Smrg    if [ $basic_machine != $1 ]
13329459361Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13429459361Smrg    else os=; fi
13529459361Smrg    ;;
13629459361Smrgesac
13729459361Smrg
13829459361Smrg### Let's recognize common machines as not being operating systems so
13929459361Smrg### that things like config.sub decstation-3100 work.  We also
14029459361Smrg### recognize some manufacturers as not being operating systems, so we
14129459361Smrg### can provide default operating systems below.
14229459361Smrgcase $os in
14329459361Smrg	-sun*os*)
14429459361Smrg		# Prevent following clause from handling this invalid input.
14529459361Smrg		;;
14629459361Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14729459361Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14829459361Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14929459361Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15029459361Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15129459361Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152fb4ebca8Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15329459361Smrg		os=
15429459361Smrg		basic_machine=$1
15529459361Smrg		;;
1565dd2154eSmrg	-bluegene*)
1575dd2154eSmrg		os=-cnk
1584fbc8bdeSmrg		;;
15929459361Smrg	-sim | -cisco | -oki | -wec | -winbond)
16029459361Smrg		os=
16129459361Smrg		basic_machine=$1
16229459361Smrg		;;
16329459361Smrg	-scout)
16429459361Smrg		;;
16529459361Smrg	-wrs)
16629459361Smrg		os=-vxworks
16729459361Smrg		basic_machine=$1
16829459361Smrg		;;
16929459361Smrg	-chorusos*)
17029459361Smrg		os=-chorusos
17129459361Smrg		basic_machine=$1
17229459361Smrg		;;
1735dd2154eSmrg	-chorusrdb)
1745dd2154eSmrg		os=-chorusrdb
17529459361Smrg		basic_machine=$1
1765dd2154eSmrg		;;
17729459361Smrg	-hiux*)
17829459361Smrg		os=-hiuxwe2
17929459361Smrg		;;
18029459361Smrg	-sco6)
18129459361Smrg		os=-sco5v6
18229459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18329459361Smrg		;;
18429459361Smrg	-sco5)
18529459361Smrg		os=-sco3.2v5
18629459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18729459361Smrg		;;
18829459361Smrg	-sco4)
18929459361Smrg		os=-sco3.2v4
19029459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19129459361Smrg		;;
19229459361Smrg	-sco3.2.[4-9]*)
19329459361Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19429459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19529459361Smrg		;;
19629459361Smrg	-sco3.2v[4-9]*)
19729459361Smrg		# Don't forget version if it is 3.2v4 or newer.
19829459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19929459361Smrg		;;
20029459361Smrg	-sco5v6*)
20129459361Smrg		# Don't forget version if it is 3.2v4 or newer.
20229459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20329459361Smrg		;;
20429459361Smrg	-sco*)
20529459361Smrg		os=-sco3.2v2
20629459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20729459361Smrg		;;
20829459361Smrg	-udk*)
20929459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21029459361Smrg		;;
21129459361Smrg	-isc)
21229459361Smrg		os=-isc2.2
21329459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21429459361Smrg		;;
21529459361Smrg	-clix*)
21629459361Smrg		basic_machine=clipper-intergraph
21729459361Smrg		;;
21829459361Smrg	-isc*)
21929459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22029459361Smrg		;;
221fb4ebca8Smrg	-lynx*178)
222fb4ebca8Smrg		os=-lynxos178
223fb4ebca8Smrg		;;
224fb4ebca8Smrg	-lynx*5)
225fb4ebca8Smrg		os=-lynxos5
226fb4ebca8Smrg		;;
22729459361Smrg	-lynx*)
22829459361Smrg		os=-lynxos
22929459361Smrg		;;
23029459361Smrg	-ptx*)
23129459361Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23229459361Smrg		;;
23329459361Smrg	-windowsnt*)
23429459361Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23529459361Smrg		;;
23629459361Smrg	-psos*)
23729459361Smrg		os=-psos
23829459361Smrg		;;
23929459361Smrg	-mint | -mint[0-9]*)
24029459361Smrg		basic_machine=m68k-atari
24129459361Smrg		os=-mint
24229459361Smrg		;;
24329459361Smrgesac
24429459361Smrg
24529459361Smrg# Decode aliases for certain CPU-COMPANY combinations.
24629459361Smrgcase $basic_machine in
24729459361Smrg	# Recognize the basic CPU types without company name.
24829459361Smrg	# Some are omitted here because they have special meanings below.
24929459361Smrg	1750a | 580 \
25029459361Smrg	| a29k \
251fb4ebca8Smrg	| aarch64 | aarch64_be \
25229459361Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25329459361Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25429459361Smrg	| am33_2.0 \
255fb4ebca8Smrg	| arc | arceb \
256fb4ebca8Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257fb4ebca8Smrg	| avr | avr32 \
258fb4ebca8Smrg	| be32 | be64 \
25929459361Smrg	| bfin \
260fb4ebca8Smrg	| c4x | c8051 | clipper \
26129459361Smrg	| d10v | d30v | dlx | dsp16xx \
2625dd2154eSmrg	| epiphany \
26329459361Smrg	| fido | fr30 | frv \
26429459361Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2655dd2154eSmrg	| hexagon \
26629459361Smrg	| i370 | i860 | i960 | ia64 \
26729459361Smrg	| ip2k | iq2000 \
268fb4ebca8Smrg	| k1om \
2695dd2154eSmrg	| le32 | le64 \
27047202d7bSmrg	| lm32 \
27129459361Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272fb4ebca8Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27329459361Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27429459361Smrg	| mips16 \
27529459361Smrg	| mips64 | mips64el \
27647202d7bSmrg	| mips64octeon | mips64octeonel \
27729459361Smrg	| mips64orion | mips64orionel \
27847202d7bSmrg	| mips64r5900 | mips64r5900el \
27947202d7bSmrg	| mips64vr | mips64vrel \
28029459361Smrg	| mips64vr4100 | mips64vr4100el \
28129459361Smrg	| mips64vr4300 | mips64vr4300el \
28229459361Smrg	| mips64vr5000 | mips64vr5000el \
28329459361Smrg	| mips64vr5900 | mips64vr5900el \
28429459361Smrg	| mipsisa32 | mipsisa32el \
28529459361Smrg	| mipsisa32r2 | mipsisa32r2el \
28629459361Smrg	| mipsisa64 | mipsisa64el \
28729459361Smrg	| mipsisa64r2 | mipsisa64r2el \
28829459361Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28929459361Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
290fb4ebca8Smrg	| mipsr5900 | mipsr5900el \
29129459361Smrg	| mipstx39 | mipstx39el \
29229459361Smrg	| mn10200 | mn10300 \
29347202d7bSmrg	| moxie \
29429459361Smrg	| mt \
29529459361Smrg	| msp430 \
2964fbc8bdeSmrg	| nds32 | nds32le | nds32be \
297fb4ebca8Smrg	| nios | nios2 | nios2eb | nios2el \
29829459361Smrg	| ns16k | ns32k \
2995dd2154eSmrg	| open8 \
300fb4ebca8Smrg	| or1k | or32 \
30129459361Smrg	| pdp10 | pdp11 | pj | pjl \
3025dd2154eSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30329459361Smrg	| pyramid \
3045dd2154eSmrg	| rl78 | rx \
30529459361Smrg	| score \
30647202d7bSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30729459361Smrg	| sh64 | sh64le \
30829459361Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30929459361Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3105dd2154eSmrg	| spu \
3115dd2154eSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3124fbc8bdeSmrg	| ubicom32 \
3135dd2154eSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31429459361Smrg	| we32k \
3155dd2154eSmrg	| x86 | xc16x | xstormy16 | xtensa \
31647202d7bSmrg	| z8k | z80)
31729459361Smrg		basic_machine=$basic_machine-unknown
31829459361Smrg		;;
3194fbc8bdeSmrg	c54x)
3204fbc8bdeSmrg		basic_machine=tic54x-unknown
3214fbc8bdeSmrg		;;
3224fbc8bdeSmrg	c55x)
3234fbc8bdeSmrg		basic_machine=tic55x-unknown
3244fbc8bdeSmrg		;;
3254fbc8bdeSmrg	c6x)
3264fbc8bdeSmrg		basic_machine=tic6x-unknown
3274fbc8bdeSmrg		;;
328fb4ebca8Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
32929459361Smrg		basic_machine=$basic_machine-unknown
33029459361Smrg		os=-none
33129459361Smrg		;;
33229459361Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33329459361Smrg		;;
33429459361Smrg	ms1)
33529459361Smrg		basic_machine=mt-unknown
33629459361Smrg		;;
33729459361Smrg
3385dd2154eSmrg	strongarm | thumb | xscale)
3395dd2154eSmrg		basic_machine=arm-unknown
3405dd2154eSmrg		;;
341fb4ebca8Smrg	xgate)
342fb4ebca8Smrg		basic_machine=$basic_machine-unknown
343fb4ebca8Smrg		os=-none
344fb4ebca8Smrg		;;
3455dd2154eSmrg	xscaleeb)
3465dd2154eSmrg		basic_machine=armeb-unknown
3475dd2154eSmrg		;;
3485dd2154eSmrg
3495dd2154eSmrg	xscaleel)
3505dd2154eSmrg		basic_machine=armel-unknown
3515dd2154eSmrg		;;
3525dd2154eSmrg
35329459361Smrg	# We use `pc' rather than `unknown'
35429459361Smrg	# because (1) that's what they normally are, and
35529459361Smrg	# (2) the word "unknown" tends to confuse beginning users.
35629459361Smrg	i*86 | x86_64)
35729459361Smrg	  basic_machine=$basic_machine-pc
35829459361Smrg	  ;;
35929459361Smrg	# Object if more than one company name word.
36029459361Smrg	*-*-*)
36129459361Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36229459361Smrg		exit 1
36329459361Smrg		;;
36429459361Smrg	# Recognize the basic CPU types with company name.
36529459361Smrg	580-* \
36629459361Smrg	| a29k-* \
367fb4ebca8Smrg	| aarch64-* | aarch64_be-* \
36829459361Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36929459361Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
370fb4ebca8Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37129459361Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37229459361Smrg	| avr-* | avr32-* \
3735dd2154eSmrg	| be32-* | be64-* \
37429459361Smrg	| bfin-* | bs2000-* \
3754fbc8bdeSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
376fb4ebca8Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
37729459361Smrg	| d10v-* | d30v-* | dlx-* \
37829459361Smrg	| elxsi-* \
37929459361Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38029459361Smrg	| h8300-* | h8500-* \
38129459361Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3825dd2154eSmrg	| hexagon-* \
38329459361Smrg	| i*86-* | i860-* | i960-* | ia64-* \
38429459361Smrg	| ip2k-* | iq2000-* \
385fb4ebca8Smrg	| k1om-* \
3865dd2154eSmrg	| le32-* | le64-* \
38747202d7bSmrg	| lm32-* \
38829459361Smrg	| m32c-* | m32r-* | m32rle-* \
38929459361Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
390fb4ebca8Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
391fb4ebca8Smrg	| microblaze-* | microblazeel-* \
39229459361Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39329459361Smrg	| mips16-* \
39429459361Smrg	| mips64-* | mips64el-* \
39547202d7bSmrg	| mips64octeon-* | mips64octeonel-* \
39629459361Smrg	| mips64orion-* | mips64orionel-* \
39747202d7bSmrg	| mips64r5900-* | mips64r5900el-* \
39847202d7bSmrg	| mips64vr-* | mips64vrel-* \
39929459361Smrg	| mips64vr4100-* | mips64vr4100el-* \
40029459361Smrg	| mips64vr4300-* | mips64vr4300el-* \
40129459361Smrg	| mips64vr5000-* | mips64vr5000el-* \
40229459361Smrg	| mips64vr5900-* | mips64vr5900el-* \
40329459361Smrg	| mipsisa32-* | mipsisa32el-* \
40429459361Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
40529459361Smrg	| mipsisa64-* | mipsisa64el-* \
40629459361Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
40729459361Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
40829459361Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
409fb4ebca8Smrg	| mipsr5900-* | mipsr5900el-* \
41029459361Smrg	| mipstx39-* | mipstx39el-* \
41129459361Smrg	| mmix-* \
41229459361Smrg	| mt-* \
41329459361Smrg	| msp430-* \
4144fbc8bdeSmrg	| nds32-* | nds32le-* | nds32be-* \
415fb4ebca8Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
41629459361Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4175dd2154eSmrg	| open8-* \
41829459361Smrg	| orion-* \
41929459361Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4205dd2154eSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
42129459361Smrg	| pyramid-* \
4225dd2154eSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
42347202d7bSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
42429459361Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42529459361Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
42629459361Smrg	| sparclite-* \
4275dd2154eSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4285dd2154eSmrg	| tahoe-* \
4294fbc8bdeSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4305dd2154eSmrg	| tile*-* \
43129459361Smrg	| tron-* \
4324fbc8bdeSmrg	| ubicom32-* \
4335dd2154eSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4345dd2154eSmrg	| vax-* \
43529459361Smrg	| we32k-* \
4365dd2154eSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43747202d7bSmrg	| xstormy16-* | xtensa*-* \
43829459361Smrg	| ymp-* \
43947202d7bSmrg	| z8k-* | z80-*)
44047202d7bSmrg		;;
44147202d7bSmrg	# Recognize the basic CPU types without company name, with glob match.
44247202d7bSmrg	xtensa*)
44347202d7bSmrg		basic_machine=$basic_machine-unknown
44429459361Smrg		;;
44529459361Smrg	# Recognize the various machine names and aliases which stand
44629459361Smrg	# for a CPU type and a company and sometimes even an OS.
44729459361Smrg	386bsd)
44829459361Smrg		basic_machine=i386-unknown
44929459361Smrg		os=-bsd
45029459361Smrg		;;
45129459361Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45229459361Smrg		basic_machine=m68000-att
45329459361Smrg		;;
45429459361Smrg	3b*)
45529459361Smrg		basic_machine=we32k-att
45629459361Smrg		;;
45729459361Smrg	a29khif)
45829459361Smrg		basic_machine=a29k-amd
45929459361Smrg		os=-udi
46029459361Smrg		;;
4615dd2154eSmrg	abacus)
46229459361Smrg		basic_machine=abacus-unknown
46329459361Smrg		;;
46429459361Smrg	adobe68k)
46529459361Smrg		basic_machine=m68010-adobe
46629459361Smrg		os=-scout
46729459361Smrg		;;
46829459361Smrg	alliant | fx80)
46929459361Smrg		basic_machine=fx80-alliant
47029459361Smrg		;;
47129459361Smrg	altos | altos3068)
47229459361Smrg		basic_machine=m68k-altos
47329459361Smrg		;;
47429459361Smrg	am29k)
47529459361Smrg		basic_machine=a29k-none
47629459361Smrg		os=-bsd
47729459361Smrg		;;
47829459361Smrg	amd64)
47929459361Smrg		basic_machine=x86_64-pc
48029459361Smrg		;;
48129459361Smrg	amd64-*)
48229459361Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
48329459361Smrg		;;
48429459361Smrg	amdahl)
48529459361Smrg		basic_machine=580-amdahl
48629459361Smrg		os=-sysv
48729459361Smrg		;;
48829459361Smrg	amiga | amiga-*)
48929459361Smrg		basic_machine=m68k-unknown
49029459361Smrg		;;
49129459361Smrg	amigaos | amigados)
49229459361Smrg		basic_machine=m68k-unknown
49329459361Smrg		os=-amigaos
49429459361Smrg		;;
49529459361Smrg	amigaunix | amix)
49629459361Smrg		basic_machine=m68k-unknown
49729459361Smrg		os=-sysv4
49829459361Smrg		;;
49929459361Smrg	apollo68)
50029459361Smrg		basic_machine=m68k-apollo
50129459361Smrg		os=-sysv
50229459361Smrg		;;
50329459361Smrg	apollo68bsd)
50429459361Smrg		basic_machine=m68k-apollo
50529459361Smrg		os=-bsd
50629459361Smrg		;;
50747202d7bSmrg	aros)
50847202d7bSmrg		basic_machine=i386-pc
50947202d7bSmrg		os=-aros
51047202d7bSmrg		;;
51129459361Smrg	aux)
51229459361Smrg		basic_machine=m68k-apple
51329459361Smrg		os=-aux
51429459361Smrg		;;
51529459361Smrg	balance)
51629459361Smrg		basic_machine=ns32k-sequent
51729459361Smrg		os=-dynix
51829459361Smrg		;;
51947202d7bSmrg	blackfin)
52047202d7bSmrg		basic_machine=bfin-unknown
52147202d7bSmrg		os=-linux
52247202d7bSmrg		;;
52347202d7bSmrg	blackfin-*)
52447202d7bSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52547202d7bSmrg		os=-linux
52647202d7bSmrg		;;
5274fbc8bdeSmrg	bluegene*)
5284fbc8bdeSmrg		basic_machine=powerpc-ibm
5294fbc8bdeSmrg		os=-cnk
5304fbc8bdeSmrg		;;
5314fbc8bdeSmrg	c54x-*)
5324fbc8bdeSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5334fbc8bdeSmrg		;;
5344fbc8bdeSmrg	c55x-*)
5354fbc8bdeSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5364fbc8bdeSmrg		;;
5374fbc8bdeSmrg	c6x-*)
5384fbc8bdeSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5394fbc8bdeSmrg		;;
54029459361Smrg	c90)
54129459361Smrg		basic_machine=c90-cray
54229459361Smrg		os=-unicos
54329459361Smrg		;;
5445dd2154eSmrg	cegcc)
54547202d7bSmrg		basic_machine=arm-unknown
54647202d7bSmrg		os=-cegcc
54747202d7bSmrg		;;
54829459361Smrg	convex-c1)
54929459361Smrg		basic_machine=c1-convex
55029459361Smrg		os=-bsd
55129459361Smrg		;;
55229459361Smrg	convex-c2)
55329459361Smrg		basic_machine=c2-convex
55429459361Smrg		os=-bsd
55529459361Smrg		;;
55629459361Smrg	convex-c32)
55729459361Smrg		basic_machine=c32-convex
55829459361Smrg		os=-bsd
55929459361Smrg		;;
56029459361Smrg	convex-c34)
56129459361Smrg		basic_machine=c34-convex
56229459361Smrg		os=-bsd
56329459361Smrg		;;
56429459361Smrg	convex-c38)
56529459361Smrg		basic_machine=c38-convex
56629459361Smrg		os=-bsd
56729459361Smrg		;;
56829459361Smrg	cray | j90)
56929459361Smrg		basic_machine=j90-cray
57029459361Smrg		os=-unicos
57129459361Smrg		;;
57229459361Smrg	craynv)
57329459361Smrg		basic_machine=craynv-cray
57429459361Smrg		os=-unicosmp
57529459361Smrg		;;
5765dd2154eSmrg	cr16 | cr16-*)
57747202d7bSmrg		basic_machine=cr16-unknown
57829459361Smrg		os=-elf
57929459361Smrg		;;
58029459361Smrg	crds | unos)
58129459361Smrg		basic_machine=m68k-crds
58229459361Smrg		;;
58329459361Smrg	crisv32 | crisv32-* | etraxfs*)
58429459361Smrg		basic_machine=crisv32-axis
58529459361Smrg		;;
58629459361Smrg	cris | cris-* | etrax*)
58729459361Smrg		basic_machine=cris-axis
58829459361Smrg		;;
58929459361Smrg	crx)
59029459361Smrg		basic_machine=crx-unknown
59129459361Smrg		os=-elf
59229459361Smrg		;;
59329459361Smrg	da30 | da30-*)
59429459361Smrg		basic_machine=m68k-da30
59529459361Smrg		;;
59629459361Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59729459361Smrg		basic_machine=mips-dec
59829459361Smrg		;;
59929459361Smrg	decsystem10* | dec10*)
60029459361Smrg		basic_machine=pdp10-dec
60129459361Smrg		os=-tops10
60229459361Smrg		;;
60329459361Smrg	decsystem20* | dec20*)
60429459361Smrg		basic_machine=pdp10-dec
60529459361Smrg		os=-tops20
60629459361Smrg		;;
60729459361Smrg	delta | 3300 | motorola-3300 | motorola-delta \
60829459361Smrg	      | 3300-motorola | delta-motorola)
60929459361Smrg		basic_machine=m68k-motorola
61029459361Smrg		;;
61129459361Smrg	delta88)
61229459361Smrg		basic_machine=m88k-motorola
61329459361Smrg		os=-sysv3
61429459361Smrg		;;
61547202d7bSmrg	dicos)
61647202d7bSmrg		basic_machine=i686-pc
61747202d7bSmrg		os=-dicos
61847202d7bSmrg		;;
61929459361Smrg	djgpp)
62029459361Smrg		basic_machine=i586-pc
62129459361Smrg		os=-msdosdjgpp
62229459361Smrg		;;
62329459361Smrg	dpx20 | dpx20-*)
62429459361Smrg		basic_machine=rs6000-bull
62529459361Smrg		os=-bosx
62629459361Smrg		;;
62729459361Smrg	dpx2* | dpx2*-bull)
62829459361Smrg		basic_machine=m68k-bull
62929459361Smrg		os=-sysv3
63029459361Smrg		;;
63129459361Smrg	ebmon29k)
63229459361Smrg		basic_machine=a29k-amd
63329459361Smrg		os=-ebmon
63429459361Smrg		;;
63529459361Smrg	elxsi)
63629459361Smrg		basic_machine=elxsi-elxsi
63729459361Smrg		os=-bsd
63829459361Smrg		;;
63929459361Smrg	encore | umax | mmax)
64029459361Smrg		basic_machine=ns32k-encore
64129459361Smrg		;;
64229459361Smrg	es1800 | OSE68k | ose68k | ose | OSE)
64329459361Smrg		basic_machine=m68k-ericsson
64429459361Smrg		os=-ose
64529459361Smrg		;;
64629459361Smrg	fx2800)
64729459361Smrg		basic_machine=i860-alliant
64829459361Smrg		;;
64929459361Smrg	genix)
65029459361Smrg		basic_machine=ns32k-ns
65129459361Smrg		;;
65229459361Smrg	gmicro)
65329459361Smrg		basic_machine=tron-gmicro
65429459361Smrg		os=-sysv
65529459361Smrg		;;
65629459361Smrg	go32)
65729459361Smrg		basic_machine=i386-pc
65829459361Smrg		os=-go32
65929459361Smrg		;;
66029459361Smrg	h3050r* | hiux*)
66129459361Smrg		basic_machine=hppa1.1-hitachi
66229459361Smrg		os=-hiuxwe2
66329459361Smrg		;;
66429459361Smrg	h8300hms)
66529459361Smrg		basic_machine=h8300-hitachi
66629459361Smrg		os=-hms
66729459361Smrg		;;
66829459361Smrg	h8300xray)
66929459361Smrg		basic_machine=h8300-hitachi
67029459361Smrg		os=-xray
67129459361Smrg		;;
67229459361Smrg	h8500hms)
67329459361Smrg		basic_machine=h8500-hitachi
67429459361Smrg		os=-hms
67529459361Smrg		;;
67629459361Smrg	harris)
67729459361Smrg		basic_machine=m88k-harris
67829459361Smrg		os=-sysv3
67929459361Smrg		;;
68029459361Smrg	hp300-*)
68129459361Smrg		basic_machine=m68k-hp
68229459361Smrg		;;
68329459361Smrg	hp300bsd)
68429459361Smrg		basic_machine=m68k-hp
68529459361Smrg		os=-bsd
68629459361Smrg		;;
68729459361Smrg	hp300hpux)
68829459361Smrg		basic_machine=m68k-hp
68929459361Smrg		os=-hpux
69029459361Smrg		;;
69129459361Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69229459361Smrg		basic_machine=hppa1.0-hp
69329459361Smrg		;;
69429459361Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
69529459361Smrg		basic_machine=m68000-hp
69629459361Smrg		;;
69729459361Smrg	hp9k3[2-9][0-9])
69829459361Smrg		basic_machine=m68k-hp
69929459361Smrg		;;
70029459361Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70129459361Smrg		basic_machine=hppa1.0-hp
70229459361Smrg		;;
70329459361Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70429459361Smrg		basic_machine=hppa1.1-hp
70529459361Smrg		;;
70629459361Smrg	hp9k78[0-9] | hp78[0-9])
70729459361Smrg		# FIXME: really hppa2.0-hp
70829459361Smrg		basic_machine=hppa1.1-hp
70929459361Smrg		;;
71029459361Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71129459361Smrg		# FIXME: really hppa2.0-hp
71229459361Smrg		basic_machine=hppa1.1-hp
71329459361Smrg		;;
71429459361Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
71529459361Smrg		basic_machine=hppa1.1-hp
71629459361Smrg		;;
71729459361Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71829459361Smrg		basic_machine=hppa1.0-hp
71929459361Smrg		;;
72029459361Smrg	hppa-next)
72129459361Smrg		os=-nextstep3
72229459361Smrg		;;
72329459361Smrg	hppaosf)
72429459361Smrg		basic_machine=hppa1.1-hp
72529459361Smrg		os=-osf
72629459361Smrg		;;
72729459361Smrg	hppro)
72829459361Smrg		basic_machine=hppa1.1-hp
72929459361Smrg		os=-proelf
73029459361Smrg		;;
73129459361Smrg	i370-ibm* | ibm*)
73229459361Smrg		basic_machine=i370-ibm
73329459361Smrg		;;
73429459361Smrg	i*86v32)
73529459361Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73629459361Smrg		os=-sysv32
73729459361Smrg		;;
73829459361Smrg	i*86v4*)
73929459361Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74029459361Smrg		os=-sysv4
74129459361Smrg		;;
74229459361Smrg	i*86v)
74329459361Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74429459361Smrg		os=-sysv
74529459361Smrg		;;
74629459361Smrg	i*86sol2)
74729459361Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74829459361Smrg		os=-solaris2
74929459361Smrg		;;
75029459361Smrg	i386mach)
75129459361Smrg		basic_machine=i386-mach
75229459361Smrg		os=-mach
75329459361Smrg		;;
75429459361Smrg	i386-vsta | vsta)
75529459361Smrg		basic_machine=i386-unknown
75629459361Smrg		os=-vsta
75729459361Smrg		;;
75829459361Smrg	iris | iris4d)
75929459361Smrg		basic_machine=mips-sgi
76029459361Smrg		case $os in
76129459361Smrg		    -irix*)
76229459361Smrg			;;
76329459361Smrg		    *)
76429459361Smrg			os=-irix4
76529459361Smrg			;;
76629459361Smrg		esac
76729459361Smrg		;;
76829459361Smrg	isi68 | isi)
76929459361Smrg		basic_machine=m68k-isi
77029459361Smrg		os=-sysv
77129459361Smrg		;;
77247202d7bSmrg	m68knommu)
77347202d7bSmrg		basic_machine=m68k-unknown
77447202d7bSmrg		os=-linux
77547202d7bSmrg		;;
77647202d7bSmrg	m68knommu-*)
77747202d7bSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
77847202d7bSmrg		os=-linux
77947202d7bSmrg		;;
78029459361Smrg	m88k-omron*)
78129459361Smrg		basic_machine=m88k-omron
78229459361Smrg		;;
78329459361Smrg	magnum | m3230)
78429459361Smrg		basic_machine=mips-mips
78529459361Smrg		os=-sysv
78629459361Smrg		;;
78729459361Smrg	merlin)
78829459361Smrg		basic_machine=ns32k-utek
78929459361Smrg		os=-sysv
79029459361Smrg		;;
791fb4ebca8Smrg	microblaze*)
7924fbc8bdeSmrg		basic_machine=microblaze-xilinx
7934fbc8bdeSmrg		;;
794fb4ebca8Smrg	mingw64)
795fb4ebca8Smrg		basic_machine=x86_64-pc
796fb4ebca8Smrg		os=-mingw64
797fb4ebca8Smrg		;;
79829459361Smrg	mingw32)
799fb4ebca8Smrg		basic_machine=i686-pc
80029459361Smrg		os=-mingw32
80129459361Smrg		;;
80247202d7bSmrg	mingw32ce)
80347202d7bSmrg		basic_machine=arm-unknown
80447202d7bSmrg		os=-mingw32ce
80547202d7bSmrg		;;
80629459361Smrg	miniframe)
80729459361Smrg		basic_machine=m68000-convergent
80829459361Smrg		;;
80929459361Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
81029459361Smrg		basic_machine=m68k-atari
81129459361Smrg		os=-mint
81229459361Smrg		;;
81329459361Smrg	mips3*-*)
81429459361Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81529459361Smrg		;;
81629459361Smrg	mips3*)
81729459361Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81829459361Smrg		;;
81929459361Smrg	monitor)
82029459361Smrg		basic_machine=m68k-rom68k
82129459361Smrg		os=-coff
82229459361Smrg		;;
82329459361Smrg	morphos)
82429459361Smrg		basic_machine=powerpc-unknown
82529459361Smrg		os=-morphos
82629459361Smrg		;;
82729459361Smrg	msdos)
82829459361Smrg		basic_machine=i386-pc
82929459361Smrg		os=-msdos
83029459361Smrg		;;
83129459361Smrg	ms1-*)
83229459361Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
83329459361Smrg		;;
8345dd2154eSmrg	msys)
835fb4ebca8Smrg		basic_machine=i686-pc
8365dd2154eSmrg		os=-msys
8375dd2154eSmrg		;;
83829459361Smrg	mvs)
83929459361Smrg		basic_machine=i370-ibm
84029459361Smrg		os=-mvs
84129459361Smrg		;;
8425dd2154eSmrg	nacl)
8435dd2154eSmrg		basic_machine=le32-unknown
8445dd2154eSmrg		os=-nacl
8455dd2154eSmrg		;;
84629459361Smrg	ncr3000)
84729459361Smrg		basic_machine=i486-ncr
84829459361Smrg		os=-sysv4
84929459361Smrg		;;
85029459361Smrg	netbsd386)
85129459361Smrg		basic_machine=i386-unknown
85229459361Smrg		os=-netbsd
85329459361Smrg		;;
85429459361Smrg	netwinder)
85529459361Smrg		basic_machine=armv4l-rebel
85629459361Smrg		os=-linux
85729459361Smrg		;;
85829459361Smrg	news | news700 | news800 | news900)
85929459361Smrg		basic_machine=m68k-sony
86029459361Smrg		os=-newsos
86129459361Smrg		;;
86229459361Smrg	news1000)
86329459361Smrg		basic_machine=m68030-sony
86429459361Smrg		os=-newsos
86529459361Smrg		;;
86629459361Smrg	news-3600 | risc-news)
86729459361Smrg		basic_machine=mips-sony
86829459361Smrg		os=-newsos
86929459361Smrg		;;
87029459361Smrg	necv70)
87129459361Smrg		basic_machine=v70-nec
87229459361Smrg		os=-sysv
87329459361Smrg		;;
87429459361Smrg	next | m*-next )
87529459361Smrg		basic_machine=m68k-next
87629459361Smrg		case $os in
87729459361Smrg		    -nextstep* )
87829459361Smrg			;;
87929459361Smrg		    -ns2*)
88029459361Smrg		      os=-nextstep2
88129459361Smrg			;;
88229459361Smrg		    *)
88329459361Smrg		      os=-nextstep3
88429459361Smrg			;;
88529459361Smrg		esac
88629459361Smrg		;;
88729459361Smrg	nh3000)
88829459361Smrg		basic_machine=m68k-harris
88929459361Smrg		os=-cxux
89029459361Smrg		;;
89129459361Smrg	nh[45]000)
89229459361Smrg		basic_machine=m88k-harris
89329459361Smrg		os=-cxux
89429459361Smrg		;;
89529459361Smrg	nindy960)
89629459361Smrg		basic_machine=i960-intel
89729459361Smrg		os=-nindy
89829459361Smrg		;;
89929459361Smrg	mon960)
90029459361Smrg		basic_machine=i960-intel
90129459361Smrg		os=-mon960
90229459361Smrg		;;
90329459361Smrg	nonstopux)
90429459361Smrg		basic_machine=mips-compaq
90529459361Smrg		os=-nonstopux
90629459361Smrg		;;
90729459361Smrg	np1)
90829459361Smrg		basic_machine=np1-gould
90929459361Smrg		;;
9105dd2154eSmrg	neo-tandem)
9114fbc8bdeSmrg		basic_machine=neo-tandem
9124fbc8bdeSmrg		;;
9135dd2154eSmrg	nse-tandem)
9144fbc8bdeSmrg		basic_machine=nse-tandem
9154fbc8bdeSmrg		;;
91629459361Smrg	nsr-tandem)
91729459361Smrg		basic_machine=nsr-tandem
91829459361Smrg		;;
91929459361Smrg	op50n-* | op60c-*)
92029459361Smrg		basic_machine=hppa1.1-oki
92129459361Smrg		os=-proelf
92229459361Smrg		;;
92329459361Smrg	openrisc | openrisc-*)
92429459361Smrg		basic_machine=or32-unknown
92529459361Smrg		;;
92629459361Smrg	os400)
92729459361Smrg		basic_machine=powerpc-ibm
92829459361Smrg		os=-os400
92929459361Smrg		;;
93029459361Smrg	OSE68000 | ose68000)
93129459361Smrg		basic_machine=m68000-ericsson
93229459361Smrg		os=-ose
93329459361Smrg		;;
93429459361Smrg	os68k)
93529459361Smrg		basic_machine=m68k-none
93629459361Smrg		os=-os68k
93729459361Smrg		;;
93829459361Smrg	pa-hitachi)
93929459361Smrg		basic_machine=hppa1.1-hitachi
94029459361Smrg		os=-hiuxwe2
94129459361Smrg		;;
94229459361Smrg	paragon)
94329459361Smrg		basic_machine=i860-intel
94429459361Smrg		os=-osf
94529459361Smrg		;;
94647202d7bSmrg	parisc)
94747202d7bSmrg		basic_machine=hppa-unknown
94847202d7bSmrg		os=-linux
94947202d7bSmrg		;;
95047202d7bSmrg	parisc-*)
95147202d7bSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
95247202d7bSmrg		os=-linux
95347202d7bSmrg		;;
95429459361Smrg	pbd)
95529459361Smrg		basic_machine=sparc-tti
95629459361Smrg		;;
95729459361Smrg	pbb)
95829459361Smrg		basic_machine=m68k-tti
95929459361Smrg		;;
96029459361Smrg	pc532 | pc532-*)
96129459361Smrg		basic_machine=ns32k-pc532
96229459361Smrg		;;
96329459361Smrg	pc98)
96429459361Smrg		basic_machine=i386-pc
96529459361Smrg		;;
96629459361Smrg	pc98-*)
96729459361Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
96829459361Smrg		;;
96929459361Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
97029459361Smrg		basic_machine=i586-pc
97129459361Smrg		;;
97229459361Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
97329459361Smrg		basic_machine=i686-pc
97429459361Smrg		;;
97529459361Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
97629459361Smrg		basic_machine=i686-pc
97729459361Smrg		;;
97829459361Smrg	pentium4)
97929459361Smrg		basic_machine=i786-pc
98029459361Smrg		;;
98129459361Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
98229459361Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
98329459361Smrg		;;
98429459361Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98529459361Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98629459361Smrg		;;
98729459361Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98829459361Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98929459361Smrg		;;
99029459361Smrg	pentium4-*)
99129459361Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
99229459361Smrg		;;
99329459361Smrg	pn)
99429459361Smrg		basic_machine=pn-gould
99529459361Smrg		;;
99629459361Smrg	power)	basic_machine=power-ibm
99729459361Smrg		;;
9985dd2154eSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
99929459361Smrg		;;
10005dd2154eSmrg	ppc-* | ppcbe-*)
10015dd2154eSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
100229459361Smrg		;;
100329459361Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
100429459361Smrg		basic_machine=powerpcle-unknown
100529459361Smrg		;;
100629459361Smrg	ppcle-* | powerpclittle-*)
100729459361Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100829459361Smrg		;;
100929459361Smrg	ppc64)	basic_machine=powerpc64-unknown
101029459361Smrg		;;
101129459361Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
101229459361Smrg		;;
101329459361Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
101429459361Smrg		basic_machine=powerpc64le-unknown
101529459361Smrg		;;
101629459361Smrg	ppc64le-* | powerpc64little-*)
101729459361Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
101829459361Smrg		;;
101929459361Smrg	ps2)
102029459361Smrg		basic_machine=i386-ibm
102129459361Smrg		;;
102229459361Smrg	pw32)
102329459361Smrg		basic_machine=i586-unknown
102429459361Smrg		os=-pw32
102529459361Smrg		;;
1026fb4ebca8Smrg	rdos | rdos64)
1027fb4ebca8Smrg		basic_machine=x86_64-pc
1028fb4ebca8Smrg		os=-rdos
1029fb4ebca8Smrg		;;
1030fb4ebca8Smrg	rdos32)
103129459361Smrg		basic_machine=i386-pc
103229459361Smrg		os=-rdos
103329459361Smrg		;;
103429459361Smrg	rom68k)
103529459361Smrg		basic_machine=m68k-rom68k
103629459361Smrg		os=-coff
103729459361Smrg		;;
103829459361Smrg	rm[46]00)
103929459361Smrg		basic_machine=mips-siemens
104029459361Smrg		;;
104129459361Smrg	rtpc | rtpc-*)
104229459361Smrg		basic_machine=romp-ibm
104329459361Smrg		;;
104429459361Smrg	s390 | s390-*)
104529459361Smrg		basic_machine=s390-ibm
104629459361Smrg		;;
104729459361Smrg	s390x | s390x-*)
104829459361Smrg		basic_machine=s390x-ibm
104929459361Smrg		;;
105029459361Smrg	sa29200)
105129459361Smrg		basic_machine=a29k-amd
105229459361Smrg		os=-udi
105329459361Smrg		;;
105429459361Smrg	sb1)
105529459361Smrg		basic_machine=mipsisa64sb1-unknown
105629459361Smrg		;;
105729459361Smrg	sb1el)
105829459361Smrg		basic_machine=mipsisa64sb1el-unknown
105929459361Smrg		;;
106029459361Smrg	sde)
106129459361Smrg		basic_machine=mipsisa32-sde
106229459361Smrg		os=-elf
106329459361Smrg		;;
106429459361Smrg	sei)
106529459361Smrg		basic_machine=mips-sei
106629459361Smrg		os=-seiux
106729459361Smrg		;;
106829459361Smrg	sequent)
106929459361Smrg		basic_machine=i386-sequent
107029459361Smrg		;;
107129459361Smrg	sh)
107229459361Smrg		basic_machine=sh-hitachi
107329459361Smrg		os=-hms
107429459361Smrg		;;
107529459361Smrg	sh5el)
107629459361Smrg		basic_machine=sh5le-unknown
107729459361Smrg		;;
107829459361Smrg	sh64)
107929459361Smrg		basic_machine=sh64-unknown
108029459361Smrg		;;
108129459361Smrg	sparclite-wrs | simso-wrs)
108229459361Smrg		basic_machine=sparclite-wrs
108329459361Smrg		os=-vxworks
108429459361Smrg		;;
108529459361Smrg	sps7)
108629459361Smrg		basic_machine=m68k-bull
108729459361Smrg		os=-sysv2
108829459361Smrg		;;
108929459361Smrg	spur)
109029459361Smrg		basic_machine=spur-unknown
109129459361Smrg		;;
109229459361Smrg	st2000)
109329459361Smrg		basic_machine=m68k-tandem
109429459361Smrg		;;
109529459361Smrg	stratus)
109629459361Smrg		basic_machine=i860-stratus
109729459361Smrg		os=-sysv4
109829459361Smrg		;;
10995dd2154eSmrg	strongarm-* | thumb-*)
11005dd2154eSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
11015dd2154eSmrg		;;
110229459361Smrg	sun2)
110329459361Smrg		basic_machine=m68000-sun
110429459361Smrg		;;
110529459361Smrg	sun2os3)
110629459361Smrg		basic_machine=m68000-sun
110729459361Smrg		os=-sunos3
110829459361Smrg		;;
110929459361Smrg	sun2os4)
111029459361Smrg		basic_machine=m68000-sun
111129459361Smrg		os=-sunos4
111229459361Smrg		;;
111329459361Smrg	sun3os3)
111429459361Smrg		basic_machine=m68k-sun
111529459361Smrg		os=-sunos3
111629459361Smrg		;;
111729459361Smrg	sun3os4)
111829459361Smrg		basic_machine=m68k-sun
111929459361Smrg		os=-sunos4
112029459361Smrg		;;
112129459361Smrg	sun4os3)
112229459361Smrg		basic_machine=sparc-sun
112329459361Smrg		os=-sunos3
112429459361Smrg		;;
112529459361Smrg	sun4os4)
112629459361Smrg		basic_machine=sparc-sun
112729459361Smrg		os=-sunos4
112829459361Smrg		;;
112929459361Smrg	sun4sol2)
113029459361Smrg		basic_machine=sparc-sun
113129459361Smrg		os=-solaris2
113229459361Smrg		;;
113329459361Smrg	sun3 | sun3-*)
113429459361Smrg		basic_machine=m68k-sun
113529459361Smrg		;;
113629459361Smrg	sun4)
113729459361Smrg		basic_machine=sparc-sun
113829459361Smrg		;;
113929459361Smrg	sun386 | sun386i | roadrunner)
114029459361Smrg		basic_machine=i386-sun
114129459361Smrg		;;
114229459361Smrg	sv1)
114329459361Smrg		basic_machine=sv1-cray
114429459361Smrg		os=-unicos
114529459361Smrg		;;
114629459361Smrg	symmetry)
114729459361Smrg		basic_machine=i386-sequent
114829459361Smrg		os=-dynix
114929459361Smrg		;;
115029459361Smrg	t3e)
115129459361Smrg		basic_machine=alphaev5-cray
115229459361Smrg		os=-unicos
115329459361Smrg		;;
115429459361Smrg	t90)
115529459361Smrg		basic_machine=t90-cray
115629459361Smrg		os=-unicos
115729459361Smrg		;;
115847202d7bSmrg	tile*)
11595dd2154eSmrg		basic_machine=$basic_machine-unknown
116047202d7bSmrg		os=-linux-gnu
116147202d7bSmrg		;;
116229459361Smrg	tx39)
116329459361Smrg		basic_machine=mipstx39-unknown
116429459361Smrg		;;
116529459361Smrg	tx39el)
116629459361Smrg		basic_machine=mipstx39el-unknown
116729459361Smrg		;;
116829459361Smrg	toad1)
116929459361Smrg		basic_machine=pdp10-xkl
117029459361Smrg		os=-tops20
117129459361Smrg		;;
117229459361Smrg	tower | tower-32)
117329459361Smrg		basic_machine=m68k-ncr
117429459361Smrg		;;
117529459361Smrg	tpf)
117629459361Smrg		basic_machine=s390x-ibm
117729459361Smrg		os=-tpf
117829459361Smrg		;;
117929459361Smrg	udi29k)
118029459361Smrg		basic_machine=a29k-amd
118129459361Smrg		os=-udi
118229459361Smrg		;;
118329459361Smrg	ultra3)
118429459361Smrg		basic_machine=a29k-nyu
118529459361Smrg		os=-sym1
118629459361Smrg		;;
118729459361Smrg	v810 | necv810)
118829459361Smrg		basic_machine=v810-nec
118929459361Smrg		os=-none
119029459361Smrg		;;
119129459361Smrg	vaxv)
119229459361Smrg		basic_machine=vax-dec
119329459361Smrg		os=-sysv
119429459361Smrg		;;
119529459361Smrg	vms)
119629459361Smrg		basic_machine=vax-dec
119729459361Smrg		os=-vms
119829459361Smrg		;;
119929459361Smrg	vpp*|vx|vx-*)
120029459361Smrg		basic_machine=f301-fujitsu
120129459361Smrg		;;
120229459361Smrg	vxworks960)
120329459361Smrg		basic_machine=i960-wrs
120429459361Smrg		os=-vxworks
120529459361Smrg		;;
120629459361Smrg	vxworks68)
120729459361Smrg		basic_machine=m68k-wrs
120829459361Smrg		os=-vxworks
120929459361Smrg		;;
121029459361Smrg	vxworks29k)
121129459361Smrg		basic_machine=a29k-wrs
121229459361Smrg		os=-vxworks
121329459361Smrg		;;
121429459361Smrg	w65*)
121529459361Smrg		basic_machine=w65-wdc
121629459361Smrg		os=-none
121729459361Smrg		;;
121829459361Smrg	w89k-*)
121929459361Smrg		basic_machine=hppa1.1-winbond
122029459361Smrg		os=-proelf
122129459361Smrg		;;
122229459361Smrg	xbox)
122329459361Smrg		basic_machine=i686-pc
122429459361Smrg		os=-mingw32
122529459361Smrg		;;
122629459361Smrg	xps | xps100)
122729459361Smrg		basic_machine=xps100-honeywell
122829459361Smrg		;;
12295dd2154eSmrg	xscale-* | xscalee[bl]-*)
12305dd2154eSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12315dd2154eSmrg		;;
123229459361Smrg	ymp)
123329459361Smrg		basic_machine=ymp-cray
123429459361Smrg		os=-unicos
123529459361Smrg		;;
123629459361Smrg	z8k-*-coff)
123729459361Smrg		basic_machine=z8k-unknown
123829459361Smrg		os=-sim
123929459361Smrg		;;
124047202d7bSmrg	z80-*-coff)
124147202d7bSmrg		basic_machine=z80-unknown
124247202d7bSmrg		os=-sim
124347202d7bSmrg		;;
124429459361Smrg	none)
124529459361Smrg		basic_machine=none-none
124629459361Smrg		os=-none
124729459361Smrg		;;
124829459361Smrg
124929459361Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
125029459361Smrg# some cases the only manufacturer, in others, it is the most popular.
125129459361Smrg	w89k)
125229459361Smrg		basic_machine=hppa1.1-winbond
125329459361Smrg		;;
125429459361Smrg	op50n)
125529459361Smrg		basic_machine=hppa1.1-oki
125629459361Smrg		;;
125729459361Smrg	op60c)
125829459361Smrg		basic_machine=hppa1.1-oki
125929459361Smrg		;;
126029459361Smrg	romp)
126129459361Smrg		basic_machine=romp-ibm
126229459361Smrg		;;
126329459361Smrg	mmix)
126429459361Smrg		basic_machine=mmix-knuth
126529459361Smrg		;;
126629459361Smrg	rs6000)
126729459361Smrg		basic_machine=rs6000-ibm
126829459361Smrg		;;
126929459361Smrg	vax)
127029459361Smrg		basic_machine=vax-dec
127129459361Smrg		;;
127229459361Smrg	pdp10)
127329459361Smrg		# there are many clones, so DEC is not a safe bet
127429459361Smrg		basic_machine=pdp10-unknown
127529459361Smrg		;;
127629459361Smrg	pdp11)
127729459361Smrg		basic_machine=pdp11-dec
127829459361Smrg		;;
127929459361Smrg	we32k)
128029459361Smrg		basic_machine=we32k-att
128129459361Smrg		;;
128247202d7bSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
128329459361Smrg		basic_machine=sh-unknown
128429459361Smrg		;;
128529459361Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
128629459361Smrg		basic_machine=sparc-sun
128729459361Smrg		;;
128829459361Smrg	cydra)
128929459361Smrg		basic_machine=cydra-cydrome
129029459361Smrg		;;
129129459361Smrg	orion)
129229459361Smrg		basic_machine=orion-highlevel
129329459361Smrg		;;
129429459361Smrg	orion105)
129529459361Smrg		basic_machine=clipper-highlevel
129629459361Smrg		;;
129729459361Smrg	mac | mpw | mac-mpw)
129829459361Smrg		basic_machine=m68k-apple
129929459361Smrg		;;
130029459361Smrg	pmac | pmac-mpw)
130129459361Smrg		basic_machine=powerpc-apple
130229459361Smrg		;;
130329459361Smrg	*-unknown)
130429459361Smrg		# Make sure to match an already-canonicalized machine name.
130529459361Smrg		;;
130629459361Smrg	*)
130729459361Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130829459361Smrg		exit 1
130929459361Smrg		;;
131029459361Smrgesac
131129459361Smrg
131229459361Smrg# Here we canonicalize certain aliases for manufacturers.
131329459361Smrgcase $basic_machine in
131429459361Smrg	*-digital*)
131529459361Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
131629459361Smrg		;;
131729459361Smrg	*-commodore*)
131829459361Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131929459361Smrg		;;
132029459361Smrg	*)
132129459361Smrg		;;
132229459361Smrgesac
132329459361Smrg
132429459361Smrg# Decode manufacturer-specific aliases for certain operating systems.
132529459361Smrg
132629459361Smrgif [ x"$os" != x"" ]
132729459361Smrgthen
132829459361Smrgcase $os in
13295dd2154eSmrg	# First match some system type aliases
13305dd2154eSmrg	# that might get confused with valid system types.
133129459361Smrg	# -solaris* is a basic system type, with this one exception.
13325dd2154eSmrg	-auroraux)
13335dd2154eSmrg		os=-auroraux
13344fbc8bdeSmrg		;;
133529459361Smrg	-solaris1 | -solaris1.*)
133629459361Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
133729459361Smrg		;;
133829459361Smrg	-solaris)
133929459361Smrg		os=-solaris2
134029459361Smrg		;;
134129459361Smrg	-svr4*)
134229459361Smrg		os=-sysv4
134329459361Smrg		;;
134429459361Smrg	-unixware*)
134529459361Smrg		os=-sysv4.2uw
134629459361Smrg		;;
134729459361Smrg	-gnu/linux*)
134829459361Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134929459361Smrg		;;
135029459361Smrg	# First accept the basic system types.
135129459361Smrg	# The portable systems comes first.
135229459361Smrg	# Each alternative MUST END IN A *, to match a version number.
135329459361Smrg	# -sysv* is not here because it comes later, after sysvr4.
135429459361Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13554fbc8bdeSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13564fbc8bdeSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1357fb4ebca8Smrg	      | -sym* | -kopensolaris* | -plan9* \
135829459361Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
135947202d7bSmrg	      | -aos* | -aros* \
136029459361Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
136129459361Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
136229459361Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1363fb4ebca8Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
136429459361Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
136529459361Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
136629459361Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
136729459361Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
136847202d7bSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13695dd2154eSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1370fb4ebca8Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1371fb4ebca8Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
137229459361Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
137329459361Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
137429459361Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
137529459361Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
137629459361Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
137729459361Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
137829459361Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13794fbc8bdeSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
138029459361Smrg	# Remember, each alternative MUST END IN *, to match a version number.
138129459361Smrg		;;
138229459361Smrg	-qnx*)
138329459361Smrg		case $basic_machine in
138429459361Smrg		    x86-* | i*86-*)
138529459361Smrg			;;
138629459361Smrg		    *)
138729459361Smrg			os=-nto$os
138829459361Smrg			;;
138929459361Smrg		esac
139029459361Smrg		;;
139129459361Smrg	-nto-qnx*)
139229459361Smrg		;;
139329459361Smrg	-nto*)
139429459361Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
139529459361Smrg		;;
139629459361Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
139729459361Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139829459361Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139929459361Smrg		;;
140029459361Smrg	-mac*)
140129459361Smrg		os=`echo $os | sed -e 's|mac|macos|'`
140229459361Smrg		;;
140329459361Smrg	-linux-dietlibc)
140429459361Smrg		os=-linux-dietlibc
140529459361Smrg		;;
140629459361Smrg	-linux*)
140729459361Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140829459361Smrg		;;
140929459361Smrg	-sunos5*)
141029459361Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
141129459361Smrg		;;
141229459361Smrg	-sunos6*)
141329459361Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
141429459361Smrg		;;
141529459361Smrg	-opened*)
141629459361Smrg		os=-openedition
141729459361Smrg		;;
14185dd2154eSmrg	-os400*)
141929459361Smrg		os=-os400
142029459361Smrg		;;
142129459361Smrg	-wince*)
142229459361Smrg		os=-wince
142329459361Smrg		;;
142429459361Smrg	-osfrose*)
142529459361Smrg		os=-osfrose
142629459361Smrg		;;
142729459361Smrg	-osf*)
142829459361Smrg		os=-osf
142929459361Smrg		;;
143029459361Smrg	-utek*)
143129459361Smrg		os=-bsd
143229459361Smrg		;;
143329459361Smrg	-dynix*)
143429459361Smrg		os=-bsd
143529459361Smrg		;;
143629459361Smrg	-acis*)
143729459361Smrg		os=-aos
143829459361Smrg		;;
143929459361Smrg	-atheos*)
144029459361Smrg		os=-atheos
144129459361Smrg		;;
144229459361Smrg	-syllable*)
144329459361Smrg		os=-syllable
144429459361Smrg		;;
144529459361Smrg	-386bsd)
144629459361Smrg		os=-bsd
144729459361Smrg		;;
144829459361Smrg	-ctix* | -uts*)
144929459361Smrg		os=-sysv
145029459361Smrg		;;
145129459361Smrg	-nova*)
145229459361Smrg		os=-rtmk-nova
145329459361Smrg		;;
145429459361Smrg	-ns2 )
145529459361Smrg		os=-nextstep2
145629459361Smrg		;;
145729459361Smrg	-nsk*)
145829459361Smrg		os=-nsk
145929459361Smrg		;;
146029459361Smrg	# Preserve the version number of sinix5.
146129459361Smrg	-sinix5.*)
146229459361Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
146329459361Smrg		;;
146429459361Smrg	-sinix*)
146529459361Smrg		os=-sysv4
146629459361Smrg		;;
14675dd2154eSmrg	-tpf*)
146829459361Smrg		os=-tpf
146929459361Smrg		;;
147029459361Smrg	-triton*)
147129459361Smrg		os=-sysv3
147229459361Smrg		;;
147329459361Smrg	-oss*)
147429459361Smrg		os=-sysv3
147529459361Smrg		;;
147629459361Smrg	-svr4)
147729459361Smrg		os=-sysv4
147829459361Smrg		;;
147929459361Smrg	-svr3)
148029459361Smrg		os=-sysv3
148129459361Smrg		;;
148229459361Smrg	-sysvr4)
148329459361Smrg		os=-sysv4
148429459361Smrg		;;
148529459361Smrg	# This must come after -sysvr4.
148629459361Smrg	-sysv*)
148729459361Smrg		;;
148829459361Smrg	-ose*)
148929459361Smrg		os=-ose
149029459361Smrg		;;
149129459361Smrg	-es1800*)
149229459361Smrg		os=-ose
149329459361Smrg		;;
149429459361Smrg	-xenix)
149529459361Smrg		os=-xenix
149629459361Smrg		;;
149729459361Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
149829459361Smrg		os=-mint
149929459361Smrg		;;
150029459361Smrg	-aros*)
150129459361Smrg		os=-aros
150229459361Smrg		;;
150329459361Smrg	-zvmoe)
150429459361Smrg		os=-zvmoe
150529459361Smrg		;;
150647202d7bSmrg	-dicos*)
150747202d7bSmrg		os=-dicos
150847202d7bSmrg		;;
15095dd2154eSmrg	-nacl*)
15105dd2154eSmrg		;;
151129459361Smrg	-none)
151229459361Smrg		;;
151329459361Smrg	*)
151429459361Smrg		# Get rid of the `-' at the beginning of $os.
151529459361Smrg		os=`echo $os | sed 's/[^-]*-//'`
151629459361Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151729459361Smrg		exit 1
151829459361Smrg		;;
151929459361Smrgesac
152029459361Smrgelse
152129459361Smrg
152229459361Smrg# Here we handle the default operating systems that come with various machines.
152329459361Smrg# The value should be what the vendor currently ships out the door with their
152429459361Smrg# machine or put another way, the most popular os provided with the machine.
152529459361Smrg
152629459361Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
152729459361Smrg# "-sun"), then you have to tell the case statement up towards the top
152829459361Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
152929459361Smrg# will signal an error saying that MANUFACTURER isn't an operating
153029459361Smrg# system, and we'll never get to this point.
153129459361Smrg
153229459361Smrgcase $basic_machine in
15335dd2154eSmrg	score-*)
153429459361Smrg		os=-elf
153529459361Smrg		;;
15365dd2154eSmrg	spu-*)
153729459361Smrg		os=-elf
153829459361Smrg		;;
153929459361Smrg	*-acorn)
154029459361Smrg		os=-riscix1.2
154129459361Smrg		;;
154229459361Smrg	arm*-rebel)
154329459361Smrg		os=-linux
154429459361Smrg		;;
154529459361Smrg	arm*-semi)
154629459361Smrg		os=-aout
154729459361Smrg		;;
15485dd2154eSmrg	c4x-* | tic4x-*)
15495dd2154eSmrg		os=-coff
155029459361Smrg		;;
1551fb4ebca8Smrg	c8051-*)
1552fb4ebca8Smrg		os=-elf
1553fb4ebca8Smrg		;;
1554fb4ebca8Smrg	hexagon-*)
1555fb4ebca8Smrg		os=-elf
1556fb4ebca8Smrg		;;
15574fbc8bdeSmrg	tic54x-*)
15584fbc8bdeSmrg		os=-coff
15594fbc8bdeSmrg		;;
15604fbc8bdeSmrg	tic55x-*)
15614fbc8bdeSmrg		os=-coff
15624fbc8bdeSmrg		;;
15634fbc8bdeSmrg	tic6x-*)
15644fbc8bdeSmrg		os=-coff
15654fbc8bdeSmrg		;;
156629459361Smrg	# This must come before the *-dec entry.
156729459361Smrg	pdp10-*)
156829459361Smrg		os=-tops20
156929459361Smrg		;;
157029459361Smrg	pdp11-*)
157129459361Smrg		os=-none
157229459361Smrg		;;
157329459361Smrg	*-dec | vax-*)
157429459361Smrg		os=-ultrix4.2
157529459361Smrg		;;
157629459361Smrg	m68*-apollo)
157729459361Smrg		os=-domain
157829459361Smrg		;;
157929459361Smrg	i386-sun)
158029459361Smrg		os=-sunos4.0.2
158129459361Smrg		;;
158229459361Smrg	m68000-sun)
158329459361Smrg		os=-sunos3
158429459361Smrg		;;
158529459361Smrg	m68*-cisco)
158629459361Smrg		os=-aout
158729459361Smrg		;;
15885dd2154eSmrg	mep-*)
158947202d7bSmrg		os=-elf
159047202d7bSmrg		;;
159129459361Smrg	mips*-cisco)
159229459361Smrg		os=-elf
159329459361Smrg		;;
159429459361Smrg	mips*-*)
159529459361Smrg		os=-elf
159629459361Smrg		;;
1597fb4ebca8Smrg	or1k-*)
1598fb4ebca8Smrg		os=-elf
1599fb4ebca8Smrg		;;
160029459361Smrg	or32-*)
160129459361Smrg		os=-coff
160229459361Smrg		;;
160329459361Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
160429459361Smrg		os=-sysv3
160529459361Smrg		;;
160629459361Smrg	sparc-* | *-sun)
160729459361Smrg		os=-sunos4.1.1
160829459361Smrg		;;
160929459361Smrg	*-be)
161029459361Smrg		os=-beos
161129459361Smrg		;;
161229459361Smrg	*-haiku)
161329459361Smrg		os=-haiku
161429459361Smrg		;;
161529459361Smrg	*-ibm)
161629459361Smrg		os=-aix
161729459361Smrg		;;
16185dd2154eSmrg	*-knuth)
161929459361Smrg		os=-mmixware
162029459361Smrg		;;
162129459361Smrg	*-wec)
162229459361Smrg		os=-proelf
162329459361Smrg		;;
162429459361Smrg	*-winbond)
162529459361Smrg		os=-proelf
162629459361Smrg		;;
162729459361Smrg	*-oki)
162829459361Smrg		os=-proelf
162929459361Smrg		;;
163029459361Smrg	*-hp)
163129459361Smrg		os=-hpux
163229459361Smrg		;;
163329459361Smrg	*-hitachi)
163429459361Smrg		os=-hiux
163529459361Smrg		;;
163629459361Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
163729459361Smrg		os=-sysv
163829459361Smrg		;;
163929459361Smrg	*-cbm)
164029459361Smrg		os=-amigaos
164129459361Smrg		;;
164229459361Smrg	*-dg)
164329459361Smrg		os=-dgux
164429459361Smrg		;;
164529459361Smrg	*-dolphin)
164629459361Smrg		os=-sysv3
164729459361Smrg		;;
164829459361Smrg	m68k-ccur)
164929459361Smrg		os=-rtu
165029459361Smrg		;;
165129459361Smrg	m88k-omron*)
165229459361Smrg		os=-luna
165329459361Smrg		;;
165429459361Smrg	*-next )
165529459361Smrg		os=-nextstep
165629459361Smrg		;;
165729459361Smrg	*-sequent)
165829459361Smrg		os=-ptx
165929459361Smrg		;;
166029459361Smrg	*-crds)
166129459361Smrg		os=-unos
166229459361Smrg		;;
166329459361Smrg	*-ns)
166429459361Smrg		os=-genix
166529459361Smrg		;;
166629459361Smrg	i370-*)
166729459361Smrg		os=-mvs
166829459361Smrg		;;
166929459361Smrg	*-next)
167029459361Smrg		os=-nextstep3
167129459361Smrg		;;
167229459361Smrg	*-gould)
167329459361Smrg		os=-sysv
167429459361Smrg		;;
167529459361Smrg	*-highlevel)
167629459361Smrg		os=-bsd
167729459361Smrg		;;
167829459361Smrg	*-encore)
167929459361Smrg		os=-bsd
168029459361Smrg		;;
168129459361Smrg	*-sgi)
168229459361Smrg		os=-irix
168329459361Smrg		;;
168429459361Smrg	*-siemens)
168529459361Smrg		os=-sysv4
168629459361Smrg		;;
168729459361Smrg	*-masscomp)
168829459361Smrg		os=-rtu
168929459361Smrg		;;
169029459361Smrg	f30[01]-fujitsu | f700-fujitsu)
169129459361Smrg		os=-uxpv
169229459361Smrg		;;
169329459361Smrg	*-rom68k)
169429459361Smrg		os=-coff
169529459361Smrg		;;
169629459361Smrg	*-*bug)
169729459361Smrg		os=-coff
169829459361Smrg		;;
169929459361Smrg	*-apple)
170029459361Smrg		os=-macos
170129459361Smrg		;;
170229459361Smrg	*-atari*)
170329459361Smrg		os=-mint
170429459361Smrg		;;
170529459361Smrg	*)
170629459361Smrg		os=-none
170729459361Smrg		;;
170829459361Smrgesac
170929459361Smrgfi
171029459361Smrg
171129459361Smrg# Here we handle the case where we know the os, and the CPU type, but not the
171229459361Smrg# manufacturer.  We pick the logical manufacturer.
171329459361Smrgvendor=unknown
171429459361Smrgcase $basic_machine in
171529459361Smrg	*-unknown)
171629459361Smrg		case $os in
171729459361Smrg			-riscix*)
171829459361Smrg				vendor=acorn
171929459361Smrg				;;
172029459361Smrg			-sunos*)
172129459361Smrg				vendor=sun
172229459361Smrg				;;
17234fbc8bdeSmrg			-cnk*|-aix*)
172429459361Smrg				vendor=ibm
172529459361Smrg				;;
172629459361Smrg			-beos*)
172729459361Smrg				vendor=be
172829459361Smrg				;;
172929459361Smrg			-hpux*)
173029459361Smrg				vendor=hp
173129459361Smrg				;;
173229459361Smrg			-mpeix*)
173329459361Smrg				vendor=hp
173429459361Smrg				;;
173529459361Smrg			-hiux*)
173629459361Smrg				vendor=hitachi
173729459361Smrg				;;
173829459361Smrg			-unos*)
173929459361Smrg				vendor=crds
174029459361Smrg				;;
174129459361Smrg			-dgux*)
174229459361Smrg				vendor=dg
174329459361Smrg				;;
174429459361Smrg			-luna*)
174529459361Smrg				vendor=omron
174629459361Smrg				;;
174729459361Smrg			-genix*)
174829459361Smrg				vendor=ns
174929459361Smrg				;;
175029459361Smrg			-mvs* | -opened*)
175129459361Smrg				vendor=ibm
175229459361Smrg				;;
175329459361Smrg			-os400*)
175429459361Smrg				vendor=ibm
175529459361Smrg				;;
175629459361Smrg			-ptx*)
175729459361Smrg				vendor=sequent
175829459361Smrg				;;
175929459361Smrg			-tpf*)
176029459361Smrg				vendor=ibm
176129459361Smrg				;;
176229459361Smrg			-vxsim* | -vxworks* | -windiss*)
176329459361Smrg				vendor=wrs
176429459361Smrg				;;
176529459361Smrg			-aux*)
176629459361Smrg				vendor=apple
176729459361Smrg				;;
176829459361Smrg			-hms*)
176929459361Smrg				vendor=hitachi
177029459361Smrg				;;
177129459361Smrg			-mpw* | -macos*)
177229459361Smrg				vendor=apple
177329459361Smrg				;;
177429459361Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
177529459361Smrg				vendor=atari
177629459361Smrg				;;
177729459361Smrg			-vos*)
177829459361Smrg				vendor=stratus
177929459361Smrg				;;
178029459361Smrg		esac
178129459361Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
178229459361Smrg		;;
178329459361Smrgesac
178429459361Smrg
178529459361Smrgecho $basic_machine$os
178629459361Smrgexit
178729459361Smrg
178829459361Smrg# Local variables:
178929459361Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
179029459361Smrg# time-stamp-start: "timestamp='"
179129459361Smrg# time-stamp-format: "%:y-%02m-%02d"
179229459361Smrg# time-stamp-end: "'"
179329459361Smrg# End:
1794