15c10afb9Smrg#! /bin/sh
25c10afb9Smrg# Configuration validation subroutine script.
3cf2f63c2Smrg#   Copyright 1992-2014 Free Software Foundation, Inc.
45c10afb9Smrg
5cf2f63c2Smrgtimestamp='2014-12-03'
65c10afb9Smrg
7cf2f63c2Smrg# This file is free software; you can redistribute it and/or modify it
8cf2f63c2Smrg# under the terms of the GNU General Public License as published by
9cf2f63c2Smrg# the Free Software Foundation; either version 3 of the License, or
105c10afb9Smrg# (at your option) any later version.
115c10afb9Smrg#
12cf2f63c2Smrg# This program is distributed in the hope that it will be useful, but
13cf2f63c2Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14cf2f63c2Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15cf2f63c2Smrg# General Public License for more details.
165c10afb9Smrg#
175c10afb9Smrg# You should have received a copy of the GNU General Public License
18cf2f63c2Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
19b3078addSmrg#
205c10afb9Smrg# As a special exception to the GNU General Public License, if you
215c10afb9Smrg# distribute this file as part of a program that contains a
225c10afb9Smrg# configuration script generated by Autoconf, you may include it under
23cf2f63c2Smrg# the same distribution terms that you use for the rest of that
24cf2f63c2Smrg# program.  This Exception is an additional permission under section 7
25cf2f63c2Smrg# of the GNU General Public License, version 3 ("GPLv3").
265c10afb9Smrg
27b3078addSmrg
28cf2f63c2Smrg# Please send patches to <config-patches@gnu.org>.
295c10afb9Smrg#
305c10afb9Smrg# Configuration subroutine to validate and canonicalize a configuration type.
315c10afb9Smrg# Supply the specified configuration type as an argument.
325c10afb9Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
335c10afb9Smrg# Otherwise, we print the canonical config type on stdout and succeed.
345c10afb9Smrg
35b3078addSmrg# You can get the latest version of this script from:
36b3078addSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37b3078addSmrg
385c10afb9Smrg# This file is supposed to be the same for all GNU packages
395c10afb9Smrg# and recognize all the CPU types, system types and aliases
405c10afb9Smrg# that are meaningful with *any* GNU software.
415c10afb9Smrg# Each package is responsible for reporting which valid configurations
425c10afb9Smrg# it does not support.  The user should be able to distinguish
435c10afb9Smrg# a failure to support a valid configuration from a meaningless
445c10afb9Smrg# configuration.
455c10afb9Smrg
465c10afb9Smrg# The goal of this file is to map all the various variations of a given
475c10afb9Smrg# machine specification into a single specification in the form:
485c10afb9Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
495c10afb9Smrg# or in some cases, the newer four-part form:
505c10afb9Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
515c10afb9Smrg# It is wrong to echo any other type of specification.
525c10afb9Smrg
535c10afb9Smrgme=`echo "$0" | sed -e 's,.*/,,'`
545c10afb9Smrg
555c10afb9Smrgusage="\
565c10afb9SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
575c10afb9Smrg       $0 [OPTION] ALIAS
585c10afb9Smrg
595c10afb9SmrgCanonicalize a configuration name.
605c10afb9Smrg
615c10afb9SmrgOperation modes:
625c10afb9Smrg  -h, --help         print this help, then exit
635c10afb9Smrg  -t, --time-stamp   print date of last modification, then exit
645c10afb9Smrg  -v, --version      print version number, then exit
655c10afb9Smrg
665c10afb9SmrgReport bugs and patches to <config-patches@gnu.org>."
675c10afb9Smrg
685c10afb9Smrgversion="\
695c10afb9SmrgGNU config.sub ($timestamp)
705c10afb9Smrg
71cf2f63c2SmrgCopyright 1992-2014 Free Software Foundation, Inc.
725c10afb9Smrg
735c10afb9SmrgThis is free software; see the source for copying conditions.  There is NO
745c10afb9Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
755c10afb9Smrg
765c10afb9Smrghelp="
775c10afb9SmrgTry \`$me --help' for more information."
785c10afb9Smrg
795c10afb9Smrg# Parse command line
805c10afb9Smrgwhile test $# -gt 0 ; do
815c10afb9Smrg  case $1 in
825c10afb9Smrg    --time-stamp | --time* | -t )
83b3078addSmrg       echo "$timestamp" ; exit ;;
845c10afb9Smrg    --version | -v )
85b3078addSmrg       echo "$version" ; exit ;;
865c10afb9Smrg    --help | --h* | -h )
87b3078addSmrg       echo "$usage"; exit ;;
885c10afb9Smrg    -- )     # Stop option processing
895c10afb9Smrg       shift; break ;;
905c10afb9Smrg    - )	# Use stdin as input.
915c10afb9Smrg       break ;;
925c10afb9Smrg    -* )
935c10afb9Smrg       echo "$me: invalid option $1$help"
945c10afb9Smrg       exit 1 ;;
955c10afb9Smrg
965c10afb9Smrg    *local*)
975c10afb9Smrg       # First pass through any local machine types.
985c10afb9Smrg       echo $1
99b3078addSmrg       exit ;;
1005c10afb9Smrg
1015c10afb9Smrg    * )
1025c10afb9Smrg       break ;;
1035c10afb9Smrg  esac
1045c10afb9Smrgdone
1055c10afb9Smrg
1065c10afb9Smrgcase $# in
1075c10afb9Smrg 0) echo "$me: missing argument$help" >&2
1085c10afb9Smrg    exit 1;;
1095c10afb9Smrg 1) ;;
1105c10afb9Smrg *) echo "$me: too many arguments$help" >&2
1115c10afb9Smrg    exit 1;;
1125c10afb9Smrgesac
1135c10afb9Smrg
1145c10afb9Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1155c10afb9Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1165c10afb9Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1175c10afb9Smrgcase $maybe_os in
118b3078addSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119cf2f63c2Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120b3078addSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
121b3078addSmrg  kopensolaris*-gnu* | \
122b3078addSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1235c10afb9Smrg    os=-$maybe_os
1245c10afb9Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1255c10afb9Smrg    ;;
126cf2f63c2Smrg  android-linux)
127cf2f63c2Smrg    os=-linux-android
128cf2f63c2Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129cf2f63c2Smrg    ;;
1305c10afb9Smrg  *)
1315c10afb9Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1325c10afb9Smrg    if [ $basic_machine != $1 ]
1335c10afb9Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1345c10afb9Smrg    else os=; fi
1355c10afb9Smrg    ;;
1365c10afb9Smrgesac
1375c10afb9Smrg
1385c10afb9Smrg### Let's recognize common machines as not being operating systems so
1395c10afb9Smrg### that things like config.sub decstation-3100 work.  We also
1405c10afb9Smrg### recognize some manufacturers as not being operating systems, so we
1415c10afb9Smrg### can provide default operating systems below.
1425c10afb9Smrgcase $os in
1435c10afb9Smrg	-sun*os*)
1445c10afb9Smrg		# Prevent following clause from handling this invalid input.
1455c10afb9Smrg		;;
1465c10afb9Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1475c10afb9Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1485c10afb9Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1495c10afb9Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1505c10afb9Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1515c10afb9Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152cf2f63c2Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
1535c10afb9Smrg		os=
1545c10afb9Smrg		basic_machine=$1
1555c10afb9Smrg		;;
156cf2f63c2Smrg	-bluegene*)
157cf2f63c2Smrg		os=-cnk
158b3078addSmrg		;;
1595c10afb9Smrg	-sim | -cisco | -oki | -wec | -winbond)
1605c10afb9Smrg		os=
1615c10afb9Smrg		basic_machine=$1
1625c10afb9Smrg		;;
1635c10afb9Smrg	-scout)
1645c10afb9Smrg		;;
1655c10afb9Smrg	-wrs)
1665c10afb9Smrg		os=-vxworks
1675c10afb9Smrg		basic_machine=$1
1685c10afb9Smrg		;;
1695c10afb9Smrg	-chorusos*)
1705c10afb9Smrg		os=-chorusos
1715c10afb9Smrg		basic_machine=$1
1725c10afb9Smrg		;;
173cf2f63c2Smrg	-chorusrdb)
174cf2f63c2Smrg		os=-chorusrdb
1755c10afb9Smrg		basic_machine=$1
176cf2f63c2Smrg		;;
1775c10afb9Smrg	-hiux*)
1785c10afb9Smrg		os=-hiuxwe2
1795c10afb9Smrg		;;
180b3078addSmrg	-sco6)
181b3078addSmrg		os=-sco5v6
182b3078addSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183b3078addSmrg		;;
1845c10afb9Smrg	-sco5)
1855c10afb9Smrg		os=-sco3.2v5
1865c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1875c10afb9Smrg		;;
1885c10afb9Smrg	-sco4)
1895c10afb9Smrg		os=-sco3.2v4
1905c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1915c10afb9Smrg		;;
1925c10afb9Smrg	-sco3.2.[4-9]*)
1935c10afb9Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1945c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1955c10afb9Smrg		;;
1965c10afb9Smrg	-sco3.2v[4-9]*)
1975c10afb9Smrg		# Don't forget version if it is 3.2v4 or newer.
1985c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1995c10afb9Smrg		;;
200b3078addSmrg	-sco5v6*)
201b3078addSmrg		# Don't forget version if it is 3.2v4 or newer.
202b3078addSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203b3078addSmrg		;;
2045c10afb9Smrg	-sco*)
2055c10afb9Smrg		os=-sco3.2v2
2065c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2075c10afb9Smrg		;;
2085c10afb9Smrg	-udk*)
2095c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2105c10afb9Smrg		;;
2115c10afb9Smrg	-isc)
2125c10afb9Smrg		os=-isc2.2
2135c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2145c10afb9Smrg		;;
2155c10afb9Smrg	-clix*)
2165c10afb9Smrg		basic_machine=clipper-intergraph
2175c10afb9Smrg		;;
2185c10afb9Smrg	-isc*)
2195c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2205c10afb9Smrg		;;
221cf2f63c2Smrg	-lynx*178)
222cf2f63c2Smrg		os=-lynxos178
223cf2f63c2Smrg		;;
224cf2f63c2Smrg	-lynx*5)
225cf2f63c2Smrg		os=-lynxos5
226cf2f63c2Smrg		;;
2275c10afb9Smrg	-lynx*)
2285c10afb9Smrg		os=-lynxos
2295c10afb9Smrg		;;
2305c10afb9Smrg	-ptx*)
2315c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2325c10afb9Smrg		;;
2335c10afb9Smrg	-windowsnt*)
2345c10afb9Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2355c10afb9Smrg		;;
2365c10afb9Smrg	-psos*)
2375c10afb9Smrg		os=-psos
2385c10afb9Smrg		;;
2395c10afb9Smrg	-mint | -mint[0-9]*)
2405c10afb9Smrg		basic_machine=m68k-atari
2415c10afb9Smrg		os=-mint
2425c10afb9Smrg		;;
2435c10afb9Smrgesac
2445c10afb9Smrg
2455c10afb9Smrg# Decode aliases for certain CPU-COMPANY combinations.
2465c10afb9Smrgcase $basic_machine in
2475c10afb9Smrg	# Recognize the basic CPU types without company name.
2485c10afb9Smrg	# Some are omitted here because they have special meanings below.
2495c10afb9Smrg	1750a | 580 \
2505c10afb9Smrg	| a29k \
251cf2f63c2Smrg	| aarch64 | aarch64_be \
2525c10afb9Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2535c10afb9Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
254b3078addSmrg	| am33_2.0 \
255cf2f63c2Smrg	| arc | arceb \
256cf2f63c2Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257cf2f63c2Smrg	| avr | avr32 \
258cf2f63c2Smrg	| be32 | be64 \
259b3078addSmrg	| bfin \
260cf2f63c2Smrg	| c4x | c8051 | clipper \
2615c10afb9Smrg	| d10v | d30v | dlx | dsp16xx \
262cf2f63c2Smrg	| epiphany \
263b3078addSmrg	| fido | fr30 | frv \
2645c10afb9Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265cf2f63c2Smrg	| hexagon \
2665c10afb9Smrg	| i370 | i860 | i960 | ia64 \
267b3078addSmrg	| ip2k | iq2000 \
268cf2f63c2Smrg	| k1om \
269cf2f63c2Smrg	| le32 | le64 \
270b3078addSmrg	| lm32 \
271b3078addSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272cf2f63c2Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2735c10afb9Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2745c10afb9Smrg	| mips16 \
2755c10afb9Smrg	| mips64 | mips64el \
276b3078addSmrg	| mips64octeon | mips64octeonel \
2775c10afb9Smrg	| mips64orion | mips64orionel \
278b3078addSmrg	| mips64r5900 | mips64r5900el \
279b3078addSmrg	| mips64vr | mips64vrel \
2805c10afb9Smrg	| mips64vr4100 | mips64vr4100el \
2815c10afb9Smrg	| mips64vr4300 | mips64vr4300el \
2825c10afb9Smrg	| mips64vr5000 | mips64vr5000el \
283b3078addSmrg	| mips64vr5900 | mips64vr5900el \
2845c10afb9Smrg	| mipsisa32 | mipsisa32el \
2855c10afb9Smrg	| mipsisa32r2 | mipsisa32r2el \
286cf2f63c2Smrg	| mipsisa32r6 | mipsisa32r6el \
2875c10afb9Smrg	| mipsisa64 | mipsisa64el \
288b3078addSmrg	| mipsisa64r2 | mipsisa64r2el \
289cf2f63c2Smrg	| mipsisa64r6 | mipsisa64r6el \
2905c10afb9Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2915c10afb9Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
292cf2f63c2Smrg	| mipsr5900 | mipsr5900el \
2935c10afb9Smrg	| mipstx39 | mipstx39el \
2945c10afb9Smrg	| mn10200 | mn10300 \
295b3078addSmrg	| moxie \
296b3078addSmrg	| mt \
2975c10afb9Smrg	| msp430 \
298b3078addSmrg	| nds32 | nds32le | nds32be \
299cf2f63c2Smrg	| nios | nios2 | nios2eb | nios2el \
3005c10afb9Smrg	| ns16k | ns32k \
301cf2f63c2Smrg	| open8 | or1k | or1knd | or32 \
3025c10afb9Smrg	| pdp10 | pdp11 | pj | pjl \
303cf2f63c2Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3045c10afb9Smrg	| pyramid \
305cf2f63c2Smrg	| riscv32 | riscv64 \
306cf2f63c2Smrg	| rl78 | rx \
307b3078addSmrg	| score \
308b3078addSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3095c10afb9Smrg	| sh64 | sh64le \
310b3078addSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311b3078addSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312cf2f63c2Smrg	| spu \
313cf2f63c2Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314b3078addSmrg	| ubicom32 \
315cf2f63c2Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316cf2f63c2Smrg	| visium \
3175c10afb9Smrg	| we32k \
318cf2f63c2Smrg	| x86 | xc16x | xstormy16 | xtensa \
319b3078addSmrg	| z8k | z80)
3205c10afb9Smrg		basic_machine=$basic_machine-unknown
3215c10afb9Smrg		;;
322b3078addSmrg	c54x)
323b3078addSmrg		basic_machine=tic54x-unknown
324b3078addSmrg		;;
325b3078addSmrg	c55x)
326b3078addSmrg		basic_machine=tic55x-unknown
327b3078addSmrg		;;
328b3078addSmrg	c6x)
329b3078addSmrg		basic_machine=tic6x-unknown
330b3078addSmrg		;;
331cf2f63c2Smrg	leon|leon[3-9])
332cf2f63c2Smrg		basic_machine=sparc-$basic_machine
333cf2f63c2Smrg		;;
334cf2f63c2Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
3355c10afb9Smrg		basic_machine=$basic_machine-unknown
3365c10afb9Smrg		os=-none
3375c10afb9Smrg		;;
3385c10afb9Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3395c10afb9Smrg		;;
340b3078addSmrg	ms1)
341b3078addSmrg		basic_machine=mt-unknown
342b3078addSmrg		;;
3435c10afb9Smrg
344cf2f63c2Smrg	strongarm | thumb | xscale)
345cf2f63c2Smrg		basic_machine=arm-unknown
346cf2f63c2Smrg		;;
347cf2f63c2Smrg	xgate)
348cf2f63c2Smrg		basic_machine=$basic_machine-unknown
349cf2f63c2Smrg		os=-none
350cf2f63c2Smrg		;;
351cf2f63c2Smrg	xscaleeb)
352cf2f63c2Smrg		basic_machine=armeb-unknown
353cf2f63c2Smrg		;;
354cf2f63c2Smrg
355cf2f63c2Smrg	xscaleel)
356cf2f63c2Smrg		basic_machine=armel-unknown
357cf2f63c2Smrg		;;
358cf2f63c2Smrg
3595c10afb9Smrg	# We use `pc' rather than `unknown'
3605c10afb9Smrg	# because (1) that's what they normally are, and
3615c10afb9Smrg	# (2) the word "unknown" tends to confuse beginning users.
3625c10afb9Smrg	i*86 | x86_64)
3635c10afb9Smrg	  basic_machine=$basic_machine-pc
3645c10afb9Smrg	  ;;
3655c10afb9Smrg	# Object if more than one company name word.
3665c10afb9Smrg	*-*-*)
3675c10afb9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3685c10afb9Smrg		exit 1
3695c10afb9Smrg		;;
3705c10afb9Smrg	# Recognize the basic CPU types with company name.
3715c10afb9Smrg	580-* \
3725c10afb9Smrg	| a29k-* \
373cf2f63c2Smrg	| aarch64-* | aarch64_be-* \
3745c10afb9Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3755c10afb9Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376cf2f63c2Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3775c10afb9Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
378b3078addSmrg	| avr-* | avr32-* \
379cf2f63c2Smrg	| be32-* | be64-* \
380b3078addSmrg	| bfin-* | bs2000-* \
381b3078addSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
382cf2f63c2Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
3835c10afb9Smrg	| d10v-* | d30v-* | dlx-* \
3845c10afb9Smrg	| elxsi-* \
385b3078addSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3865c10afb9Smrg	| h8300-* | h8500-* \
3875c10afb9Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
388cf2f63c2Smrg	| hexagon-* \
3895c10afb9Smrg	| i*86-* | i860-* | i960-* | ia64-* \
390b3078addSmrg	| ip2k-* | iq2000-* \
391cf2f63c2Smrg	| k1om-* \
392cf2f63c2Smrg	| le32-* | le64-* \
393b3078addSmrg	| lm32-* \
394b3078addSmrg	| m32c-* | m32r-* | m32rle-* \
3955c10afb9Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
396cf2f63c2Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
397cf2f63c2Smrg	| microblaze-* | microblazeel-* \
3985c10afb9Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3995c10afb9Smrg	| mips16-* \
4005c10afb9Smrg	| mips64-* | mips64el-* \
401b3078addSmrg	| mips64octeon-* | mips64octeonel-* \
4025c10afb9Smrg	| mips64orion-* | mips64orionel-* \
403b3078addSmrg	| mips64r5900-* | mips64r5900el-* \
404b3078addSmrg	| mips64vr-* | mips64vrel-* \
4055c10afb9Smrg	| mips64vr4100-* | mips64vr4100el-* \
4065c10afb9Smrg	| mips64vr4300-* | mips64vr4300el-* \
4075c10afb9Smrg	| mips64vr5000-* | mips64vr5000el-* \
408b3078addSmrg	| mips64vr5900-* | mips64vr5900el-* \
4095c10afb9Smrg	| mipsisa32-* | mipsisa32el-* \
4105c10afb9Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
411cf2f63c2Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
4125c10afb9Smrg	| mipsisa64-* | mipsisa64el-* \
413b3078addSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
414cf2f63c2Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
4155c10afb9Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4165c10afb9Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
417cf2f63c2Smrg	| mipsr5900-* | mipsr5900el-* \
4185c10afb9Smrg	| mipstx39-* | mipstx39el-* \
419b3078addSmrg	| mmix-* \
420b3078addSmrg	| mt-* \
4215c10afb9Smrg	| msp430-* \
422b3078addSmrg	| nds32-* | nds32le-* | nds32be-* \
423cf2f63c2Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
424b3078addSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
425cf2f63c2Smrg	| open8-* \
426cf2f63c2Smrg	| or1k*-* \
4275c10afb9Smrg	| orion-* \
4285c10afb9Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
429cf2f63c2Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4305c10afb9Smrg	| pyramid-* \
431cf2f63c2Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
432b3078addSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4335c10afb9Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
434b3078addSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
435b3078addSmrg	| sparclite-* \
436cf2f63c2Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
437cf2f63c2Smrg	| tahoe-* \
4385c10afb9Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
439cf2f63c2Smrg	| tile*-* \
4405c10afb9Smrg	| tron-* \
441b3078addSmrg	| ubicom32-* \
442cf2f63c2Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
443cf2f63c2Smrg	| vax-* \
444cf2f63c2Smrg	| visium-* \
4455c10afb9Smrg	| we32k-* \
446cf2f63c2Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
447b3078addSmrg	| xstormy16-* | xtensa*-* \
4485c10afb9Smrg	| ymp-* \
449b3078addSmrg	| z8k-* | z80-*)
450b3078addSmrg		;;
451b3078addSmrg	# Recognize the basic CPU types without company name, with glob match.
452b3078addSmrg	xtensa*)
453b3078addSmrg		basic_machine=$basic_machine-unknown
4545c10afb9Smrg		;;
4555c10afb9Smrg	# Recognize the various machine names and aliases which stand
4565c10afb9Smrg	# for a CPU type and a company and sometimes even an OS.
4575c10afb9Smrg	386bsd)
4585c10afb9Smrg		basic_machine=i386-unknown
4595c10afb9Smrg		os=-bsd
4605c10afb9Smrg		;;
4615c10afb9Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4625c10afb9Smrg		basic_machine=m68000-att
4635c10afb9Smrg		;;
4645c10afb9Smrg	3b*)
4655c10afb9Smrg		basic_machine=we32k-att
4665c10afb9Smrg		;;
4675c10afb9Smrg	a29khif)
4685c10afb9Smrg		basic_machine=a29k-amd
4695c10afb9Smrg		os=-udi
4705c10afb9Smrg		;;
471cf2f63c2Smrg	abacus)
472b3078addSmrg		basic_machine=abacus-unknown
473b3078addSmrg		;;
4745c10afb9Smrg	adobe68k)
4755c10afb9Smrg		basic_machine=m68010-adobe
4765c10afb9Smrg		os=-scout
4775c10afb9Smrg		;;
4785c10afb9Smrg	alliant | fx80)
4795c10afb9Smrg		basic_machine=fx80-alliant
4805c10afb9Smrg		;;
4815c10afb9Smrg	altos | altos3068)
4825c10afb9Smrg		basic_machine=m68k-altos
4835c10afb9Smrg		;;
4845c10afb9Smrg	am29k)
4855c10afb9Smrg		basic_machine=a29k-none
4865c10afb9Smrg		os=-bsd
4875c10afb9Smrg		;;
4885c10afb9Smrg	amd64)
4895c10afb9Smrg		basic_machine=x86_64-pc
4905c10afb9Smrg		;;
491b3078addSmrg	amd64-*)
492b3078addSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
493b3078addSmrg		;;
4945c10afb9Smrg	amdahl)
4955c10afb9Smrg		basic_machine=580-amdahl
4965c10afb9Smrg		os=-sysv
4975c10afb9Smrg		;;
4985c10afb9Smrg	amiga | amiga-*)
4995c10afb9Smrg		basic_machine=m68k-unknown
5005c10afb9Smrg		;;
5015c10afb9Smrg	amigaos | amigados)
5025c10afb9Smrg		basic_machine=m68k-unknown
5035c10afb9Smrg		os=-amigaos
5045c10afb9Smrg		;;
5055c10afb9Smrg	amigaunix | amix)
5065c10afb9Smrg		basic_machine=m68k-unknown
5075c10afb9Smrg		os=-sysv4
5085c10afb9Smrg		;;
5095c10afb9Smrg	apollo68)
5105c10afb9Smrg		basic_machine=m68k-apollo
5115c10afb9Smrg		os=-sysv
5125c10afb9Smrg		;;
5135c10afb9Smrg	apollo68bsd)
5145c10afb9Smrg		basic_machine=m68k-apollo
5155c10afb9Smrg		os=-bsd
5165c10afb9Smrg		;;
517b3078addSmrg	aros)
518b3078addSmrg		basic_machine=i386-pc
519b3078addSmrg		os=-aros
520b3078addSmrg		;;
5215c10afb9Smrg	aux)
5225c10afb9Smrg		basic_machine=m68k-apple
5235c10afb9Smrg		os=-aux
5245c10afb9Smrg		;;
5255c10afb9Smrg	balance)
5265c10afb9Smrg		basic_machine=ns32k-sequent
5275c10afb9Smrg		os=-dynix
5285c10afb9Smrg		;;
529b3078addSmrg	blackfin)
530b3078addSmrg		basic_machine=bfin-unknown
531b3078addSmrg		os=-linux
532b3078addSmrg		;;
533b3078addSmrg	blackfin-*)
534b3078addSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
535b3078addSmrg		os=-linux
536b3078addSmrg		;;
537b3078addSmrg	bluegene*)
538b3078addSmrg		basic_machine=powerpc-ibm
539b3078addSmrg		os=-cnk
540b3078addSmrg		;;
541b3078addSmrg	c54x-*)
542b3078addSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
543b3078addSmrg		;;
544b3078addSmrg	c55x-*)
545b3078addSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
546b3078addSmrg		;;
547b3078addSmrg	c6x-*)
548b3078addSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
549b3078addSmrg		;;
5505c10afb9Smrg	c90)
5515c10afb9Smrg		basic_machine=c90-cray
5525c10afb9Smrg		os=-unicos
5535c10afb9Smrg		;;
554cf2f63c2Smrg	cegcc)
555b3078addSmrg		basic_machine=arm-unknown
556b3078addSmrg		os=-cegcc
557b3078addSmrg		;;
5585c10afb9Smrg	convex-c1)
5595c10afb9Smrg		basic_machine=c1-convex
5605c10afb9Smrg		os=-bsd
5615c10afb9Smrg		;;
5625c10afb9Smrg	convex-c2)
5635c10afb9Smrg		basic_machine=c2-convex
5645c10afb9Smrg		os=-bsd
5655c10afb9Smrg		;;
5665c10afb9Smrg	convex-c32)
5675c10afb9Smrg		basic_machine=c32-convex
5685c10afb9Smrg		os=-bsd
5695c10afb9Smrg		;;
5705c10afb9Smrg	convex-c34)
5715c10afb9Smrg		basic_machine=c34-convex
5725c10afb9Smrg		os=-bsd
5735c10afb9Smrg		;;
5745c10afb9Smrg	convex-c38)
5755c10afb9Smrg		basic_machine=c38-convex
5765c10afb9Smrg		os=-bsd
5775c10afb9Smrg		;;
5785c10afb9Smrg	cray | j90)
5795c10afb9Smrg		basic_machine=j90-cray
5805c10afb9Smrg		os=-unicos
5815c10afb9Smrg		;;
582b3078addSmrg	craynv)
583b3078addSmrg		basic_machine=craynv-cray
584b3078addSmrg		os=-unicosmp
585b3078addSmrg		;;
586cf2f63c2Smrg	cr16 | cr16-*)
587b3078addSmrg		basic_machine=cr16-unknown
588b3078addSmrg		os=-elf
589b3078addSmrg		;;
5905c10afb9Smrg	crds | unos)
5915c10afb9Smrg		basic_machine=m68k-crds
5925c10afb9Smrg		;;
593b3078addSmrg	crisv32 | crisv32-* | etraxfs*)
594b3078addSmrg		basic_machine=crisv32-axis
595b3078addSmrg		;;
5965c10afb9Smrg	cris | cris-* | etrax*)
5975c10afb9Smrg		basic_machine=cris-axis
5985c10afb9Smrg		;;
599b3078addSmrg	crx)
600b3078addSmrg		basic_machine=crx-unknown
601b3078addSmrg		os=-elf
602b3078addSmrg		;;
6035c10afb9Smrg	da30 | da30-*)
6045c10afb9Smrg		basic_machine=m68k-da30
6055c10afb9Smrg		;;
6065c10afb9Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
6075c10afb9Smrg		basic_machine=mips-dec
6085c10afb9Smrg		;;
6095c10afb9Smrg	decsystem10* | dec10*)
6105c10afb9Smrg		basic_machine=pdp10-dec
6115c10afb9Smrg		os=-tops10
6125c10afb9Smrg		;;
6135c10afb9Smrg	decsystem20* | dec20*)
6145c10afb9Smrg		basic_machine=pdp10-dec
6155c10afb9Smrg		os=-tops20
6165c10afb9Smrg		;;
6175c10afb9Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6185c10afb9Smrg	      | 3300-motorola | delta-motorola)
6195c10afb9Smrg		basic_machine=m68k-motorola
6205c10afb9Smrg		;;
6215c10afb9Smrg	delta88)
6225c10afb9Smrg		basic_machine=m88k-motorola
6235c10afb9Smrg		os=-sysv3
6245c10afb9Smrg		;;
625b3078addSmrg	dicos)
626b3078addSmrg		basic_machine=i686-pc
627b3078addSmrg		os=-dicos
628b3078addSmrg		;;
629b3078addSmrg	djgpp)
630b3078addSmrg		basic_machine=i586-pc
631b3078addSmrg		os=-msdosdjgpp
632b3078addSmrg		;;
6335c10afb9Smrg	dpx20 | dpx20-*)
6345c10afb9Smrg		basic_machine=rs6000-bull
6355c10afb9Smrg		os=-bosx
6365c10afb9Smrg		;;
6375c10afb9Smrg	dpx2* | dpx2*-bull)
6385c10afb9Smrg		basic_machine=m68k-bull
6395c10afb9Smrg		os=-sysv3
6405c10afb9Smrg		;;
6415c10afb9Smrg	ebmon29k)
6425c10afb9Smrg		basic_machine=a29k-amd
6435c10afb9Smrg		os=-ebmon
6445c10afb9Smrg		;;
6455c10afb9Smrg	elxsi)
6465c10afb9Smrg		basic_machine=elxsi-elxsi
6475c10afb9Smrg		os=-bsd
6485c10afb9Smrg		;;
6495c10afb9Smrg	encore | umax | mmax)
6505c10afb9Smrg		basic_machine=ns32k-encore
6515c10afb9Smrg		;;
6525c10afb9Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6535c10afb9Smrg		basic_machine=m68k-ericsson
6545c10afb9Smrg		os=-ose
6555c10afb9Smrg		;;
6565c10afb9Smrg	fx2800)
6575c10afb9Smrg		basic_machine=i860-alliant
6585c10afb9Smrg		;;
6595c10afb9Smrg	genix)
6605c10afb9Smrg		basic_machine=ns32k-ns
6615c10afb9Smrg		;;
6625c10afb9Smrg	gmicro)
6635c10afb9Smrg		basic_machine=tron-gmicro
6645c10afb9Smrg		os=-sysv
6655c10afb9Smrg		;;
6665c10afb9Smrg	go32)
6675c10afb9Smrg		basic_machine=i386-pc
6685c10afb9Smrg		os=-go32
6695c10afb9Smrg		;;
6705c10afb9Smrg	h3050r* | hiux*)
6715c10afb9Smrg		basic_machine=hppa1.1-hitachi
6725c10afb9Smrg		os=-hiuxwe2
6735c10afb9Smrg		;;
6745c10afb9Smrg	h8300hms)
6755c10afb9Smrg		basic_machine=h8300-hitachi
6765c10afb9Smrg		os=-hms
6775c10afb9Smrg		;;
6785c10afb9Smrg	h8300xray)
6795c10afb9Smrg		basic_machine=h8300-hitachi
6805c10afb9Smrg		os=-xray
6815c10afb9Smrg		;;
6825c10afb9Smrg	h8500hms)
6835c10afb9Smrg		basic_machine=h8500-hitachi
6845c10afb9Smrg		os=-hms
6855c10afb9Smrg		;;
6865c10afb9Smrg	harris)
6875c10afb9Smrg		basic_machine=m88k-harris
6885c10afb9Smrg		os=-sysv3
6895c10afb9Smrg		;;
6905c10afb9Smrg	hp300-*)
6915c10afb9Smrg		basic_machine=m68k-hp
6925c10afb9Smrg		;;
6935c10afb9Smrg	hp300bsd)
6945c10afb9Smrg		basic_machine=m68k-hp
6955c10afb9Smrg		os=-bsd
6965c10afb9Smrg		;;
6975c10afb9Smrg	hp300hpux)
6985c10afb9Smrg		basic_machine=m68k-hp
6995c10afb9Smrg		os=-hpux
7005c10afb9Smrg		;;
7015c10afb9Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
7025c10afb9Smrg		basic_machine=hppa1.0-hp
7035c10afb9Smrg		;;
7045c10afb9Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
7055c10afb9Smrg		basic_machine=m68000-hp
7065c10afb9Smrg		;;
7075c10afb9Smrg	hp9k3[2-9][0-9])
7085c10afb9Smrg		basic_machine=m68k-hp
7095c10afb9Smrg		;;
7105c10afb9Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7115c10afb9Smrg		basic_machine=hppa1.0-hp
7125c10afb9Smrg		;;
7135c10afb9Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7145c10afb9Smrg		basic_machine=hppa1.1-hp
7155c10afb9Smrg		;;
7165c10afb9Smrg	hp9k78[0-9] | hp78[0-9])
7175c10afb9Smrg		# FIXME: really hppa2.0-hp
7185c10afb9Smrg		basic_machine=hppa1.1-hp
7195c10afb9Smrg		;;
7205c10afb9Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7215c10afb9Smrg		# FIXME: really hppa2.0-hp
7225c10afb9Smrg		basic_machine=hppa1.1-hp
7235c10afb9Smrg		;;
7245c10afb9Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7255c10afb9Smrg		basic_machine=hppa1.1-hp
7265c10afb9Smrg		;;
7275c10afb9Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7285c10afb9Smrg		basic_machine=hppa1.0-hp
7295c10afb9Smrg		;;
7305c10afb9Smrg	hppa-next)
7315c10afb9Smrg		os=-nextstep3
7325c10afb9Smrg		;;
7335c10afb9Smrg	hppaosf)
7345c10afb9Smrg		basic_machine=hppa1.1-hp
7355c10afb9Smrg		os=-osf
7365c10afb9Smrg		;;
7375c10afb9Smrg	hppro)
7385c10afb9Smrg		basic_machine=hppa1.1-hp
7395c10afb9Smrg		os=-proelf
7405c10afb9Smrg		;;
7415c10afb9Smrg	i370-ibm* | ibm*)
7425c10afb9Smrg		basic_machine=i370-ibm
7435c10afb9Smrg		;;
7445c10afb9Smrg	i*86v32)
7455c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7465c10afb9Smrg		os=-sysv32
7475c10afb9Smrg		;;
7485c10afb9Smrg	i*86v4*)
7495c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7505c10afb9Smrg		os=-sysv4
7515c10afb9Smrg		;;
7525c10afb9Smrg	i*86v)
7535c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7545c10afb9Smrg		os=-sysv
7555c10afb9Smrg		;;
7565c10afb9Smrg	i*86sol2)
7575c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7585c10afb9Smrg		os=-solaris2
7595c10afb9Smrg		;;
7605c10afb9Smrg	i386mach)
7615c10afb9Smrg		basic_machine=i386-mach
7625c10afb9Smrg		os=-mach
7635c10afb9Smrg		;;
7645c10afb9Smrg	i386-vsta | vsta)
7655c10afb9Smrg		basic_machine=i386-unknown
7665c10afb9Smrg		os=-vsta
7675c10afb9Smrg		;;
7685c10afb9Smrg	iris | iris4d)
7695c10afb9Smrg		basic_machine=mips-sgi
7705c10afb9Smrg		case $os in
7715c10afb9Smrg		    -irix*)
7725c10afb9Smrg			;;
7735c10afb9Smrg		    *)
7745c10afb9Smrg			os=-irix4
7755c10afb9Smrg			;;
7765c10afb9Smrg		esac
7775c10afb9Smrg		;;
7785c10afb9Smrg	isi68 | isi)
7795c10afb9Smrg		basic_machine=m68k-isi
7805c10afb9Smrg		os=-sysv
7815c10afb9Smrg		;;
782cf2f63c2Smrg	leon-*|leon[3-9]-*)
783cf2f63c2Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
784cf2f63c2Smrg		;;
785b3078addSmrg	m68knommu)
786b3078addSmrg		basic_machine=m68k-unknown
787b3078addSmrg		os=-linux
788b3078addSmrg		;;
789b3078addSmrg	m68knommu-*)
790b3078addSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
791b3078addSmrg		os=-linux
792b3078addSmrg		;;
7935c10afb9Smrg	m88k-omron*)
7945c10afb9Smrg		basic_machine=m88k-omron
7955c10afb9Smrg		;;
7965c10afb9Smrg	magnum | m3230)
7975c10afb9Smrg		basic_machine=mips-mips
7985c10afb9Smrg		os=-sysv
7995c10afb9Smrg		;;
8005c10afb9Smrg	merlin)
8015c10afb9Smrg		basic_machine=ns32k-utek
8025c10afb9Smrg		os=-sysv
8035c10afb9Smrg		;;
804cf2f63c2Smrg	microblaze*)
805b3078addSmrg		basic_machine=microblaze-xilinx
806b3078addSmrg		;;
807cf2f63c2Smrg	mingw64)
808cf2f63c2Smrg		basic_machine=x86_64-pc
809cf2f63c2Smrg		os=-mingw64
810cf2f63c2Smrg		;;
8115c10afb9Smrg	mingw32)
812cf2f63c2Smrg		basic_machine=i686-pc
8135c10afb9Smrg		os=-mingw32
8145c10afb9Smrg		;;
815b3078addSmrg	mingw32ce)
816b3078addSmrg		basic_machine=arm-unknown
817b3078addSmrg		os=-mingw32ce
818b3078addSmrg		;;
8195c10afb9Smrg	miniframe)
8205c10afb9Smrg		basic_machine=m68000-convergent
8215c10afb9Smrg		;;
8225c10afb9Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8235c10afb9Smrg		basic_machine=m68k-atari
8245c10afb9Smrg		os=-mint
8255c10afb9Smrg		;;
8265c10afb9Smrg	mips3*-*)
8275c10afb9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8285c10afb9Smrg		;;
8295c10afb9Smrg	mips3*)
8305c10afb9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8315c10afb9Smrg		;;
8325c10afb9Smrg	monitor)
8335c10afb9Smrg		basic_machine=m68k-rom68k
8345c10afb9Smrg		os=-coff
8355c10afb9Smrg		;;
8365c10afb9Smrg	morphos)
8375c10afb9Smrg		basic_machine=powerpc-unknown
8385c10afb9Smrg		os=-morphos
8395c10afb9Smrg		;;
840cf2f63c2Smrg	moxiebox)
841cf2f63c2Smrg		basic_machine=moxie-unknown
842cf2f63c2Smrg		os=-moxiebox
843cf2f63c2Smrg		;;
8445c10afb9Smrg	msdos)
8455c10afb9Smrg		basic_machine=i386-pc
8465c10afb9Smrg		os=-msdos
8475c10afb9Smrg		;;
848b3078addSmrg	ms1-*)
849b3078addSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
850b3078addSmrg		;;
851cf2f63c2Smrg	msys)
852cf2f63c2Smrg		basic_machine=i686-pc
853cf2f63c2Smrg		os=-msys
854cf2f63c2Smrg		;;
8555c10afb9Smrg	mvs)
8565c10afb9Smrg		basic_machine=i370-ibm
8575c10afb9Smrg		os=-mvs
8585c10afb9Smrg		;;
859cf2f63c2Smrg	nacl)
860cf2f63c2Smrg		basic_machine=le32-unknown
861cf2f63c2Smrg		os=-nacl
862cf2f63c2Smrg		;;
8635c10afb9Smrg	ncr3000)
8645c10afb9Smrg		basic_machine=i486-ncr
8655c10afb9Smrg		os=-sysv4
8665c10afb9Smrg		;;
8675c10afb9Smrg	netbsd386)
8685c10afb9Smrg		basic_machine=i386-unknown
8695c10afb9Smrg		os=-netbsd
8705c10afb9Smrg		;;
8715c10afb9Smrg	netwinder)
8725c10afb9Smrg		basic_machine=armv4l-rebel
8735c10afb9Smrg		os=-linux
8745c10afb9Smrg		;;
8755c10afb9Smrg	news | news700 | news800 | news900)
8765c10afb9Smrg		basic_machine=m68k-sony
8775c10afb9Smrg		os=-newsos
8785c10afb9Smrg		;;
8795c10afb9Smrg	news1000)
8805c10afb9Smrg		basic_machine=m68030-sony
8815c10afb9Smrg		os=-newsos
8825c10afb9Smrg		;;
8835c10afb9Smrg	news-3600 | risc-news)
8845c10afb9Smrg		basic_machine=mips-sony
8855c10afb9Smrg		os=-newsos
8865c10afb9Smrg		;;
8875c10afb9Smrg	necv70)
8885c10afb9Smrg		basic_machine=v70-nec
8895c10afb9Smrg		os=-sysv
8905c10afb9Smrg		;;
8915c10afb9Smrg	next | m*-next )
8925c10afb9Smrg		basic_machine=m68k-next
8935c10afb9Smrg		case $os in
8945c10afb9Smrg		    -nextstep* )
8955c10afb9Smrg			;;
8965c10afb9Smrg		    -ns2*)
8975c10afb9Smrg		      os=-nextstep2
8985c10afb9Smrg			;;
8995c10afb9Smrg		    *)
9005c10afb9Smrg		      os=-nextstep3
9015c10afb9Smrg			;;
9025c10afb9Smrg		esac
9035c10afb9Smrg		;;
9045c10afb9Smrg	nh3000)
9055c10afb9Smrg		basic_machine=m68k-harris
9065c10afb9Smrg		os=-cxux
9075c10afb9Smrg		;;
9085c10afb9Smrg	nh[45]000)
9095c10afb9Smrg		basic_machine=m88k-harris
9105c10afb9Smrg		os=-cxux
9115c10afb9Smrg		;;
9125c10afb9Smrg	nindy960)
9135c10afb9Smrg		basic_machine=i960-intel
9145c10afb9Smrg		os=-nindy
9155c10afb9Smrg		;;
9165c10afb9Smrg	mon960)
9175c10afb9Smrg		basic_machine=i960-intel
9185c10afb9Smrg		os=-mon960
9195c10afb9Smrg		;;
9205c10afb9Smrg	nonstopux)
9215c10afb9Smrg		basic_machine=mips-compaq
9225c10afb9Smrg		os=-nonstopux
9235c10afb9Smrg		;;
9245c10afb9Smrg	np1)
9255c10afb9Smrg		basic_machine=np1-gould
9265c10afb9Smrg		;;
927cf2f63c2Smrg	neo-tandem)
928b3078addSmrg		basic_machine=neo-tandem
929b3078addSmrg		;;
930cf2f63c2Smrg	nse-tandem)
931b3078addSmrg		basic_machine=nse-tandem
9325c10afb9Smrg		;;
9335c10afb9Smrg	nsr-tandem)
9345c10afb9Smrg		basic_machine=nsr-tandem
9355c10afb9Smrg		;;
9365c10afb9Smrg	op50n-* | op60c-*)
9375c10afb9Smrg		basic_machine=hppa1.1-oki
9385c10afb9Smrg		os=-proelf
9395c10afb9Smrg		;;
940b3078addSmrg	openrisc | openrisc-*)
9415c10afb9Smrg		basic_machine=or32-unknown
942b3078addSmrg		;;
943b3078addSmrg	os400)
944b3078addSmrg		basic_machine=powerpc-ibm
945b3078addSmrg		os=-os400
9465c10afb9Smrg		;;
9475c10afb9Smrg	OSE68000 | ose68000)
9485c10afb9Smrg		basic_machine=m68000-ericsson
9495c10afb9Smrg		os=-ose
9505c10afb9Smrg		;;
9515c10afb9Smrg	os68k)
9525c10afb9Smrg		basic_machine=m68k-none
9535c10afb9Smrg		os=-os68k
9545c10afb9Smrg		;;
9555c10afb9Smrg	pa-hitachi)
9565c10afb9Smrg		basic_machine=hppa1.1-hitachi
9575c10afb9Smrg		os=-hiuxwe2
9585c10afb9Smrg		;;
9595c10afb9Smrg	paragon)
9605c10afb9Smrg		basic_machine=i860-intel
9615c10afb9Smrg		os=-osf
9625c10afb9Smrg		;;
963b3078addSmrg	parisc)
964b3078addSmrg		basic_machine=hppa-unknown
965b3078addSmrg		os=-linux
966b3078addSmrg		;;
967b3078addSmrg	parisc-*)
968b3078addSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
969b3078addSmrg		os=-linux
970b3078addSmrg		;;
9715c10afb9Smrg	pbd)
9725c10afb9Smrg		basic_machine=sparc-tti
9735c10afb9Smrg		;;
9745c10afb9Smrg	pbb)
9755c10afb9Smrg		basic_machine=m68k-tti
9765c10afb9Smrg		;;
9775c10afb9Smrg	pc532 | pc532-*)
9785c10afb9Smrg		basic_machine=ns32k-pc532
9795c10afb9Smrg		;;
980b3078addSmrg	pc98)
981b3078addSmrg		basic_machine=i386-pc
982b3078addSmrg		;;
983b3078addSmrg	pc98-*)
984b3078addSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
985b3078addSmrg		;;
9865c10afb9Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9875c10afb9Smrg		basic_machine=i586-pc
9885c10afb9Smrg		;;
9895c10afb9Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9905c10afb9Smrg		basic_machine=i686-pc
9915c10afb9Smrg		;;
9925c10afb9Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9935c10afb9Smrg		basic_machine=i686-pc
9945c10afb9Smrg		;;
9955c10afb9Smrg	pentium4)
9965c10afb9Smrg		basic_machine=i786-pc
9975c10afb9Smrg		;;
9985c10afb9Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9995c10afb9Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
10005c10afb9Smrg		;;
10015c10afb9Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
10025c10afb9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10035c10afb9Smrg		;;
10045c10afb9Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
10055c10afb9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10065c10afb9Smrg		;;
10075c10afb9Smrg	pentium4-*)
10085c10afb9Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
10095c10afb9Smrg		;;
10105c10afb9Smrg	pn)
10115c10afb9Smrg		basic_machine=pn-gould
10125c10afb9Smrg		;;
10135c10afb9Smrg	power)	basic_machine=power-ibm
10145c10afb9Smrg		;;
1015cf2f63c2Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
10165c10afb9Smrg		;;
1017cf2f63c2Smrg	ppc-* | ppcbe-*)
1018cf2f63c2Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10195c10afb9Smrg		;;
10205c10afb9Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10215c10afb9Smrg		basic_machine=powerpcle-unknown
10225c10afb9Smrg		;;
10235c10afb9Smrg	ppcle-* | powerpclittle-*)
10245c10afb9Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10255c10afb9Smrg		;;
10265c10afb9Smrg	ppc64)	basic_machine=powerpc64-unknown
10275c10afb9Smrg		;;
10285c10afb9Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10295c10afb9Smrg		;;
10305c10afb9Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10315c10afb9Smrg		basic_machine=powerpc64le-unknown
10325c10afb9Smrg		;;
10335c10afb9Smrg	ppc64le-* | powerpc64little-*)
10345c10afb9Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10355c10afb9Smrg		;;
10365c10afb9Smrg	ps2)
10375c10afb9Smrg		basic_machine=i386-ibm
10385c10afb9Smrg		;;
10395c10afb9Smrg	pw32)
10405c10afb9Smrg		basic_machine=i586-unknown
10415c10afb9Smrg		os=-pw32
10425c10afb9Smrg		;;
1043cf2f63c2Smrg	rdos | rdos64)
1044cf2f63c2Smrg		basic_machine=x86_64-pc
1045cf2f63c2Smrg		os=-rdos
1046cf2f63c2Smrg		;;
1047cf2f63c2Smrg	rdos32)
1048b3078addSmrg		basic_machine=i386-pc
1049b3078addSmrg		os=-rdos
1050b3078addSmrg		;;
10515c10afb9Smrg	rom68k)
10525c10afb9Smrg		basic_machine=m68k-rom68k
10535c10afb9Smrg		os=-coff
10545c10afb9Smrg		;;
10555c10afb9Smrg	rm[46]00)
10565c10afb9Smrg		basic_machine=mips-siemens
10575c10afb9Smrg		;;
10585c10afb9Smrg	rtpc | rtpc-*)
10595c10afb9Smrg		basic_machine=romp-ibm
10605c10afb9Smrg		;;
1061b3078addSmrg	s390 | s390-*)
1062b3078addSmrg		basic_machine=s390-ibm
1063b3078addSmrg		;;
1064b3078addSmrg	s390x | s390x-*)
1065b3078addSmrg		basic_machine=s390x-ibm
1066b3078addSmrg		;;
10675c10afb9Smrg	sa29200)
10685c10afb9Smrg		basic_machine=a29k-amd
10695c10afb9Smrg		os=-udi
10705c10afb9Smrg		;;
10715c10afb9Smrg	sb1)
10725c10afb9Smrg		basic_machine=mipsisa64sb1-unknown
10735c10afb9Smrg		;;
10745c10afb9Smrg	sb1el)
10755c10afb9Smrg		basic_machine=mipsisa64sb1el-unknown
10765c10afb9Smrg		;;
1077b3078addSmrg	sde)
1078b3078addSmrg		basic_machine=mipsisa32-sde
1079b3078addSmrg		os=-elf
1080b3078addSmrg		;;
10815c10afb9Smrg	sei)
10825c10afb9Smrg		basic_machine=mips-sei
10835c10afb9Smrg		os=-seiux
10845c10afb9Smrg		;;
10855c10afb9Smrg	sequent)
10865c10afb9Smrg		basic_machine=i386-sequent
10875c10afb9Smrg		;;
10885c10afb9Smrg	sh)
10895c10afb9Smrg		basic_machine=sh-hitachi
10905c10afb9Smrg		os=-hms
10915c10afb9Smrg		;;
1092b3078addSmrg	sh5el)
1093b3078addSmrg		basic_machine=sh5le-unknown
1094b3078addSmrg		;;
10955c10afb9Smrg	sh64)
10965c10afb9Smrg		basic_machine=sh64-unknown
10975c10afb9Smrg		;;
10985c10afb9Smrg	sparclite-wrs | simso-wrs)
10995c10afb9Smrg		basic_machine=sparclite-wrs
11005c10afb9Smrg		os=-vxworks
11015c10afb9Smrg		;;
11025c10afb9Smrg	sps7)
11035c10afb9Smrg		basic_machine=m68k-bull
11045c10afb9Smrg		os=-sysv2
11055c10afb9Smrg		;;
11065c10afb9Smrg	spur)
11075c10afb9Smrg		basic_machine=spur-unknown
11085c10afb9Smrg		;;
11095c10afb9Smrg	st2000)
11105c10afb9Smrg		basic_machine=m68k-tandem
11115c10afb9Smrg		;;
11125c10afb9Smrg	stratus)
11135c10afb9Smrg		basic_machine=i860-stratus
11145c10afb9Smrg		os=-sysv4
11155c10afb9Smrg		;;
1116cf2f63c2Smrg	strongarm-* | thumb-*)
1117cf2f63c2Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1118cf2f63c2Smrg		;;
11195c10afb9Smrg	sun2)
11205c10afb9Smrg		basic_machine=m68000-sun
11215c10afb9Smrg		;;
11225c10afb9Smrg	sun2os3)
11235c10afb9Smrg		basic_machine=m68000-sun
11245c10afb9Smrg		os=-sunos3
11255c10afb9Smrg		;;
11265c10afb9Smrg	sun2os4)
11275c10afb9Smrg		basic_machine=m68000-sun
11285c10afb9Smrg		os=-sunos4
11295c10afb9Smrg		;;
11305c10afb9Smrg	sun3os3)
11315c10afb9Smrg		basic_machine=m68k-sun
11325c10afb9Smrg		os=-sunos3
11335c10afb9Smrg		;;
11345c10afb9Smrg	sun3os4)
11355c10afb9Smrg		basic_machine=m68k-sun
11365c10afb9Smrg		os=-sunos4
11375c10afb9Smrg		;;
11385c10afb9Smrg	sun4os3)
11395c10afb9Smrg		basic_machine=sparc-sun
11405c10afb9Smrg		os=-sunos3
11415c10afb9Smrg		;;
11425c10afb9Smrg	sun4os4)
11435c10afb9Smrg		basic_machine=sparc-sun
11445c10afb9Smrg		os=-sunos4
11455c10afb9Smrg		;;
11465c10afb9Smrg	sun4sol2)
11475c10afb9Smrg		basic_machine=sparc-sun
11485c10afb9Smrg		os=-solaris2
11495c10afb9Smrg		;;
11505c10afb9Smrg	sun3 | sun3-*)
11515c10afb9Smrg		basic_machine=m68k-sun
11525c10afb9Smrg		;;
11535c10afb9Smrg	sun4)
11545c10afb9Smrg		basic_machine=sparc-sun
11555c10afb9Smrg		;;
11565c10afb9Smrg	sun386 | sun386i | roadrunner)
11575c10afb9Smrg		basic_machine=i386-sun
11585c10afb9Smrg		;;
11595c10afb9Smrg	sv1)
11605c10afb9Smrg		basic_machine=sv1-cray
11615c10afb9Smrg		os=-unicos
11625c10afb9Smrg		;;
11635c10afb9Smrg	symmetry)
11645c10afb9Smrg		basic_machine=i386-sequent
11655c10afb9Smrg		os=-dynix
11665c10afb9Smrg		;;
11675c10afb9Smrg	t3e)
11685c10afb9Smrg		basic_machine=alphaev5-cray
11695c10afb9Smrg		os=-unicos
11705c10afb9Smrg		;;
11715c10afb9Smrg	t90)
11725c10afb9Smrg		basic_machine=t90-cray
11735c10afb9Smrg		os=-unicos
11745c10afb9Smrg		;;
1175b3078addSmrg	tile*)
1176cf2f63c2Smrg		basic_machine=$basic_machine-unknown
1177b3078addSmrg		os=-linux-gnu
11785c10afb9Smrg		;;
11795c10afb9Smrg	tx39)
11805c10afb9Smrg		basic_machine=mipstx39-unknown
11815c10afb9Smrg		;;
11825c10afb9Smrg	tx39el)
11835c10afb9Smrg		basic_machine=mipstx39el-unknown
11845c10afb9Smrg		;;
11855c10afb9Smrg	toad1)
11865c10afb9Smrg		basic_machine=pdp10-xkl
11875c10afb9Smrg		os=-tops20
11885c10afb9Smrg		;;
11895c10afb9Smrg	tower | tower-32)
11905c10afb9Smrg		basic_machine=m68k-ncr
11915c10afb9Smrg		;;
1192b3078addSmrg	tpf)
1193b3078addSmrg		basic_machine=s390x-ibm
1194b3078addSmrg		os=-tpf
1195b3078addSmrg		;;
11965c10afb9Smrg	udi29k)
11975c10afb9Smrg		basic_machine=a29k-amd
11985c10afb9Smrg		os=-udi
11995c10afb9Smrg		;;
12005c10afb9Smrg	ultra3)
12015c10afb9Smrg		basic_machine=a29k-nyu
12025c10afb9Smrg		os=-sym1
12035c10afb9Smrg		;;
12045c10afb9Smrg	v810 | necv810)
12055c10afb9Smrg		basic_machine=v810-nec
12065c10afb9Smrg		os=-none
12075c10afb9Smrg		;;
12085c10afb9Smrg	vaxv)
12095c10afb9Smrg		basic_machine=vax-dec
12105c10afb9Smrg		os=-sysv
12115c10afb9Smrg		;;
12125c10afb9Smrg	vms)
12135c10afb9Smrg		basic_machine=vax-dec
12145c10afb9Smrg		os=-vms
12155c10afb9Smrg		;;
12165c10afb9Smrg	vpp*|vx|vx-*)
12175c10afb9Smrg		basic_machine=f301-fujitsu
12185c10afb9Smrg		;;
12195c10afb9Smrg	vxworks960)
12205c10afb9Smrg		basic_machine=i960-wrs
12215c10afb9Smrg		os=-vxworks
12225c10afb9Smrg		;;
12235c10afb9Smrg	vxworks68)
12245c10afb9Smrg		basic_machine=m68k-wrs
12255c10afb9Smrg		os=-vxworks
12265c10afb9Smrg		;;
12275c10afb9Smrg	vxworks29k)
12285c10afb9Smrg		basic_machine=a29k-wrs
12295c10afb9Smrg		os=-vxworks
12305c10afb9Smrg		;;
12315c10afb9Smrg	w65*)
12325c10afb9Smrg		basic_machine=w65-wdc
12335c10afb9Smrg		os=-none
12345c10afb9Smrg		;;
12355c10afb9Smrg	w89k-*)
12365c10afb9Smrg		basic_machine=hppa1.1-winbond
12375c10afb9Smrg		os=-proelf
12385c10afb9Smrg		;;
1239b3078addSmrg	xbox)
1240b3078addSmrg		basic_machine=i686-pc
1241b3078addSmrg		os=-mingw32
1242b3078addSmrg		;;
12435c10afb9Smrg	xps | xps100)
12445c10afb9Smrg		basic_machine=xps100-honeywell
12455c10afb9Smrg		;;
1246cf2f63c2Smrg	xscale-* | xscalee[bl]-*)
1247cf2f63c2Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1248cf2f63c2Smrg		;;
12495c10afb9Smrg	ymp)
12505c10afb9Smrg		basic_machine=ymp-cray
12515c10afb9Smrg		os=-unicos
12525c10afb9Smrg		;;
12535c10afb9Smrg	z8k-*-coff)
12545c10afb9Smrg		basic_machine=z8k-unknown
12555c10afb9Smrg		os=-sim
12565c10afb9Smrg		;;
1257b3078addSmrg	z80-*-coff)
1258b3078addSmrg		basic_machine=z80-unknown
1259b3078addSmrg		os=-sim
1260b3078addSmrg		;;
12615c10afb9Smrg	none)
12625c10afb9Smrg		basic_machine=none-none
12635c10afb9Smrg		os=-none
12645c10afb9Smrg		;;
12655c10afb9Smrg
12665c10afb9Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12675c10afb9Smrg# some cases the only manufacturer, in others, it is the most popular.
12685c10afb9Smrg	w89k)
12695c10afb9Smrg		basic_machine=hppa1.1-winbond
12705c10afb9Smrg		;;
12715c10afb9Smrg	op50n)
12725c10afb9Smrg		basic_machine=hppa1.1-oki
12735c10afb9Smrg		;;
12745c10afb9Smrg	op60c)
12755c10afb9Smrg		basic_machine=hppa1.1-oki
12765c10afb9Smrg		;;
12775c10afb9Smrg	romp)
12785c10afb9Smrg		basic_machine=romp-ibm
12795c10afb9Smrg		;;
1280b3078addSmrg	mmix)
1281b3078addSmrg		basic_machine=mmix-knuth
1282b3078addSmrg		;;
12835c10afb9Smrg	rs6000)
12845c10afb9Smrg		basic_machine=rs6000-ibm
12855c10afb9Smrg		;;
12865c10afb9Smrg	vax)
12875c10afb9Smrg		basic_machine=vax-dec
12885c10afb9Smrg		;;
12895c10afb9Smrg	pdp10)
12905c10afb9Smrg		# there are many clones, so DEC is not a safe bet
12915c10afb9Smrg		basic_machine=pdp10-unknown
12925c10afb9Smrg		;;
12935c10afb9Smrg	pdp11)
12945c10afb9Smrg		basic_machine=pdp11-dec
12955c10afb9Smrg		;;
12965c10afb9Smrg	we32k)
12975c10afb9Smrg		basic_machine=we32k-att
12985c10afb9Smrg		;;
1299b3078addSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
13005c10afb9Smrg		basic_machine=sh-unknown
13015c10afb9Smrg		;;
1302b3078addSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
13035c10afb9Smrg		basic_machine=sparc-sun
13045c10afb9Smrg		;;
13055c10afb9Smrg	cydra)
13065c10afb9Smrg		basic_machine=cydra-cydrome
13075c10afb9Smrg		;;
13085c10afb9Smrg	orion)
13095c10afb9Smrg		basic_machine=orion-highlevel
13105c10afb9Smrg		;;
13115c10afb9Smrg	orion105)
13125c10afb9Smrg		basic_machine=clipper-highlevel
13135c10afb9Smrg		;;
13145c10afb9Smrg	mac | mpw | mac-mpw)
13155c10afb9Smrg		basic_machine=m68k-apple
13165c10afb9Smrg		;;
13175c10afb9Smrg	pmac | pmac-mpw)
13185c10afb9Smrg		basic_machine=powerpc-apple
13195c10afb9Smrg		;;
13205c10afb9Smrg	*-unknown)
13215c10afb9Smrg		# Make sure to match an already-canonicalized machine name.
13225c10afb9Smrg		;;
13235c10afb9Smrg	*)
13245c10afb9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13255c10afb9Smrg		exit 1
13265c10afb9Smrg		;;
13275c10afb9Smrgesac
13285c10afb9Smrg
13295c10afb9Smrg# Here we canonicalize certain aliases for manufacturers.
13305c10afb9Smrgcase $basic_machine in
13315c10afb9Smrg	*-digital*)
13325c10afb9Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13335c10afb9Smrg		;;
13345c10afb9Smrg	*-commodore*)
13355c10afb9Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13365c10afb9Smrg		;;
13375c10afb9Smrg	*)
13385c10afb9Smrg		;;
13395c10afb9Smrgesac
13405c10afb9Smrg
13415c10afb9Smrg# Decode manufacturer-specific aliases for certain operating systems.
13425c10afb9Smrg
13435c10afb9Smrgif [ x"$os" != x"" ]
13445c10afb9Smrgthen
13455c10afb9Smrgcase $os in
1346cf2f63c2Smrg	# First match some system type aliases
1347cf2f63c2Smrg	# that might get confused with valid system types.
13485c10afb9Smrg	# -solaris* is a basic system type, with this one exception.
1349cf2f63c2Smrg	-auroraux)
1350cf2f63c2Smrg		os=-auroraux
1351b3078addSmrg		;;
13525c10afb9Smrg	-solaris1 | -solaris1.*)
13535c10afb9Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13545c10afb9Smrg		;;
13555c10afb9Smrg	-solaris)
13565c10afb9Smrg		os=-solaris2
13575c10afb9Smrg		;;
13585c10afb9Smrg	-svr4*)
13595c10afb9Smrg		os=-sysv4
13605c10afb9Smrg		;;
13615c10afb9Smrg	-unixware*)
13625c10afb9Smrg		os=-sysv4.2uw
13635c10afb9Smrg		;;
13645c10afb9Smrg	-gnu/linux*)
13655c10afb9Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13665c10afb9Smrg		;;
13675c10afb9Smrg	# First accept the basic system types.
13685c10afb9Smrg	# The portable systems comes first.
13695c10afb9Smrg	# Each alternative MUST END IN A *, to match a version number.
13705c10afb9Smrg	# -sysv* is not here because it comes later, after sysvr4.
13715c10afb9Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1372b3078addSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1373b3078addSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1374cf2f63c2Smrg	      | -sym* | -kopensolaris* | -plan9* \
13755c10afb9Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1376b3078addSmrg	      | -aos* | -aros* \
13775c10afb9Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13785c10afb9Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1379b3078addSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1380cf2f63c2Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
1381b3078addSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1382b3078addSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13835c10afb9Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13845c10afb9Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1385b3078addSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1386cf2f63c2Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1387cf2f63c2Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1388cf2f63c2Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1389cf2f63c2Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
13905c10afb9Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13915c10afb9Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13925c10afb9Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13935c10afb9Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13945c10afb9Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1395b3078addSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1396cf2f63c2Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
13975c10afb9Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13985c10afb9Smrg		;;
13995c10afb9Smrg	-qnx*)
14005c10afb9Smrg		case $basic_machine in
14015c10afb9Smrg		    x86-* | i*86-*)
14025c10afb9Smrg			;;
14035c10afb9Smrg		    *)
14045c10afb9Smrg			os=-nto$os
14055c10afb9Smrg			;;
14065c10afb9Smrg		esac
14075c10afb9Smrg		;;
14085c10afb9Smrg	-nto-qnx*)
14095c10afb9Smrg		;;
14105c10afb9Smrg	-nto*)
14115c10afb9Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
14125c10afb9Smrg		;;
14135c10afb9Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1414b3078addSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
14155c10afb9Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
14165c10afb9Smrg		;;
14175c10afb9Smrg	-mac*)
14185c10afb9Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14195c10afb9Smrg		;;
1420b3078addSmrg	-linux-dietlibc)
1421b3078addSmrg		os=-linux-dietlibc
1422b3078addSmrg		;;
14235c10afb9Smrg	-linux*)
14245c10afb9Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14255c10afb9Smrg		;;
14265c10afb9Smrg	-sunos5*)
14275c10afb9Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14285c10afb9Smrg		;;
14295c10afb9Smrg	-sunos6*)
14305c10afb9Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14315c10afb9Smrg		;;
14325c10afb9Smrg	-opened*)
14335c10afb9Smrg		os=-openedition
14345c10afb9Smrg		;;
1435cf2f63c2Smrg	-os400*)
1436b3078addSmrg		os=-os400
1437b3078addSmrg		;;
14385c10afb9Smrg	-wince*)
14395c10afb9Smrg		os=-wince
14405c10afb9Smrg		;;
14415c10afb9Smrg	-osfrose*)
14425c10afb9Smrg		os=-osfrose
14435c10afb9Smrg		;;
14445c10afb9Smrg	-osf*)
14455c10afb9Smrg		os=-osf
14465c10afb9Smrg		;;
14475c10afb9Smrg	-utek*)
14485c10afb9Smrg		os=-bsd
14495c10afb9Smrg		;;
14505c10afb9Smrg	-dynix*)
14515c10afb9Smrg		os=-bsd
14525c10afb9Smrg		;;
14535c10afb9Smrg	-acis*)
14545c10afb9Smrg		os=-aos
14555c10afb9Smrg		;;
14565c10afb9Smrg	-atheos*)
14575c10afb9Smrg		os=-atheos
14585c10afb9Smrg		;;
1459b3078addSmrg	-syllable*)
1460b3078addSmrg		os=-syllable
1461b3078addSmrg		;;
14625c10afb9Smrg	-386bsd)
14635c10afb9Smrg		os=-bsd
14645c10afb9Smrg		;;
14655c10afb9Smrg	-ctix* | -uts*)
14665c10afb9Smrg		os=-sysv
14675c10afb9Smrg		;;
14685c10afb9Smrg	-nova*)
14695c10afb9Smrg		os=-rtmk-nova
14705c10afb9Smrg		;;
14715c10afb9Smrg	-ns2 )
14725c10afb9Smrg		os=-nextstep2
14735c10afb9Smrg		;;
14745c10afb9Smrg	-nsk*)
14755c10afb9Smrg		os=-nsk
14765c10afb9Smrg		;;
14775c10afb9Smrg	# Preserve the version number of sinix5.
14785c10afb9Smrg	-sinix5.*)
14795c10afb9Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14805c10afb9Smrg		;;
14815c10afb9Smrg	-sinix*)
14825c10afb9Smrg		os=-sysv4
14835c10afb9Smrg		;;
1484cf2f63c2Smrg	-tpf*)
1485b3078addSmrg		os=-tpf
1486b3078addSmrg		;;
14875c10afb9Smrg	-triton*)
14885c10afb9Smrg		os=-sysv3
14895c10afb9Smrg		;;
14905c10afb9Smrg	-oss*)
14915c10afb9Smrg		os=-sysv3
14925c10afb9Smrg		;;
14935c10afb9Smrg	-svr4)
14945c10afb9Smrg		os=-sysv4
14955c10afb9Smrg		;;
14965c10afb9Smrg	-svr3)
14975c10afb9Smrg		os=-sysv3
14985c10afb9Smrg		;;
14995c10afb9Smrg	-sysvr4)
15005c10afb9Smrg		os=-sysv4
15015c10afb9Smrg		;;
15025c10afb9Smrg	# This must come after -sysvr4.
15035c10afb9Smrg	-sysv*)
15045c10afb9Smrg		;;
15055c10afb9Smrg	-ose*)
15065c10afb9Smrg		os=-ose
15075c10afb9Smrg		;;
15085c10afb9Smrg	-es1800*)
15095c10afb9Smrg		os=-ose
15105c10afb9Smrg		;;
15115c10afb9Smrg	-xenix)
15125c10afb9Smrg		os=-xenix
15135c10afb9Smrg		;;
15145c10afb9Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
15155c10afb9Smrg		os=-mint
15165c10afb9Smrg		;;
15175c10afb9Smrg	-aros*)
15185c10afb9Smrg		os=-aros
15195c10afb9Smrg		;;
1520b3078addSmrg	-zvmoe)
1521b3078addSmrg		os=-zvmoe
1522b3078addSmrg		;;
1523b3078addSmrg	-dicos*)
1524b3078addSmrg		os=-dicos
1525b3078addSmrg		;;
1526cf2f63c2Smrg	-nacl*)
1527cf2f63c2Smrg		;;
15285c10afb9Smrg	-none)
15295c10afb9Smrg		;;
15305c10afb9Smrg	*)
15315c10afb9Smrg		# Get rid of the `-' at the beginning of $os.
15325c10afb9Smrg		os=`echo $os | sed 's/[^-]*-//'`
15335c10afb9Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15345c10afb9Smrg		exit 1
15355c10afb9Smrg		;;
15365c10afb9Smrgesac
15375c10afb9Smrgelse
15385c10afb9Smrg
15395c10afb9Smrg# Here we handle the default operating systems that come with various machines.
15405c10afb9Smrg# The value should be what the vendor currently ships out the door with their
15415c10afb9Smrg# machine or put another way, the most popular os provided with the machine.
15425c10afb9Smrg
15435c10afb9Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15445c10afb9Smrg# "-sun"), then you have to tell the case statement up towards the top
15455c10afb9Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15465c10afb9Smrg# will signal an error saying that MANUFACTURER isn't an operating
15475c10afb9Smrg# system, and we'll never get to this point.
15485c10afb9Smrg
15495c10afb9Smrgcase $basic_machine in
1550cf2f63c2Smrg	score-*)
1551b3078addSmrg		os=-elf
1552b3078addSmrg		;;
1553cf2f63c2Smrg	spu-*)
1554b3078addSmrg		os=-elf
1555b3078addSmrg		;;
15565c10afb9Smrg	*-acorn)
15575c10afb9Smrg		os=-riscix1.2
15585c10afb9Smrg		;;
15595c10afb9Smrg	arm*-rebel)
15605c10afb9Smrg		os=-linux
15615c10afb9Smrg		;;
15625c10afb9Smrg	arm*-semi)
15635c10afb9Smrg		os=-aout
15645c10afb9Smrg		;;
1565cf2f63c2Smrg	c4x-* | tic4x-*)
1566cf2f63c2Smrg		os=-coff
1567cf2f63c2Smrg		;;
1568cf2f63c2Smrg	c8051-*)
1569cf2f63c2Smrg		os=-elf
1570cf2f63c2Smrg		;;
1571cf2f63c2Smrg	hexagon-*)
1572cf2f63c2Smrg		os=-elf
1573b3078addSmrg		;;
1574b3078addSmrg	tic54x-*)
1575b3078addSmrg		os=-coff
1576b3078addSmrg		;;
1577b3078addSmrg	tic55x-*)
1578b3078addSmrg		os=-coff
1579b3078addSmrg		;;
1580b3078addSmrg	tic6x-*)
15815c10afb9Smrg		os=-coff
15825c10afb9Smrg		;;
15835c10afb9Smrg	# This must come before the *-dec entry.
15845c10afb9Smrg	pdp10-*)
15855c10afb9Smrg		os=-tops20
15865c10afb9Smrg		;;
15875c10afb9Smrg	pdp11-*)
15885c10afb9Smrg		os=-none
15895c10afb9Smrg		;;
15905c10afb9Smrg	*-dec | vax-*)
15915c10afb9Smrg		os=-ultrix4.2
15925c10afb9Smrg		;;
15935c10afb9Smrg	m68*-apollo)
15945c10afb9Smrg		os=-domain
15955c10afb9Smrg		;;
15965c10afb9Smrg	i386-sun)
15975c10afb9Smrg		os=-sunos4.0.2
15985c10afb9Smrg		;;
15995c10afb9Smrg	m68000-sun)
16005c10afb9Smrg		os=-sunos3
16015c10afb9Smrg		;;
16025c10afb9Smrg	m68*-cisco)
16035c10afb9Smrg		os=-aout
16045c10afb9Smrg		;;
1605cf2f63c2Smrg	mep-*)
1606b3078addSmrg		os=-elf
1607b3078addSmrg		;;
16085c10afb9Smrg	mips*-cisco)
16095c10afb9Smrg		os=-elf
16105c10afb9Smrg		;;
16115c10afb9Smrg	mips*-*)
16125c10afb9Smrg		os=-elf
16135c10afb9Smrg		;;
16145c10afb9Smrg	or32-*)
16155c10afb9Smrg		os=-coff
16165c10afb9Smrg		;;
16175c10afb9Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
16185c10afb9Smrg		os=-sysv3
16195c10afb9Smrg		;;
16205c10afb9Smrg	sparc-* | *-sun)
16215c10afb9Smrg		os=-sunos4.1.1
16225c10afb9Smrg		;;
16235c10afb9Smrg	*-be)
16245c10afb9Smrg		os=-beos
16255c10afb9Smrg		;;
1626b3078addSmrg	*-haiku)
1627b3078addSmrg		os=-haiku
1628b3078addSmrg		;;
16295c10afb9Smrg	*-ibm)
16305c10afb9Smrg		os=-aix
16315c10afb9Smrg		;;
1632cf2f63c2Smrg	*-knuth)
1633b3078addSmrg		os=-mmixware
1634b3078addSmrg		;;
16355c10afb9Smrg	*-wec)
16365c10afb9Smrg		os=-proelf
16375c10afb9Smrg		;;
16385c10afb9Smrg	*-winbond)
16395c10afb9Smrg		os=-proelf
16405c10afb9Smrg		;;
16415c10afb9Smrg	*-oki)
16425c10afb9Smrg		os=-proelf
16435c10afb9Smrg		;;
16445c10afb9Smrg	*-hp)
16455c10afb9Smrg		os=-hpux
16465c10afb9Smrg		;;
16475c10afb9Smrg	*-hitachi)
16485c10afb9Smrg		os=-hiux
16495c10afb9Smrg		;;
16505c10afb9Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16515c10afb9Smrg		os=-sysv
16525c10afb9Smrg		;;
16535c10afb9Smrg	*-cbm)
16545c10afb9Smrg		os=-amigaos
16555c10afb9Smrg		;;
16565c10afb9Smrg	*-dg)
16575c10afb9Smrg		os=-dgux
16585c10afb9Smrg		;;
16595c10afb9Smrg	*-dolphin)
16605c10afb9Smrg		os=-sysv3
16615c10afb9Smrg		;;
16625c10afb9Smrg	m68k-ccur)
16635c10afb9Smrg		os=-rtu
16645c10afb9Smrg		;;
16655c10afb9Smrg	m88k-omron*)
16665c10afb9Smrg		os=-luna
16675c10afb9Smrg		;;
16685c10afb9Smrg	*-next )
16695c10afb9Smrg		os=-nextstep
16705c10afb9Smrg		;;
16715c10afb9Smrg	*-sequent)
16725c10afb9Smrg		os=-ptx
16735c10afb9Smrg		;;
16745c10afb9Smrg	*-crds)
16755c10afb9Smrg		os=-unos
16765c10afb9Smrg		;;
16775c10afb9Smrg	*-ns)
16785c10afb9Smrg		os=-genix
16795c10afb9Smrg		;;
16805c10afb9Smrg	i370-*)
16815c10afb9Smrg		os=-mvs
16825c10afb9Smrg		;;
16835c10afb9Smrg	*-next)
16845c10afb9Smrg		os=-nextstep3
16855c10afb9Smrg		;;
16865c10afb9Smrg	*-gould)
16875c10afb9Smrg		os=-sysv
16885c10afb9Smrg		;;
16895c10afb9Smrg	*-highlevel)
16905c10afb9Smrg		os=-bsd
16915c10afb9Smrg		;;
16925c10afb9Smrg	*-encore)
16935c10afb9Smrg		os=-bsd
16945c10afb9Smrg		;;
16955c10afb9Smrg	*-sgi)
16965c10afb9Smrg		os=-irix
16975c10afb9Smrg		;;
16985c10afb9Smrg	*-siemens)
16995c10afb9Smrg		os=-sysv4
17005c10afb9Smrg		;;
17015c10afb9Smrg	*-masscomp)
17025c10afb9Smrg		os=-rtu
17035c10afb9Smrg		;;
17045c10afb9Smrg	f30[01]-fujitsu | f700-fujitsu)
17055c10afb9Smrg		os=-uxpv
17065c10afb9Smrg		;;
17075c10afb9Smrg	*-rom68k)
17085c10afb9Smrg		os=-coff
17095c10afb9Smrg		;;
17105c10afb9Smrg	*-*bug)
17115c10afb9Smrg		os=-coff
17125c10afb9Smrg		;;
17135c10afb9Smrg	*-apple)
17145c10afb9Smrg		os=-macos
17155c10afb9Smrg		;;
17165c10afb9Smrg	*-atari*)
17175c10afb9Smrg		os=-mint
17185c10afb9Smrg		;;
17195c10afb9Smrg	*)
17205c10afb9Smrg		os=-none
17215c10afb9Smrg		;;
17225c10afb9Smrgesac
17235c10afb9Smrgfi
17245c10afb9Smrg
17255c10afb9Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17265c10afb9Smrg# manufacturer.  We pick the logical manufacturer.
17275c10afb9Smrgvendor=unknown
17285c10afb9Smrgcase $basic_machine in
17295c10afb9Smrg	*-unknown)
17305c10afb9Smrg		case $os in
17315c10afb9Smrg			-riscix*)
17325c10afb9Smrg				vendor=acorn
17335c10afb9Smrg				;;
17345c10afb9Smrg			-sunos*)
17355c10afb9Smrg				vendor=sun
17365c10afb9Smrg				;;
1737b3078addSmrg			-cnk*|-aix*)
17385c10afb9Smrg				vendor=ibm
17395c10afb9Smrg				;;
17405c10afb9Smrg			-beos*)
17415c10afb9Smrg				vendor=be
17425c10afb9Smrg				;;
17435c10afb9Smrg			-hpux*)
17445c10afb9Smrg				vendor=hp
17455c10afb9Smrg				;;
17465c10afb9Smrg			-mpeix*)
17475c10afb9Smrg				vendor=hp
17485c10afb9Smrg				;;
17495c10afb9Smrg			-hiux*)
17505c10afb9Smrg				vendor=hitachi
17515c10afb9Smrg				;;
17525c10afb9Smrg			-unos*)
17535c10afb9Smrg				vendor=crds
17545c10afb9Smrg				;;
17555c10afb9Smrg			-dgux*)
17565c10afb9Smrg				vendor=dg
17575c10afb9Smrg				;;
17585c10afb9Smrg			-luna*)
17595c10afb9Smrg				vendor=omron
17605c10afb9Smrg				;;
17615c10afb9Smrg			-genix*)
17625c10afb9Smrg				vendor=ns
17635c10afb9Smrg				;;
17645c10afb9Smrg			-mvs* | -opened*)
17655c10afb9Smrg				vendor=ibm
17665c10afb9Smrg				;;
1767b3078addSmrg			-os400*)
1768b3078addSmrg				vendor=ibm
1769b3078addSmrg				;;
17705c10afb9Smrg			-ptx*)
17715c10afb9Smrg				vendor=sequent
17725c10afb9Smrg				;;
1773b3078addSmrg			-tpf*)
1774b3078addSmrg				vendor=ibm
1775b3078addSmrg				;;
17765c10afb9Smrg			-vxsim* | -vxworks* | -windiss*)
17775c10afb9Smrg				vendor=wrs
17785c10afb9Smrg				;;
17795c10afb9Smrg			-aux*)
17805c10afb9Smrg				vendor=apple
17815c10afb9Smrg				;;
17825c10afb9Smrg			-hms*)
17835c10afb9Smrg				vendor=hitachi
17845c10afb9Smrg				;;
17855c10afb9Smrg			-mpw* | -macos*)
17865c10afb9Smrg				vendor=apple
17875c10afb9Smrg				;;
17885c10afb9Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17895c10afb9Smrg				vendor=atari
17905c10afb9Smrg				;;
17915c10afb9Smrg			-vos*)
17925c10afb9Smrg				vendor=stratus
17935c10afb9Smrg				;;
17945c10afb9Smrg		esac
17955c10afb9Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17965c10afb9Smrg		;;
17975c10afb9Smrgesac
17985c10afb9Smrg
17995c10afb9Smrgecho $basic_machine$os
1800b3078addSmrgexit
18015c10afb9Smrg
18025c10afb9Smrg# Local variables:
18035c10afb9Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
18045c10afb9Smrg# time-stamp-start: "timestamp='"
18055c10afb9Smrg# time-stamp-format: "%:y-%02m-%02d"
18065c10afb9Smrg# time-stamp-end: "'"
18075c10afb9Smrg# End:
1808