123a0898aSmrg#! /bin/sh
223a0898aSmrg# Configuration validation subroutine script.
3b43acbb4Smrg#   Copyright 1992-2015 Free Software Foundation, Inc.
423a0898aSmrg
5a97c3f35Smrgtimestamp='2015-08-20'
623a0898aSmrg
7b020570bSmrg# This file is free software; you can redistribute it and/or modify it
8b020570bSmrg# under the terms of the GNU General Public License as published by
9b020570bSmrg# the Free Software Foundation; either version 3 of the License, or
1023a0898aSmrg# (at your option) any later version.
1123a0898aSmrg#
12b020570bSmrg# This program is distributed in the hope that it will be useful, but
13b020570bSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14b020570bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15b020570bSmrg# General Public License for more details.
1623a0898aSmrg#
1723a0898aSmrg# You should have received a copy of the GNU General Public License
18b020570bSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1923a0898aSmrg#
2023a0898aSmrg# As a special exception to the GNU General Public License, if you
2123a0898aSmrg# distribute this file as part of a program that contains a
2223a0898aSmrg# configuration script generated by Autoconf, you may include it under
23b020570bSmrg# the same distribution terms that you use for the rest of that
24b020570bSmrg# program.  This Exception is an additional permission under section 7
25b020570bSmrg# of the GNU General Public License, version 3 ("GPLv3").
2623a0898aSmrg
2723a0898aSmrg
28121a5469Smrg# Please send patches to <config-patches@gnu.org>.
2923a0898aSmrg#
3023a0898aSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3123a0898aSmrg# Supply the specified configuration type as an argument.
3223a0898aSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3323a0898aSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3423a0898aSmrg
3541c30155Smrg# You can get the latest version of this script from:
3641c30155Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3741c30155Smrg
3823a0898aSmrg# This file is supposed to be the same for all GNU packages
3923a0898aSmrg# and recognize all the CPU types, system types and aliases
4023a0898aSmrg# that are meaningful with *any* GNU software.
4123a0898aSmrg# Each package is responsible for reporting which valid configurations
4223a0898aSmrg# it does not support.  The user should be able to distinguish
4323a0898aSmrg# a failure to support a valid configuration from a meaningless
4423a0898aSmrg# configuration.
4523a0898aSmrg
4623a0898aSmrg# The goal of this file is to map all the various variations of a given
4723a0898aSmrg# machine specification into a single specification in the form:
4823a0898aSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4923a0898aSmrg# or in some cases, the newer four-part form:
5023a0898aSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5123a0898aSmrg# It is wrong to echo any other type of specification.
5223a0898aSmrg
5323a0898aSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5423a0898aSmrg
5523a0898aSmrgusage="\
5623a0898aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5723a0898aSmrg       $0 [OPTION] ALIAS
5823a0898aSmrg
5923a0898aSmrgCanonicalize a configuration name.
6023a0898aSmrg
6123a0898aSmrgOperation modes:
6223a0898aSmrg  -h, --help         print this help, then exit
6323a0898aSmrg  -t, --time-stamp   print date of last modification, then exit
6423a0898aSmrg  -v, --version      print version number, then exit
6523a0898aSmrg
6623a0898aSmrgReport bugs and patches to <config-patches@gnu.org>."
6723a0898aSmrg
6823a0898aSmrgversion="\
6923a0898aSmrgGNU config.sub ($timestamp)
7023a0898aSmrg
71b43acbb4SmrgCopyright 1992-2015 Free Software Foundation, Inc.
7223a0898aSmrg
7323a0898aSmrgThis is free software; see the source for copying conditions.  There is NO
7423a0898aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7523a0898aSmrg
7623a0898aSmrghelp="
7723a0898aSmrgTry \`$me --help' for more information."
7823a0898aSmrg
7923a0898aSmrg# Parse command line
8023a0898aSmrgwhile test $# -gt 0 ; do
8123a0898aSmrg  case $1 in
8223a0898aSmrg    --time-stamp | --time* | -t )
8323a0898aSmrg       echo "$timestamp" ; exit ;;
8423a0898aSmrg    --version | -v )
8523a0898aSmrg       echo "$version" ; exit ;;
8623a0898aSmrg    --help | --h* | -h )
8723a0898aSmrg       echo "$usage"; exit ;;
8823a0898aSmrg    -- )     # Stop option processing
8923a0898aSmrg       shift; break ;;
9023a0898aSmrg    - )	# Use stdin as input.
9123a0898aSmrg       break ;;
9223a0898aSmrg    -* )
9323a0898aSmrg       echo "$me: invalid option $1$help"
9423a0898aSmrg       exit 1 ;;
9523a0898aSmrg
9623a0898aSmrg    *local*)
9723a0898aSmrg       # First pass through any local machine types.
9823a0898aSmrg       echo $1
9923a0898aSmrg       exit ;;
10023a0898aSmrg
10123a0898aSmrg    * )
10223a0898aSmrg       break ;;
10323a0898aSmrg  esac
10423a0898aSmrgdone
10523a0898aSmrg
10623a0898aSmrgcase $# in
10723a0898aSmrg 0) echo "$me: missing argument$help" >&2
10823a0898aSmrg    exit 1;;
10923a0898aSmrg 1) ;;
11023a0898aSmrg *) echo "$me: too many arguments$help" >&2
11123a0898aSmrg    exit 1;;
11223a0898aSmrgesac
11323a0898aSmrg
11423a0898aSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11523a0898aSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11623a0898aSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11723a0898aSmrgcase $maybe_os in
11841c30155Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119b020570bSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120a97c3f35Smrg  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
12141c30155Smrg  kopensolaris*-gnu* | \
12223a0898aSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12323a0898aSmrg    os=-$maybe_os
12423a0898aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12523a0898aSmrg    ;;
126b020570bSmrg  android-linux)
127b020570bSmrg    os=-linux-android
128b020570bSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129b020570bSmrg    ;;
13023a0898aSmrg  *)
13123a0898aSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13223a0898aSmrg    if [ $basic_machine != $1 ]
13323a0898aSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13423a0898aSmrg    else os=; fi
13523a0898aSmrg    ;;
13623a0898aSmrgesac
13723a0898aSmrg
13823a0898aSmrg### Let's recognize common machines as not being operating systems so
13923a0898aSmrg### that things like config.sub decstation-3100 work.  We also
14023a0898aSmrg### recognize some manufacturers as not being operating systems, so we
14123a0898aSmrg### can provide default operating systems below.
14223a0898aSmrgcase $os in
14323a0898aSmrg	-sun*os*)
14423a0898aSmrg		# Prevent following clause from handling this invalid input.
14523a0898aSmrg		;;
14623a0898aSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14723a0898aSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14823a0898aSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14923a0898aSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15023a0898aSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15123a0898aSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152b020570bSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
15323a0898aSmrg		os=
15423a0898aSmrg		basic_machine=$1
15523a0898aSmrg		;;
156b020570bSmrg	-bluegene*)
157b020570bSmrg		os=-cnk
15841c30155Smrg		;;
15923a0898aSmrg	-sim | -cisco | -oki | -wec | -winbond)
16023a0898aSmrg		os=
16123a0898aSmrg		basic_machine=$1
16223a0898aSmrg		;;
16323a0898aSmrg	-scout)
16423a0898aSmrg		;;
16523a0898aSmrg	-wrs)
16623a0898aSmrg		os=-vxworks
16723a0898aSmrg		basic_machine=$1
16823a0898aSmrg		;;
16923a0898aSmrg	-chorusos*)
17023a0898aSmrg		os=-chorusos
17123a0898aSmrg		basic_machine=$1
17223a0898aSmrg		;;
173b020570bSmrg	-chorusrdb)
174b020570bSmrg		os=-chorusrdb
17523a0898aSmrg		basic_machine=$1
176b020570bSmrg		;;
17723a0898aSmrg	-hiux*)
17823a0898aSmrg		os=-hiuxwe2
17923a0898aSmrg		;;
18023a0898aSmrg	-sco6)
18123a0898aSmrg		os=-sco5v6
18223a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18323a0898aSmrg		;;
18423a0898aSmrg	-sco5)
18523a0898aSmrg		os=-sco3.2v5
18623a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18723a0898aSmrg		;;
18823a0898aSmrg	-sco4)
18923a0898aSmrg		os=-sco3.2v4
19023a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19123a0898aSmrg		;;
19223a0898aSmrg	-sco3.2.[4-9]*)
19323a0898aSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19423a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19523a0898aSmrg		;;
19623a0898aSmrg	-sco3.2v[4-9]*)
19723a0898aSmrg		# Don't forget version if it is 3.2v4 or newer.
19823a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19923a0898aSmrg		;;
20023a0898aSmrg	-sco5v6*)
20123a0898aSmrg		# Don't forget version if it is 3.2v4 or newer.
20223a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20323a0898aSmrg		;;
20423a0898aSmrg	-sco*)
20523a0898aSmrg		os=-sco3.2v2
20623a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20723a0898aSmrg		;;
20823a0898aSmrg	-udk*)
20923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21023a0898aSmrg		;;
21123a0898aSmrg	-isc)
21223a0898aSmrg		os=-isc2.2
21323a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21423a0898aSmrg		;;
21523a0898aSmrg	-clix*)
21623a0898aSmrg		basic_machine=clipper-intergraph
21723a0898aSmrg		;;
21823a0898aSmrg	-isc*)
21923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22023a0898aSmrg		;;
221b020570bSmrg	-lynx*178)
222b020570bSmrg		os=-lynxos178
223b020570bSmrg		;;
224b020570bSmrg	-lynx*5)
225b020570bSmrg		os=-lynxos5
226b020570bSmrg		;;
22723a0898aSmrg	-lynx*)
22823a0898aSmrg		os=-lynxos
22923a0898aSmrg		;;
23023a0898aSmrg	-ptx*)
23123a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23223a0898aSmrg		;;
23323a0898aSmrg	-windowsnt*)
23423a0898aSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23523a0898aSmrg		;;
23623a0898aSmrg	-psos*)
23723a0898aSmrg		os=-psos
23823a0898aSmrg		;;
23923a0898aSmrg	-mint | -mint[0-9]*)
24023a0898aSmrg		basic_machine=m68k-atari
24123a0898aSmrg		os=-mint
24223a0898aSmrg		;;
24323a0898aSmrgesac
24423a0898aSmrg
24523a0898aSmrg# Decode aliases for certain CPU-COMPANY combinations.
24623a0898aSmrgcase $basic_machine in
24723a0898aSmrg	# Recognize the basic CPU types without company name.
24823a0898aSmrg	# Some are omitted here because they have special meanings below.
24923a0898aSmrg	1750a | 580 \
25023a0898aSmrg	| a29k \
251b020570bSmrg	| aarch64 | aarch64_be \
25223a0898aSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25323a0898aSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25423a0898aSmrg	| am33_2.0 \
255b020570bSmrg	| arc | arceb \
256b020570bSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257b020570bSmrg	| avr | avr32 \
258a97c3f35Smrg	| ba \
259b020570bSmrg	| be32 | be64 \
26023a0898aSmrg	| bfin \
2610145ab54Ssnj	| c4x | c8051 | clipper \
26223a0898aSmrg	| d10v | d30v | dlx | dsp16xx \
263a97c3f35Smrg	| e2k | epiphany \
264b43acbb4Smrg	| fido | fr30 | frv | ft32 \
26523a0898aSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
266b020570bSmrg	| hexagon \
26723a0898aSmrg	| i370 | i860 | i960 | ia64 \
26823a0898aSmrg	| ip2k | iq2000 \
2690145ab54Ssnj	| k1om \
270b020570bSmrg	| le32 | le64 \
27141c30155Smrg	| lm32 \
27223a0898aSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
273b020570bSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27423a0898aSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27523a0898aSmrg	| mips16 \
27623a0898aSmrg	| mips64 | mips64el \
27741c30155Smrg	| mips64octeon | mips64octeonel \
278b3062210Smrg	| mips64orion | mips64orionel \
27941c30155Smrg	| mips64r5900 | mips64r5900el \
28041c30155Smrg	| mips64vr | mips64vrel \
28123a0898aSmrg	| mips64vr4100 | mips64vr4100el \
28223a0898aSmrg	| mips64vr4300 | mips64vr4300el \
28323a0898aSmrg	| mips64vr5000 | mips64vr5000el \
28423a0898aSmrg	| mips64vr5900 | mips64vr5900el \
28523a0898aSmrg	| mipsisa32 | mipsisa32el \
28623a0898aSmrg	| mipsisa32r2 | mipsisa32r2el \
287121a5469Smrg	| mipsisa32r6 | mipsisa32r6el \
28823a0898aSmrg	| mipsisa64 | mipsisa64el \
28923a0898aSmrg	| mipsisa64r2 | mipsisa64r2el \
290121a5469Smrg	| mipsisa64r6 | mipsisa64r6el \
29123a0898aSmrg	| mipsisa64sb1 | mipsisa64sb1el \
29223a0898aSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
293b020570bSmrg	| mipsr5900 | mipsr5900el \
29423a0898aSmrg	| mipstx39 | mipstx39el \
29523a0898aSmrg	| mn10200 | mn10300 \
29641c30155Smrg	| moxie \
29723a0898aSmrg	| mt \
29823a0898aSmrg	| msp430 \
29941c30155Smrg	| nds32 | nds32le | nds32be \
300b020570bSmrg	| nios | nios2 | nios2eb | nios2el \
30123a0898aSmrg	| ns16k | ns32k \
302121a5469Smrg	| open8 | or1k | or1knd | or32 \
30323a0898aSmrg	| pdp10 | pdp11 | pj | pjl \
304b020570bSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30523a0898aSmrg	| pyramid \
306121a5469Smrg	| riscv32 | riscv64 \
307b020570bSmrg	| rl78 | rx \
30823a0898aSmrg	| score \
309a97c3f35Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
31023a0898aSmrg	| sh64 | sh64le \
31123a0898aSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31223a0898aSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313b020570bSmrg	| spu \
314b020570bSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31541c30155Smrg	| ubicom32 \
316b020570bSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317121a5469Smrg	| visium \
31823a0898aSmrg	| we32k \
319b020570bSmrg	| x86 | xc16x | xstormy16 | xtensa \
32041c30155Smrg	| z8k | z80)
32123a0898aSmrg		basic_machine=$basic_machine-unknown
32223a0898aSmrg		;;
32341c30155Smrg	c54x)
32441c30155Smrg		basic_machine=tic54x-unknown
32541c30155Smrg		;;
32641c30155Smrg	c55x)
32741c30155Smrg		basic_machine=tic55x-unknown
32841c30155Smrg		;;
32941c30155Smrg	c6x)
33041c30155Smrg		basic_machine=tic6x-unknown
33141c30155Smrg		;;
332121a5469Smrg	leon|leon[3-9])
333121a5469Smrg		basic_machine=sparc-$basic_machine
334121a5469Smrg		;;
3350145ab54Ssnj	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
33623a0898aSmrg		basic_machine=$basic_machine-unknown
33723a0898aSmrg		os=-none
33823a0898aSmrg		;;
33923a0898aSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
34023a0898aSmrg		;;
34123a0898aSmrg	ms1)
34223a0898aSmrg		basic_machine=mt-unknown
34323a0898aSmrg		;;
34423a0898aSmrg
345b020570bSmrg	strongarm | thumb | xscale)
346b020570bSmrg		basic_machine=arm-unknown
347b020570bSmrg		;;
348b020570bSmrg	xgate)
349b020570bSmrg		basic_machine=$basic_machine-unknown
350b020570bSmrg		os=-none
351b020570bSmrg		;;
352b020570bSmrg	xscaleeb)
353b020570bSmrg		basic_machine=armeb-unknown
354b020570bSmrg		;;
355b020570bSmrg
356b020570bSmrg	xscaleel)
357b020570bSmrg		basic_machine=armel-unknown
358b020570bSmrg		;;
359b020570bSmrg
36023a0898aSmrg	# We use `pc' rather than `unknown'
36123a0898aSmrg	# because (1) that's what they normally are, and
36223a0898aSmrg	# (2) the word "unknown" tends to confuse beginning users.
36323a0898aSmrg	i*86 | x86_64)
36423a0898aSmrg	  basic_machine=$basic_machine-pc
36523a0898aSmrg	  ;;
36623a0898aSmrg	# Object if more than one company name word.
36723a0898aSmrg	*-*-*)
36823a0898aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36923a0898aSmrg		exit 1
37023a0898aSmrg		;;
37123a0898aSmrg	# Recognize the basic CPU types with company name.
37223a0898aSmrg	580-* \
37323a0898aSmrg	| a29k-* \
374b020570bSmrg	| aarch64-* | aarch64_be-* \
37523a0898aSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
37623a0898aSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
377b020570bSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37823a0898aSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37923a0898aSmrg	| avr-* | avr32-* \
380a97c3f35Smrg	| ba-* \
381b020570bSmrg	| be32-* | be64-* \
38223a0898aSmrg	| bfin-* | bs2000-* \
38341c30155Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3840145ab54Ssnj	| c8051-* | clipper-* | craynv-* | cydra-* \
38523a0898aSmrg	| d10v-* | d30v-* | dlx-* \
386a97c3f35Smrg	| e2k-* | elxsi-* \
38723a0898aSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38823a0898aSmrg	| h8300-* | h8500-* \
38923a0898aSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
390b020570bSmrg	| hexagon-* \
39123a0898aSmrg	| i*86-* | i860-* | i960-* | ia64-* \
39223a0898aSmrg	| ip2k-* | iq2000-* \
3930145ab54Ssnj	| k1om-* \
394b020570bSmrg	| le32-* | le64-* \
39541c30155Smrg	| lm32-* \
39623a0898aSmrg	| m32c-* | m32r-* | m32rle-* \
39723a0898aSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
398b020570bSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
399b020570bSmrg	| microblaze-* | microblazeel-* \
40023a0898aSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
40123a0898aSmrg	| mips16-* \
40223a0898aSmrg	| mips64-* | mips64el-* \
40341c30155Smrg	| mips64octeon-* | mips64octeonel-* \
404b3062210Smrg	| mips64orion-* | mips64orionel-* \
40541c30155Smrg	| mips64r5900-* | mips64r5900el-* \
40641c30155Smrg	| mips64vr-* | mips64vrel-* \
40723a0898aSmrg	| mips64vr4100-* | mips64vr4100el-* \
40823a0898aSmrg	| mips64vr4300-* | mips64vr4300el-* \
40923a0898aSmrg	| mips64vr5000-* | mips64vr5000el-* \
41023a0898aSmrg	| mips64vr5900-* | mips64vr5900el-* \
41123a0898aSmrg	| mipsisa32-* | mipsisa32el-* \
41223a0898aSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
413121a5469Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
41423a0898aSmrg	| mipsisa64-* | mipsisa64el-* \
41523a0898aSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
416121a5469Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
41723a0898aSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
41823a0898aSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
419b020570bSmrg	| mipsr5900-* | mipsr5900el-* \
42023a0898aSmrg	| mipstx39-* | mipstx39el-* \
42123a0898aSmrg	| mmix-* \
42223a0898aSmrg	| mt-* \
42323a0898aSmrg	| msp430-* \
42441c30155Smrg	| nds32-* | nds32le-* | nds32be-* \
425b020570bSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
42623a0898aSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
427b020570bSmrg	| open8-* \
428121a5469Smrg	| or1k*-* \
42923a0898aSmrg	| orion-* \
43023a0898aSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
431b020570bSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
43223a0898aSmrg	| pyramid-* \
433a97c3f35Smrg	| riscv32-* | riscv64-* \
434b020570bSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
43541c30155Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
43623a0898aSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
43723a0898aSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
43823a0898aSmrg	| sparclite-* \
439a97c3f35Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
440b020570bSmrg	| tahoe-* \
441b3062210Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
442b020570bSmrg	| tile*-* \
44323a0898aSmrg	| tron-* \
44441c30155Smrg	| ubicom32-* \
445b020570bSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
446b020570bSmrg	| vax-* \
447121a5469Smrg	| visium-* \
44823a0898aSmrg	| we32k-* \
449b020570bSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4507f7f5e4eSmrg	| xstormy16-* | xtensa*-* \
45123a0898aSmrg	| ymp-* \
45241c30155Smrg	| z8k-* | z80-*)
4537f7f5e4eSmrg		;;
4547f7f5e4eSmrg	# Recognize the basic CPU types without company name, with glob match.
4557f7f5e4eSmrg	xtensa*)
4567f7f5e4eSmrg		basic_machine=$basic_machine-unknown
45723a0898aSmrg		;;
45823a0898aSmrg	# Recognize the various machine names and aliases which stand
45923a0898aSmrg	# for a CPU type and a company and sometimes even an OS.
46023a0898aSmrg	386bsd)
46123a0898aSmrg		basic_machine=i386-unknown
46223a0898aSmrg		os=-bsd
46323a0898aSmrg		;;
46423a0898aSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
46523a0898aSmrg		basic_machine=m68000-att
46623a0898aSmrg		;;
46723a0898aSmrg	3b*)
46823a0898aSmrg		basic_machine=we32k-att
46923a0898aSmrg		;;
47023a0898aSmrg	a29khif)
47123a0898aSmrg		basic_machine=a29k-amd
47223a0898aSmrg		os=-udi
47323a0898aSmrg		;;
474b020570bSmrg	abacus)
47523a0898aSmrg		basic_machine=abacus-unknown
47623a0898aSmrg		;;
47723a0898aSmrg	adobe68k)
47823a0898aSmrg		basic_machine=m68010-adobe
47923a0898aSmrg		os=-scout
48023a0898aSmrg		;;
48123a0898aSmrg	alliant | fx80)
48223a0898aSmrg		basic_machine=fx80-alliant
48323a0898aSmrg		;;
48423a0898aSmrg	altos | altos3068)
48523a0898aSmrg		basic_machine=m68k-altos
48623a0898aSmrg		;;
48723a0898aSmrg	am29k)
48823a0898aSmrg		basic_machine=a29k-none
48923a0898aSmrg		os=-bsd
49023a0898aSmrg		;;
49123a0898aSmrg	amd64)
49223a0898aSmrg		basic_machine=x86_64-pc
49323a0898aSmrg		;;
49423a0898aSmrg	amd64-*)
49523a0898aSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
49623a0898aSmrg		;;
49723a0898aSmrg	amdahl)
49823a0898aSmrg		basic_machine=580-amdahl
49923a0898aSmrg		os=-sysv
50023a0898aSmrg		;;
50123a0898aSmrg	amiga | amiga-*)
50223a0898aSmrg		basic_machine=m68k-unknown
50323a0898aSmrg		;;
50423a0898aSmrg	amigaos | amigados)
50523a0898aSmrg		basic_machine=m68k-unknown
50623a0898aSmrg		os=-amigaos
50723a0898aSmrg		;;
50823a0898aSmrg	amigaunix | amix)
50923a0898aSmrg		basic_machine=m68k-unknown
51023a0898aSmrg		os=-sysv4
51123a0898aSmrg		;;
51223a0898aSmrg	apollo68)
51323a0898aSmrg		basic_machine=m68k-apollo
51423a0898aSmrg		os=-sysv
51523a0898aSmrg		;;
51623a0898aSmrg	apollo68bsd)
51723a0898aSmrg		basic_machine=m68k-apollo
51823a0898aSmrg		os=-bsd
51923a0898aSmrg		;;
52041c30155Smrg	aros)
52141c30155Smrg		basic_machine=i386-pc
52241c30155Smrg		os=-aros
52341c30155Smrg		;;
524a97c3f35Smrg        asmjs)
525a97c3f35Smrg		basic_machine=asmjs-unknown
526a97c3f35Smrg		;;
52723a0898aSmrg	aux)
52823a0898aSmrg		basic_machine=m68k-apple
52923a0898aSmrg		os=-aux
53023a0898aSmrg		;;
53123a0898aSmrg	balance)
53223a0898aSmrg		basic_machine=ns32k-sequent
53323a0898aSmrg		os=-dynix
53423a0898aSmrg		;;
5357f7f5e4eSmrg	blackfin)
5367f7f5e4eSmrg		basic_machine=bfin-unknown
5377f7f5e4eSmrg		os=-linux
5387f7f5e4eSmrg		;;
5397f7f5e4eSmrg	blackfin-*)
5407f7f5e4eSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5417f7f5e4eSmrg		os=-linux
5427f7f5e4eSmrg		;;
54341c30155Smrg	bluegene*)
54441c30155Smrg		basic_machine=powerpc-ibm
54541c30155Smrg		os=-cnk
54641c30155Smrg		;;
54741c30155Smrg	c54x-*)
54841c30155Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54941c30155Smrg		;;
55041c30155Smrg	c55x-*)
55141c30155Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
55241c30155Smrg		;;
55341c30155Smrg	c6x-*)
55441c30155Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
55541c30155Smrg		;;
55623a0898aSmrg	c90)
55723a0898aSmrg		basic_machine=c90-cray
55823a0898aSmrg		os=-unicos
55923a0898aSmrg		;;
560b020570bSmrg	cegcc)
56141c30155Smrg		basic_machine=arm-unknown
56241c30155Smrg		os=-cegcc
56341c30155Smrg		;;
56423a0898aSmrg	convex-c1)
56523a0898aSmrg		basic_machine=c1-convex
56623a0898aSmrg		os=-bsd
56723a0898aSmrg		;;
56823a0898aSmrg	convex-c2)
56923a0898aSmrg		basic_machine=c2-convex
57023a0898aSmrg		os=-bsd
57123a0898aSmrg		;;
57223a0898aSmrg	convex-c32)
57323a0898aSmrg		basic_machine=c32-convex
57423a0898aSmrg		os=-bsd
57523a0898aSmrg		;;
57623a0898aSmrg	convex-c34)
57723a0898aSmrg		basic_machine=c34-convex
57823a0898aSmrg		os=-bsd
57923a0898aSmrg		;;
58023a0898aSmrg	convex-c38)
58123a0898aSmrg		basic_machine=c38-convex
58223a0898aSmrg		os=-bsd
58323a0898aSmrg		;;
58423a0898aSmrg	cray | j90)
58523a0898aSmrg		basic_machine=j90-cray
58623a0898aSmrg		os=-unicos
58723a0898aSmrg		;;
58823a0898aSmrg	craynv)
58923a0898aSmrg		basic_machine=craynv-cray
59023a0898aSmrg		os=-unicosmp
59123a0898aSmrg		;;
592b020570bSmrg	cr16 | cr16-*)
5937f7f5e4eSmrg		basic_machine=cr16-unknown
59423a0898aSmrg		os=-elf
59523a0898aSmrg		;;
59623a0898aSmrg	crds | unos)
59723a0898aSmrg		basic_machine=m68k-crds
59823a0898aSmrg		;;
59923a0898aSmrg	crisv32 | crisv32-* | etraxfs*)
60023a0898aSmrg		basic_machine=crisv32-axis
60123a0898aSmrg		;;
60223a0898aSmrg	cris | cris-* | etrax*)
60323a0898aSmrg		basic_machine=cris-axis
60423a0898aSmrg		;;
60523a0898aSmrg	crx)
60623a0898aSmrg		basic_machine=crx-unknown
60723a0898aSmrg		os=-elf
60823a0898aSmrg		;;
60923a0898aSmrg	da30 | da30-*)
61023a0898aSmrg		basic_machine=m68k-da30
61123a0898aSmrg		;;
61223a0898aSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
61323a0898aSmrg		basic_machine=mips-dec
61423a0898aSmrg		;;
61523a0898aSmrg	decsystem10* | dec10*)
61623a0898aSmrg		basic_machine=pdp10-dec
61723a0898aSmrg		os=-tops10
61823a0898aSmrg		;;
61923a0898aSmrg	decsystem20* | dec20*)
62023a0898aSmrg		basic_machine=pdp10-dec
62123a0898aSmrg		os=-tops20
62223a0898aSmrg		;;
62323a0898aSmrg	delta | 3300 | motorola-3300 | motorola-delta \
62423a0898aSmrg	      | 3300-motorola | delta-motorola)
62523a0898aSmrg		basic_machine=m68k-motorola
62623a0898aSmrg		;;
62723a0898aSmrg	delta88)
62823a0898aSmrg		basic_machine=m88k-motorola
62923a0898aSmrg		os=-sysv3
63023a0898aSmrg		;;
63141c30155Smrg	dicos)
63241c30155Smrg		basic_machine=i686-pc
63341c30155Smrg		os=-dicos
63441c30155Smrg		;;
63523a0898aSmrg	djgpp)
63623a0898aSmrg		basic_machine=i586-pc
63723a0898aSmrg		os=-msdosdjgpp
63823a0898aSmrg		;;
63923a0898aSmrg	dpx20 | dpx20-*)
64023a0898aSmrg		basic_machine=rs6000-bull
64123a0898aSmrg		os=-bosx
64223a0898aSmrg		;;
64323a0898aSmrg	dpx2* | dpx2*-bull)
64423a0898aSmrg		basic_machine=m68k-bull
64523a0898aSmrg		os=-sysv3
64623a0898aSmrg		;;
64723a0898aSmrg	ebmon29k)
64823a0898aSmrg		basic_machine=a29k-amd
64923a0898aSmrg		os=-ebmon
65023a0898aSmrg		;;
65123a0898aSmrg	elxsi)
65223a0898aSmrg		basic_machine=elxsi-elxsi
65323a0898aSmrg		os=-bsd
65423a0898aSmrg		;;
65523a0898aSmrg	encore | umax | mmax)
65623a0898aSmrg		basic_machine=ns32k-encore
65723a0898aSmrg		;;
65823a0898aSmrg	es1800 | OSE68k | ose68k | ose | OSE)
65923a0898aSmrg		basic_machine=m68k-ericsson
66023a0898aSmrg		os=-ose
66123a0898aSmrg		;;
66223a0898aSmrg	fx2800)
66323a0898aSmrg		basic_machine=i860-alliant
66423a0898aSmrg		;;
66523a0898aSmrg	genix)
66623a0898aSmrg		basic_machine=ns32k-ns
66723a0898aSmrg		;;
66823a0898aSmrg	gmicro)
66923a0898aSmrg		basic_machine=tron-gmicro
67023a0898aSmrg		os=-sysv
67123a0898aSmrg		;;
67223a0898aSmrg	go32)
67323a0898aSmrg		basic_machine=i386-pc
67423a0898aSmrg		os=-go32
67523a0898aSmrg		;;
67623a0898aSmrg	h3050r* | hiux*)
67723a0898aSmrg		basic_machine=hppa1.1-hitachi
67823a0898aSmrg		os=-hiuxwe2
67923a0898aSmrg		;;
68023a0898aSmrg	h8300hms)
68123a0898aSmrg		basic_machine=h8300-hitachi
68223a0898aSmrg		os=-hms
68323a0898aSmrg		;;
68423a0898aSmrg	h8300xray)
68523a0898aSmrg		basic_machine=h8300-hitachi
68623a0898aSmrg		os=-xray
68723a0898aSmrg		;;
68823a0898aSmrg	h8500hms)
68923a0898aSmrg		basic_machine=h8500-hitachi
69023a0898aSmrg		os=-hms
69123a0898aSmrg		;;
69223a0898aSmrg	harris)
69323a0898aSmrg		basic_machine=m88k-harris
69423a0898aSmrg		os=-sysv3
69523a0898aSmrg		;;
69623a0898aSmrg	hp300-*)
69723a0898aSmrg		basic_machine=m68k-hp
69823a0898aSmrg		;;
69923a0898aSmrg	hp300bsd)
70023a0898aSmrg		basic_machine=m68k-hp
70123a0898aSmrg		os=-bsd
70223a0898aSmrg		;;
70323a0898aSmrg	hp300hpux)
70423a0898aSmrg		basic_machine=m68k-hp
70523a0898aSmrg		os=-hpux
70623a0898aSmrg		;;
70723a0898aSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
70823a0898aSmrg		basic_machine=hppa1.0-hp
70923a0898aSmrg		;;
71023a0898aSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
71123a0898aSmrg		basic_machine=m68000-hp
71223a0898aSmrg		;;
71323a0898aSmrg	hp9k3[2-9][0-9])
71423a0898aSmrg		basic_machine=m68k-hp
71523a0898aSmrg		;;
71623a0898aSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
71723a0898aSmrg		basic_machine=hppa1.0-hp
71823a0898aSmrg		;;
71923a0898aSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
72023a0898aSmrg		basic_machine=hppa1.1-hp
72123a0898aSmrg		;;
72223a0898aSmrg	hp9k78[0-9] | hp78[0-9])
72323a0898aSmrg		# FIXME: really hppa2.0-hp
72423a0898aSmrg		basic_machine=hppa1.1-hp
72523a0898aSmrg		;;
72623a0898aSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
72723a0898aSmrg		# FIXME: really hppa2.0-hp
72823a0898aSmrg		basic_machine=hppa1.1-hp
72923a0898aSmrg		;;
73023a0898aSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
73123a0898aSmrg		basic_machine=hppa1.1-hp
73223a0898aSmrg		;;
73323a0898aSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
73423a0898aSmrg		basic_machine=hppa1.0-hp
73523a0898aSmrg		;;
73623a0898aSmrg	hppa-next)
73723a0898aSmrg		os=-nextstep3
73823a0898aSmrg		;;
73923a0898aSmrg	hppaosf)
74023a0898aSmrg		basic_machine=hppa1.1-hp
74123a0898aSmrg		os=-osf
74223a0898aSmrg		;;
74323a0898aSmrg	hppro)
74423a0898aSmrg		basic_machine=hppa1.1-hp
74523a0898aSmrg		os=-proelf
74623a0898aSmrg		;;
74723a0898aSmrg	i370-ibm* | ibm*)
74823a0898aSmrg		basic_machine=i370-ibm
74923a0898aSmrg		;;
75023a0898aSmrg	i*86v32)
75123a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75223a0898aSmrg		os=-sysv32
75323a0898aSmrg		;;
75423a0898aSmrg	i*86v4*)
75523a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
75623a0898aSmrg		os=-sysv4
75723a0898aSmrg		;;
75823a0898aSmrg	i*86v)
75923a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76023a0898aSmrg		os=-sysv
76123a0898aSmrg		;;
76223a0898aSmrg	i*86sol2)
76323a0898aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76423a0898aSmrg		os=-solaris2
76523a0898aSmrg		;;
76623a0898aSmrg	i386mach)
76723a0898aSmrg		basic_machine=i386-mach
76823a0898aSmrg		os=-mach
76923a0898aSmrg		;;
77023a0898aSmrg	i386-vsta | vsta)
77123a0898aSmrg		basic_machine=i386-unknown
77223a0898aSmrg		os=-vsta
77323a0898aSmrg		;;
77423a0898aSmrg	iris | iris4d)
77523a0898aSmrg		basic_machine=mips-sgi
77623a0898aSmrg		case $os in
77723a0898aSmrg		    -irix*)
77823a0898aSmrg			;;
77923a0898aSmrg		    *)
78023a0898aSmrg			os=-irix4
78123a0898aSmrg			;;
78223a0898aSmrg		esac
78323a0898aSmrg		;;
78423a0898aSmrg	isi68 | isi)
78523a0898aSmrg		basic_machine=m68k-isi
78623a0898aSmrg		os=-sysv
78723a0898aSmrg		;;
788121a5469Smrg	leon-*|leon[3-9]-*)
789121a5469Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
790121a5469Smrg		;;
7917f7f5e4eSmrg	m68knommu)
7927f7f5e4eSmrg		basic_machine=m68k-unknown
7937f7f5e4eSmrg		os=-linux
7947f7f5e4eSmrg		;;
7957f7f5e4eSmrg	m68knommu-*)
7967f7f5e4eSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7977f7f5e4eSmrg		os=-linux
7987f7f5e4eSmrg		;;
79923a0898aSmrg	m88k-omron*)
80023a0898aSmrg		basic_machine=m88k-omron
80123a0898aSmrg		;;
80223a0898aSmrg	magnum | m3230)
80323a0898aSmrg		basic_machine=mips-mips
80423a0898aSmrg		os=-sysv
80523a0898aSmrg		;;
80623a0898aSmrg	merlin)
80723a0898aSmrg		basic_machine=ns32k-utek
80823a0898aSmrg		os=-sysv
80923a0898aSmrg		;;
810b020570bSmrg	microblaze*)
81141c30155Smrg		basic_machine=microblaze-xilinx
81241c30155Smrg		;;
813b020570bSmrg	mingw64)
814b020570bSmrg		basic_machine=x86_64-pc
815b020570bSmrg		os=-mingw64
816b020570bSmrg		;;
81723a0898aSmrg	mingw32)
8180145ab54Ssnj		basic_machine=i686-pc
81923a0898aSmrg		os=-mingw32
82023a0898aSmrg		;;
82123a0898aSmrg	mingw32ce)
82223a0898aSmrg		basic_machine=arm-unknown
82323a0898aSmrg		os=-mingw32ce
82423a0898aSmrg		;;
82523a0898aSmrg	miniframe)
82623a0898aSmrg		basic_machine=m68000-convergent
82723a0898aSmrg		;;
82823a0898aSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
82923a0898aSmrg		basic_machine=m68k-atari
83023a0898aSmrg		os=-mint
83123a0898aSmrg		;;
83223a0898aSmrg	mips3*-*)
83323a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
83423a0898aSmrg		;;
83523a0898aSmrg	mips3*)
83623a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
83723a0898aSmrg		;;
83823a0898aSmrg	monitor)
83923a0898aSmrg		basic_machine=m68k-rom68k
84023a0898aSmrg		os=-coff
84123a0898aSmrg		;;
84223a0898aSmrg	morphos)
84323a0898aSmrg		basic_machine=powerpc-unknown
84423a0898aSmrg		os=-morphos
84523a0898aSmrg		;;
846121a5469Smrg	moxiebox)
847121a5469Smrg		basic_machine=moxie-unknown
848121a5469Smrg		os=-moxiebox
849121a5469Smrg		;;
85023a0898aSmrg	msdos)
85123a0898aSmrg		basic_machine=i386-pc
85223a0898aSmrg		os=-msdos
85323a0898aSmrg		;;
85423a0898aSmrg	ms1-*)
85523a0898aSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
85623a0898aSmrg		;;
857b020570bSmrg	msys)
8580145ab54Ssnj		basic_machine=i686-pc
859b020570bSmrg		os=-msys
860b020570bSmrg		;;
86123a0898aSmrg	mvs)
86223a0898aSmrg		basic_machine=i370-ibm
86323a0898aSmrg		os=-mvs
86423a0898aSmrg		;;
865b020570bSmrg	nacl)
866b020570bSmrg		basic_machine=le32-unknown
867b020570bSmrg		os=-nacl
868b020570bSmrg		;;
86923a0898aSmrg	ncr3000)
87023a0898aSmrg		basic_machine=i486-ncr
87123a0898aSmrg		os=-sysv4
87223a0898aSmrg		;;
87323a0898aSmrg	netbsd386)
87423a0898aSmrg		basic_machine=i386-unknown
87523a0898aSmrg		os=-netbsd
87623a0898aSmrg		;;
87723a0898aSmrg	netwinder)
87823a0898aSmrg		basic_machine=armv4l-rebel
87923a0898aSmrg		os=-linux
88023a0898aSmrg		;;
88123a0898aSmrg	news | news700 | news800 | news900)
88223a0898aSmrg		basic_machine=m68k-sony
88323a0898aSmrg		os=-newsos
88423a0898aSmrg		;;
88523a0898aSmrg	news1000)
88623a0898aSmrg		basic_machine=m68030-sony
88723a0898aSmrg		os=-newsos
88823a0898aSmrg		;;
88923a0898aSmrg	news-3600 | risc-news)
89023a0898aSmrg		basic_machine=mips-sony
89123a0898aSmrg		os=-newsos
89223a0898aSmrg		;;
89323a0898aSmrg	necv70)
89423a0898aSmrg		basic_machine=v70-nec
89523a0898aSmrg		os=-sysv
89623a0898aSmrg		;;
89723a0898aSmrg	next | m*-next )
89823a0898aSmrg		basic_machine=m68k-next
89923a0898aSmrg		case $os in
90023a0898aSmrg		    -nextstep* )
90123a0898aSmrg			;;
90223a0898aSmrg		    -ns2*)
90323a0898aSmrg		      os=-nextstep2
90423a0898aSmrg			;;
90523a0898aSmrg		    *)
90623a0898aSmrg		      os=-nextstep3
90723a0898aSmrg			;;
90823a0898aSmrg		esac
90923a0898aSmrg		;;
91023a0898aSmrg	nh3000)
91123a0898aSmrg		basic_machine=m68k-harris
91223a0898aSmrg		os=-cxux
91323a0898aSmrg		;;
91423a0898aSmrg	nh[45]000)
91523a0898aSmrg		basic_machine=m88k-harris
91623a0898aSmrg		os=-cxux
91723a0898aSmrg		;;
91823a0898aSmrg	nindy960)
91923a0898aSmrg		basic_machine=i960-intel
92023a0898aSmrg		os=-nindy
92123a0898aSmrg		;;
92223a0898aSmrg	mon960)
92323a0898aSmrg		basic_machine=i960-intel
92423a0898aSmrg		os=-mon960
92523a0898aSmrg		;;
92623a0898aSmrg	nonstopux)
92723a0898aSmrg		basic_machine=mips-compaq
92823a0898aSmrg		os=-nonstopux
92923a0898aSmrg		;;
93023a0898aSmrg	np1)
93123a0898aSmrg		basic_machine=np1-gould
93223a0898aSmrg		;;
933b020570bSmrg	neo-tandem)
93441c30155Smrg		basic_machine=neo-tandem
93541c30155Smrg		;;
936b020570bSmrg	nse-tandem)
93741c30155Smrg		basic_machine=nse-tandem
93841c30155Smrg		;;
93923a0898aSmrg	nsr-tandem)
94023a0898aSmrg		basic_machine=nsr-tandem
94123a0898aSmrg		;;
94223a0898aSmrg	op50n-* | op60c-*)
94323a0898aSmrg		basic_machine=hppa1.1-oki
94423a0898aSmrg		os=-proelf
94523a0898aSmrg		;;
94623a0898aSmrg	openrisc | openrisc-*)
94723a0898aSmrg		basic_machine=or32-unknown
94823a0898aSmrg		;;
94923a0898aSmrg	os400)
95023a0898aSmrg		basic_machine=powerpc-ibm
95123a0898aSmrg		os=-os400
95223a0898aSmrg		;;
95323a0898aSmrg	OSE68000 | ose68000)
95423a0898aSmrg		basic_machine=m68000-ericsson
95523a0898aSmrg		os=-ose
95623a0898aSmrg		;;
95723a0898aSmrg	os68k)
95823a0898aSmrg		basic_machine=m68k-none
95923a0898aSmrg		os=-os68k
96023a0898aSmrg		;;
96123a0898aSmrg	pa-hitachi)
96223a0898aSmrg		basic_machine=hppa1.1-hitachi
96323a0898aSmrg		os=-hiuxwe2
96423a0898aSmrg		;;
96523a0898aSmrg	paragon)
96623a0898aSmrg		basic_machine=i860-intel
96723a0898aSmrg		os=-osf
96823a0898aSmrg		;;
9697f7f5e4eSmrg	parisc)
9707f7f5e4eSmrg		basic_machine=hppa-unknown
9717f7f5e4eSmrg		os=-linux
9727f7f5e4eSmrg		;;
9737f7f5e4eSmrg	parisc-*)
9747f7f5e4eSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9757f7f5e4eSmrg		os=-linux
9767f7f5e4eSmrg		;;
97723a0898aSmrg	pbd)
97823a0898aSmrg		basic_machine=sparc-tti
97923a0898aSmrg		;;
98023a0898aSmrg	pbb)
98123a0898aSmrg		basic_machine=m68k-tti
98223a0898aSmrg		;;
98323a0898aSmrg	pc532 | pc532-*)
98423a0898aSmrg		basic_machine=ns32k-pc532
98523a0898aSmrg		;;
98623a0898aSmrg	pc98)
98723a0898aSmrg		basic_machine=i386-pc
98823a0898aSmrg		;;
98923a0898aSmrg	pc98-*)
99023a0898aSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
99123a0898aSmrg		;;
99223a0898aSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
99323a0898aSmrg		basic_machine=i586-pc
99423a0898aSmrg		;;
99523a0898aSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
99623a0898aSmrg		basic_machine=i686-pc
99723a0898aSmrg		;;
99823a0898aSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
99923a0898aSmrg		basic_machine=i686-pc
100023a0898aSmrg		;;
100123a0898aSmrg	pentium4)
100223a0898aSmrg		basic_machine=i786-pc
100323a0898aSmrg		;;
100423a0898aSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
100523a0898aSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
100623a0898aSmrg		;;
100723a0898aSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
100823a0898aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
100923a0898aSmrg		;;
101023a0898aSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
101123a0898aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
101223a0898aSmrg		;;
101323a0898aSmrg	pentium4-*)
101423a0898aSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
101523a0898aSmrg		;;
101623a0898aSmrg	pn)
101723a0898aSmrg		basic_machine=pn-gould
101823a0898aSmrg		;;
101923a0898aSmrg	power)	basic_machine=power-ibm
102023a0898aSmrg		;;
1021b020570bSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
102223a0898aSmrg		;;
1023b020570bSmrg	ppc-* | ppcbe-*)
1024b020570bSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
102523a0898aSmrg		;;
102623a0898aSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
102723a0898aSmrg		basic_machine=powerpcle-unknown
102823a0898aSmrg		;;
102923a0898aSmrg	ppcle-* | powerpclittle-*)
103023a0898aSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
103123a0898aSmrg		;;
103223a0898aSmrg	ppc64)	basic_machine=powerpc64-unknown
103323a0898aSmrg		;;
1034a97c3f35Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
103523a0898aSmrg		;;
103623a0898aSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
103723a0898aSmrg		basic_machine=powerpc64le-unknown
103823a0898aSmrg		;;
103923a0898aSmrg	ppc64le-* | powerpc64little-*)
104023a0898aSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
104123a0898aSmrg		;;
104223a0898aSmrg	ps2)
104323a0898aSmrg		basic_machine=i386-ibm
104423a0898aSmrg		;;
104523a0898aSmrg	pw32)
104623a0898aSmrg		basic_machine=i586-unknown
104723a0898aSmrg		os=-pw32
104823a0898aSmrg		;;
1049b020570bSmrg	rdos | rdos64)
1050b020570bSmrg		basic_machine=x86_64-pc
1051b020570bSmrg		os=-rdos
1052b020570bSmrg		;;
1053b020570bSmrg	rdos32)
105423a0898aSmrg		basic_machine=i386-pc
105523a0898aSmrg		os=-rdos
105623a0898aSmrg		;;
105723a0898aSmrg	rom68k)
105823a0898aSmrg		basic_machine=m68k-rom68k
105923a0898aSmrg		os=-coff
106023a0898aSmrg		;;
106123a0898aSmrg	rm[46]00)
106223a0898aSmrg		basic_machine=mips-siemens
106323a0898aSmrg		;;
106423a0898aSmrg	rtpc | rtpc-*)
106523a0898aSmrg		basic_machine=romp-ibm
106623a0898aSmrg		;;
106723a0898aSmrg	s390 | s390-*)
106823a0898aSmrg		basic_machine=s390-ibm
106923a0898aSmrg		;;
107023a0898aSmrg	s390x | s390x-*)
107123a0898aSmrg		basic_machine=s390x-ibm
107223a0898aSmrg		;;
107323a0898aSmrg	sa29200)
107423a0898aSmrg		basic_machine=a29k-amd
107523a0898aSmrg		os=-udi
107623a0898aSmrg		;;
107723a0898aSmrg	sb1)
107823a0898aSmrg		basic_machine=mipsisa64sb1-unknown
107923a0898aSmrg		;;
108023a0898aSmrg	sb1el)
108123a0898aSmrg		basic_machine=mipsisa64sb1el-unknown
108223a0898aSmrg		;;
108323a0898aSmrg	sde)
108423a0898aSmrg		basic_machine=mipsisa32-sde
108523a0898aSmrg		os=-elf
108623a0898aSmrg		;;
108723a0898aSmrg	sei)
108823a0898aSmrg		basic_machine=mips-sei
108923a0898aSmrg		os=-seiux
109023a0898aSmrg		;;
109123a0898aSmrg	sequent)
109223a0898aSmrg		basic_machine=i386-sequent
109323a0898aSmrg		;;
109423a0898aSmrg	sh)
109523a0898aSmrg		basic_machine=sh-hitachi
109623a0898aSmrg		os=-hms
109723a0898aSmrg		;;
109823a0898aSmrg	sh5el)
109923a0898aSmrg		basic_machine=sh5le-unknown
110023a0898aSmrg		;;
110123a0898aSmrg	sh64)
110223a0898aSmrg		basic_machine=sh64-unknown
110323a0898aSmrg		;;
110423a0898aSmrg	sparclite-wrs | simso-wrs)
110523a0898aSmrg		basic_machine=sparclite-wrs
110623a0898aSmrg		os=-vxworks
110723a0898aSmrg		;;
110823a0898aSmrg	sps7)
110923a0898aSmrg		basic_machine=m68k-bull
111023a0898aSmrg		os=-sysv2
111123a0898aSmrg		;;
111223a0898aSmrg	spur)
111323a0898aSmrg		basic_machine=spur-unknown
111423a0898aSmrg		;;
111523a0898aSmrg	st2000)
111623a0898aSmrg		basic_machine=m68k-tandem
111723a0898aSmrg		;;
111823a0898aSmrg	stratus)
111923a0898aSmrg		basic_machine=i860-stratus
112023a0898aSmrg		os=-sysv4
112123a0898aSmrg		;;
1122b020570bSmrg	strongarm-* | thumb-*)
1123b020570bSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1124b020570bSmrg		;;
112523a0898aSmrg	sun2)
112623a0898aSmrg		basic_machine=m68000-sun
112723a0898aSmrg		;;
112823a0898aSmrg	sun2os3)
112923a0898aSmrg		basic_machine=m68000-sun
113023a0898aSmrg		os=-sunos3
113123a0898aSmrg		;;
113223a0898aSmrg	sun2os4)
113323a0898aSmrg		basic_machine=m68000-sun
113423a0898aSmrg		os=-sunos4
113523a0898aSmrg		;;
113623a0898aSmrg	sun3os3)
113723a0898aSmrg		basic_machine=m68k-sun
113823a0898aSmrg		os=-sunos3
113923a0898aSmrg		;;
114023a0898aSmrg	sun3os4)
114123a0898aSmrg		basic_machine=m68k-sun
114223a0898aSmrg		os=-sunos4
114323a0898aSmrg		;;
114423a0898aSmrg	sun4os3)
114523a0898aSmrg		basic_machine=sparc-sun
114623a0898aSmrg		os=-sunos3
114723a0898aSmrg		;;
114823a0898aSmrg	sun4os4)
114923a0898aSmrg		basic_machine=sparc-sun
115023a0898aSmrg		os=-sunos4
115123a0898aSmrg		;;
115223a0898aSmrg	sun4sol2)
115323a0898aSmrg		basic_machine=sparc-sun
115423a0898aSmrg		os=-solaris2
115523a0898aSmrg		;;
115623a0898aSmrg	sun3 | sun3-*)
115723a0898aSmrg		basic_machine=m68k-sun
115823a0898aSmrg		;;
115923a0898aSmrg	sun4)
116023a0898aSmrg		basic_machine=sparc-sun
116123a0898aSmrg		;;
116223a0898aSmrg	sun386 | sun386i | roadrunner)
116323a0898aSmrg		basic_machine=i386-sun
116423a0898aSmrg		;;
116523a0898aSmrg	sv1)
116623a0898aSmrg		basic_machine=sv1-cray
116723a0898aSmrg		os=-unicos
116823a0898aSmrg		;;
116923a0898aSmrg	symmetry)
117023a0898aSmrg		basic_machine=i386-sequent
117123a0898aSmrg		os=-dynix
117223a0898aSmrg		;;
117323a0898aSmrg	t3e)
117423a0898aSmrg		basic_machine=alphaev5-cray
117523a0898aSmrg		os=-unicos
117623a0898aSmrg		;;
117723a0898aSmrg	t90)
117823a0898aSmrg		basic_machine=t90-cray
117923a0898aSmrg		os=-unicos
118023a0898aSmrg		;;
11817f7f5e4eSmrg	tile*)
1182b020570bSmrg		basic_machine=$basic_machine-unknown
11837f7f5e4eSmrg		os=-linux-gnu
11847f7f5e4eSmrg		;;
118523a0898aSmrg	tx39)
118623a0898aSmrg		basic_machine=mipstx39-unknown
118723a0898aSmrg		;;
118823a0898aSmrg	tx39el)
118923a0898aSmrg		basic_machine=mipstx39el-unknown
119023a0898aSmrg		;;
119123a0898aSmrg	toad1)
119223a0898aSmrg		basic_machine=pdp10-xkl
119323a0898aSmrg		os=-tops20
119423a0898aSmrg		;;
119523a0898aSmrg	tower | tower-32)
119623a0898aSmrg		basic_machine=m68k-ncr
119723a0898aSmrg		;;
119823a0898aSmrg	tpf)
119923a0898aSmrg		basic_machine=s390x-ibm
120023a0898aSmrg		os=-tpf
120123a0898aSmrg		;;
120223a0898aSmrg	udi29k)
120323a0898aSmrg		basic_machine=a29k-amd
120423a0898aSmrg		os=-udi
120523a0898aSmrg		;;
120623a0898aSmrg	ultra3)
120723a0898aSmrg		basic_machine=a29k-nyu
120823a0898aSmrg		os=-sym1
120923a0898aSmrg		;;
121023a0898aSmrg	v810 | necv810)
121123a0898aSmrg		basic_machine=v810-nec
121223a0898aSmrg		os=-none
121323a0898aSmrg		;;
121423a0898aSmrg	vaxv)
121523a0898aSmrg		basic_machine=vax-dec
121623a0898aSmrg		os=-sysv
121723a0898aSmrg		;;
121823a0898aSmrg	vms)
121923a0898aSmrg		basic_machine=vax-dec
122023a0898aSmrg		os=-vms
122123a0898aSmrg		;;
122223a0898aSmrg	vpp*|vx|vx-*)
122323a0898aSmrg		basic_machine=f301-fujitsu
122423a0898aSmrg		;;
122523a0898aSmrg	vxworks960)
122623a0898aSmrg		basic_machine=i960-wrs
122723a0898aSmrg		os=-vxworks
122823a0898aSmrg		;;
122923a0898aSmrg	vxworks68)
123023a0898aSmrg		basic_machine=m68k-wrs
123123a0898aSmrg		os=-vxworks
123223a0898aSmrg		;;
123323a0898aSmrg	vxworks29k)
123423a0898aSmrg		basic_machine=a29k-wrs
123523a0898aSmrg		os=-vxworks
123623a0898aSmrg		;;
123723a0898aSmrg	w65*)
123823a0898aSmrg		basic_machine=w65-wdc
123923a0898aSmrg		os=-none
124023a0898aSmrg		;;
124123a0898aSmrg	w89k-*)
124223a0898aSmrg		basic_machine=hppa1.1-winbond
124323a0898aSmrg		os=-proelf
124423a0898aSmrg		;;
124523a0898aSmrg	xbox)
124623a0898aSmrg		basic_machine=i686-pc
124723a0898aSmrg		os=-mingw32
124823a0898aSmrg		;;
124923a0898aSmrg	xps | xps100)
125023a0898aSmrg		basic_machine=xps100-honeywell
125123a0898aSmrg		;;
1252b020570bSmrg	xscale-* | xscalee[bl]-*)
1253b020570bSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1254b020570bSmrg		;;
125523a0898aSmrg	ymp)
125623a0898aSmrg		basic_machine=ymp-cray
125723a0898aSmrg		os=-unicos
125823a0898aSmrg		;;
125923a0898aSmrg	z8k-*-coff)
126023a0898aSmrg		basic_machine=z8k-unknown
126123a0898aSmrg		os=-sim
126223a0898aSmrg		;;
126341c30155Smrg	z80-*-coff)
126441c30155Smrg		basic_machine=z80-unknown
126541c30155Smrg		os=-sim
126641c30155Smrg		;;
126723a0898aSmrg	none)
126823a0898aSmrg		basic_machine=none-none
126923a0898aSmrg		os=-none
127023a0898aSmrg		;;
127123a0898aSmrg
127223a0898aSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
127323a0898aSmrg# some cases the only manufacturer, in others, it is the most popular.
127423a0898aSmrg	w89k)
127523a0898aSmrg		basic_machine=hppa1.1-winbond
127623a0898aSmrg		;;
127723a0898aSmrg	op50n)
127823a0898aSmrg		basic_machine=hppa1.1-oki
127923a0898aSmrg		;;
128023a0898aSmrg	op60c)
128123a0898aSmrg		basic_machine=hppa1.1-oki
128223a0898aSmrg		;;
128323a0898aSmrg	romp)
128423a0898aSmrg		basic_machine=romp-ibm
128523a0898aSmrg		;;
128623a0898aSmrg	mmix)
128723a0898aSmrg		basic_machine=mmix-knuth
128823a0898aSmrg		;;
128923a0898aSmrg	rs6000)
129023a0898aSmrg		basic_machine=rs6000-ibm
129123a0898aSmrg		;;
129223a0898aSmrg	vax)
129323a0898aSmrg		basic_machine=vax-dec
129423a0898aSmrg		;;
129523a0898aSmrg	pdp10)
129623a0898aSmrg		# there are many clones, so DEC is not a safe bet
129723a0898aSmrg		basic_machine=pdp10-unknown
129823a0898aSmrg		;;
129923a0898aSmrg	pdp11)
130023a0898aSmrg		basic_machine=pdp11-dec
130123a0898aSmrg		;;
130223a0898aSmrg	we32k)
130323a0898aSmrg		basic_machine=we32k-att
130423a0898aSmrg		;;
130541c30155Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
130623a0898aSmrg		basic_machine=sh-unknown
130723a0898aSmrg		;;
130823a0898aSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
130923a0898aSmrg		basic_machine=sparc-sun
131023a0898aSmrg		;;
131123a0898aSmrg	cydra)
131223a0898aSmrg		basic_machine=cydra-cydrome
131323a0898aSmrg		;;
131423a0898aSmrg	orion)
131523a0898aSmrg		basic_machine=orion-highlevel
131623a0898aSmrg		;;
131723a0898aSmrg	orion105)
131823a0898aSmrg		basic_machine=clipper-highlevel
131923a0898aSmrg		;;
132023a0898aSmrg	mac | mpw | mac-mpw)
132123a0898aSmrg		basic_machine=m68k-apple
132223a0898aSmrg		;;
132323a0898aSmrg	pmac | pmac-mpw)
132423a0898aSmrg		basic_machine=powerpc-apple
132523a0898aSmrg		;;
132623a0898aSmrg	*-unknown)
132723a0898aSmrg		# Make sure to match an already-canonicalized machine name.
132823a0898aSmrg		;;
132923a0898aSmrg	*)
133023a0898aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
133123a0898aSmrg		exit 1
133223a0898aSmrg		;;
133323a0898aSmrgesac
133423a0898aSmrg
133523a0898aSmrg# Here we canonicalize certain aliases for manufacturers.
133623a0898aSmrgcase $basic_machine in
133723a0898aSmrg	*-digital*)
133823a0898aSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
133923a0898aSmrg		;;
134023a0898aSmrg	*-commodore*)
134123a0898aSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
134223a0898aSmrg		;;
134323a0898aSmrg	*)
134423a0898aSmrg		;;
134523a0898aSmrgesac
134623a0898aSmrg
134723a0898aSmrg# Decode manufacturer-specific aliases for certain operating systems.
134823a0898aSmrg
134923a0898aSmrgif [ x"$os" != x"" ]
135023a0898aSmrgthen
135123a0898aSmrgcase $os in
1352b020570bSmrg	# First match some system type aliases
1353b020570bSmrg	# that might get confused with valid system types.
135423a0898aSmrg	# -solaris* is a basic system type, with this one exception.
1355b020570bSmrg	-auroraux)
1356b020570bSmrg		os=-auroraux
135741c30155Smrg		;;
135823a0898aSmrg	-solaris1 | -solaris1.*)
135923a0898aSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
136023a0898aSmrg		;;
136123a0898aSmrg	-solaris)
136223a0898aSmrg		os=-solaris2
136323a0898aSmrg		;;
136423a0898aSmrg	-svr4*)
136523a0898aSmrg		os=-sysv4
136623a0898aSmrg		;;
136723a0898aSmrg	-unixware*)
136823a0898aSmrg		os=-sysv4.2uw
136923a0898aSmrg		;;
137023a0898aSmrg	-gnu/linux*)
137123a0898aSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
137223a0898aSmrg		;;
137323a0898aSmrg	# First accept the basic system types.
137423a0898aSmrg	# The portable systems comes first.
137523a0898aSmrg	# Each alternative MUST END IN A *, to match a version number.
137623a0898aSmrg	# -sysv* is not here because it comes later, after sysvr4.
137723a0898aSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
137841c30155Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
137941c30155Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1380b020570bSmrg	      | -sym* | -kopensolaris* | -plan9* \
138123a0898aSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1382a97c3f35Smrg	      | -aos* | -aros* | -cloudabi* | -sortix* \
138323a0898aSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
138423a0898aSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
138523a0898aSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1386b020570bSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
138723a0898aSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
138823a0898aSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
138923a0898aSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
139023a0898aSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
139141c30155Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1392b020570bSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1393b020570bSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1394b020570bSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1395121a5469Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
139623a0898aSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
139723a0898aSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
139823a0898aSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
139923a0898aSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
140023a0898aSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
140123a0898aSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1402121a5469Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
140323a0898aSmrg	# Remember, each alternative MUST END IN *, to match a version number.
140423a0898aSmrg		;;
140523a0898aSmrg	-qnx*)
140623a0898aSmrg		case $basic_machine in
140723a0898aSmrg		    x86-* | i*86-*)
140823a0898aSmrg			;;
140923a0898aSmrg		    *)
141023a0898aSmrg			os=-nto$os
141123a0898aSmrg			;;
141223a0898aSmrg		esac
141323a0898aSmrg		;;
141423a0898aSmrg	-nto-qnx*)
141523a0898aSmrg		;;
141623a0898aSmrg	-nto*)
141723a0898aSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
141823a0898aSmrg		;;
141923a0898aSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
142023a0898aSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
142123a0898aSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
142223a0898aSmrg		;;
142323a0898aSmrg	-mac*)
142423a0898aSmrg		os=`echo $os | sed -e 's|mac|macos|'`
142523a0898aSmrg		;;
142623a0898aSmrg	-linux-dietlibc)
142723a0898aSmrg		os=-linux-dietlibc
142823a0898aSmrg		;;
142923a0898aSmrg	-linux*)
143023a0898aSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
143123a0898aSmrg		;;
143223a0898aSmrg	-sunos5*)
143323a0898aSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
143423a0898aSmrg		;;
143523a0898aSmrg	-sunos6*)
143623a0898aSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
143723a0898aSmrg		;;
143823a0898aSmrg	-opened*)
143923a0898aSmrg		os=-openedition
144023a0898aSmrg		;;
1441b020570bSmrg	-os400*)
144223a0898aSmrg		os=-os400
144323a0898aSmrg		;;
144423a0898aSmrg	-wince*)
144523a0898aSmrg		os=-wince
144623a0898aSmrg		;;
144723a0898aSmrg	-osfrose*)
144823a0898aSmrg		os=-osfrose
144923a0898aSmrg		;;
145023a0898aSmrg	-osf*)
145123a0898aSmrg		os=-osf
145223a0898aSmrg		;;
145323a0898aSmrg	-utek*)
145423a0898aSmrg		os=-bsd
145523a0898aSmrg		;;
145623a0898aSmrg	-dynix*)
145723a0898aSmrg		os=-bsd
145823a0898aSmrg		;;
145923a0898aSmrg	-acis*)
146023a0898aSmrg		os=-aos
146123a0898aSmrg		;;
146223a0898aSmrg	-atheos*)
146323a0898aSmrg		os=-atheos
146423a0898aSmrg		;;
146523a0898aSmrg	-syllable*)
146623a0898aSmrg		os=-syllable
146723a0898aSmrg		;;
146823a0898aSmrg	-386bsd)
146923a0898aSmrg		os=-bsd
147023a0898aSmrg		;;
147123a0898aSmrg	-ctix* | -uts*)
147223a0898aSmrg		os=-sysv
147323a0898aSmrg		;;
147423a0898aSmrg	-nova*)
147523a0898aSmrg		os=-rtmk-nova
147623a0898aSmrg		;;
147723a0898aSmrg	-ns2 )
147823a0898aSmrg		os=-nextstep2
147923a0898aSmrg		;;
148023a0898aSmrg	-nsk*)
148123a0898aSmrg		os=-nsk
148223a0898aSmrg		;;
148323a0898aSmrg	# Preserve the version number of sinix5.
148423a0898aSmrg	-sinix5.*)
148523a0898aSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
148623a0898aSmrg		;;
148723a0898aSmrg	-sinix*)
148823a0898aSmrg		os=-sysv4
148923a0898aSmrg		;;
1490b020570bSmrg	-tpf*)
149123a0898aSmrg		os=-tpf
149223a0898aSmrg		;;
149323a0898aSmrg	-triton*)
149423a0898aSmrg		os=-sysv3
149523a0898aSmrg		;;
149623a0898aSmrg	-oss*)
149723a0898aSmrg		os=-sysv3
149823a0898aSmrg		;;
149923a0898aSmrg	-svr4)
150023a0898aSmrg		os=-sysv4
150123a0898aSmrg		;;
150223a0898aSmrg	-svr3)
150323a0898aSmrg		os=-sysv3
150423a0898aSmrg		;;
150523a0898aSmrg	-sysvr4)
150623a0898aSmrg		os=-sysv4
150723a0898aSmrg		;;
150823a0898aSmrg	# This must come after -sysvr4.
150923a0898aSmrg	-sysv*)
151023a0898aSmrg		;;
151123a0898aSmrg	-ose*)
151223a0898aSmrg		os=-ose
151323a0898aSmrg		;;
151423a0898aSmrg	-es1800*)
151523a0898aSmrg		os=-ose
151623a0898aSmrg		;;
151723a0898aSmrg	-xenix)
151823a0898aSmrg		os=-xenix
151923a0898aSmrg		;;
152023a0898aSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
152123a0898aSmrg		os=-mint
152223a0898aSmrg		;;
152323a0898aSmrg	-aros*)
152423a0898aSmrg		os=-aros
152523a0898aSmrg		;;
152623a0898aSmrg	-zvmoe)
152723a0898aSmrg		os=-zvmoe
152823a0898aSmrg		;;
152941c30155Smrg	-dicos*)
153041c30155Smrg		os=-dicos
153141c30155Smrg		;;
1532b020570bSmrg	-nacl*)
1533b020570bSmrg		;;
153423a0898aSmrg	-none)
153523a0898aSmrg		;;
153623a0898aSmrg	*)
153723a0898aSmrg		# Get rid of the `-' at the beginning of $os.
153823a0898aSmrg		os=`echo $os | sed 's/[^-]*-//'`
153923a0898aSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
154023a0898aSmrg		exit 1
154123a0898aSmrg		;;
154223a0898aSmrgesac
154323a0898aSmrgelse
154423a0898aSmrg
154523a0898aSmrg# Here we handle the default operating systems that come with various machines.
154623a0898aSmrg# The value should be what the vendor currently ships out the door with their
154723a0898aSmrg# machine or put another way, the most popular os provided with the machine.
154823a0898aSmrg
154923a0898aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
155023a0898aSmrg# "-sun"), then you have to tell the case statement up towards the top
155123a0898aSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
155223a0898aSmrg# will signal an error saying that MANUFACTURER isn't an operating
155323a0898aSmrg# system, and we'll never get to this point.
155423a0898aSmrg
155523a0898aSmrgcase $basic_machine in
1556b020570bSmrg	score-*)
155723a0898aSmrg		os=-elf
155823a0898aSmrg		;;
1559b020570bSmrg	spu-*)
156023a0898aSmrg		os=-elf
156123a0898aSmrg		;;
156223a0898aSmrg	*-acorn)
156323a0898aSmrg		os=-riscix1.2
156423a0898aSmrg		;;
156523a0898aSmrg	arm*-rebel)
156623a0898aSmrg		os=-linux
156723a0898aSmrg		;;
156823a0898aSmrg	arm*-semi)
156923a0898aSmrg		os=-aout
157023a0898aSmrg		;;
1571b020570bSmrg	c4x-* | tic4x-*)
1572b020570bSmrg		os=-coff
1573b020570bSmrg		;;
15740145ab54Ssnj	c8051-*)
15750145ab54Ssnj		os=-elf
15760145ab54Ssnj		;;
1577b020570bSmrg	hexagon-*)
1578b020570bSmrg		os=-elf
157923a0898aSmrg		;;
158041c30155Smrg	tic54x-*)
158141c30155Smrg		os=-coff
158241c30155Smrg		;;
158341c30155Smrg	tic55x-*)
158441c30155Smrg		os=-coff
158541c30155Smrg		;;
158641c30155Smrg	tic6x-*)
158741c30155Smrg		os=-coff
158841c30155Smrg		;;
158923a0898aSmrg	# This must come before the *-dec entry.
159023a0898aSmrg	pdp10-*)
159123a0898aSmrg		os=-tops20
159223a0898aSmrg		;;
159323a0898aSmrg	pdp11-*)
159423a0898aSmrg		os=-none
159523a0898aSmrg		;;
159623a0898aSmrg	*-dec | vax-*)
159723a0898aSmrg		os=-ultrix4.2
159823a0898aSmrg		;;
159923a0898aSmrg	m68*-apollo)
160023a0898aSmrg		os=-domain
160123a0898aSmrg		;;
160223a0898aSmrg	i386-sun)
160323a0898aSmrg		os=-sunos4.0.2
160423a0898aSmrg		;;
160523a0898aSmrg	m68000-sun)
160623a0898aSmrg		os=-sunos3
160723a0898aSmrg		;;
160823a0898aSmrg	m68*-cisco)
160923a0898aSmrg		os=-aout
161023a0898aSmrg		;;
1611b020570bSmrg	mep-*)
161223a0898aSmrg		os=-elf
161323a0898aSmrg		;;
161423a0898aSmrg	mips*-cisco)
161523a0898aSmrg		os=-elf
161623a0898aSmrg		;;
161723a0898aSmrg	mips*-*)
161823a0898aSmrg		os=-elf
161923a0898aSmrg		;;
162023a0898aSmrg	or32-*)
162123a0898aSmrg		os=-coff
162223a0898aSmrg		;;
162323a0898aSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
162423a0898aSmrg		os=-sysv3
162523a0898aSmrg		;;
162623a0898aSmrg	sparc-* | *-sun)
162723a0898aSmrg		os=-sunos4.1.1
162823a0898aSmrg		;;
162923a0898aSmrg	*-be)
163023a0898aSmrg		os=-beos
163123a0898aSmrg		;;
163223a0898aSmrg	*-haiku)
163323a0898aSmrg		os=-haiku
163423a0898aSmrg		;;
163523a0898aSmrg	*-ibm)
163623a0898aSmrg		os=-aix
163723a0898aSmrg		;;
1638b020570bSmrg	*-knuth)
163923a0898aSmrg		os=-mmixware
164023a0898aSmrg		;;
164123a0898aSmrg	*-wec)
164223a0898aSmrg		os=-proelf
164323a0898aSmrg		;;
164423a0898aSmrg	*-winbond)
164523a0898aSmrg		os=-proelf
164623a0898aSmrg		;;
164723a0898aSmrg	*-oki)
164823a0898aSmrg		os=-proelf
164923a0898aSmrg		;;
165023a0898aSmrg	*-hp)
165123a0898aSmrg		os=-hpux
165223a0898aSmrg		;;
165323a0898aSmrg	*-hitachi)
165423a0898aSmrg		os=-hiux
165523a0898aSmrg		;;
165623a0898aSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
165723a0898aSmrg		os=-sysv
165823a0898aSmrg		;;
165923a0898aSmrg	*-cbm)
166023a0898aSmrg		os=-amigaos
166123a0898aSmrg		;;
166223a0898aSmrg	*-dg)
166323a0898aSmrg		os=-dgux
166423a0898aSmrg		;;
166523a0898aSmrg	*-dolphin)
166623a0898aSmrg		os=-sysv3
166723a0898aSmrg		;;
166823a0898aSmrg	m68k-ccur)
166923a0898aSmrg		os=-rtu
167023a0898aSmrg		;;
167123a0898aSmrg	m88k-omron*)
167223a0898aSmrg		os=-luna
167323a0898aSmrg		;;
167423a0898aSmrg	*-next )
167523a0898aSmrg		os=-nextstep
167623a0898aSmrg		;;
167723a0898aSmrg	*-sequent)
167823a0898aSmrg		os=-ptx
167923a0898aSmrg		;;
168023a0898aSmrg	*-crds)
168123a0898aSmrg		os=-unos
168223a0898aSmrg		;;
168323a0898aSmrg	*-ns)
168423a0898aSmrg		os=-genix
168523a0898aSmrg		;;
168623a0898aSmrg	i370-*)
168723a0898aSmrg		os=-mvs
168823a0898aSmrg		;;
168923a0898aSmrg	*-next)
169023a0898aSmrg		os=-nextstep3
169123a0898aSmrg		;;
169223a0898aSmrg	*-gould)
169323a0898aSmrg		os=-sysv
169423a0898aSmrg		;;
169523a0898aSmrg	*-highlevel)
169623a0898aSmrg		os=-bsd
169723a0898aSmrg		;;
169823a0898aSmrg	*-encore)
169923a0898aSmrg		os=-bsd
170023a0898aSmrg		;;
170123a0898aSmrg	*-sgi)
170223a0898aSmrg		os=-irix
170323a0898aSmrg		;;
170423a0898aSmrg	*-siemens)
170523a0898aSmrg		os=-sysv4
170623a0898aSmrg		;;
170723a0898aSmrg	*-masscomp)
170823a0898aSmrg		os=-rtu
170923a0898aSmrg		;;
171023a0898aSmrg	f30[01]-fujitsu | f700-fujitsu)
171123a0898aSmrg		os=-uxpv
171223a0898aSmrg		;;
171323a0898aSmrg	*-rom68k)
171423a0898aSmrg		os=-coff
171523a0898aSmrg		;;
171623a0898aSmrg	*-*bug)
171723a0898aSmrg		os=-coff
171823a0898aSmrg		;;
171923a0898aSmrg	*-apple)
172023a0898aSmrg		os=-macos
172123a0898aSmrg		;;
172223a0898aSmrg	*-atari*)
172323a0898aSmrg		os=-mint
172423a0898aSmrg		;;
172523a0898aSmrg	*)
172623a0898aSmrg		os=-none
172723a0898aSmrg		;;
172823a0898aSmrgesac
172923a0898aSmrgfi
173023a0898aSmrg
173123a0898aSmrg# Here we handle the case where we know the os, and the CPU type, but not the
173223a0898aSmrg# manufacturer.  We pick the logical manufacturer.
173323a0898aSmrgvendor=unknown
173423a0898aSmrgcase $basic_machine in
173523a0898aSmrg	*-unknown)
173623a0898aSmrg		case $os in
173723a0898aSmrg			-riscix*)
173823a0898aSmrg				vendor=acorn
173923a0898aSmrg				;;
174023a0898aSmrg			-sunos*)
174123a0898aSmrg				vendor=sun
174223a0898aSmrg				;;
174341c30155Smrg			-cnk*|-aix*)
174423a0898aSmrg				vendor=ibm
174523a0898aSmrg				;;
174623a0898aSmrg			-beos*)
174723a0898aSmrg				vendor=be
174823a0898aSmrg				;;
174923a0898aSmrg			-hpux*)
175023a0898aSmrg				vendor=hp
175123a0898aSmrg				;;
175223a0898aSmrg			-mpeix*)
175323a0898aSmrg				vendor=hp
175423a0898aSmrg				;;
175523a0898aSmrg			-hiux*)
175623a0898aSmrg				vendor=hitachi
175723a0898aSmrg				;;
175823a0898aSmrg			-unos*)
175923a0898aSmrg				vendor=crds
176023a0898aSmrg				;;
176123a0898aSmrg			-dgux*)
176223a0898aSmrg				vendor=dg
176323a0898aSmrg				;;
176423a0898aSmrg			-luna*)
176523a0898aSmrg				vendor=omron
176623a0898aSmrg				;;
176723a0898aSmrg			-genix*)
176823a0898aSmrg				vendor=ns
176923a0898aSmrg				;;
177023a0898aSmrg			-mvs* | -opened*)
177123a0898aSmrg				vendor=ibm
177223a0898aSmrg				;;
177323a0898aSmrg			-os400*)
177423a0898aSmrg				vendor=ibm
177523a0898aSmrg				;;
177623a0898aSmrg			-ptx*)
177723a0898aSmrg				vendor=sequent
177823a0898aSmrg				;;
177923a0898aSmrg			-tpf*)
178023a0898aSmrg				vendor=ibm
178123a0898aSmrg				;;
178223a0898aSmrg			-vxsim* | -vxworks* | -windiss*)
178323a0898aSmrg				vendor=wrs
178423a0898aSmrg				;;
178523a0898aSmrg			-aux*)
178623a0898aSmrg				vendor=apple
178723a0898aSmrg				;;
178823a0898aSmrg			-hms*)
178923a0898aSmrg				vendor=hitachi
179023a0898aSmrg				;;
179123a0898aSmrg			-mpw* | -macos*)
179223a0898aSmrg				vendor=apple
179323a0898aSmrg				;;
179423a0898aSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
179523a0898aSmrg				vendor=atari
179623a0898aSmrg				;;
179723a0898aSmrg			-vos*)
179823a0898aSmrg				vendor=stratus
179923a0898aSmrg				;;
180023a0898aSmrg		esac
180123a0898aSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
180223a0898aSmrg		;;
180323a0898aSmrgesac
180423a0898aSmrg
180523a0898aSmrgecho $basic_machine$os
180623a0898aSmrgexit
180723a0898aSmrg
180823a0898aSmrg# Local variables:
180923a0898aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
181023a0898aSmrg# time-stamp-start: "timestamp='"
181123a0898aSmrg# time-stamp-format: "%:y-%02m-%02d"
181223a0898aSmrg# time-stamp-end: "'"
181323a0898aSmrg# End:
1814