xref: /netbsd-src/external/bsd/flex/dist/build-aux/config.sub (revision cc576e1d8e4f4078fd4e81238abca9fca216f6ec)
130da1778Schristos#! /bin/sh
230da1778Schristos# Configuration validation subroutine script.
3*cc576e1dSsevan#   Copyright 1992-2017 Free Software Foundation, Inc.
430da1778Schristos
5*cc576e1dSsevantimestamp='2017-01-01'
630da1778Schristos
730da1778Schristos# This file is free software; you can redistribute it and/or modify it
830da1778Schristos# under the terms of the GNU General Public License as published by
930da1778Schristos# the Free Software Foundation; either version 3 of the License, or
1030da1778Schristos# (at your option) any later version.
1130da1778Schristos#
1230da1778Schristos# This program is distributed in the hope that it will be useful, but
1330da1778Schristos# WITHOUT ANY WARRANTY; without even the implied warranty of
1430da1778Schristos# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1530da1778Schristos# General Public License for more details.
1630da1778Schristos#
1730da1778Schristos# You should have received a copy of the GNU General Public License
1830da1778Schristos# along with this program; if not, see <http://www.gnu.org/licenses/>.
1930da1778Schristos#
2030da1778Schristos# As a special exception to the GNU General Public License, if you
2130da1778Schristos# distribute this file as part of a program that contains a
2230da1778Schristos# configuration script generated by Autoconf, you may include it under
2330da1778Schristos# the same distribution terms that you use for the rest of that
2430da1778Schristos# program.  This Exception is an additional permission under section 7
2530da1778Schristos# of the GNU General Public License, version 3 ("GPLv3").
2630da1778Schristos
2730da1778Schristos
2830da1778Schristos# Please send patches to <config-patches@gnu.org>.
2930da1778Schristos#
3030da1778Schristos# Configuration subroutine to validate and canonicalize a configuration type.
3130da1778Schristos# Supply the specified configuration type as an argument.
3230da1778Schristos# If it is invalid, we print an error message on stderr and exit with code 1.
3330da1778Schristos# Otherwise, we print the canonical config type on stdout and succeed.
3430da1778Schristos
3530da1778Schristos# You can get the latest version of this script from:
36*cc576e1dSsevan# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
3730da1778Schristos
3830da1778Schristos# This file is supposed to be the same for all GNU packages
3930da1778Schristos# and recognize all the CPU types, system types and aliases
4030da1778Schristos# that are meaningful with *any* GNU software.
4130da1778Schristos# Each package is responsible for reporting which valid configurations
4230da1778Schristos# it does not support.  The user should be able to distinguish
4330da1778Schristos# a failure to support a valid configuration from a meaningless
4430da1778Schristos# configuration.
4530da1778Schristos
4630da1778Schristos# The goal of this file is to map all the various variations of a given
4730da1778Schristos# machine specification into a single specification in the form:
4830da1778Schristos#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4930da1778Schristos# or in some cases, the newer four-part form:
5030da1778Schristos#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5130da1778Schristos# It is wrong to echo any other type of specification.
5230da1778Schristos
5330da1778Schristosme=`echo "$0" | sed -e 's,.*/,,'`
5430da1778Schristos
5530da1778Schristosusage="\
56*cc576e1dSsevanUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
5730da1778Schristos
5830da1778SchristosCanonicalize a configuration name.
5930da1778Schristos
6030da1778SchristosOperation modes:
6130da1778Schristos  -h, --help         print this help, then exit
6230da1778Schristos  -t, --time-stamp   print date of last modification, then exit
6330da1778Schristos  -v, --version      print version number, then exit
6430da1778Schristos
6530da1778SchristosReport bugs and patches to <config-patches@gnu.org>."
6630da1778Schristos
6730da1778Schristosversion="\
6830da1778SchristosGNU config.sub ($timestamp)
6930da1778Schristos
70*cc576e1dSsevanCopyright 1992-2017 Free Software Foundation, Inc.
7130da1778Schristos
7230da1778SchristosThis is free software; see the source for copying conditions.  There is NO
7330da1778Schristoswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7430da1778Schristos
7530da1778Schristoshelp="
7630da1778SchristosTry \`$me --help' for more information."
7730da1778Schristos
7830da1778Schristos# Parse command line
7930da1778Schristoswhile test $# -gt 0 ; do
8030da1778Schristos  case $1 in
8130da1778Schristos    --time-stamp | --time* | -t )
8230da1778Schristos       echo "$timestamp" ; exit ;;
8330da1778Schristos    --version | -v )
8430da1778Schristos       echo "$version" ; exit ;;
8530da1778Schristos    --help | --h* | -h )
8630da1778Schristos       echo "$usage"; exit ;;
8730da1778Schristos    -- )     # Stop option processing
8830da1778Schristos       shift; break ;;
8930da1778Schristos    - )	# Use stdin as input.
9030da1778Schristos       break ;;
9130da1778Schristos    -* )
9230da1778Schristos       echo "$me: invalid option $1$help"
9330da1778Schristos       exit 1 ;;
9430da1778Schristos
9530da1778Schristos    *local*)
9630da1778Schristos       # First pass through any local machine types.
9730da1778Schristos       echo $1
9830da1778Schristos       exit ;;
9930da1778Schristos
10030da1778Schristos    * )
10130da1778Schristos       break ;;
10230da1778Schristos  esac
10330da1778Schristosdone
10430da1778Schristos
10530da1778Schristoscase $# in
10630da1778Schristos 0) echo "$me: missing argument$help" >&2
10730da1778Schristos    exit 1;;
10830da1778Schristos 1) ;;
10930da1778Schristos *) echo "$me: too many arguments$help" >&2
11030da1778Schristos    exit 1;;
11130da1778Schristosesac
11230da1778Schristos
11330da1778Schristos# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11430da1778Schristos# Here we must recognize all the valid KERNEL-OS combinations.
11530da1778Schristosmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11630da1778Schristoscase $maybe_os in
11730da1778Schristos  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
11830da1778Schristos  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
11956bd8546Schristos  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
120*cc576e1dSsevan  kopensolaris*-gnu* | cloudabi*-eabi* | \
12130da1778Schristos  storm-chaos* | os2-emx* | rtmk-nova*)
12230da1778Schristos    os=-$maybe_os
12330da1778Schristos    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12430da1778Schristos    ;;
12530da1778Schristos  android-linux)
12630da1778Schristos    os=-linux-android
12730da1778Schristos    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
12830da1778Schristos    ;;
12930da1778Schristos  *)
13030da1778Schristos    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13130da1778Schristos    if [ $basic_machine != $1 ]
13230da1778Schristos    then os=`echo $1 | sed 's/.*-/-/'`
13330da1778Schristos    else os=; fi
13430da1778Schristos    ;;
13530da1778Schristosesac
13630da1778Schristos
13730da1778Schristos### Let's recognize common machines as not being operating systems so
13830da1778Schristos### that things like config.sub decstation-3100 work.  We also
13930da1778Schristos### recognize some manufacturers as not being operating systems, so we
14030da1778Schristos### can provide default operating systems below.
14130da1778Schristoscase $os in
14230da1778Schristos	-sun*os*)
14330da1778Schristos		# Prevent following clause from handling this invalid input.
14430da1778Schristos		;;
14530da1778Schristos	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14630da1778Schristos	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14730da1778Schristos	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14830da1778Schristos	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14930da1778Schristos	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15030da1778Schristos	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15130da1778Schristos	-apple | -axis | -knuth | -cray | -microblaze*)
15230da1778Schristos		os=
15330da1778Schristos		basic_machine=$1
15430da1778Schristos		;;
15530da1778Schristos	-bluegene*)
15630da1778Schristos		os=-cnk
15730da1778Schristos		;;
15830da1778Schristos	-sim | -cisco | -oki | -wec | -winbond)
15930da1778Schristos		os=
16030da1778Schristos		basic_machine=$1
16130da1778Schristos		;;
16230da1778Schristos	-scout)
16330da1778Schristos		;;
16430da1778Schristos	-wrs)
16530da1778Schristos		os=-vxworks
16630da1778Schristos		basic_machine=$1
16730da1778Schristos		;;
16830da1778Schristos	-chorusos*)
16930da1778Schristos		os=-chorusos
17030da1778Schristos		basic_machine=$1
17130da1778Schristos		;;
17230da1778Schristos	-chorusrdb)
17330da1778Schristos		os=-chorusrdb
17430da1778Schristos		basic_machine=$1
17530da1778Schristos		;;
17630da1778Schristos	-hiux*)
17730da1778Schristos		os=-hiuxwe2
17830da1778Schristos		;;
17930da1778Schristos	-sco6)
18030da1778Schristos		os=-sco5v6
18130da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18230da1778Schristos		;;
18330da1778Schristos	-sco5)
18430da1778Schristos		os=-sco3.2v5
18530da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18630da1778Schristos		;;
18730da1778Schristos	-sco4)
18830da1778Schristos		os=-sco3.2v4
18930da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19030da1778Schristos		;;
19130da1778Schristos	-sco3.2.[4-9]*)
19230da1778Schristos		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19330da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19430da1778Schristos		;;
19530da1778Schristos	-sco3.2v[4-9]*)
19630da1778Schristos		# Don't forget version if it is 3.2v4 or newer.
19730da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19830da1778Schristos		;;
19930da1778Schristos	-sco5v6*)
20030da1778Schristos		# Don't forget version if it is 3.2v4 or newer.
20130da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20230da1778Schristos		;;
20330da1778Schristos	-sco*)
20430da1778Schristos		os=-sco3.2v2
20530da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20630da1778Schristos		;;
20730da1778Schristos	-udk*)
20830da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20930da1778Schristos		;;
21030da1778Schristos	-isc)
21130da1778Schristos		os=-isc2.2
21230da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21330da1778Schristos		;;
21430da1778Schristos	-clix*)
21530da1778Schristos		basic_machine=clipper-intergraph
21630da1778Schristos		;;
21730da1778Schristos	-isc*)
21830da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21930da1778Schristos		;;
22030da1778Schristos	-lynx*178)
22130da1778Schristos		os=-lynxos178
22230da1778Schristos		;;
22330da1778Schristos	-lynx*5)
22430da1778Schristos		os=-lynxos5
22530da1778Schristos		;;
22630da1778Schristos	-lynx*)
22730da1778Schristos		os=-lynxos
22830da1778Schristos		;;
22930da1778Schristos	-ptx*)
23030da1778Schristos		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23130da1778Schristos		;;
23230da1778Schristos	-windowsnt*)
23330da1778Schristos		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23430da1778Schristos		;;
23530da1778Schristos	-psos*)
23630da1778Schristos		os=-psos
23730da1778Schristos		;;
23830da1778Schristos	-mint | -mint[0-9]*)
23930da1778Schristos		basic_machine=m68k-atari
24030da1778Schristos		os=-mint
24130da1778Schristos		;;
24230da1778Schristosesac
24330da1778Schristos
24430da1778Schristos# Decode aliases for certain CPU-COMPANY combinations.
24530da1778Schristoscase $basic_machine in
24630da1778Schristos	# Recognize the basic CPU types without company name.
24730da1778Schristos	# Some are omitted here because they have special meanings below.
24830da1778Schristos	1750a | 580 \
24930da1778Schristos	| a29k \
25030da1778Schristos	| aarch64 | aarch64_be \
25130da1778Schristos	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25230da1778Schristos	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25330da1778Schristos	| am33_2.0 \
25430da1778Schristos	| arc | arceb \
25530da1778Schristos	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
25630da1778Schristos	| avr | avr32 \
25756bd8546Schristos	| ba \
25830da1778Schristos	| be32 | be64 \
25930da1778Schristos	| bfin \
26030da1778Schristos	| c4x | c8051 | clipper \
26130da1778Schristos	| d10v | d30v | dlx | dsp16xx \
26256bd8546Schristos	| e2k | epiphany \
26356bd8546Schristos	| fido | fr30 | frv | ft32 \
26430da1778Schristos	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26530da1778Schristos	| hexagon \
26630da1778Schristos	| i370 | i860 | i960 | ia64 \
26730da1778Schristos	| ip2k | iq2000 \
26830da1778Schristos	| k1om \
26930da1778Schristos	| le32 | le64 \
27030da1778Schristos	| lm32 \
27130da1778Schristos	| m32c | m32r | m32rle | m68000 | m68k | m88k \
27230da1778Schristos	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27330da1778Schristos	| mips | mipsbe | mipseb | mipsel | mipsle \
27430da1778Schristos	| mips16 \
27530da1778Schristos	| mips64 | mips64el \
27630da1778Schristos	| mips64octeon | mips64octeonel \
27730da1778Schristos	| mips64orion | mips64orionel \
27830da1778Schristos	| mips64r5900 | mips64r5900el \
27930da1778Schristos	| mips64vr | mips64vrel \
28030da1778Schristos	| mips64vr4100 | mips64vr4100el \
28130da1778Schristos	| mips64vr4300 | mips64vr4300el \
28230da1778Schristos	| mips64vr5000 | mips64vr5000el \
28330da1778Schristos	| mips64vr5900 | mips64vr5900el \
28430da1778Schristos	| mipsisa32 | mipsisa32el \
28530da1778Schristos	| mipsisa32r2 | mipsisa32r2el \
28630da1778Schristos	| mipsisa32r6 | mipsisa32r6el \
28730da1778Schristos	| mipsisa64 | mipsisa64el \
28830da1778Schristos	| mipsisa64r2 | mipsisa64r2el \
28930da1778Schristos	| mipsisa64r6 | mipsisa64r6el \
29030da1778Schristos	| mipsisa64sb1 | mipsisa64sb1el \
29130da1778Schristos	| mipsisa64sr71k | mipsisa64sr71kel \
29230da1778Schristos	| mipsr5900 | mipsr5900el \
29330da1778Schristos	| mipstx39 | mipstx39el \
29430da1778Schristos	| mn10200 | mn10300 \
29530da1778Schristos	| moxie \
29630da1778Schristos	| mt \
29730da1778Schristos	| msp430 \
29830da1778Schristos	| nds32 | nds32le | nds32be \
29930da1778Schristos	| nios | nios2 | nios2eb | nios2el \
30030da1778Schristos	| ns16k | ns32k \
30130da1778Schristos	| open8 | or1k | or1knd | or32 \
30230da1778Schristos	| pdp10 | pdp11 | pj | pjl \
30330da1778Schristos	| powerpc | powerpc64 | powerpc64le | powerpcle \
304*cc576e1dSsevan	| pru \
30530da1778Schristos	| pyramid \
30630da1778Schristos	| riscv32 | riscv64 \
30730da1778Schristos	| rl78 | rx \
30830da1778Schristos	| score \
30956bd8546Schristos	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
31030da1778Schristos	| sh64 | sh64le \
31130da1778Schristos	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31230da1778Schristos	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31330da1778Schristos	| spu \
31430da1778Schristos	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31530da1778Schristos	| ubicom32 \
31630da1778Schristos	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31730da1778Schristos	| visium \
31830da1778Schristos	| we32k \
31930da1778Schristos	| x86 | xc16x | xstormy16 | xtensa \
32030da1778Schristos	| z8k | z80)
32130da1778Schristos		basic_machine=$basic_machine-unknown
32230da1778Schristos		;;
32330da1778Schristos	c54x)
32430da1778Schristos		basic_machine=tic54x-unknown
32530da1778Schristos		;;
32630da1778Schristos	c55x)
32730da1778Schristos		basic_machine=tic55x-unknown
32830da1778Schristos		;;
32930da1778Schristos	c6x)
33030da1778Schristos		basic_machine=tic6x-unknown
33130da1778Schristos		;;
33230da1778Schristos	leon|leon[3-9])
33330da1778Schristos		basic_machine=sparc-$basic_machine
33430da1778Schristos		;;
33530da1778Schristos	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33630da1778Schristos		basic_machine=$basic_machine-unknown
33730da1778Schristos		os=-none
33830da1778Schristos		;;
33930da1778Schristos	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
34030da1778Schristos		;;
34130da1778Schristos	ms1)
34230da1778Schristos		basic_machine=mt-unknown
34330da1778Schristos		;;
34430da1778Schristos
34530da1778Schristos	strongarm | thumb | xscale)
34630da1778Schristos		basic_machine=arm-unknown
34730da1778Schristos		;;
34830da1778Schristos	xgate)
34930da1778Schristos		basic_machine=$basic_machine-unknown
35030da1778Schristos		os=-none
35130da1778Schristos		;;
35230da1778Schristos	xscaleeb)
35330da1778Schristos		basic_machine=armeb-unknown
35430da1778Schristos		;;
35530da1778Schristos
35630da1778Schristos	xscaleel)
35730da1778Schristos		basic_machine=armel-unknown
35830da1778Schristos		;;
35930da1778Schristos
36030da1778Schristos	# We use `pc' rather than `unknown'
36130da1778Schristos	# because (1) that's what they normally are, and
36230da1778Schristos	# (2) the word "unknown" tends to confuse beginning users.
36330da1778Schristos	i*86 | x86_64)
36430da1778Schristos	  basic_machine=$basic_machine-pc
36530da1778Schristos	  ;;
36630da1778Schristos	# Object if more than one company name word.
36730da1778Schristos	*-*-*)
36830da1778Schristos		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36930da1778Schristos		exit 1
37030da1778Schristos		;;
37130da1778Schristos	# Recognize the basic CPU types with company name.
37230da1778Schristos	580-* \
37330da1778Schristos	| a29k-* \
37430da1778Schristos	| aarch64-* | aarch64_be-* \
37530da1778Schristos	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37630da1778Schristos	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
37730da1778Schristos	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37830da1778Schristos	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37930da1778Schristos	| avr-* | avr32-* \
38056bd8546Schristos	| ba-* \
38130da1778Schristos	| be32-* | be64-* \
38230da1778Schristos	| bfin-* | bs2000-* \
38330da1778Schristos	| c[123]* | c30-* | [cjt]90-* | c4x-* \
38430da1778Schristos	| c8051-* | clipper-* | craynv-* | cydra-* \
38530da1778Schristos	| d10v-* | d30v-* | dlx-* \
38656bd8546Schristos	| e2k-* | elxsi-* \
38730da1778Schristos	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38830da1778Schristos	| h8300-* | h8500-* \
38930da1778Schristos	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
39030da1778Schristos	| hexagon-* \
39130da1778Schristos	| i*86-* | i860-* | i960-* | ia64-* \
39230da1778Schristos	| ip2k-* | iq2000-* \
39330da1778Schristos	| k1om-* \
39430da1778Schristos	| le32-* | le64-* \
39530da1778Schristos	| lm32-* \
39630da1778Schristos	| m32c-* | m32r-* | m32rle-* \
39730da1778Schristos	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
39830da1778Schristos	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
39930da1778Schristos	| microblaze-* | microblazeel-* \
40030da1778Schristos	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
40130da1778Schristos	| mips16-* \
40230da1778Schristos	| mips64-* | mips64el-* \
40330da1778Schristos	| mips64octeon-* | mips64octeonel-* \
40430da1778Schristos	| mips64orion-* | mips64orionel-* \
40530da1778Schristos	| mips64r5900-* | mips64r5900el-* \
40630da1778Schristos	| mips64vr-* | mips64vrel-* \
40730da1778Schristos	| mips64vr4100-* | mips64vr4100el-* \
40830da1778Schristos	| mips64vr4300-* | mips64vr4300el-* \
40930da1778Schristos	| mips64vr5000-* | mips64vr5000el-* \
41030da1778Schristos	| mips64vr5900-* | mips64vr5900el-* \
41130da1778Schristos	| mipsisa32-* | mipsisa32el-* \
41230da1778Schristos	| mipsisa32r2-* | mipsisa32r2el-* \
41330da1778Schristos	| mipsisa32r6-* | mipsisa32r6el-* \
41430da1778Schristos	| mipsisa64-* | mipsisa64el-* \
41530da1778Schristos	| mipsisa64r2-* | mipsisa64r2el-* \
41630da1778Schristos	| mipsisa64r6-* | mipsisa64r6el-* \
41730da1778Schristos	| mipsisa64sb1-* | mipsisa64sb1el-* \
41830da1778Schristos	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
41930da1778Schristos	| mipsr5900-* | mipsr5900el-* \
42030da1778Schristos	| mipstx39-* | mipstx39el-* \
42130da1778Schristos	| mmix-* \
42230da1778Schristos	| mt-* \
42330da1778Schristos	| msp430-* \
42430da1778Schristos	| nds32-* | nds32le-* | nds32be-* \
42530da1778Schristos	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42630da1778Schristos	| none-* | np1-* | ns16k-* | ns32k-* \
42730da1778Schristos	| open8-* \
42830da1778Schristos	| or1k*-* \
42930da1778Schristos	| orion-* \
43030da1778Schristos	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
43130da1778Schristos	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
432*cc576e1dSsevan	| pru-* \
43330da1778Schristos	| pyramid-* \
43456bd8546Schristos	| riscv32-* | riscv64-* \
43530da1778Schristos	| rl78-* | romp-* | rs6000-* | rx-* \
43630da1778Schristos	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43730da1778Schristos	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43830da1778Schristos	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43930da1778Schristos	| sparclite-* \
44056bd8546Schristos	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
44130da1778Schristos	| tahoe-* \
44230da1778Schristos	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
44330da1778Schristos	| tile*-* \
44430da1778Schristos	| tron-* \
44530da1778Schristos	| ubicom32-* \
44630da1778Schristos	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44730da1778Schristos	| vax-* \
44830da1778Schristos	| visium-* \
44930da1778Schristos	| we32k-* \
45030da1778Schristos	| x86-* | x86_64-* | xc16x-* | xps100-* \
45130da1778Schristos	| xstormy16-* | xtensa*-* \
45230da1778Schristos	| ymp-* \
45330da1778Schristos	| z8k-* | z80-*)
45430da1778Schristos		;;
45530da1778Schristos	# Recognize the basic CPU types without company name, with glob match.
45630da1778Schristos	xtensa*)
45730da1778Schristos		basic_machine=$basic_machine-unknown
45830da1778Schristos		;;
45930da1778Schristos	# Recognize the various machine names and aliases which stand
46030da1778Schristos	# for a CPU type and a company and sometimes even an OS.
46130da1778Schristos	386bsd)
46230da1778Schristos		basic_machine=i386-unknown
46330da1778Schristos		os=-bsd
46430da1778Schristos		;;
46530da1778Schristos	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46630da1778Schristos		basic_machine=m68000-att
46730da1778Schristos		;;
46830da1778Schristos	3b*)
46930da1778Schristos		basic_machine=we32k-att
47030da1778Schristos		;;
47130da1778Schristos	a29khif)
47230da1778Schristos		basic_machine=a29k-amd
47330da1778Schristos		os=-udi
47430da1778Schristos		;;
47530da1778Schristos	abacus)
47630da1778Schristos		basic_machine=abacus-unknown
47730da1778Schristos		;;
47830da1778Schristos	adobe68k)
47930da1778Schristos		basic_machine=m68010-adobe
48030da1778Schristos		os=-scout
48130da1778Schristos		;;
48230da1778Schristos	alliant | fx80)
48330da1778Schristos		basic_machine=fx80-alliant
48430da1778Schristos		;;
48530da1778Schristos	altos | altos3068)
48630da1778Schristos		basic_machine=m68k-altos
48730da1778Schristos		;;
48830da1778Schristos	am29k)
48930da1778Schristos		basic_machine=a29k-none
49030da1778Schristos		os=-bsd
49130da1778Schristos		;;
49230da1778Schristos	amd64)
49330da1778Schristos		basic_machine=x86_64-pc
49430da1778Schristos		;;
49530da1778Schristos	amd64-*)
49630da1778Schristos		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49730da1778Schristos		;;
49830da1778Schristos	amdahl)
49930da1778Schristos		basic_machine=580-amdahl
50030da1778Schristos		os=-sysv
50130da1778Schristos		;;
50230da1778Schristos	amiga | amiga-*)
50330da1778Schristos		basic_machine=m68k-unknown
50430da1778Schristos		;;
50530da1778Schristos	amigaos | amigados)
50630da1778Schristos		basic_machine=m68k-unknown
50730da1778Schristos		os=-amigaos
50830da1778Schristos		;;
50930da1778Schristos	amigaunix | amix)
51030da1778Schristos		basic_machine=m68k-unknown
51130da1778Schristos		os=-sysv4
51230da1778Schristos		;;
51330da1778Schristos	apollo68)
51430da1778Schristos		basic_machine=m68k-apollo
51530da1778Schristos		os=-sysv
51630da1778Schristos		;;
51730da1778Schristos	apollo68bsd)
51830da1778Schristos		basic_machine=m68k-apollo
51930da1778Schristos		os=-bsd
52030da1778Schristos		;;
52130da1778Schristos	aros)
52230da1778Schristos		basic_machine=i386-pc
52330da1778Schristos		os=-aros
52430da1778Schristos		;;
52556bd8546Schristos	asmjs)
52656bd8546Schristos		basic_machine=asmjs-unknown
52756bd8546Schristos		;;
52830da1778Schristos	aux)
52930da1778Schristos		basic_machine=m68k-apple
53030da1778Schristos		os=-aux
53130da1778Schristos		;;
53230da1778Schristos	balance)
53330da1778Schristos		basic_machine=ns32k-sequent
53430da1778Schristos		os=-dynix
53530da1778Schristos		;;
53630da1778Schristos	blackfin)
53730da1778Schristos		basic_machine=bfin-unknown
53830da1778Schristos		os=-linux
53930da1778Schristos		;;
54030da1778Schristos	blackfin-*)
54130da1778Schristos		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
54230da1778Schristos		os=-linux
54330da1778Schristos		;;
54430da1778Schristos	bluegene*)
54530da1778Schristos		basic_machine=powerpc-ibm
54630da1778Schristos		os=-cnk
54730da1778Schristos		;;
54830da1778Schristos	c54x-*)
54930da1778Schristos		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
55030da1778Schristos		;;
55130da1778Schristos	c55x-*)
55230da1778Schristos		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
55330da1778Schristos		;;
55430da1778Schristos	c6x-*)
55530da1778Schristos		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
55630da1778Schristos		;;
55730da1778Schristos	c90)
55830da1778Schristos		basic_machine=c90-cray
55930da1778Schristos		os=-unicos
56030da1778Schristos		;;
56130da1778Schristos	cegcc)
56230da1778Schristos		basic_machine=arm-unknown
56330da1778Schristos		os=-cegcc
56430da1778Schristos		;;
56530da1778Schristos	convex-c1)
56630da1778Schristos		basic_machine=c1-convex
56730da1778Schristos		os=-bsd
56830da1778Schristos		;;
56930da1778Schristos	convex-c2)
57030da1778Schristos		basic_machine=c2-convex
57130da1778Schristos		os=-bsd
57230da1778Schristos		;;
57330da1778Schristos	convex-c32)
57430da1778Schristos		basic_machine=c32-convex
57530da1778Schristos		os=-bsd
57630da1778Schristos		;;
57730da1778Schristos	convex-c34)
57830da1778Schristos		basic_machine=c34-convex
57930da1778Schristos		os=-bsd
58030da1778Schristos		;;
58130da1778Schristos	convex-c38)
58230da1778Schristos		basic_machine=c38-convex
58330da1778Schristos		os=-bsd
58430da1778Schristos		;;
58530da1778Schristos	cray | j90)
58630da1778Schristos		basic_machine=j90-cray
58730da1778Schristos		os=-unicos
58830da1778Schristos		;;
58930da1778Schristos	craynv)
59030da1778Schristos		basic_machine=craynv-cray
59130da1778Schristos		os=-unicosmp
59230da1778Schristos		;;
59330da1778Schristos	cr16 | cr16-*)
59430da1778Schristos		basic_machine=cr16-unknown
59530da1778Schristos		os=-elf
59630da1778Schristos		;;
59730da1778Schristos	crds | unos)
59830da1778Schristos		basic_machine=m68k-crds
59930da1778Schristos		;;
60030da1778Schristos	crisv32 | crisv32-* | etraxfs*)
60130da1778Schristos		basic_machine=crisv32-axis
60230da1778Schristos		;;
60330da1778Schristos	cris | cris-* | etrax*)
60430da1778Schristos		basic_machine=cris-axis
60530da1778Schristos		;;
60630da1778Schristos	crx)
60730da1778Schristos		basic_machine=crx-unknown
60830da1778Schristos		os=-elf
60930da1778Schristos		;;
61030da1778Schristos	da30 | da30-*)
61130da1778Schristos		basic_machine=m68k-da30
61230da1778Schristos		;;
61330da1778Schristos	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61430da1778Schristos		basic_machine=mips-dec
61530da1778Schristos		;;
61630da1778Schristos	decsystem10* | dec10*)
61730da1778Schristos		basic_machine=pdp10-dec
61830da1778Schristos		os=-tops10
61930da1778Schristos		;;
62030da1778Schristos	decsystem20* | dec20*)
62130da1778Schristos		basic_machine=pdp10-dec
62230da1778Schristos		os=-tops20
62330da1778Schristos		;;
62430da1778Schristos	delta | 3300 | motorola-3300 | motorola-delta \
62530da1778Schristos	      | 3300-motorola | delta-motorola)
62630da1778Schristos		basic_machine=m68k-motorola
62730da1778Schristos		;;
62830da1778Schristos	delta88)
62930da1778Schristos		basic_machine=m88k-motorola
63030da1778Schristos		os=-sysv3
63130da1778Schristos		;;
63230da1778Schristos	dicos)
63330da1778Schristos		basic_machine=i686-pc
63430da1778Schristos		os=-dicos
63530da1778Schristos		;;
63630da1778Schristos	djgpp)
63730da1778Schristos		basic_machine=i586-pc
63830da1778Schristos		os=-msdosdjgpp
63930da1778Schristos		;;
64030da1778Schristos	dpx20 | dpx20-*)
64130da1778Schristos		basic_machine=rs6000-bull
64230da1778Schristos		os=-bosx
64330da1778Schristos		;;
64430da1778Schristos	dpx2* | dpx2*-bull)
64530da1778Schristos		basic_machine=m68k-bull
64630da1778Schristos		os=-sysv3
64730da1778Schristos		;;
648*cc576e1dSsevan	e500v[12])
649*cc576e1dSsevan		basic_machine=powerpc-unknown
650*cc576e1dSsevan		os=$os"spe"
651*cc576e1dSsevan		;;
652*cc576e1dSsevan	e500v[12]-*)
653*cc576e1dSsevan		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
654*cc576e1dSsevan		os=$os"spe"
655*cc576e1dSsevan		;;
65630da1778Schristos	ebmon29k)
65730da1778Schristos		basic_machine=a29k-amd
65830da1778Schristos		os=-ebmon
65930da1778Schristos		;;
66030da1778Schristos	elxsi)
66130da1778Schristos		basic_machine=elxsi-elxsi
66230da1778Schristos		os=-bsd
66330da1778Schristos		;;
66430da1778Schristos	encore | umax | mmax)
66530da1778Schristos		basic_machine=ns32k-encore
66630da1778Schristos		;;
66730da1778Schristos	es1800 | OSE68k | ose68k | ose | OSE)
66830da1778Schristos		basic_machine=m68k-ericsson
66930da1778Schristos		os=-ose
67030da1778Schristos		;;
67130da1778Schristos	fx2800)
67230da1778Schristos		basic_machine=i860-alliant
67330da1778Schristos		;;
67430da1778Schristos	genix)
67530da1778Schristos		basic_machine=ns32k-ns
67630da1778Schristos		;;
67730da1778Schristos	gmicro)
67830da1778Schristos		basic_machine=tron-gmicro
67930da1778Schristos		os=-sysv
68030da1778Schristos		;;
68130da1778Schristos	go32)
68230da1778Schristos		basic_machine=i386-pc
68330da1778Schristos		os=-go32
68430da1778Schristos		;;
68530da1778Schristos	h3050r* | hiux*)
68630da1778Schristos		basic_machine=hppa1.1-hitachi
68730da1778Schristos		os=-hiuxwe2
68830da1778Schristos		;;
68930da1778Schristos	h8300hms)
69030da1778Schristos		basic_machine=h8300-hitachi
69130da1778Schristos		os=-hms
69230da1778Schristos		;;
69330da1778Schristos	h8300xray)
69430da1778Schristos		basic_machine=h8300-hitachi
69530da1778Schristos		os=-xray
69630da1778Schristos		;;
69730da1778Schristos	h8500hms)
69830da1778Schristos		basic_machine=h8500-hitachi
69930da1778Schristos		os=-hms
70030da1778Schristos		;;
70130da1778Schristos	harris)
70230da1778Schristos		basic_machine=m88k-harris
70330da1778Schristos		os=-sysv3
70430da1778Schristos		;;
70530da1778Schristos	hp300-*)
70630da1778Schristos		basic_machine=m68k-hp
70730da1778Schristos		;;
70830da1778Schristos	hp300bsd)
70930da1778Schristos		basic_machine=m68k-hp
71030da1778Schristos		os=-bsd
71130da1778Schristos		;;
71230da1778Schristos	hp300hpux)
71330da1778Schristos		basic_machine=m68k-hp
71430da1778Schristos		os=-hpux
71530da1778Schristos		;;
71630da1778Schristos	hp3k9[0-9][0-9] | hp9[0-9][0-9])
71730da1778Schristos		basic_machine=hppa1.0-hp
71830da1778Schristos		;;
71930da1778Schristos	hp9k2[0-9][0-9] | hp9k31[0-9])
72030da1778Schristos		basic_machine=m68000-hp
72130da1778Schristos		;;
72230da1778Schristos	hp9k3[2-9][0-9])
72330da1778Schristos		basic_machine=m68k-hp
72430da1778Schristos		;;
72530da1778Schristos	hp9k6[0-9][0-9] | hp6[0-9][0-9])
72630da1778Schristos		basic_machine=hppa1.0-hp
72730da1778Schristos		;;
72830da1778Schristos	hp9k7[0-79][0-9] | hp7[0-79][0-9])
72930da1778Schristos		basic_machine=hppa1.1-hp
73030da1778Schristos		;;
73130da1778Schristos	hp9k78[0-9] | hp78[0-9])
73230da1778Schristos		# FIXME: really hppa2.0-hp
73330da1778Schristos		basic_machine=hppa1.1-hp
73430da1778Schristos		;;
73530da1778Schristos	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
73630da1778Schristos		# FIXME: really hppa2.0-hp
73730da1778Schristos		basic_machine=hppa1.1-hp
73830da1778Schristos		;;
73930da1778Schristos	hp9k8[0-9][13679] | hp8[0-9][13679])
74030da1778Schristos		basic_machine=hppa1.1-hp
74130da1778Schristos		;;
74230da1778Schristos	hp9k8[0-9][0-9] | hp8[0-9][0-9])
74330da1778Schristos		basic_machine=hppa1.0-hp
74430da1778Schristos		;;
74530da1778Schristos	hppa-next)
74630da1778Schristos		os=-nextstep3
74730da1778Schristos		;;
74830da1778Schristos	hppaosf)
74930da1778Schristos		basic_machine=hppa1.1-hp
75030da1778Schristos		os=-osf
75130da1778Schristos		;;
75230da1778Schristos	hppro)
75330da1778Schristos		basic_machine=hppa1.1-hp
75430da1778Schristos		os=-proelf
75530da1778Schristos		;;
75630da1778Schristos	i370-ibm* | ibm*)
75730da1778Schristos		basic_machine=i370-ibm
75830da1778Schristos		;;
75930da1778Schristos	i*86v32)
76030da1778Schristos		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76130da1778Schristos		os=-sysv32
76230da1778Schristos		;;
76330da1778Schristos	i*86v4*)
76430da1778Schristos		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76530da1778Schristos		os=-sysv4
76630da1778Schristos		;;
76730da1778Schristos	i*86v)
76830da1778Schristos		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76930da1778Schristos		os=-sysv
77030da1778Schristos		;;
77130da1778Schristos	i*86sol2)
77230da1778Schristos		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
77330da1778Schristos		os=-solaris2
77430da1778Schristos		;;
77530da1778Schristos	i386mach)
77630da1778Schristos		basic_machine=i386-mach
77730da1778Schristos		os=-mach
77830da1778Schristos		;;
77930da1778Schristos	i386-vsta | vsta)
78030da1778Schristos		basic_machine=i386-unknown
78130da1778Schristos		os=-vsta
78230da1778Schristos		;;
78330da1778Schristos	iris | iris4d)
78430da1778Schristos		basic_machine=mips-sgi
78530da1778Schristos		case $os in
78630da1778Schristos		    -irix*)
78730da1778Schristos			;;
78830da1778Schristos		    *)
78930da1778Schristos			os=-irix4
79030da1778Schristos			;;
79130da1778Schristos		esac
79230da1778Schristos		;;
79330da1778Schristos	isi68 | isi)
79430da1778Schristos		basic_machine=m68k-isi
79530da1778Schristos		os=-sysv
79630da1778Schristos		;;
79730da1778Schristos	leon-*|leon[3-9]-*)
79830da1778Schristos		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
79930da1778Schristos		;;
80030da1778Schristos	m68knommu)
80130da1778Schristos		basic_machine=m68k-unknown
80230da1778Schristos		os=-linux
80330da1778Schristos		;;
80430da1778Schristos	m68knommu-*)
80530da1778Schristos		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
80630da1778Schristos		os=-linux
80730da1778Schristos		;;
80830da1778Schristos	m88k-omron*)
80930da1778Schristos		basic_machine=m88k-omron
81030da1778Schristos		;;
81130da1778Schristos	magnum | m3230)
81230da1778Schristos		basic_machine=mips-mips
81330da1778Schristos		os=-sysv
81430da1778Schristos		;;
81530da1778Schristos	merlin)
81630da1778Schristos		basic_machine=ns32k-utek
81730da1778Schristos		os=-sysv
81830da1778Schristos		;;
81930da1778Schristos	microblaze*)
82030da1778Schristos		basic_machine=microblaze-xilinx
82130da1778Schristos		;;
82230da1778Schristos	mingw64)
82330da1778Schristos		basic_machine=x86_64-pc
82430da1778Schristos		os=-mingw64
82530da1778Schristos		;;
82630da1778Schristos	mingw32)
82730da1778Schristos		basic_machine=i686-pc
82830da1778Schristos		os=-mingw32
82930da1778Schristos		;;
83030da1778Schristos	mingw32ce)
83130da1778Schristos		basic_machine=arm-unknown
83230da1778Schristos		os=-mingw32ce
83330da1778Schristos		;;
83430da1778Schristos	miniframe)
83530da1778Schristos		basic_machine=m68000-convergent
83630da1778Schristos		;;
83730da1778Schristos	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
83830da1778Schristos		basic_machine=m68k-atari
83930da1778Schristos		os=-mint
84030da1778Schristos		;;
84130da1778Schristos	mips3*-*)
84230da1778Schristos		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
84330da1778Schristos		;;
84430da1778Schristos	mips3*)
84530da1778Schristos		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
84630da1778Schristos		;;
84730da1778Schristos	monitor)
84830da1778Schristos		basic_machine=m68k-rom68k
84930da1778Schristos		os=-coff
85030da1778Schristos		;;
85130da1778Schristos	morphos)
85230da1778Schristos		basic_machine=powerpc-unknown
85330da1778Schristos		os=-morphos
85430da1778Schristos		;;
85530da1778Schristos	moxiebox)
85630da1778Schristos		basic_machine=moxie-unknown
85730da1778Schristos		os=-moxiebox
85830da1778Schristos		;;
85930da1778Schristos	msdos)
86030da1778Schristos		basic_machine=i386-pc
86130da1778Schristos		os=-msdos
86230da1778Schristos		;;
86330da1778Schristos	ms1-*)
86430da1778Schristos		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
86530da1778Schristos		;;
86630da1778Schristos	msys)
86730da1778Schristos		basic_machine=i686-pc
86830da1778Schristos		os=-msys
86930da1778Schristos		;;
87030da1778Schristos	mvs)
87130da1778Schristos		basic_machine=i370-ibm
87230da1778Schristos		os=-mvs
87330da1778Schristos		;;
87430da1778Schristos	nacl)
87530da1778Schristos		basic_machine=le32-unknown
87630da1778Schristos		os=-nacl
87730da1778Schristos		;;
87830da1778Schristos	ncr3000)
87930da1778Schristos		basic_machine=i486-ncr
88030da1778Schristos		os=-sysv4
88130da1778Schristos		;;
88230da1778Schristos	netbsd386)
88330da1778Schristos		basic_machine=i386-unknown
88430da1778Schristos		os=-netbsd
88530da1778Schristos		;;
88630da1778Schristos	netwinder)
88730da1778Schristos		basic_machine=armv4l-rebel
88830da1778Schristos		os=-linux
88930da1778Schristos		;;
89030da1778Schristos	news | news700 | news800 | news900)
89130da1778Schristos		basic_machine=m68k-sony
89230da1778Schristos		os=-newsos
89330da1778Schristos		;;
89430da1778Schristos	news1000)
89530da1778Schristos		basic_machine=m68030-sony
89630da1778Schristos		os=-newsos
89730da1778Schristos		;;
89830da1778Schristos	news-3600 | risc-news)
89930da1778Schristos		basic_machine=mips-sony
90030da1778Schristos		os=-newsos
90130da1778Schristos		;;
90230da1778Schristos	necv70)
90330da1778Schristos		basic_machine=v70-nec
90430da1778Schristos		os=-sysv
90530da1778Schristos		;;
90630da1778Schristos	next | m*-next )
90730da1778Schristos		basic_machine=m68k-next
90830da1778Schristos		case $os in
90930da1778Schristos		    -nextstep* )
91030da1778Schristos			;;
91130da1778Schristos		    -ns2*)
91230da1778Schristos		      os=-nextstep2
91330da1778Schristos			;;
91430da1778Schristos		    *)
91530da1778Schristos		      os=-nextstep3
91630da1778Schristos			;;
91730da1778Schristos		esac
91830da1778Schristos		;;
91930da1778Schristos	nh3000)
92030da1778Schristos		basic_machine=m68k-harris
92130da1778Schristos		os=-cxux
92230da1778Schristos		;;
92330da1778Schristos	nh[45]000)
92430da1778Schristos		basic_machine=m88k-harris
92530da1778Schristos		os=-cxux
92630da1778Schristos		;;
92730da1778Schristos	nindy960)
92830da1778Schristos		basic_machine=i960-intel
92930da1778Schristos		os=-nindy
93030da1778Schristos		;;
93130da1778Schristos	mon960)
93230da1778Schristos		basic_machine=i960-intel
93330da1778Schristos		os=-mon960
93430da1778Schristos		;;
93530da1778Schristos	nonstopux)
93630da1778Schristos		basic_machine=mips-compaq
93730da1778Schristos		os=-nonstopux
93830da1778Schristos		;;
93930da1778Schristos	np1)
94030da1778Schristos		basic_machine=np1-gould
94130da1778Schristos		;;
94230da1778Schristos	neo-tandem)
94330da1778Schristos		basic_machine=neo-tandem
94430da1778Schristos		;;
94530da1778Schristos	nse-tandem)
94630da1778Schristos		basic_machine=nse-tandem
94730da1778Schristos		;;
94830da1778Schristos	nsr-tandem)
94930da1778Schristos		basic_machine=nsr-tandem
95030da1778Schristos		;;
95130da1778Schristos	op50n-* | op60c-*)
95230da1778Schristos		basic_machine=hppa1.1-oki
95330da1778Schristos		os=-proelf
95430da1778Schristos		;;
95530da1778Schristos	openrisc | openrisc-*)
95630da1778Schristos		basic_machine=or32-unknown
95730da1778Schristos		;;
95830da1778Schristos	os400)
95930da1778Schristos		basic_machine=powerpc-ibm
96030da1778Schristos		os=-os400
96130da1778Schristos		;;
96230da1778Schristos	OSE68000 | ose68000)
96330da1778Schristos		basic_machine=m68000-ericsson
96430da1778Schristos		os=-ose
96530da1778Schristos		;;
96630da1778Schristos	os68k)
96730da1778Schristos		basic_machine=m68k-none
96830da1778Schristos		os=-os68k
96930da1778Schristos		;;
97030da1778Schristos	pa-hitachi)
97130da1778Schristos		basic_machine=hppa1.1-hitachi
97230da1778Schristos		os=-hiuxwe2
97330da1778Schristos		;;
97430da1778Schristos	paragon)
97530da1778Schristos		basic_machine=i860-intel
97630da1778Schristos		os=-osf
97730da1778Schristos		;;
97830da1778Schristos	parisc)
97930da1778Schristos		basic_machine=hppa-unknown
98030da1778Schristos		os=-linux
98130da1778Schristos		;;
98230da1778Schristos	parisc-*)
98330da1778Schristos		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
98430da1778Schristos		os=-linux
98530da1778Schristos		;;
98630da1778Schristos	pbd)
98730da1778Schristos		basic_machine=sparc-tti
98830da1778Schristos		;;
98930da1778Schristos	pbb)
99030da1778Schristos		basic_machine=m68k-tti
99130da1778Schristos		;;
99230da1778Schristos	pc532 | pc532-*)
99330da1778Schristos		basic_machine=ns32k-pc532
99430da1778Schristos		;;
99530da1778Schristos	pc98)
99630da1778Schristos		basic_machine=i386-pc
99730da1778Schristos		;;
99830da1778Schristos	pc98-*)
99930da1778Schristos		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
100030da1778Schristos		;;
100130da1778Schristos	pentium | p5 | k5 | k6 | nexgen | viac3)
100230da1778Schristos		basic_machine=i586-pc
100330da1778Schristos		;;
100430da1778Schristos	pentiumpro | p6 | 6x86 | athlon | athlon_*)
100530da1778Schristos		basic_machine=i686-pc
100630da1778Schristos		;;
100730da1778Schristos	pentiumii | pentium2 | pentiumiii | pentium3)
100830da1778Schristos		basic_machine=i686-pc
100930da1778Schristos		;;
101030da1778Schristos	pentium4)
101130da1778Schristos		basic_machine=i786-pc
101230da1778Schristos		;;
101330da1778Schristos	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
101430da1778Schristos		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
101530da1778Schristos		;;
101630da1778Schristos	pentiumpro-* | p6-* | 6x86-* | athlon-*)
101730da1778Schristos		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
101830da1778Schristos		;;
101930da1778Schristos	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
102030da1778Schristos		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
102130da1778Schristos		;;
102230da1778Schristos	pentium4-*)
102330da1778Schristos		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
102430da1778Schristos		;;
102530da1778Schristos	pn)
102630da1778Schristos		basic_machine=pn-gould
102730da1778Schristos		;;
102830da1778Schristos	power)	basic_machine=power-ibm
102930da1778Schristos		;;
103030da1778Schristos	ppc | ppcbe)	basic_machine=powerpc-unknown
103130da1778Schristos		;;
103230da1778Schristos	ppc-* | ppcbe-*)
103330da1778Schristos		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
103430da1778Schristos		;;
1035*cc576e1dSsevan	ppcle | powerpclittle)
103630da1778Schristos		basic_machine=powerpcle-unknown
103730da1778Schristos		;;
103830da1778Schristos	ppcle-* | powerpclittle-*)
103930da1778Schristos		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
104030da1778Schristos		;;
104130da1778Schristos	ppc64)	basic_machine=powerpc64-unknown
104230da1778Schristos		;;
104330da1778Schristos	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
104430da1778Schristos		;;
1045*cc576e1dSsevan	ppc64le | powerpc64little)
104630da1778Schristos		basic_machine=powerpc64le-unknown
104730da1778Schristos		;;
104830da1778Schristos	ppc64le-* | powerpc64little-*)
104930da1778Schristos		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
105030da1778Schristos		;;
105130da1778Schristos	ps2)
105230da1778Schristos		basic_machine=i386-ibm
105330da1778Schristos		;;
105430da1778Schristos	pw32)
105530da1778Schristos		basic_machine=i586-unknown
105630da1778Schristos		os=-pw32
105730da1778Schristos		;;
105830da1778Schristos	rdos | rdos64)
105930da1778Schristos		basic_machine=x86_64-pc
106030da1778Schristos		os=-rdos
106130da1778Schristos		;;
106230da1778Schristos	rdos32)
106330da1778Schristos		basic_machine=i386-pc
106430da1778Schristos		os=-rdos
106530da1778Schristos		;;
106630da1778Schristos	rom68k)
106730da1778Schristos		basic_machine=m68k-rom68k
106830da1778Schristos		os=-coff
106930da1778Schristos		;;
107030da1778Schristos	rm[46]00)
107130da1778Schristos		basic_machine=mips-siemens
107230da1778Schristos		;;
107330da1778Schristos	rtpc | rtpc-*)
107430da1778Schristos		basic_machine=romp-ibm
107530da1778Schristos		;;
107630da1778Schristos	s390 | s390-*)
107730da1778Schristos		basic_machine=s390-ibm
107830da1778Schristos		;;
107930da1778Schristos	s390x | s390x-*)
108030da1778Schristos		basic_machine=s390x-ibm
108130da1778Schristos		;;
108230da1778Schristos	sa29200)
108330da1778Schristos		basic_machine=a29k-amd
108430da1778Schristos		os=-udi
108530da1778Schristos		;;
108630da1778Schristos	sb1)
108730da1778Schristos		basic_machine=mipsisa64sb1-unknown
108830da1778Schristos		;;
108930da1778Schristos	sb1el)
109030da1778Schristos		basic_machine=mipsisa64sb1el-unknown
109130da1778Schristos		;;
109230da1778Schristos	sde)
109330da1778Schristos		basic_machine=mipsisa32-sde
109430da1778Schristos		os=-elf
109530da1778Schristos		;;
109630da1778Schristos	sei)
109730da1778Schristos		basic_machine=mips-sei
109830da1778Schristos		os=-seiux
109930da1778Schristos		;;
110030da1778Schristos	sequent)
110130da1778Schristos		basic_machine=i386-sequent
110230da1778Schristos		;;
110330da1778Schristos	sh)
110430da1778Schristos		basic_machine=sh-hitachi
110530da1778Schristos		os=-hms
110630da1778Schristos		;;
110730da1778Schristos	sh5el)
110830da1778Schristos		basic_machine=sh5le-unknown
110930da1778Schristos		;;
111030da1778Schristos	sh64)
111130da1778Schristos		basic_machine=sh64-unknown
111230da1778Schristos		;;
111330da1778Schristos	sparclite-wrs | simso-wrs)
111430da1778Schristos		basic_machine=sparclite-wrs
111530da1778Schristos		os=-vxworks
111630da1778Schristos		;;
111730da1778Schristos	sps7)
111830da1778Schristos		basic_machine=m68k-bull
111930da1778Schristos		os=-sysv2
112030da1778Schristos		;;
112130da1778Schristos	spur)
112230da1778Schristos		basic_machine=spur-unknown
112330da1778Schristos		;;
112430da1778Schristos	st2000)
112530da1778Schristos		basic_machine=m68k-tandem
112630da1778Schristos		;;
112730da1778Schristos	stratus)
112830da1778Schristos		basic_machine=i860-stratus
112930da1778Schristos		os=-sysv4
113030da1778Schristos		;;
113130da1778Schristos	strongarm-* | thumb-*)
113230da1778Schristos		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
113330da1778Schristos		;;
113430da1778Schristos	sun2)
113530da1778Schristos		basic_machine=m68000-sun
113630da1778Schristos		;;
113730da1778Schristos	sun2os3)
113830da1778Schristos		basic_machine=m68000-sun
113930da1778Schristos		os=-sunos3
114030da1778Schristos		;;
114130da1778Schristos	sun2os4)
114230da1778Schristos		basic_machine=m68000-sun
114330da1778Schristos		os=-sunos4
114430da1778Schristos		;;
114530da1778Schristos	sun3os3)
114630da1778Schristos		basic_machine=m68k-sun
114730da1778Schristos		os=-sunos3
114830da1778Schristos		;;
114930da1778Schristos	sun3os4)
115030da1778Schristos		basic_machine=m68k-sun
115130da1778Schristos		os=-sunos4
115230da1778Schristos		;;
115330da1778Schristos	sun4os3)
115430da1778Schristos		basic_machine=sparc-sun
115530da1778Schristos		os=-sunos3
115630da1778Schristos		;;
115730da1778Schristos	sun4os4)
115830da1778Schristos		basic_machine=sparc-sun
115930da1778Schristos		os=-sunos4
116030da1778Schristos		;;
116130da1778Schristos	sun4sol2)
116230da1778Schristos		basic_machine=sparc-sun
116330da1778Schristos		os=-solaris2
116430da1778Schristos		;;
116530da1778Schristos	sun3 | sun3-*)
116630da1778Schristos		basic_machine=m68k-sun
116730da1778Schristos		;;
116830da1778Schristos	sun4)
116930da1778Schristos		basic_machine=sparc-sun
117030da1778Schristos		;;
117130da1778Schristos	sun386 | sun386i | roadrunner)
117230da1778Schristos		basic_machine=i386-sun
117330da1778Schristos		;;
117430da1778Schristos	sv1)
117530da1778Schristos		basic_machine=sv1-cray
117630da1778Schristos		os=-unicos
117730da1778Schristos		;;
117830da1778Schristos	symmetry)
117930da1778Schristos		basic_machine=i386-sequent
118030da1778Schristos		os=-dynix
118130da1778Schristos		;;
118230da1778Schristos	t3e)
118330da1778Schristos		basic_machine=alphaev5-cray
118430da1778Schristos		os=-unicos
118530da1778Schristos		;;
118630da1778Schristos	t90)
118730da1778Schristos		basic_machine=t90-cray
118830da1778Schristos		os=-unicos
118930da1778Schristos		;;
119030da1778Schristos	tile*)
119130da1778Schristos		basic_machine=$basic_machine-unknown
119230da1778Schristos		os=-linux-gnu
119330da1778Schristos		;;
119430da1778Schristos	tx39)
119530da1778Schristos		basic_machine=mipstx39-unknown
119630da1778Schristos		;;
119730da1778Schristos	tx39el)
119830da1778Schristos		basic_machine=mipstx39el-unknown
119930da1778Schristos		;;
120030da1778Schristos	toad1)
120130da1778Schristos		basic_machine=pdp10-xkl
120230da1778Schristos		os=-tops20
120330da1778Schristos		;;
120430da1778Schristos	tower | tower-32)
120530da1778Schristos		basic_machine=m68k-ncr
120630da1778Schristos		;;
120730da1778Schristos	tpf)
120830da1778Schristos		basic_machine=s390x-ibm
120930da1778Schristos		os=-tpf
121030da1778Schristos		;;
121130da1778Schristos	udi29k)
121230da1778Schristos		basic_machine=a29k-amd
121330da1778Schristos		os=-udi
121430da1778Schristos		;;
121530da1778Schristos	ultra3)
121630da1778Schristos		basic_machine=a29k-nyu
121730da1778Schristos		os=-sym1
121830da1778Schristos		;;
121930da1778Schristos	v810 | necv810)
122030da1778Schristos		basic_machine=v810-nec
122130da1778Schristos		os=-none
122230da1778Schristos		;;
122330da1778Schristos	vaxv)
122430da1778Schristos		basic_machine=vax-dec
122530da1778Schristos		os=-sysv
122630da1778Schristos		;;
122730da1778Schristos	vms)
122830da1778Schristos		basic_machine=vax-dec
122930da1778Schristos		os=-vms
123030da1778Schristos		;;
123130da1778Schristos	vpp*|vx|vx-*)
123230da1778Schristos		basic_machine=f301-fujitsu
123330da1778Schristos		;;
123430da1778Schristos	vxworks960)
123530da1778Schristos		basic_machine=i960-wrs
123630da1778Schristos		os=-vxworks
123730da1778Schristos		;;
123830da1778Schristos	vxworks68)
123930da1778Schristos		basic_machine=m68k-wrs
124030da1778Schristos		os=-vxworks
124130da1778Schristos		;;
124230da1778Schristos	vxworks29k)
124330da1778Schristos		basic_machine=a29k-wrs
124430da1778Schristos		os=-vxworks
124530da1778Schristos		;;
124630da1778Schristos	w65*)
124730da1778Schristos		basic_machine=w65-wdc
124830da1778Schristos		os=-none
124930da1778Schristos		;;
125030da1778Schristos	w89k-*)
125130da1778Schristos		basic_machine=hppa1.1-winbond
125230da1778Schristos		os=-proelf
125330da1778Schristos		;;
125430da1778Schristos	xbox)
125530da1778Schristos		basic_machine=i686-pc
125630da1778Schristos		os=-mingw32
125730da1778Schristos		;;
125830da1778Schristos	xps | xps100)
125930da1778Schristos		basic_machine=xps100-honeywell
126030da1778Schristos		;;
126130da1778Schristos	xscale-* | xscalee[bl]-*)
126230da1778Schristos		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
126330da1778Schristos		;;
126430da1778Schristos	ymp)
126530da1778Schristos		basic_machine=ymp-cray
126630da1778Schristos		os=-unicos
126730da1778Schristos		;;
126830da1778Schristos	z8k-*-coff)
126930da1778Schristos		basic_machine=z8k-unknown
127030da1778Schristos		os=-sim
127130da1778Schristos		;;
127230da1778Schristos	z80-*-coff)
127330da1778Schristos		basic_machine=z80-unknown
127430da1778Schristos		os=-sim
127530da1778Schristos		;;
127630da1778Schristos	none)
127730da1778Schristos		basic_machine=none-none
127830da1778Schristos		os=-none
127930da1778Schristos		;;
128030da1778Schristos
128130da1778Schristos# Here we handle the default manufacturer of certain CPU types.  It is in
128230da1778Schristos# some cases the only manufacturer, in others, it is the most popular.
128330da1778Schristos	w89k)
128430da1778Schristos		basic_machine=hppa1.1-winbond
128530da1778Schristos		;;
128630da1778Schristos	op50n)
128730da1778Schristos		basic_machine=hppa1.1-oki
128830da1778Schristos		;;
128930da1778Schristos	op60c)
129030da1778Schristos		basic_machine=hppa1.1-oki
129130da1778Schristos		;;
129230da1778Schristos	romp)
129330da1778Schristos		basic_machine=romp-ibm
129430da1778Schristos		;;
129530da1778Schristos	mmix)
129630da1778Schristos		basic_machine=mmix-knuth
129730da1778Schristos		;;
129830da1778Schristos	rs6000)
129930da1778Schristos		basic_machine=rs6000-ibm
130030da1778Schristos		;;
130130da1778Schristos	vax)
130230da1778Schristos		basic_machine=vax-dec
130330da1778Schristos		;;
130430da1778Schristos	pdp10)
130530da1778Schristos		# there are many clones, so DEC is not a safe bet
130630da1778Schristos		basic_machine=pdp10-unknown
130730da1778Schristos		;;
130830da1778Schristos	pdp11)
130930da1778Schristos		basic_machine=pdp11-dec
131030da1778Schristos		;;
131130da1778Schristos	we32k)
131230da1778Schristos		basic_machine=we32k-att
131330da1778Schristos		;;
131430da1778Schristos	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
131530da1778Schristos		basic_machine=sh-unknown
131630da1778Schristos		;;
131730da1778Schristos	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
131830da1778Schristos		basic_machine=sparc-sun
131930da1778Schristos		;;
132030da1778Schristos	cydra)
132130da1778Schristos		basic_machine=cydra-cydrome
132230da1778Schristos		;;
132330da1778Schristos	orion)
132430da1778Schristos		basic_machine=orion-highlevel
132530da1778Schristos		;;
132630da1778Schristos	orion105)
132730da1778Schristos		basic_machine=clipper-highlevel
132830da1778Schristos		;;
132930da1778Schristos	mac | mpw | mac-mpw)
133030da1778Schristos		basic_machine=m68k-apple
133130da1778Schristos		;;
133230da1778Schristos	pmac | pmac-mpw)
133330da1778Schristos		basic_machine=powerpc-apple
133430da1778Schristos		;;
133530da1778Schristos	*-unknown)
133630da1778Schristos		# Make sure to match an already-canonicalized machine name.
133730da1778Schristos		;;
133830da1778Schristos	*)
133930da1778Schristos		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
134030da1778Schristos		exit 1
134130da1778Schristos		;;
134230da1778Schristosesac
134330da1778Schristos
134430da1778Schristos# Here we canonicalize certain aliases for manufacturers.
134530da1778Schristoscase $basic_machine in
134630da1778Schristos	*-digital*)
134730da1778Schristos		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
134830da1778Schristos		;;
134930da1778Schristos	*-commodore*)
135030da1778Schristos		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
135130da1778Schristos		;;
135230da1778Schristos	*)
135330da1778Schristos		;;
135430da1778Schristosesac
135530da1778Schristos
135630da1778Schristos# Decode manufacturer-specific aliases for certain operating systems.
135730da1778Schristos
135830da1778Schristosif [ x"$os" != x"" ]
135930da1778Schristosthen
136030da1778Schristoscase $os in
136130da1778Schristos	# First match some system type aliases
136230da1778Schristos	# that might get confused with valid system types.
136330da1778Schristos	# -solaris* is a basic system type, with this one exception.
136430da1778Schristos	-auroraux)
136530da1778Schristos		os=-auroraux
136630da1778Schristos		;;
136730da1778Schristos	-solaris1 | -solaris1.*)
136830da1778Schristos		os=`echo $os | sed -e 's|solaris1|sunos4|'`
136930da1778Schristos		;;
137030da1778Schristos	-solaris)
137130da1778Schristos		os=-solaris2
137230da1778Schristos		;;
137330da1778Schristos	-svr4*)
137430da1778Schristos		os=-sysv4
137530da1778Schristos		;;
137630da1778Schristos	-unixware*)
137730da1778Schristos		os=-sysv4.2uw
137830da1778Schristos		;;
137930da1778Schristos	-gnu/linux*)
138030da1778Schristos		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
138130da1778Schristos		;;
138230da1778Schristos	# First accept the basic system types.
138330da1778Schristos	# The portable systems comes first.
138430da1778Schristos	# Each alternative MUST END IN A *, to match a version number.
138530da1778Schristos	# -sysv* is not here because it comes later, after sysvr4.
138630da1778Schristos	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
138730da1778Schristos	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
138830da1778Schristos	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
138930da1778Schristos	      | -sym* | -kopensolaris* | -plan9* \
139030da1778Schristos	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
139156bd8546Schristos	      | -aos* | -aros* | -cloudabi* | -sortix* \
139230da1778Schristos	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
139330da1778Schristos	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
139430da1778Schristos	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1395*cc576e1dSsevan	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
139630da1778Schristos	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
139730da1778Schristos	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
139830da1778Schristos	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
139930da1778Schristos	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1400*cc576e1dSsevan	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
140130da1778Schristos	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1402*cc576e1dSsevan	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
140330da1778Schristos	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
140430da1778Schristos	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
140530da1778Schristos	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
140630da1778Schristos	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
140730da1778Schristos	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
140830da1778Schristos	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
140930da1778Schristos	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
141030da1778Schristos	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1411*cc576e1dSsevan	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1412*cc576e1dSsevan	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
141330da1778Schristos	# Remember, each alternative MUST END IN *, to match a version number.
141430da1778Schristos		;;
141530da1778Schristos	-qnx*)
141630da1778Schristos		case $basic_machine in
141730da1778Schristos		    x86-* | i*86-*)
141830da1778Schristos			;;
141930da1778Schristos		    *)
142030da1778Schristos			os=-nto$os
142130da1778Schristos			;;
142230da1778Schristos		esac
142330da1778Schristos		;;
142430da1778Schristos	-nto-qnx*)
142530da1778Schristos		;;
142630da1778Schristos	-nto*)
142730da1778Schristos		os=`echo $os | sed -e 's|nto|nto-qnx|'`
142830da1778Schristos		;;
142930da1778Schristos	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
143030da1778Schristos	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
143130da1778Schristos	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
143230da1778Schristos		;;
143330da1778Schristos	-mac*)
143430da1778Schristos		os=`echo $os | sed -e 's|mac|macos|'`
143530da1778Schristos		;;
143630da1778Schristos	-linux-dietlibc)
143730da1778Schristos		os=-linux-dietlibc
143830da1778Schristos		;;
143930da1778Schristos	-linux*)
144030da1778Schristos		os=`echo $os | sed -e 's|linux|linux-gnu|'`
144130da1778Schristos		;;
144230da1778Schristos	-sunos5*)
144330da1778Schristos		os=`echo $os | sed -e 's|sunos5|solaris2|'`
144430da1778Schristos		;;
144530da1778Schristos	-sunos6*)
144630da1778Schristos		os=`echo $os | sed -e 's|sunos6|solaris3|'`
144730da1778Schristos		;;
144830da1778Schristos	-opened*)
144930da1778Schristos		os=-openedition
145030da1778Schristos		;;
145130da1778Schristos	-os400*)
145230da1778Schristos		os=-os400
145330da1778Schristos		;;
145430da1778Schristos	-wince*)
145530da1778Schristos		os=-wince
145630da1778Schristos		;;
145730da1778Schristos	-osfrose*)
145830da1778Schristos		os=-osfrose
145930da1778Schristos		;;
146030da1778Schristos	-osf*)
146130da1778Schristos		os=-osf
146230da1778Schristos		;;
146330da1778Schristos	-utek*)
146430da1778Schristos		os=-bsd
146530da1778Schristos		;;
146630da1778Schristos	-dynix*)
146730da1778Schristos		os=-bsd
146830da1778Schristos		;;
146930da1778Schristos	-acis*)
147030da1778Schristos		os=-aos
147130da1778Schristos		;;
147230da1778Schristos	-atheos*)
147330da1778Schristos		os=-atheos
147430da1778Schristos		;;
147530da1778Schristos	-syllable*)
147630da1778Schristos		os=-syllable
147730da1778Schristos		;;
147830da1778Schristos	-386bsd)
147930da1778Schristos		os=-bsd
148030da1778Schristos		;;
148130da1778Schristos	-ctix* | -uts*)
148230da1778Schristos		os=-sysv
148330da1778Schristos		;;
148430da1778Schristos	-nova*)
148530da1778Schristos		os=-rtmk-nova
148630da1778Schristos		;;
148730da1778Schristos	-ns2 )
148830da1778Schristos		os=-nextstep2
148930da1778Schristos		;;
149030da1778Schristos	-nsk*)
149130da1778Schristos		os=-nsk
149230da1778Schristos		;;
149330da1778Schristos	# Preserve the version number of sinix5.
149430da1778Schristos	-sinix5.*)
149530da1778Schristos		os=`echo $os | sed -e 's|sinix|sysv|'`
149630da1778Schristos		;;
149730da1778Schristos	-sinix*)
149830da1778Schristos		os=-sysv4
149930da1778Schristos		;;
150030da1778Schristos	-tpf*)
150130da1778Schristos		os=-tpf
150230da1778Schristos		;;
150330da1778Schristos	-triton*)
150430da1778Schristos		os=-sysv3
150530da1778Schristos		;;
150630da1778Schristos	-oss*)
150730da1778Schristos		os=-sysv3
150830da1778Schristos		;;
150930da1778Schristos	-svr4)
151030da1778Schristos		os=-sysv4
151130da1778Schristos		;;
151230da1778Schristos	-svr3)
151330da1778Schristos		os=-sysv3
151430da1778Schristos		;;
151530da1778Schristos	-sysvr4)
151630da1778Schristos		os=-sysv4
151730da1778Schristos		;;
151830da1778Schristos	# This must come after -sysvr4.
151930da1778Schristos	-sysv*)
152030da1778Schristos		;;
152130da1778Schristos	-ose*)
152230da1778Schristos		os=-ose
152330da1778Schristos		;;
152430da1778Schristos	-es1800*)
152530da1778Schristos		os=-ose
152630da1778Schristos		;;
152730da1778Schristos	-xenix)
152830da1778Schristos		os=-xenix
152930da1778Schristos		;;
153030da1778Schristos	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
153130da1778Schristos		os=-mint
153230da1778Schristos		;;
153330da1778Schristos	-aros*)
153430da1778Schristos		os=-aros
153530da1778Schristos		;;
153630da1778Schristos	-zvmoe)
153730da1778Schristos		os=-zvmoe
153830da1778Schristos		;;
153930da1778Schristos	-dicos*)
154030da1778Schristos		os=-dicos
154130da1778Schristos		;;
154230da1778Schristos	-nacl*)
154330da1778Schristos		;;
1544*cc576e1dSsevan	-ios)
1545*cc576e1dSsevan		;;
154630da1778Schristos	-none)
154730da1778Schristos		;;
154830da1778Schristos	*)
154930da1778Schristos		# Get rid of the `-' at the beginning of $os.
155030da1778Schristos		os=`echo $os | sed 's/[^-]*-//'`
155130da1778Schristos		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
155230da1778Schristos		exit 1
155330da1778Schristos		;;
155430da1778Schristosesac
155530da1778Schristoselse
155630da1778Schristos
155730da1778Schristos# Here we handle the default operating systems that come with various machines.
155830da1778Schristos# The value should be what the vendor currently ships out the door with their
155930da1778Schristos# machine or put another way, the most popular os provided with the machine.
156030da1778Schristos
156130da1778Schristos# Note that if you're going to try to match "-MANUFACTURER" here (say,
156230da1778Schristos# "-sun"), then you have to tell the case statement up towards the top
156330da1778Schristos# that MANUFACTURER isn't an operating system.  Otherwise, code above
156430da1778Schristos# will signal an error saying that MANUFACTURER isn't an operating
156530da1778Schristos# system, and we'll never get to this point.
156630da1778Schristos
156730da1778Schristoscase $basic_machine in
156830da1778Schristos	score-*)
156930da1778Schristos		os=-elf
157030da1778Schristos		;;
157130da1778Schristos	spu-*)
157230da1778Schristos		os=-elf
157330da1778Schristos		;;
157430da1778Schristos	*-acorn)
157530da1778Schristos		os=-riscix1.2
157630da1778Schristos		;;
157730da1778Schristos	arm*-rebel)
157830da1778Schristos		os=-linux
157930da1778Schristos		;;
158030da1778Schristos	arm*-semi)
158130da1778Schristos		os=-aout
158230da1778Schristos		;;
158330da1778Schristos	c4x-* | tic4x-*)
158430da1778Schristos		os=-coff
158530da1778Schristos		;;
158630da1778Schristos	c8051-*)
158730da1778Schristos		os=-elf
158830da1778Schristos		;;
158930da1778Schristos	hexagon-*)
159030da1778Schristos		os=-elf
159130da1778Schristos		;;
159230da1778Schristos	tic54x-*)
159330da1778Schristos		os=-coff
159430da1778Schristos		;;
159530da1778Schristos	tic55x-*)
159630da1778Schristos		os=-coff
159730da1778Schristos		;;
159830da1778Schristos	tic6x-*)
159930da1778Schristos		os=-coff
160030da1778Schristos		;;
160130da1778Schristos	# This must come before the *-dec entry.
160230da1778Schristos	pdp10-*)
160330da1778Schristos		os=-tops20
160430da1778Schristos		;;
160530da1778Schristos	pdp11-*)
160630da1778Schristos		os=-none
160730da1778Schristos		;;
160830da1778Schristos	*-dec | vax-*)
160930da1778Schristos		os=-ultrix4.2
161030da1778Schristos		;;
161130da1778Schristos	m68*-apollo)
161230da1778Schristos		os=-domain
161330da1778Schristos		;;
161430da1778Schristos	i386-sun)
161530da1778Schristos		os=-sunos4.0.2
161630da1778Schristos		;;
161730da1778Schristos	m68000-sun)
161830da1778Schristos		os=-sunos3
161930da1778Schristos		;;
162030da1778Schristos	m68*-cisco)
162130da1778Schristos		os=-aout
162230da1778Schristos		;;
162330da1778Schristos	mep-*)
162430da1778Schristos		os=-elf
162530da1778Schristos		;;
162630da1778Schristos	mips*-cisco)
162730da1778Schristos		os=-elf
162830da1778Schristos		;;
162930da1778Schristos	mips*-*)
163030da1778Schristos		os=-elf
163130da1778Schristos		;;
163230da1778Schristos	or32-*)
163330da1778Schristos		os=-coff
163430da1778Schristos		;;
163530da1778Schristos	*-tti)	# must be before sparc entry or we get the wrong os.
163630da1778Schristos		os=-sysv3
163730da1778Schristos		;;
163830da1778Schristos	sparc-* | *-sun)
163930da1778Schristos		os=-sunos4.1.1
164030da1778Schristos		;;
1641*cc576e1dSsevan	pru-*)
1642*cc576e1dSsevan		os=-elf
1643*cc576e1dSsevan		;;
164430da1778Schristos	*-be)
164530da1778Schristos		os=-beos
164630da1778Schristos		;;
164730da1778Schristos	*-haiku)
164830da1778Schristos		os=-haiku
164930da1778Schristos		;;
165030da1778Schristos	*-ibm)
165130da1778Schristos		os=-aix
165230da1778Schristos		;;
165330da1778Schristos	*-knuth)
165430da1778Schristos		os=-mmixware
165530da1778Schristos		;;
165630da1778Schristos	*-wec)
165730da1778Schristos		os=-proelf
165830da1778Schristos		;;
165930da1778Schristos	*-winbond)
166030da1778Schristos		os=-proelf
166130da1778Schristos		;;
166230da1778Schristos	*-oki)
166330da1778Schristos		os=-proelf
166430da1778Schristos		;;
166530da1778Schristos	*-hp)
166630da1778Schristos		os=-hpux
166730da1778Schristos		;;
166830da1778Schristos	*-hitachi)
166930da1778Schristos		os=-hiux
167030da1778Schristos		;;
167130da1778Schristos	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
167230da1778Schristos		os=-sysv
167330da1778Schristos		;;
167430da1778Schristos	*-cbm)
167530da1778Schristos		os=-amigaos
167630da1778Schristos		;;
167730da1778Schristos	*-dg)
167830da1778Schristos		os=-dgux
167930da1778Schristos		;;
168030da1778Schristos	*-dolphin)
168130da1778Schristos		os=-sysv3
168230da1778Schristos		;;
168330da1778Schristos	m68k-ccur)
168430da1778Schristos		os=-rtu
168530da1778Schristos		;;
168630da1778Schristos	m88k-omron*)
168730da1778Schristos		os=-luna
168830da1778Schristos		;;
168930da1778Schristos	*-next )
169030da1778Schristos		os=-nextstep
169130da1778Schristos		;;
169230da1778Schristos	*-sequent)
169330da1778Schristos		os=-ptx
169430da1778Schristos		;;
169530da1778Schristos	*-crds)
169630da1778Schristos		os=-unos
169730da1778Schristos		;;
169830da1778Schristos	*-ns)
169930da1778Schristos		os=-genix
170030da1778Schristos		;;
170130da1778Schristos	i370-*)
170230da1778Schristos		os=-mvs
170330da1778Schristos		;;
170430da1778Schristos	*-next)
170530da1778Schristos		os=-nextstep3
170630da1778Schristos		;;
170730da1778Schristos	*-gould)
170830da1778Schristos		os=-sysv
170930da1778Schristos		;;
171030da1778Schristos	*-highlevel)
171130da1778Schristos		os=-bsd
171230da1778Schristos		;;
171330da1778Schristos	*-encore)
171430da1778Schristos		os=-bsd
171530da1778Schristos		;;
171630da1778Schristos	*-sgi)
171730da1778Schristos		os=-irix
171830da1778Schristos		;;
171930da1778Schristos	*-siemens)
172030da1778Schristos		os=-sysv4
172130da1778Schristos		;;
172230da1778Schristos	*-masscomp)
172330da1778Schristos		os=-rtu
172430da1778Schristos		;;
172530da1778Schristos	f30[01]-fujitsu | f700-fujitsu)
172630da1778Schristos		os=-uxpv
172730da1778Schristos		;;
172830da1778Schristos	*-rom68k)
172930da1778Schristos		os=-coff
173030da1778Schristos		;;
173130da1778Schristos	*-*bug)
173230da1778Schristos		os=-coff
173330da1778Schristos		;;
173430da1778Schristos	*-apple)
173530da1778Schristos		os=-macos
173630da1778Schristos		;;
173730da1778Schristos	*-atari*)
173830da1778Schristos		os=-mint
173930da1778Schristos		;;
174030da1778Schristos	*)
174130da1778Schristos		os=-none
174230da1778Schristos		;;
174330da1778Schristosesac
174430da1778Schristosfi
174530da1778Schristos
174630da1778Schristos# Here we handle the case where we know the os, and the CPU type, but not the
174730da1778Schristos# manufacturer.  We pick the logical manufacturer.
174830da1778Schristosvendor=unknown
174930da1778Schristoscase $basic_machine in
175030da1778Schristos	*-unknown)
175130da1778Schristos		case $os in
175230da1778Schristos			-riscix*)
175330da1778Schristos				vendor=acorn
175430da1778Schristos				;;
175530da1778Schristos			-sunos*)
175630da1778Schristos				vendor=sun
175730da1778Schristos				;;
175830da1778Schristos			-cnk*|-aix*)
175930da1778Schristos				vendor=ibm
176030da1778Schristos				;;
176130da1778Schristos			-beos*)
176230da1778Schristos				vendor=be
176330da1778Schristos				;;
176430da1778Schristos			-hpux*)
176530da1778Schristos				vendor=hp
176630da1778Schristos				;;
176730da1778Schristos			-mpeix*)
176830da1778Schristos				vendor=hp
176930da1778Schristos				;;
177030da1778Schristos			-hiux*)
177130da1778Schristos				vendor=hitachi
177230da1778Schristos				;;
177330da1778Schristos			-unos*)
177430da1778Schristos				vendor=crds
177530da1778Schristos				;;
177630da1778Schristos			-dgux*)
177730da1778Schristos				vendor=dg
177830da1778Schristos				;;
177930da1778Schristos			-luna*)
178030da1778Schristos				vendor=omron
178130da1778Schristos				;;
178230da1778Schristos			-genix*)
178330da1778Schristos				vendor=ns
178430da1778Schristos				;;
178530da1778Schristos			-mvs* | -opened*)
178630da1778Schristos				vendor=ibm
178730da1778Schristos				;;
178830da1778Schristos			-os400*)
178930da1778Schristos				vendor=ibm
179030da1778Schristos				;;
179130da1778Schristos			-ptx*)
179230da1778Schristos				vendor=sequent
179330da1778Schristos				;;
179430da1778Schristos			-tpf*)
179530da1778Schristos				vendor=ibm
179630da1778Schristos				;;
179730da1778Schristos			-vxsim* | -vxworks* | -windiss*)
179830da1778Schristos				vendor=wrs
179930da1778Schristos				;;
180030da1778Schristos			-aux*)
180130da1778Schristos				vendor=apple
180230da1778Schristos				;;
180330da1778Schristos			-hms*)
180430da1778Schristos				vendor=hitachi
180530da1778Schristos				;;
180630da1778Schristos			-mpw* | -macos*)
180730da1778Schristos				vendor=apple
180830da1778Schristos				;;
180930da1778Schristos			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
181030da1778Schristos				vendor=atari
181130da1778Schristos				;;
181230da1778Schristos			-vos*)
181330da1778Schristos				vendor=stratus
181430da1778Schristos				;;
181530da1778Schristos		esac
181630da1778Schristos		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
181730da1778Schristos		;;
181830da1778Schristosesac
181930da1778Schristos
182030da1778Schristosecho $basic_machine$os
182130da1778Schristosexit
182230da1778Schristos
182330da1778Schristos# Local variables:
182430da1778Schristos# eval: (add-hook 'write-file-hooks 'time-stamp)
182530da1778Schristos# time-stamp-start: "timestamp='"
182630da1778Schristos# time-stamp-format: "%:y-%02m-%02d"
182730da1778Schristos# time-stamp-end: "'"
182830da1778Schristos# End:
1829