config.sub revision f765521f
15dfecf96Smrg#! /bin/sh
25dfecf96Smrg# Configuration validation subroutine script.
3f765521fSmrg#   Copyright 1992-2014 Free Software Foundation, Inc.
45dfecf96Smrg
5f765521fSmrgtimestamp='2014-01-01'
65dfecf96Smrg
7f765521fSmrg# This file is free software; you can redistribute it and/or modify it
8f765521fSmrg# under the terms of the GNU General Public License as published by
9f765521fSmrg# the Free Software Foundation; either version 3 of the License, or
105dfecf96Smrg# (at your option) any later version.
115dfecf96Smrg#
12f765521fSmrg# This program is distributed in the hope that it will be useful, but
13f765521fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14f765521fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15f765521fSmrg# General Public License for more details.
165dfecf96Smrg#
175dfecf96Smrg# You should have received a copy of the GNU General Public License
18f765521fSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
195dfecf96Smrg#
205dfecf96Smrg# As a special exception to the GNU General Public License, if you
215dfecf96Smrg# distribute this file as part of a program that contains a
225dfecf96Smrg# configuration script generated by Autoconf, you may include it under
23f765521fSmrg# the same distribution terms that you use for the rest of that
24f765521fSmrg# program.  This Exception is an additional permission under section 7
25f765521fSmrg# of the GNU General Public License, version 3 ("GPLv3").
265dfecf96Smrg
275dfecf96Smrg
28f765521fSmrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
295dfecf96Smrg#
305dfecf96Smrg# Configuration subroutine to validate and canonicalize a configuration type.
315dfecf96Smrg# Supply the specified configuration type as an argument.
325dfecf96Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
335dfecf96Smrg# Otherwise, we print the canonical config type on stdout and succeed.
345dfecf96Smrg
35c05e22d7Smrg# You can get the latest version of this script from:
36c05e22d7Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37c05e22d7Smrg
385dfecf96Smrg# This file is supposed to be the same for all GNU packages
395dfecf96Smrg# and recognize all the CPU types, system types and aliases
405dfecf96Smrg# that are meaningful with *any* GNU software.
415dfecf96Smrg# Each package is responsible for reporting which valid configurations
425dfecf96Smrg# it does not support.  The user should be able to distinguish
435dfecf96Smrg# a failure to support a valid configuration from a meaningless
445dfecf96Smrg# configuration.
455dfecf96Smrg
465dfecf96Smrg# The goal of this file is to map all the various variations of a given
475dfecf96Smrg# machine specification into a single specification in the form:
485dfecf96Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
495dfecf96Smrg# or in some cases, the newer four-part form:
505dfecf96Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
515dfecf96Smrg# It is wrong to echo any other type of specification.
525dfecf96Smrg
535dfecf96Smrgme=`echo "$0" | sed -e 's,.*/,,'`
545dfecf96Smrg
555dfecf96Smrgusage="\
565dfecf96SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
575dfecf96Smrg       $0 [OPTION] ALIAS
585dfecf96Smrg
595dfecf96SmrgCanonicalize a configuration name.
605dfecf96Smrg
615dfecf96SmrgOperation modes:
625dfecf96Smrg  -h, --help         print this help, then exit
635dfecf96Smrg  -t, --time-stamp   print date of last modification, then exit
645dfecf96Smrg  -v, --version      print version number, then exit
655dfecf96Smrg
665dfecf96SmrgReport bugs and patches to <config-patches@gnu.org>."
675dfecf96Smrg
685dfecf96Smrgversion="\
695dfecf96SmrgGNU config.sub ($timestamp)
705dfecf96Smrg
71f765521fSmrgCopyright 1992-2014 Free Software Foundation, Inc.
725dfecf96Smrg
735dfecf96SmrgThis is free software; see the source for copying conditions.  There is NO
745dfecf96Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
755dfecf96Smrg
765dfecf96Smrghelp="
775dfecf96SmrgTry \`$me --help' for more information."
785dfecf96Smrg
795dfecf96Smrg# Parse command line
805dfecf96Smrgwhile test $# -gt 0 ; do
815dfecf96Smrg  case $1 in
825dfecf96Smrg    --time-stamp | --time* | -t )
835dfecf96Smrg       echo "$timestamp" ; exit ;;
845dfecf96Smrg    --version | -v )
855dfecf96Smrg       echo "$version" ; exit ;;
865dfecf96Smrg    --help | --h* | -h )
875dfecf96Smrg       echo "$usage"; exit ;;
885dfecf96Smrg    -- )     # Stop option processing
895dfecf96Smrg       shift; break ;;
905dfecf96Smrg    - )	# Use stdin as input.
915dfecf96Smrg       break ;;
925dfecf96Smrg    -* )
935dfecf96Smrg       echo "$me: invalid option $1$help"
945dfecf96Smrg       exit 1 ;;
955dfecf96Smrg
965dfecf96Smrg    *local*)
975dfecf96Smrg       # First pass through any local machine types.
985dfecf96Smrg       echo $1
995dfecf96Smrg       exit ;;
1005dfecf96Smrg
1015dfecf96Smrg    * )
1025dfecf96Smrg       break ;;
1035dfecf96Smrg  esac
1045dfecf96Smrgdone
1055dfecf96Smrg
1065dfecf96Smrgcase $# in
1075dfecf96Smrg 0) echo "$me: missing argument$help" >&2
1085dfecf96Smrg    exit 1;;
1095dfecf96Smrg 1) ;;
1105dfecf96Smrg *) echo "$me: too many arguments$help" >&2
1115dfecf96Smrg    exit 1;;
1125dfecf96Smrgesac
1135dfecf96Smrg
1145dfecf96Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1155dfecf96Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1165dfecf96Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1175dfecf96Smrgcase $maybe_os in
118c05e22d7Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119f765521fSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120c05e22d7Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
121c05e22d7Smrg  kopensolaris*-gnu* | \
122f14f4646Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1235dfecf96Smrg    os=-$maybe_os
1245dfecf96Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1255dfecf96Smrg    ;;
126f765521fSmrg  android-linux)
127f765521fSmrg    os=-linux-android
128f765521fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129f765521fSmrg    ;;
1305dfecf96Smrg  *)
1315dfecf96Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1325dfecf96Smrg    if [ $basic_machine != $1 ]
1335dfecf96Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1345dfecf96Smrg    else os=; fi
1355dfecf96Smrg    ;;
1365dfecf96Smrgesac
1375dfecf96Smrg
1385dfecf96Smrg### Let's recognize common machines as not being operating systems so
1395dfecf96Smrg### that things like config.sub decstation-3100 work.  We also
1405dfecf96Smrg### recognize some manufacturers as not being operating systems, so we
1415dfecf96Smrg### can provide default operating systems below.
1425dfecf96Smrgcase $os in
1435dfecf96Smrg	-sun*os*)
1445dfecf96Smrg		# Prevent following clause from handling this invalid input.
1455dfecf96Smrg		;;
1465dfecf96Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1475dfecf96Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1485dfecf96Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1495dfecf96Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1505dfecf96Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1515dfecf96Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152f765521fSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
1535dfecf96Smrg		os=
1545dfecf96Smrg		basic_machine=$1
1555dfecf96Smrg		;;
15631de2854Smrg	-bluegene*)
15731de2854Smrg		os=-cnk
158c05e22d7Smrg		;;
1595dfecf96Smrg	-sim | -cisco | -oki | -wec | -winbond)
1605dfecf96Smrg		os=
1615dfecf96Smrg		basic_machine=$1
1625dfecf96Smrg		;;
1635dfecf96Smrg	-scout)
1645dfecf96Smrg		;;
1655dfecf96Smrg	-wrs)
1665dfecf96Smrg		os=-vxworks
1675dfecf96Smrg		basic_machine=$1
1685dfecf96Smrg		;;
1695dfecf96Smrg	-chorusos*)
1705dfecf96Smrg		os=-chorusos
1715dfecf96Smrg		basic_machine=$1
1725dfecf96Smrg		;;
17331de2854Smrg	-chorusrdb)
17431de2854Smrg		os=-chorusrdb
1755dfecf96Smrg		basic_machine=$1
17631de2854Smrg		;;
1775dfecf96Smrg	-hiux*)
1785dfecf96Smrg		os=-hiuxwe2
1795dfecf96Smrg		;;
180f14f4646Smrg	-sco6)
181f14f4646Smrg		os=-sco5v6
182f14f4646Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183f14f4646Smrg		;;
1845dfecf96Smrg	-sco5)
1855dfecf96Smrg		os=-sco3.2v5
1865dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1875dfecf96Smrg		;;
1885dfecf96Smrg	-sco4)
1895dfecf96Smrg		os=-sco3.2v4
1905dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1915dfecf96Smrg		;;
1925dfecf96Smrg	-sco3.2.[4-9]*)
1935dfecf96Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1945dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1955dfecf96Smrg		;;
1965dfecf96Smrg	-sco3.2v[4-9]*)
1975dfecf96Smrg		# Don't forget version if it is 3.2v4 or newer.
1985dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1995dfecf96Smrg		;;
200f14f4646Smrg	-sco5v6*)
201f14f4646Smrg		# Don't forget version if it is 3.2v4 or newer.
202f14f4646Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203f14f4646Smrg		;;
2045dfecf96Smrg	-sco*)
2055dfecf96Smrg		os=-sco3.2v2
2065dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2075dfecf96Smrg		;;
2085dfecf96Smrg	-udk*)
2095dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2105dfecf96Smrg		;;
2115dfecf96Smrg	-isc)
2125dfecf96Smrg		os=-isc2.2
2135dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2145dfecf96Smrg		;;
2155dfecf96Smrg	-clix*)
2165dfecf96Smrg		basic_machine=clipper-intergraph
2175dfecf96Smrg		;;
2185dfecf96Smrg	-isc*)
2195dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2205dfecf96Smrg		;;
221f765521fSmrg	-lynx*178)
222f765521fSmrg		os=-lynxos178
223f765521fSmrg		;;
224f765521fSmrg	-lynx*5)
225f765521fSmrg		os=-lynxos5
226f765521fSmrg		;;
2275dfecf96Smrg	-lynx*)
2285dfecf96Smrg		os=-lynxos
2295dfecf96Smrg		;;
2305dfecf96Smrg	-ptx*)
2315dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2325dfecf96Smrg		;;
2335dfecf96Smrg	-windowsnt*)
2345dfecf96Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2355dfecf96Smrg		;;
2365dfecf96Smrg	-psos*)
2375dfecf96Smrg		os=-psos
2385dfecf96Smrg		;;
2395dfecf96Smrg	-mint | -mint[0-9]*)
2405dfecf96Smrg		basic_machine=m68k-atari
2415dfecf96Smrg		os=-mint
2425dfecf96Smrg		;;
2435dfecf96Smrgesac
2445dfecf96Smrg
2455dfecf96Smrg# Decode aliases for certain CPU-COMPANY combinations.
2465dfecf96Smrgcase $basic_machine in
2475dfecf96Smrg	# Recognize the basic CPU types without company name.
2485dfecf96Smrg	# Some are omitted here because they have special meanings below.
2495dfecf96Smrg	1750a | 580 \
2505dfecf96Smrg	| a29k \
251f765521fSmrg	| aarch64 | aarch64_be \
2525dfecf96Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2535dfecf96Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2545dfecf96Smrg	| am33_2.0 \
255f765521fSmrg	| arc | arceb \
256f765521fSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257f765521fSmrg	| avr | avr32 \
258f765521fSmrg	| be32 | be64 \
2595dfecf96Smrg	| bfin \
260f765521fSmrg	| c4x | c8051 | clipper \
261f765521fSmrg	| d10v | d30v | dlx | dsp16xx | dvp \
26231de2854Smrg	| epiphany \
263f14f4646Smrg	| fido | fr30 | frv \
2645dfecf96Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26531de2854Smrg	| hexagon \
2665dfecf96Smrg	| i370 | i860 | i960 | ia64 \
2675dfecf96Smrg	| ip2k | iq2000 \
268f765521fSmrg	| k1om \
26931de2854Smrg	| le32 | le64 \
270c05e22d7Smrg	| lm32 \
271f14f4646Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272f765521fSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2735dfecf96Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2745dfecf96Smrg	| mips16 \
2755dfecf96Smrg	| mips64 | mips64el \
276c05e22d7Smrg	| mips64octeon | mips64octeonel \
2775dfecf96Smrg	| mips64orion | mips64orionel \
278c05e22d7Smrg	| mips64r5900 | mips64r5900el \
279c05e22d7Smrg	| mips64vr | mips64vrel \
2805dfecf96Smrg	| mips64vr4100 | mips64vr4100el \
2815dfecf96Smrg	| mips64vr4300 | mips64vr4300el \
2825dfecf96Smrg	| mips64vr5000 | mips64vr5000el \
2835dfecf96Smrg	| mips64vr5900 | mips64vr5900el \
2845dfecf96Smrg	| mipsisa32 | mipsisa32el \
2855dfecf96Smrg	| mipsisa32r2 | mipsisa32r2el \
2865dfecf96Smrg	| mipsisa64 | mipsisa64el \
2875dfecf96Smrg	| mipsisa64r2 | mipsisa64r2el \
2885dfecf96Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2895dfecf96Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
290f765521fSmrg	| mipsr5900 | mipsr5900el \
2915dfecf96Smrg	| mipstx39 | mipstx39el \
2925dfecf96Smrg	| mn10200 | mn10300 \
293c05e22d7Smrg	| moxie \
294f14f4646Smrg	| mt \
2955dfecf96Smrg	| msp430 \
296c05e22d7Smrg	| nds32 | nds32le | nds32be \
297f765521fSmrg	| nios | nios2 | nios2eb | nios2el \
2985dfecf96Smrg	| ns16k | ns32k \
29931de2854Smrg	| open8 \
300f765521fSmrg	| or1k | or32 \
3015dfecf96Smrg	| pdp10 | pdp11 | pj | pjl \
30231de2854Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3035dfecf96Smrg	| pyramid \
30431de2854Smrg	| rl78 | rx \
305f14f4646Smrg	| score \
306c05e22d7Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3075dfecf96Smrg	| sh64 | sh64le \
308f14f4646Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
309f14f4646Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31031de2854Smrg	| spu \
31131de2854Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
312c05e22d7Smrg	| ubicom32 \
31331de2854Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3145dfecf96Smrg	| we32k \
31531de2854Smrg	| x86 | xc16x | xstormy16 | xtensa \
316c05e22d7Smrg	| z8k | z80)
3175dfecf96Smrg		basic_machine=$basic_machine-unknown
3185dfecf96Smrg		;;
319c05e22d7Smrg	c54x)
320c05e22d7Smrg		basic_machine=tic54x-unknown
321c05e22d7Smrg		;;
322c05e22d7Smrg	c55x)
323c05e22d7Smrg		basic_machine=tic55x-unknown
324c05e22d7Smrg		;;
325c05e22d7Smrg	c6x)
326c05e22d7Smrg		basic_machine=tic6x-unknown
327c05e22d7Smrg		;;
328f765521fSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
3295dfecf96Smrg		basic_machine=$basic_machine-unknown
3305dfecf96Smrg		os=-none
3315dfecf96Smrg		;;
3325dfecf96Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3335dfecf96Smrg		;;
334f14f4646Smrg	ms1)
335f14f4646Smrg		basic_machine=mt-unknown
336f14f4646Smrg		;;
3375dfecf96Smrg
33831de2854Smrg	strongarm | thumb | xscale)
33931de2854Smrg		basic_machine=arm-unknown
34031de2854Smrg		;;
341f765521fSmrg	xgate)
342f765521fSmrg		basic_machine=$basic_machine-unknown
343f765521fSmrg		os=-none
344f765521fSmrg		;;
34531de2854Smrg	xscaleeb)
34631de2854Smrg		basic_machine=armeb-unknown
34731de2854Smrg		;;
34831de2854Smrg
34931de2854Smrg	xscaleel)
35031de2854Smrg		basic_machine=armel-unknown
35131de2854Smrg		;;
35231de2854Smrg
3535dfecf96Smrg	# We use `pc' rather than `unknown'
3545dfecf96Smrg	# because (1) that's what they normally are, and
3555dfecf96Smrg	# (2) the word "unknown" tends to confuse beginning users.
3565dfecf96Smrg	i*86 | x86_64)
3575dfecf96Smrg	  basic_machine=$basic_machine-pc
3585dfecf96Smrg	  ;;
3595dfecf96Smrg	# Object if more than one company name word.
3605dfecf96Smrg	*-*-*)
3615dfecf96Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3625dfecf96Smrg		exit 1
3635dfecf96Smrg		;;
3645dfecf96Smrg	# Recognize the basic CPU types with company name.
3655dfecf96Smrg	580-* \
3665dfecf96Smrg	| a29k-* \
367f765521fSmrg	| aarch64-* | aarch64_be-* \
3685dfecf96Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3695dfecf96Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
370f765521fSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3715dfecf96Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
372f14f4646Smrg	| avr-* | avr32-* \
37331de2854Smrg	| be32-* | be64-* \
3745dfecf96Smrg	| bfin-* | bs2000-* \
375c05e22d7Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
376f765521fSmrg	| c8051-* | clipper-* | craynv-* | cydra-* \
3775dfecf96Smrg	| d10v-* | d30v-* | dlx-* \
3785dfecf96Smrg	| elxsi-* \
379f14f4646Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3805dfecf96Smrg	| h8300-* | h8500-* \
3815dfecf96Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38231de2854Smrg	| hexagon-* \
3835dfecf96Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3845dfecf96Smrg	| ip2k-* | iq2000-* \
385f765521fSmrg	| k1om-* \
38631de2854Smrg	| le32-* | le64-* \
387c05e22d7Smrg	| lm32-* \
388f14f4646Smrg	| m32c-* | m32r-* | m32rle-* \
3895dfecf96Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
390f765521fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
391f765521fSmrg	| microblaze-* | microblazeel-* \
3925dfecf96Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3935dfecf96Smrg	| mips16-* \
3945dfecf96Smrg	| mips64-* | mips64el-* \
395c05e22d7Smrg	| mips64octeon-* | mips64octeonel-* \
3965dfecf96Smrg	| mips64orion-* | mips64orionel-* \
397c05e22d7Smrg	| mips64r5900-* | mips64r5900el-* \
398c05e22d7Smrg	| mips64vr-* | mips64vrel-* \
3995dfecf96Smrg	| mips64vr4100-* | mips64vr4100el-* \
4005dfecf96Smrg	| mips64vr4300-* | mips64vr4300el-* \
4015dfecf96Smrg	| mips64vr5000-* | mips64vr5000el-* \
4025dfecf96Smrg	| mips64vr5900-* | mips64vr5900el-* \
4035dfecf96Smrg	| mipsisa32-* | mipsisa32el-* \
4045dfecf96Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4055dfecf96Smrg	| mipsisa64-* | mipsisa64el-* \
4065dfecf96Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4075dfecf96Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4085dfecf96Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
409f765521fSmrg	| mipsr5900-* | mipsr5900el-* \
4105dfecf96Smrg	| mipstx39-* | mipstx39el-* \
4115dfecf96Smrg	| mmix-* \
412f14f4646Smrg	| mt-* \
4135dfecf96Smrg	| msp430-* \
414c05e22d7Smrg	| nds32-* | nds32le-* | nds32be-* \
415f765521fSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
4165dfecf96Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
41731de2854Smrg	| open8-* \
4185dfecf96Smrg	| orion-* \
4195dfecf96Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42031de2854Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4215dfecf96Smrg	| pyramid-* \
42231de2854Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
423c05e22d7Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4245dfecf96Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425f14f4646Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4265dfecf96Smrg	| sparclite-* \
42731de2854Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
42831de2854Smrg	| tahoe-* \
4295dfecf96Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43031de2854Smrg	| tile*-* \
4315dfecf96Smrg	| tron-* \
432c05e22d7Smrg	| ubicom32-* \
43331de2854Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
43431de2854Smrg	| vax-* \
4355dfecf96Smrg	| we32k-* \
43631de2854Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
437f14f4646Smrg	| xstormy16-* | xtensa*-* \
4385dfecf96Smrg	| ymp-* \
439c05e22d7Smrg	| z8k-* | z80-*)
4405dfecf96Smrg		;;
441f14f4646Smrg	# Recognize the basic CPU types without company name, with glob match.
442f14f4646Smrg	xtensa*)
443f14f4646Smrg		basic_machine=$basic_machine-unknown
4445dfecf96Smrg		;;
4455dfecf96Smrg	# Recognize the various machine names and aliases which stand
4465dfecf96Smrg	# for a CPU type and a company and sometimes even an OS.
4475dfecf96Smrg	386bsd)
4485dfecf96Smrg		basic_machine=i386-unknown
4495dfecf96Smrg		os=-bsd
4505dfecf96Smrg		;;
4515dfecf96Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4525dfecf96Smrg		basic_machine=m68000-att
4535dfecf96Smrg		;;
4545dfecf96Smrg	3b*)
4555dfecf96Smrg		basic_machine=we32k-att
4565dfecf96Smrg		;;
4575dfecf96Smrg	a29khif)
4585dfecf96Smrg		basic_machine=a29k-amd
4595dfecf96Smrg		os=-udi
4605dfecf96Smrg		;;
46131de2854Smrg	abacus)
4625dfecf96Smrg		basic_machine=abacus-unknown
4635dfecf96Smrg		;;
4645dfecf96Smrg	adobe68k)
4655dfecf96Smrg		basic_machine=m68010-adobe
4665dfecf96Smrg		os=-scout
4675dfecf96Smrg		;;
4685dfecf96Smrg	alliant | fx80)
4695dfecf96Smrg		basic_machine=fx80-alliant
4705dfecf96Smrg		;;
4715dfecf96Smrg	altos | altos3068)
4725dfecf96Smrg		basic_machine=m68k-altos
4735dfecf96Smrg		;;
4745dfecf96Smrg	am29k)
4755dfecf96Smrg		basic_machine=a29k-none
4765dfecf96Smrg		os=-bsd
4775dfecf96Smrg		;;
4785dfecf96Smrg	amd64)
4795dfecf96Smrg		basic_machine=x86_64-pc
4805dfecf96Smrg		;;
4815dfecf96Smrg	amd64-*)
4825dfecf96Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4835dfecf96Smrg		;;
4845dfecf96Smrg	amdahl)
4855dfecf96Smrg		basic_machine=580-amdahl
4865dfecf96Smrg		os=-sysv
4875dfecf96Smrg		;;
4885dfecf96Smrg	amiga | amiga-*)
4895dfecf96Smrg		basic_machine=m68k-unknown
4905dfecf96Smrg		;;
4915dfecf96Smrg	amigaos | amigados)
4925dfecf96Smrg		basic_machine=m68k-unknown
4935dfecf96Smrg		os=-amigaos
4945dfecf96Smrg		;;
4955dfecf96Smrg	amigaunix | amix)
4965dfecf96Smrg		basic_machine=m68k-unknown
4975dfecf96Smrg		os=-sysv4
4985dfecf96Smrg		;;
4995dfecf96Smrg	apollo68)
5005dfecf96Smrg		basic_machine=m68k-apollo
5015dfecf96Smrg		os=-sysv
5025dfecf96Smrg		;;
5035dfecf96Smrg	apollo68bsd)
5045dfecf96Smrg		basic_machine=m68k-apollo
5055dfecf96Smrg		os=-bsd
5065dfecf96Smrg		;;
507c05e22d7Smrg	aros)
508c05e22d7Smrg		basic_machine=i386-pc
509c05e22d7Smrg		os=-aros
510c05e22d7Smrg		;;
5115dfecf96Smrg	aux)
5125dfecf96Smrg		basic_machine=m68k-apple
5135dfecf96Smrg		os=-aux
5145dfecf96Smrg		;;
5155dfecf96Smrg	balance)
5165dfecf96Smrg		basic_machine=ns32k-sequent
5175dfecf96Smrg		os=-dynix
5185dfecf96Smrg		;;
519f14f4646Smrg	blackfin)
520f14f4646Smrg		basic_machine=bfin-unknown
521f14f4646Smrg		os=-linux
522f14f4646Smrg		;;
523f14f4646Smrg	blackfin-*)
524f14f4646Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525f14f4646Smrg		os=-linux
526f14f4646Smrg		;;
527c05e22d7Smrg	bluegene*)
528c05e22d7Smrg		basic_machine=powerpc-ibm
529c05e22d7Smrg		os=-cnk
530c05e22d7Smrg		;;
531c05e22d7Smrg	c54x-*)
532c05e22d7Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533c05e22d7Smrg		;;
534c05e22d7Smrg	c55x-*)
535c05e22d7Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536c05e22d7Smrg		;;
537c05e22d7Smrg	c6x-*)
538c05e22d7Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539c05e22d7Smrg		;;
5405dfecf96Smrg	c90)
5415dfecf96Smrg		basic_machine=c90-cray
5425dfecf96Smrg		os=-unicos
5435dfecf96Smrg		;;
54431de2854Smrg	cegcc)
545c05e22d7Smrg		basic_machine=arm-unknown
546c05e22d7Smrg		os=-cegcc
547c05e22d7Smrg		;;
5485dfecf96Smrg	convex-c1)
5495dfecf96Smrg		basic_machine=c1-convex
5505dfecf96Smrg		os=-bsd
5515dfecf96Smrg		;;
5525dfecf96Smrg	convex-c2)
5535dfecf96Smrg		basic_machine=c2-convex
5545dfecf96Smrg		os=-bsd
5555dfecf96Smrg		;;
5565dfecf96Smrg	convex-c32)
5575dfecf96Smrg		basic_machine=c32-convex
5585dfecf96Smrg		os=-bsd
5595dfecf96Smrg		;;
5605dfecf96Smrg	convex-c34)
5615dfecf96Smrg		basic_machine=c34-convex
5625dfecf96Smrg		os=-bsd
5635dfecf96Smrg		;;
5645dfecf96Smrg	convex-c38)
5655dfecf96Smrg		basic_machine=c38-convex
5665dfecf96Smrg		os=-bsd
5675dfecf96Smrg		;;
5685dfecf96Smrg	cray | j90)
5695dfecf96Smrg		basic_machine=j90-cray
5705dfecf96Smrg		os=-unicos
5715dfecf96Smrg		;;
5725dfecf96Smrg	craynv)
5735dfecf96Smrg		basic_machine=craynv-cray
5745dfecf96Smrg		os=-unicosmp
5755dfecf96Smrg		;;
57631de2854Smrg	cr16 | cr16-*)
577f14f4646Smrg		basic_machine=cr16-unknown
5785dfecf96Smrg		os=-elf
5795dfecf96Smrg		;;
5805dfecf96Smrg	crds | unos)
5815dfecf96Smrg		basic_machine=m68k-crds
5825dfecf96Smrg		;;
5835dfecf96Smrg	crisv32 | crisv32-* | etraxfs*)
5845dfecf96Smrg		basic_machine=crisv32-axis
5855dfecf96Smrg		;;
5865dfecf96Smrg	cris | cris-* | etrax*)
5875dfecf96Smrg		basic_machine=cris-axis
5885dfecf96Smrg		;;
5895dfecf96Smrg	crx)
5905dfecf96Smrg		basic_machine=crx-unknown
5915dfecf96Smrg		os=-elf
5925dfecf96Smrg		;;
5935dfecf96Smrg	da30 | da30-*)
5945dfecf96Smrg		basic_machine=m68k-da30
5955dfecf96Smrg		;;
5965dfecf96Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5975dfecf96Smrg		basic_machine=mips-dec
5985dfecf96Smrg		;;
5995dfecf96Smrg	decsystem10* | dec10*)
6005dfecf96Smrg		basic_machine=pdp10-dec
6015dfecf96Smrg		os=-tops10
6025dfecf96Smrg		;;
6035dfecf96Smrg	decsystem20* | dec20*)
6045dfecf96Smrg		basic_machine=pdp10-dec
6055dfecf96Smrg		os=-tops20
6065dfecf96Smrg		;;
6075dfecf96Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6085dfecf96Smrg	      | 3300-motorola | delta-motorola)
6095dfecf96Smrg		basic_machine=m68k-motorola
6105dfecf96Smrg		;;
6115dfecf96Smrg	delta88)
6125dfecf96Smrg		basic_machine=m88k-motorola
6135dfecf96Smrg		os=-sysv3
6145dfecf96Smrg		;;
615c05e22d7Smrg	dicos)
616c05e22d7Smrg		basic_machine=i686-pc
617c05e22d7Smrg		os=-dicos
618c05e22d7Smrg		;;
6195dfecf96Smrg	djgpp)
6205dfecf96Smrg		basic_machine=i586-pc
6215dfecf96Smrg		os=-msdosdjgpp
6225dfecf96Smrg		;;
6235dfecf96Smrg	dpx20 | dpx20-*)
6245dfecf96Smrg		basic_machine=rs6000-bull
6255dfecf96Smrg		os=-bosx
6265dfecf96Smrg		;;
6275dfecf96Smrg	dpx2* | dpx2*-bull)
6285dfecf96Smrg		basic_machine=m68k-bull
6295dfecf96Smrg		os=-sysv3
6305dfecf96Smrg		;;
6315dfecf96Smrg	ebmon29k)
6325dfecf96Smrg		basic_machine=a29k-amd
6335dfecf96Smrg		os=-ebmon
6345dfecf96Smrg		;;
6355dfecf96Smrg	elxsi)
6365dfecf96Smrg		basic_machine=elxsi-elxsi
6375dfecf96Smrg		os=-bsd
6385dfecf96Smrg		;;
6395dfecf96Smrg	encore | umax | mmax)
6405dfecf96Smrg		basic_machine=ns32k-encore
6415dfecf96Smrg		;;
6425dfecf96Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6435dfecf96Smrg		basic_machine=m68k-ericsson
6445dfecf96Smrg		os=-ose
6455dfecf96Smrg		;;
6465dfecf96Smrg	fx2800)
6475dfecf96Smrg		basic_machine=i860-alliant
6485dfecf96Smrg		;;
6495dfecf96Smrg	genix)
6505dfecf96Smrg		basic_machine=ns32k-ns
6515dfecf96Smrg		;;
6525dfecf96Smrg	gmicro)
6535dfecf96Smrg		basic_machine=tron-gmicro
6545dfecf96Smrg		os=-sysv
6555dfecf96Smrg		;;
6565dfecf96Smrg	go32)
6575dfecf96Smrg		basic_machine=i386-pc
6585dfecf96Smrg		os=-go32
6595dfecf96Smrg		;;
6605dfecf96Smrg	h3050r* | hiux*)
6615dfecf96Smrg		basic_machine=hppa1.1-hitachi
6625dfecf96Smrg		os=-hiuxwe2
6635dfecf96Smrg		;;
6645dfecf96Smrg	h8300hms)
6655dfecf96Smrg		basic_machine=h8300-hitachi
6665dfecf96Smrg		os=-hms
6675dfecf96Smrg		;;
6685dfecf96Smrg	h8300xray)
6695dfecf96Smrg		basic_machine=h8300-hitachi
6705dfecf96Smrg		os=-xray
6715dfecf96Smrg		;;
6725dfecf96Smrg	h8500hms)
6735dfecf96Smrg		basic_machine=h8500-hitachi
6745dfecf96Smrg		os=-hms
6755dfecf96Smrg		;;
6765dfecf96Smrg	harris)
6775dfecf96Smrg		basic_machine=m88k-harris
6785dfecf96Smrg		os=-sysv3
6795dfecf96Smrg		;;
6805dfecf96Smrg	hp300-*)
6815dfecf96Smrg		basic_machine=m68k-hp
6825dfecf96Smrg		;;
6835dfecf96Smrg	hp300bsd)
6845dfecf96Smrg		basic_machine=m68k-hp
6855dfecf96Smrg		os=-bsd
6865dfecf96Smrg		;;
6875dfecf96Smrg	hp300hpux)
6885dfecf96Smrg		basic_machine=m68k-hp
6895dfecf96Smrg		os=-hpux
6905dfecf96Smrg		;;
6915dfecf96Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6925dfecf96Smrg		basic_machine=hppa1.0-hp
6935dfecf96Smrg		;;
6945dfecf96Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6955dfecf96Smrg		basic_machine=m68000-hp
6965dfecf96Smrg		;;
6975dfecf96Smrg	hp9k3[2-9][0-9])
6985dfecf96Smrg		basic_machine=m68k-hp
6995dfecf96Smrg		;;
7005dfecf96Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7015dfecf96Smrg		basic_machine=hppa1.0-hp
7025dfecf96Smrg		;;
7035dfecf96Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7045dfecf96Smrg		basic_machine=hppa1.1-hp
7055dfecf96Smrg		;;
7065dfecf96Smrg	hp9k78[0-9] | hp78[0-9])
7075dfecf96Smrg		# FIXME: really hppa2.0-hp
7085dfecf96Smrg		basic_machine=hppa1.1-hp
7095dfecf96Smrg		;;
7105dfecf96Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7115dfecf96Smrg		# FIXME: really hppa2.0-hp
7125dfecf96Smrg		basic_machine=hppa1.1-hp
7135dfecf96Smrg		;;
7145dfecf96Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7155dfecf96Smrg		basic_machine=hppa1.1-hp
7165dfecf96Smrg		;;
7175dfecf96Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7185dfecf96Smrg		basic_machine=hppa1.0-hp
7195dfecf96Smrg		;;
7205dfecf96Smrg	hppa-next)
7215dfecf96Smrg		os=-nextstep3
7225dfecf96Smrg		;;
7235dfecf96Smrg	hppaosf)
7245dfecf96Smrg		basic_machine=hppa1.1-hp
7255dfecf96Smrg		os=-osf
7265dfecf96Smrg		;;
7275dfecf96Smrg	hppro)
7285dfecf96Smrg		basic_machine=hppa1.1-hp
7295dfecf96Smrg		os=-proelf
7305dfecf96Smrg		;;
7315dfecf96Smrg	i370-ibm* | ibm*)
7325dfecf96Smrg		basic_machine=i370-ibm
7335dfecf96Smrg		;;
7345dfecf96Smrg	i*86v32)
7355dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7365dfecf96Smrg		os=-sysv32
7375dfecf96Smrg		;;
7385dfecf96Smrg	i*86v4*)
7395dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7405dfecf96Smrg		os=-sysv4
7415dfecf96Smrg		;;
7425dfecf96Smrg	i*86v)
7435dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7445dfecf96Smrg		os=-sysv
7455dfecf96Smrg		;;
7465dfecf96Smrg	i*86sol2)
7475dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7485dfecf96Smrg		os=-solaris2
7495dfecf96Smrg		;;
7505dfecf96Smrg	i386mach)
7515dfecf96Smrg		basic_machine=i386-mach
7525dfecf96Smrg		os=-mach
7535dfecf96Smrg		;;
7545dfecf96Smrg	i386-vsta | vsta)
7555dfecf96Smrg		basic_machine=i386-unknown
7565dfecf96Smrg		os=-vsta
7575dfecf96Smrg		;;
7585dfecf96Smrg	iris | iris4d)
7595dfecf96Smrg		basic_machine=mips-sgi
7605dfecf96Smrg		case $os in
7615dfecf96Smrg		    -irix*)
7625dfecf96Smrg			;;
7635dfecf96Smrg		    *)
7645dfecf96Smrg			os=-irix4
7655dfecf96Smrg			;;
7665dfecf96Smrg		esac
7675dfecf96Smrg		;;
7685dfecf96Smrg	isi68 | isi)
7695dfecf96Smrg		basic_machine=m68k-isi
7705dfecf96Smrg		os=-sysv
7715dfecf96Smrg		;;
772f14f4646Smrg	m68knommu)
773f14f4646Smrg		basic_machine=m68k-unknown
774f14f4646Smrg		os=-linux
775f14f4646Smrg		;;
776f14f4646Smrg	m68knommu-*)
777f14f4646Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778f14f4646Smrg		os=-linux
779f14f4646Smrg		;;
7805dfecf96Smrg	m88k-omron*)
7815dfecf96Smrg		basic_machine=m88k-omron
7825dfecf96Smrg		;;
7835dfecf96Smrg	magnum | m3230)
7845dfecf96Smrg		basic_machine=mips-mips
7855dfecf96Smrg		os=-sysv
7865dfecf96Smrg		;;
7875dfecf96Smrg	merlin)
7885dfecf96Smrg		basic_machine=ns32k-utek
7895dfecf96Smrg		os=-sysv
7905dfecf96Smrg		;;
791f765521fSmrg	microblaze*)
792c05e22d7Smrg		basic_machine=microblaze-xilinx
793c05e22d7Smrg		;;
794f765521fSmrg	mingw64)
795f765521fSmrg		basic_machine=x86_64-pc
796f765521fSmrg		os=-mingw64
797f765521fSmrg		;;
7985dfecf96Smrg	mingw32)
799f765521fSmrg		basic_machine=i686-pc
8005dfecf96Smrg		os=-mingw32
8015dfecf96Smrg		;;
802f14f4646Smrg	mingw32ce)
803f14f4646Smrg		basic_machine=arm-unknown
804f14f4646Smrg		os=-mingw32ce
805f14f4646Smrg		;;
8065dfecf96Smrg	miniframe)
8075dfecf96Smrg		basic_machine=m68000-convergent
8085dfecf96Smrg		;;
8095dfecf96Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8105dfecf96Smrg		basic_machine=m68k-atari
8115dfecf96Smrg		os=-mint
8125dfecf96Smrg		;;
813f765521fSmrg	mipsEE* | ee | ps2)
814f765521fSmrg		basic_machine=mips64r5900el-scei
815f765521fSmrg		case $os in
816f765521fSmrg		    -linux*)
817f765521fSmrg			;;
818f765521fSmrg		    *)
819f765521fSmrg			os=-elf
820f765521fSmrg			;;
821f765521fSmrg		esac
822f765521fSmrg		;;
823f765521fSmrg	iop)
824f765521fSmrg		basic_machine=mipsel-scei
825f765521fSmrg		os=-irx
826f765521fSmrg		;;
827f765521fSmrg	dvp)
828f765521fSmrg		basic_machine=dvp-scei
829f765521fSmrg		os=-elf
830f765521fSmrg		;;
8315dfecf96Smrg	mips3*-*)
8325dfecf96Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8335dfecf96Smrg		;;
8345dfecf96Smrg	mips3*)
8355dfecf96Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8365dfecf96Smrg		;;
8375dfecf96Smrg	monitor)
8385dfecf96Smrg		basic_machine=m68k-rom68k
8395dfecf96Smrg		os=-coff
8405dfecf96Smrg		;;
8415dfecf96Smrg	morphos)
8425dfecf96Smrg		basic_machine=powerpc-unknown
8435dfecf96Smrg		os=-morphos
8445dfecf96Smrg		;;
8455dfecf96Smrg	msdos)
8465dfecf96Smrg		basic_machine=i386-pc
8475dfecf96Smrg		os=-msdos
8485dfecf96Smrg		;;
849f14f4646Smrg	ms1-*)
850f14f4646Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
851f14f4646Smrg		;;
85231de2854Smrg	msys)
853f765521fSmrg		basic_machine=i686-pc
85431de2854Smrg		os=-msys
85531de2854Smrg		;;
8565dfecf96Smrg	mvs)
8575dfecf96Smrg		basic_machine=i370-ibm
8585dfecf96Smrg		os=-mvs
8595dfecf96Smrg		;;
86031de2854Smrg	nacl)
86131de2854Smrg		basic_machine=le32-unknown
86231de2854Smrg		os=-nacl
86331de2854Smrg		;;
8645dfecf96Smrg	ncr3000)
8655dfecf96Smrg		basic_machine=i486-ncr
8665dfecf96Smrg		os=-sysv4
8675dfecf96Smrg		;;
8685dfecf96Smrg	netbsd386)
8695dfecf96Smrg		basic_machine=i386-unknown
8705dfecf96Smrg		os=-netbsd
8715dfecf96Smrg		;;
8725dfecf96Smrg	netwinder)
8735dfecf96Smrg		basic_machine=armv4l-rebel
8745dfecf96Smrg		os=-linux
8755dfecf96Smrg		;;
8765dfecf96Smrg	news | news700 | news800 | news900)
8775dfecf96Smrg		basic_machine=m68k-sony
8785dfecf96Smrg		os=-newsos
8795dfecf96Smrg		;;
8805dfecf96Smrg	news1000)
8815dfecf96Smrg		basic_machine=m68030-sony
8825dfecf96Smrg		os=-newsos
8835dfecf96Smrg		;;
8845dfecf96Smrg	news-3600 | risc-news)
8855dfecf96Smrg		basic_machine=mips-sony
8865dfecf96Smrg		os=-newsos
8875dfecf96Smrg		;;
8885dfecf96Smrg	necv70)
8895dfecf96Smrg		basic_machine=v70-nec
8905dfecf96Smrg		os=-sysv
8915dfecf96Smrg		;;
8925dfecf96Smrg	next | m*-next )
8935dfecf96Smrg		basic_machine=m68k-next
8945dfecf96Smrg		case $os in
8955dfecf96Smrg		    -nextstep* )
8965dfecf96Smrg			;;
8975dfecf96Smrg		    -ns2*)
8985dfecf96Smrg		      os=-nextstep2
8995dfecf96Smrg			;;
9005dfecf96Smrg		    *)
9015dfecf96Smrg		      os=-nextstep3
9025dfecf96Smrg			;;
9035dfecf96Smrg		esac
9045dfecf96Smrg		;;
9055dfecf96Smrg	nh3000)
9065dfecf96Smrg		basic_machine=m68k-harris
9075dfecf96Smrg		os=-cxux
9085dfecf96Smrg		;;
9095dfecf96Smrg	nh[45]000)
9105dfecf96Smrg		basic_machine=m88k-harris
9115dfecf96Smrg		os=-cxux
9125dfecf96Smrg		;;
9135dfecf96Smrg	nindy960)
9145dfecf96Smrg		basic_machine=i960-intel
9155dfecf96Smrg		os=-nindy
9165dfecf96Smrg		;;
9175dfecf96Smrg	mon960)
9185dfecf96Smrg		basic_machine=i960-intel
9195dfecf96Smrg		os=-mon960
9205dfecf96Smrg		;;
9215dfecf96Smrg	nonstopux)
9225dfecf96Smrg		basic_machine=mips-compaq
9235dfecf96Smrg		os=-nonstopux
9245dfecf96Smrg		;;
9255dfecf96Smrg	np1)
9265dfecf96Smrg		basic_machine=np1-gould
9275dfecf96Smrg		;;
92831de2854Smrg	neo-tandem)
929c05e22d7Smrg		basic_machine=neo-tandem
930c05e22d7Smrg		;;
93131de2854Smrg	nse-tandem)
932c05e22d7Smrg		basic_machine=nse-tandem
933c05e22d7Smrg		;;
9345dfecf96Smrg	nsr-tandem)
9355dfecf96Smrg		basic_machine=nsr-tandem
9365dfecf96Smrg		;;
9375dfecf96Smrg	op50n-* | op60c-*)
9385dfecf96Smrg		basic_machine=hppa1.1-oki
9395dfecf96Smrg		os=-proelf
9405dfecf96Smrg		;;
9415dfecf96Smrg	openrisc | openrisc-*)
9425dfecf96Smrg		basic_machine=or32-unknown
9435dfecf96Smrg		;;
9445dfecf96Smrg	os400)
9455dfecf96Smrg		basic_machine=powerpc-ibm
9465dfecf96Smrg		os=-os400
9475dfecf96Smrg		;;
9485dfecf96Smrg	OSE68000 | ose68000)
9495dfecf96Smrg		basic_machine=m68000-ericsson
9505dfecf96Smrg		os=-ose
9515dfecf96Smrg		;;
9525dfecf96Smrg	os68k)
9535dfecf96Smrg		basic_machine=m68k-none
9545dfecf96Smrg		os=-os68k
9555dfecf96Smrg		;;
9565dfecf96Smrg	pa-hitachi)
9575dfecf96Smrg		basic_machine=hppa1.1-hitachi
9585dfecf96Smrg		os=-hiuxwe2
9595dfecf96Smrg		;;
9605dfecf96Smrg	paragon)
9615dfecf96Smrg		basic_machine=i860-intel
9625dfecf96Smrg		os=-osf
9635dfecf96Smrg		;;
964f14f4646Smrg	parisc)
965f14f4646Smrg		basic_machine=hppa-unknown
966f14f4646Smrg		os=-linux
967f14f4646Smrg		;;
968f14f4646Smrg	parisc-*)
969f14f4646Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
970f14f4646Smrg		os=-linux
971f14f4646Smrg		;;
9725dfecf96Smrg	pbd)
9735dfecf96Smrg		basic_machine=sparc-tti
9745dfecf96Smrg		;;
9755dfecf96Smrg	pbb)
9765dfecf96Smrg		basic_machine=m68k-tti
9775dfecf96Smrg		;;
9785dfecf96Smrg	pc532 | pc532-*)
9795dfecf96Smrg		basic_machine=ns32k-pc532
9805dfecf96Smrg		;;
981f14f4646Smrg	pc98)
982f14f4646Smrg		basic_machine=i386-pc
983f14f4646Smrg		;;
984f14f4646Smrg	pc98-*)
985f14f4646Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
986f14f4646Smrg		;;
9875dfecf96Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9885dfecf96Smrg		basic_machine=i586-pc
9895dfecf96Smrg		;;
9905dfecf96Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9915dfecf96Smrg		basic_machine=i686-pc
9925dfecf96Smrg		;;
9935dfecf96Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9945dfecf96Smrg		basic_machine=i686-pc
9955dfecf96Smrg		;;
9965dfecf96Smrg	pentium4)
9975dfecf96Smrg		basic_machine=i786-pc
9985dfecf96Smrg		;;
9995dfecf96Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
10005dfecf96Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
10015dfecf96Smrg		;;
10025dfecf96Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
10035dfecf96Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10045dfecf96Smrg		;;
10055dfecf96Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
10065dfecf96Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10075dfecf96Smrg		;;
10085dfecf96Smrg	pentium4-*)
10095dfecf96Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
10105dfecf96Smrg		;;
10115dfecf96Smrg	pn)
10125dfecf96Smrg		basic_machine=pn-gould
10135dfecf96Smrg		;;
10145dfecf96Smrg	power)	basic_machine=power-ibm
10155dfecf96Smrg		;;
101631de2854Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
10175dfecf96Smrg		;;
101831de2854Smrg	ppc-* | ppcbe-*)
101931de2854Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10205dfecf96Smrg		;;
10215dfecf96Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10225dfecf96Smrg		basic_machine=powerpcle-unknown
10235dfecf96Smrg		;;
10245dfecf96Smrg	ppcle-* | powerpclittle-*)
10255dfecf96Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10265dfecf96Smrg		;;
10275dfecf96Smrg	ppc64)	basic_machine=powerpc64-unknown
10285dfecf96Smrg		;;
10295dfecf96Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10305dfecf96Smrg		;;
10315dfecf96Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10325dfecf96Smrg		basic_machine=powerpc64le-unknown
10335dfecf96Smrg		;;
10345dfecf96Smrg	ppc64le-* | powerpc64little-*)
10355dfecf96Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10365dfecf96Smrg		;;
10375dfecf96Smrg	ps2)
10385dfecf96Smrg		basic_machine=i386-ibm
10395dfecf96Smrg		;;
10405dfecf96Smrg	pw32)
10415dfecf96Smrg		basic_machine=i586-unknown
10425dfecf96Smrg		os=-pw32
10435dfecf96Smrg		;;
1044f765521fSmrg	rdos | rdos64)
1045f765521fSmrg		basic_machine=x86_64-pc
1046f765521fSmrg		os=-rdos
1047f765521fSmrg		;;
1048f765521fSmrg	rdos32)
1049f14f4646Smrg		basic_machine=i386-pc
1050f14f4646Smrg		os=-rdos
1051f14f4646Smrg		;;
10525dfecf96Smrg	rom68k)
10535dfecf96Smrg		basic_machine=m68k-rom68k
10545dfecf96Smrg		os=-coff
10555dfecf96Smrg		;;
10565dfecf96Smrg	rm[46]00)
10575dfecf96Smrg		basic_machine=mips-siemens
10585dfecf96Smrg		;;
10595dfecf96Smrg	rtpc | rtpc-*)
10605dfecf96Smrg		basic_machine=romp-ibm
10615dfecf96Smrg		;;
10625dfecf96Smrg	s390 | s390-*)
10635dfecf96Smrg		basic_machine=s390-ibm
10645dfecf96Smrg		;;
10655dfecf96Smrg	s390x | s390x-*)
10665dfecf96Smrg		basic_machine=s390x-ibm
10675dfecf96Smrg		;;
10685dfecf96Smrg	sa29200)
10695dfecf96Smrg		basic_machine=a29k-amd
10705dfecf96Smrg		os=-udi
10715dfecf96Smrg		;;
10725dfecf96Smrg	sb1)
10735dfecf96Smrg		basic_machine=mipsisa64sb1-unknown
10745dfecf96Smrg		;;
10755dfecf96Smrg	sb1el)
10765dfecf96Smrg		basic_machine=mipsisa64sb1el-unknown
10775dfecf96Smrg		;;
1078f14f4646Smrg	sde)
1079f14f4646Smrg		basic_machine=mipsisa32-sde
1080f14f4646Smrg		os=-elf
1081f14f4646Smrg		;;
10825dfecf96Smrg	sei)
10835dfecf96Smrg		basic_machine=mips-sei
10845dfecf96Smrg		os=-seiux
10855dfecf96Smrg		;;
10865dfecf96Smrg	sequent)
10875dfecf96Smrg		basic_machine=i386-sequent
10885dfecf96Smrg		;;
10895dfecf96Smrg	sh)
10905dfecf96Smrg		basic_machine=sh-hitachi
10915dfecf96Smrg		os=-hms
10925dfecf96Smrg		;;
1093f14f4646Smrg	sh5el)
1094f14f4646Smrg		basic_machine=sh5le-unknown
1095f14f4646Smrg		;;
10965dfecf96Smrg	sh64)
10975dfecf96Smrg		basic_machine=sh64-unknown
10985dfecf96Smrg		;;
10995dfecf96Smrg	sparclite-wrs | simso-wrs)
11005dfecf96Smrg		basic_machine=sparclite-wrs
11015dfecf96Smrg		os=-vxworks
11025dfecf96Smrg		;;
11035dfecf96Smrg	sps7)
11045dfecf96Smrg		basic_machine=m68k-bull
11055dfecf96Smrg		os=-sysv2
11065dfecf96Smrg		;;
11075dfecf96Smrg	spur)
11085dfecf96Smrg		basic_machine=spur-unknown
11095dfecf96Smrg		;;
11105dfecf96Smrg	st2000)
11115dfecf96Smrg		basic_machine=m68k-tandem
11125dfecf96Smrg		;;
11135dfecf96Smrg	stratus)
11145dfecf96Smrg		basic_machine=i860-stratus
11155dfecf96Smrg		os=-sysv4
11165dfecf96Smrg		;;
111731de2854Smrg	strongarm-* | thumb-*)
111831de2854Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
111931de2854Smrg		;;
11205dfecf96Smrg	sun2)
11215dfecf96Smrg		basic_machine=m68000-sun
11225dfecf96Smrg		;;
11235dfecf96Smrg	sun2os3)
11245dfecf96Smrg		basic_machine=m68000-sun
11255dfecf96Smrg		os=-sunos3
11265dfecf96Smrg		;;
11275dfecf96Smrg	sun2os4)
11285dfecf96Smrg		basic_machine=m68000-sun
11295dfecf96Smrg		os=-sunos4
11305dfecf96Smrg		;;
11315dfecf96Smrg	sun3os3)
11325dfecf96Smrg		basic_machine=m68k-sun
11335dfecf96Smrg		os=-sunos3
11345dfecf96Smrg		;;
11355dfecf96Smrg	sun3os4)
11365dfecf96Smrg		basic_machine=m68k-sun
11375dfecf96Smrg		os=-sunos4
11385dfecf96Smrg		;;
11395dfecf96Smrg	sun4os3)
11405dfecf96Smrg		basic_machine=sparc-sun
11415dfecf96Smrg		os=-sunos3
11425dfecf96Smrg		;;
11435dfecf96Smrg	sun4os4)
11445dfecf96Smrg		basic_machine=sparc-sun
11455dfecf96Smrg		os=-sunos4
11465dfecf96Smrg		;;
11475dfecf96Smrg	sun4sol2)
11485dfecf96Smrg		basic_machine=sparc-sun
11495dfecf96Smrg		os=-solaris2
11505dfecf96Smrg		;;
11515dfecf96Smrg	sun3 | sun3-*)
11525dfecf96Smrg		basic_machine=m68k-sun
11535dfecf96Smrg		;;
11545dfecf96Smrg	sun4)
11555dfecf96Smrg		basic_machine=sparc-sun
11565dfecf96Smrg		;;
11575dfecf96Smrg	sun386 | sun386i | roadrunner)
11585dfecf96Smrg		basic_machine=i386-sun
11595dfecf96Smrg		;;
11605dfecf96Smrg	sv1)
11615dfecf96Smrg		basic_machine=sv1-cray
11625dfecf96Smrg		os=-unicos
11635dfecf96Smrg		;;
11645dfecf96Smrg	symmetry)
11655dfecf96Smrg		basic_machine=i386-sequent
11665dfecf96Smrg		os=-dynix
11675dfecf96Smrg		;;
11685dfecf96Smrg	t3e)
11695dfecf96Smrg		basic_machine=alphaev5-cray
11705dfecf96Smrg		os=-unicos
11715dfecf96Smrg		;;
11725dfecf96Smrg	t90)
11735dfecf96Smrg		basic_machine=t90-cray
11745dfecf96Smrg		os=-unicos
11755dfecf96Smrg		;;
1176f14f4646Smrg	tile*)
117731de2854Smrg		basic_machine=$basic_machine-unknown
1178f14f4646Smrg		os=-linux-gnu
1179f14f4646Smrg		;;
11805dfecf96Smrg	tx39)
11815dfecf96Smrg		basic_machine=mipstx39-unknown
11825dfecf96Smrg		;;
11835dfecf96Smrg	tx39el)
11845dfecf96Smrg		basic_machine=mipstx39el-unknown
11855dfecf96Smrg		;;
11865dfecf96Smrg	toad1)
11875dfecf96Smrg		basic_machine=pdp10-xkl
11885dfecf96Smrg		os=-tops20
11895dfecf96Smrg		;;
11905dfecf96Smrg	tower | tower-32)
11915dfecf96Smrg		basic_machine=m68k-ncr
11925dfecf96Smrg		;;
11935dfecf96Smrg	tpf)
11945dfecf96Smrg		basic_machine=s390x-ibm
11955dfecf96Smrg		os=-tpf
11965dfecf96Smrg		;;
11975dfecf96Smrg	udi29k)
11985dfecf96Smrg		basic_machine=a29k-amd
11995dfecf96Smrg		os=-udi
12005dfecf96Smrg		;;
12015dfecf96Smrg	ultra3)
12025dfecf96Smrg		basic_machine=a29k-nyu
12035dfecf96Smrg		os=-sym1
12045dfecf96Smrg		;;
12055dfecf96Smrg	v810 | necv810)
12065dfecf96Smrg		basic_machine=v810-nec
12075dfecf96Smrg		os=-none
12085dfecf96Smrg		;;
12095dfecf96Smrg	vaxv)
12105dfecf96Smrg		basic_machine=vax-dec
12115dfecf96Smrg		os=-sysv
12125dfecf96Smrg		;;
12135dfecf96Smrg	vms)
12145dfecf96Smrg		basic_machine=vax-dec
12155dfecf96Smrg		os=-vms
12165dfecf96Smrg		;;
12175dfecf96Smrg	vpp*|vx|vx-*)
12185dfecf96Smrg		basic_machine=f301-fujitsu
12195dfecf96Smrg		;;
12205dfecf96Smrg	vxworks960)
12215dfecf96Smrg		basic_machine=i960-wrs
12225dfecf96Smrg		os=-vxworks
12235dfecf96Smrg		;;
12245dfecf96Smrg	vxworks68)
12255dfecf96Smrg		basic_machine=m68k-wrs
12265dfecf96Smrg		os=-vxworks
12275dfecf96Smrg		;;
12285dfecf96Smrg	vxworks29k)
12295dfecf96Smrg		basic_machine=a29k-wrs
12305dfecf96Smrg		os=-vxworks
12315dfecf96Smrg		;;
12325dfecf96Smrg	w65*)
12335dfecf96Smrg		basic_machine=w65-wdc
12345dfecf96Smrg		os=-none
12355dfecf96Smrg		;;
12365dfecf96Smrg	w89k-*)
12375dfecf96Smrg		basic_machine=hppa1.1-winbond
12385dfecf96Smrg		os=-proelf
12395dfecf96Smrg		;;
12405dfecf96Smrg	xbox)
12415dfecf96Smrg		basic_machine=i686-pc
12425dfecf96Smrg		os=-mingw32
12435dfecf96Smrg		;;
12445dfecf96Smrg	xps | xps100)
12455dfecf96Smrg		basic_machine=xps100-honeywell
12465dfecf96Smrg		;;
124731de2854Smrg	xscale-* | xscalee[bl]-*)
124831de2854Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
124931de2854Smrg		;;
12505dfecf96Smrg	ymp)
12515dfecf96Smrg		basic_machine=ymp-cray
12525dfecf96Smrg		os=-unicos
12535dfecf96Smrg		;;
12545dfecf96Smrg	z8k-*-coff)
12555dfecf96Smrg		basic_machine=z8k-unknown
12565dfecf96Smrg		os=-sim
12575dfecf96Smrg		;;
1258c05e22d7Smrg	z80-*-coff)
1259c05e22d7Smrg		basic_machine=z80-unknown
1260c05e22d7Smrg		os=-sim
1261c05e22d7Smrg		;;
12625dfecf96Smrg	none)
12635dfecf96Smrg		basic_machine=none-none
12645dfecf96Smrg		os=-none
12655dfecf96Smrg		;;
12665dfecf96Smrg
12675dfecf96Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12685dfecf96Smrg# some cases the only manufacturer, in others, it is the most popular.
12695dfecf96Smrg	w89k)
12705dfecf96Smrg		basic_machine=hppa1.1-winbond
12715dfecf96Smrg		;;
12725dfecf96Smrg	op50n)
12735dfecf96Smrg		basic_machine=hppa1.1-oki
12745dfecf96Smrg		;;
12755dfecf96Smrg	op60c)
12765dfecf96Smrg		basic_machine=hppa1.1-oki
12775dfecf96Smrg		;;
12785dfecf96Smrg	romp)
12795dfecf96Smrg		basic_machine=romp-ibm
12805dfecf96Smrg		;;
12815dfecf96Smrg	mmix)
12825dfecf96Smrg		basic_machine=mmix-knuth
12835dfecf96Smrg		;;
12845dfecf96Smrg	rs6000)
12855dfecf96Smrg		basic_machine=rs6000-ibm
12865dfecf96Smrg		;;
12875dfecf96Smrg	vax)
12885dfecf96Smrg		basic_machine=vax-dec
12895dfecf96Smrg		;;
12905dfecf96Smrg	pdp10)
12915dfecf96Smrg		# there are many clones, so DEC is not a safe bet
12925dfecf96Smrg		basic_machine=pdp10-unknown
12935dfecf96Smrg		;;
12945dfecf96Smrg	pdp11)
12955dfecf96Smrg		basic_machine=pdp11-dec
12965dfecf96Smrg		;;
12975dfecf96Smrg	we32k)
12985dfecf96Smrg		basic_machine=we32k-att
12995dfecf96Smrg		;;
1300c05e22d7Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
13015dfecf96Smrg		basic_machine=sh-unknown
13025dfecf96Smrg		;;
1303f14f4646Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
13045dfecf96Smrg		basic_machine=sparc-sun
13055dfecf96Smrg		;;
13065dfecf96Smrg	cydra)
13075dfecf96Smrg		basic_machine=cydra-cydrome
13085dfecf96Smrg		;;
13095dfecf96Smrg	orion)
13105dfecf96Smrg		basic_machine=orion-highlevel
13115dfecf96Smrg		;;
13125dfecf96Smrg	orion105)
13135dfecf96Smrg		basic_machine=clipper-highlevel
13145dfecf96Smrg		;;
13155dfecf96Smrg	mac | mpw | mac-mpw)
13165dfecf96Smrg		basic_machine=m68k-apple
13175dfecf96Smrg		;;
13185dfecf96Smrg	pmac | pmac-mpw)
13195dfecf96Smrg		basic_machine=powerpc-apple
13205dfecf96Smrg		;;
13215dfecf96Smrg	*-unknown)
13225dfecf96Smrg		# Make sure to match an already-canonicalized machine name.
13235dfecf96Smrg		;;
13245dfecf96Smrg	*)
13255dfecf96Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13265dfecf96Smrg		exit 1
13275dfecf96Smrg		;;
13285dfecf96Smrgesac
13295dfecf96Smrg
13305dfecf96Smrg# Here we canonicalize certain aliases for manufacturers.
13315dfecf96Smrgcase $basic_machine in
13325dfecf96Smrg	*-digital*)
13335dfecf96Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13345dfecf96Smrg		;;
13355dfecf96Smrg	*-commodore*)
13365dfecf96Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13375dfecf96Smrg		;;
13385dfecf96Smrg	*)
13395dfecf96Smrg		;;
13405dfecf96Smrgesac
13415dfecf96Smrg
13425dfecf96Smrg# Decode manufacturer-specific aliases for certain operating systems.
13435dfecf96Smrg
13445dfecf96Smrgif [ x"$os" != x"" ]
13455dfecf96Smrgthen
13465dfecf96Smrgcase $os in
134731de2854Smrg	# First match some system type aliases
134831de2854Smrg	# that might get confused with valid system types.
13495dfecf96Smrg	# -solaris* is a basic system type, with this one exception.
135031de2854Smrg	-auroraux)
135131de2854Smrg		os=-auroraux
1352c05e22d7Smrg		;;
13535dfecf96Smrg	-solaris1 | -solaris1.*)
13545dfecf96Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13555dfecf96Smrg		;;
13565dfecf96Smrg	-solaris)
13575dfecf96Smrg		os=-solaris2
13585dfecf96Smrg		;;
13595dfecf96Smrg	-svr4*)
13605dfecf96Smrg		os=-sysv4
13615dfecf96Smrg		;;
13625dfecf96Smrg	-unixware*)
13635dfecf96Smrg		os=-sysv4.2uw
13645dfecf96Smrg		;;
13655dfecf96Smrg	-gnu/linux*)
13665dfecf96Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13675dfecf96Smrg		;;
13685dfecf96Smrg	# First accept the basic system types.
13695dfecf96Smrg	# The portable systems comes first.
13705dfecf96Smrg	# Each alternative MUST END IN A *, to match a version number.
13715dfecf96Smrg	# -sysv* is not here because it comes later, after sysvr4.
13725dfecf96Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1373c05e22d7Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1374c05e22d7Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1375f765521fSmrg	      | -sym* | -kopensolaris* | -plan9* \
13765dfecf96Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1377c05e22d7Smrg	      | -aos* | -aros* \
13785dfecf96Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13795dfecf96Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1380f14f4646Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1381f765521fSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
13825dfecf96Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13835dfecf96Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13845dfecf96Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13855dfecf96Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1386c05e22d7Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
138731de2854Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1388f765521fSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1389f765521fSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1390f14f4646Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13915dfecf96Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13925dfecf96Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1393f765521fSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
13945dfecf96Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13955dfecf96Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13965dfecf96Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1397c05e22d7Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13985dfecf96Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13995dfecf96Smrg		;;
14005dfecf96Smrg	-qnx*)
14015dfecf96Smrg		case $basic_machine in
14025dfecf96Smrg		    x86-* | i*86-*)
14035dfecf96Smrg			;;
14045dfecf96Smrg		    *)
14055dfecf96Smrg			os=-nto$os
14065dfecf96Smrg			;;
14075dfecf96Smrg		esac
14085dfecf96Smrg		;;
14095dfecf96Smrg	-nto-qnx*)
14105dfecf96Smrg		;;
14115dfecf96Smrg	-nto*)
14125dfecf96Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
14135dfecf96Smrg		;;
14145dfecf96Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
14155dfecf96Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
14165dfecf96Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
14175dfecf96Smrg		;;
14185dfecf96Smrg	-mac*)
14195dfecf96Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14205dfecf96Smrg		;;
14215dfecf96Smrg	-linux-dietlibc)
14225dfecf96Smrg		os=-linux-dietlibc
14235dfecf96Smrg		;;
14245dfecf96Smrg	-linux*)
14255dfecf96Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14265dfecf96Smrg		;;
14275dfecf96Smrg	-sunos5*)
14285dfecf96Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14295dfecf96Smrg		;;
14305dfecf96Smrg	-sunos6*)
14315dfecf96Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14325dfecf96Smrg		;;
14335dfecf96Smrg	-opened*)
14345dfecf96Smrg		os=-openedition
14355dfecf96Smrg		;;
143631de2854Smrg	-os400*)
14375dfecf96Smrg		os=-os400
14385dfecf96Smrg		;;
14395dfecf96Smrg	-wince*)
14405dfecf96Smrg		os=-wince
14415dfecf96Smrg		;;
14425dfecf96Smrg	-osfrose*)
14435dfecf96Smrg		os=-osfrose
14445dfecf96Smrg		;;
14455dfecf96Smrg	-osf*)
14465dfecf96Smrg		os=-osf
14475dfecf96Smrg		;;
14485dfecf96Smrg	-utek*)
14495dfecf96Smrg		os=-bsd
14505dfecf96Smrg		;;
14515dfecf96Smrg	-dynix*)
14525dfecf96Smrg		os=-bsd
14535dfecf96Smrg		;;
14545dfecf96Smrg	-acis*)
14555dfecf96Smrg		os=-aos
14565dfecf96Smrg		;;
14575dfecf96Smrg	-atheos*)
14585dfecf96Smrg		os=-atheos
14595dfecf96Smrg		;;
14605dfecf96Smrg	-syllable*)
14615dfecf96Smrg		os=-syllable
14625dfecf96Smrg		;;
14635dfecf96Smrg	-386bsd)
14645dfecf96Smrg		os=-bsd
14655dfecf96Smrg		;;
14665dfecf96Smrg	-ctix* | -uts*)
14675dfecf96Smrg		os=-sysv
14685dfecf96Smrg		;;
14695dfecf96Smrg	-nova*)
14705dfecf96Smrg		os=-rtmk-nova
14715dfecf96Smrg		;;
14725dfecf96Smrg	-ns2 )
14735dfecf96Smrg		os=-nextstep2
14745dfecf96Smrg		;;
14755dfecf96Smrg	-nsk*)
14765dfecf96Smrg		os=-nsk
14775dfecf96Smrg		;;
14785dfecf96Smrg	# Preserve the version number of sinix5.
14795dfecf96Smrg	-sinix5.*)
14805dfecf96Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14815dfecf96Smrg		;;
14825dfecf96Smrg	-sinix*)
14835dfecf96Smrg		os=-sysv4
14845dfecf96Smrg		;;
148531de2854Smrg	-tpf*)
14865dfecf96Smrg		os=-tpf
14875dfecf96Smrg		;;
14885dfecf96Smrg	-triton*)
14895dfecf96Smrg		os=-sysv3
14905dfecf96Smrg		;;
14915dfecf96Smrg	-oss*)
14925dfecf96Smrg		os=-sysv3
14935dfecf96Smrg		;;
14945dfecf96Smrg	-svr4)
14955dfecf96Smrg		os=-sysv4
14965dfecf96Smrg		;;
14975dfecf96Smrg	-svr3)
14985dfecf96Smrg		os=-sysv3
14995dfecf96Smrg		;;
15005dfecf96Smrg	-sysvr4)
15015dfecf96Smrg		os=-sysv4
15025dfecf96Smrg		;;
15035dfecf96Smrg	# This must come after -sysvr4.
15045dfecf96Smrg	-sysv*)
15055dfecf96Smrg		;;
15065dfecf96Smrg	-ose*)
15075dfecf96Smrg		os=-ose
15085dfecf96Smrg		;;
15095dfecf96Smrg	-es1800*)
15105dfecf96Smrg		os=-ose
15115dfecf96Smrg		;;
15125dfecf96Smrg	-xenix)
15135dfecf96Smrg		os=-xenix
15145dfecf96Smrg		;;
15155dfecf96Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
15165dfecf96Smrg		os=-mint
15175dfecf96Smrg		;;
15185dfecf96Smrg	-aros*)
15195dfecf96Smrg		os=-aros
15205dfecf96Smrg		;;
15215dfecf96Smrg	-zvmoe)
15225dfecf96Smrg		os=-zvmoe
15235dfecf96Smrg		;;
1524c05e22d7Smrg	-dicos*)
1525c05e22d7Smrg		os=-dicos
1526c05e22d7Smrg		;;
152731de2854Smrg	-nacl*)
152831de2854Smrg		;;
15295dfecf96Smrg	-none)
15305dfecf96Smrg		;;
15315dfecf96Smrg	*)
15325dfecf96Smrg		# Get rid of the `-' at the beginning of $os.
15335dfecf96Smrg		os=`echo $os | sed 's/[^-]*-//'`
15345dfecf96Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15355dfecf96Smrg		exit 1
15365dfecf96Smrg		;;
15375dfecf96Smrgesac
15385dfecf96Smrgelse
15395dfecf96Smrg
15405dfecf96Smrg# Here we handle the default operating systems that come with various machines.
15415dfecf96Smrg# The value should be what the vendor currently ships out the door with their
15425dfecf96Smrg# machine or put another way, the most popular os provided with the machine.
15435dfecf96Smrg
15445dfecf96Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15455dfecf96Smrg# "-sun"), then you have to tell the case statement up towards the top
15465dfecf96Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15475dfecf96Smrg# will signal an error saying that MANUFACTURER isn't an operating
15485dfecf96Smrg# system, and we'll never get to this point.
15495dfecf96Smrg
15505dfecf96Smrgcase $basic_machine in
155131de2854Smrg	score-*)
1552f14f4646Smrg		os=-elf
1553f14f4646Smrg		;;
155431de2854Smrg	spu-*)
1555f14f4646Smrg		os=-elf
1556f14f4646Smrg		;;
15575dfecf96Smrg	*-acorn)
15585dfecf96Smrg		os=-riscix1.2
15595dfecf96Smrg		;;
15605dfecf96Smrg	arm*-rebel)
15615dfecf96Smrg		os=-linux
15625dfecf96Smrg		;;
15635dfecf96Smrg	arm*-semi)
15645dfecf96Smrg		os=-aout
15655dfecf96Smrg		;;
156631de2854Smrg	c4x-* | tic4x-*)
156731de2854Smrg		os=-coff
1568f14f4646Smrg		;;
1569f765521fSmrg	c8051-*)
1570f765521fSmrg		os=-elf
1571f765521fSmrg		;;
1572f765521fSmrg	hexagon-*)
1573f765521fSmrg		os=-elf
1574f765521fSmrg		;;
1575c05e22d7Smrg	tic54x-*)
1576c05e22d7Smrg		os=-coff
1577c05e22d7Smrg		;;
1578c05e22d7Smrg	tic55x-*)
1579c05e22d7Smrg		os=-coff
1580c05e22d7Smrg		;;
1581c05e22d7Smrg	tic6x-*)
1582c05e22d7Smrg		os=-coff
1583c05e22d7Smrg		;;
15845dfecf96Smrg	# This must come before the *-dec entry.
15855dfecf96Smrg	pdp10-*)
15865dfecf96Smrg		os=-tops20
15875dfecf96Smrg		;;
15885dfecf96Smrg	pdp11-*)
15895dfecf96Smrg		os=-none
15905dfecf96Smrg		;;
15915dfecf96Smrg	*-dec | vax-*)
15925dfecf96Smrg		os=-ultrix4.2
15935dfecf96Smrg		;;
15945dfecf96Smrg	m68*-apollo)
15955dfecf96Smrg		os=-domain
15965dfecf96Smrg		;;
15975dfecf96Smrg	i386-sun)
15985dfecf96Smrg		os=-sunos4.0.2
15995dfecf96Smrg		;;
16005dfecf96Smrg	m68000-sun)
16015dfecf96Smrg		os=-sunos3
16025dfecf96Smrg		;;
16035dfecf96Smrg	m68*-cisco)
16045dfecf96Smrg		os=-aout
16055dfecf96Smrg		;;
160631de2854Smrg	mep-*)
1607f14f4646Smrg		os=-elf
1608f14f4646Smrg		;;
16095dfecf96Smrg	mips*-cisco)
16105dfecf96Smrg		os=-elf
16115dfecf96Smrg		;;
16125dfecf96Smrg	mips*-*)
16135dfecf96Smrg		os=-elf
16145dfecf96Smrg		;;
1615f765521fSmrg	or1k-*)
1616f765521fSmrg		os=-elf
1617f765521fSmrg		;;
16185dfecf96Smrg	or32-*)
16195dfecf96Smrg		os=-coff
16205dfecf96Smrg		;;
16215dfecf96Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
16225dfecf96Smrg		os=-sysv3
16235dfecf96Smrg		;;
16245dfecf96Smrg	sparc-* | *-sun)
16255dfecf96Smrg		os=-sunos4.1.1
16265dfecf96Smrg		;;
16275dfecf96Smrg	*-be)
16285dfecf96Smrg		os=-beos
16295dfecf96Smrg		;;
16305dfecf96Smrg	*-haiku)
16315dfecf96Smrg		os=-haiku
16325dfecf96Smrg		;;
16335dfecf96Smrg	*-ibm)
16345dfecf96Smrg		os=-aix
16355dfecf96Smrg		;;
163631de2854Smrg	*-knuth)
16375dfecf96Smrg		os=-mmixware
16385dfecf96Smrg		;;
16395dfecf96Smrg	*-wec)
16405dfecf96Smrg		os=-proelf
16415dfecf96Smrg		;;
16425dfecf96Smrg	*-winbond)
16435dfecf96Smrg		os=-proelf
16445dfecf96Smrg		;;
16455dfecf96Smrg	*-oki)
16465dfecf96Smrg		os=-proelf
16475dfecf96Smrg		;;
16485dfecf96Smrg	*-hp)
16495dfecf96Smrg		os=-hpux
16505dfecf96Smrg		;;
16515dfecf96Smrg	*-hitachi)
16525dfecf96Smrg		os=-hiux
16535dfecf96Smrg		;;
16545dfecf96Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16555dfecf96Smrg		os=-sysv
16565dfecf96Smrg		;;
16575dfecf96Smrg	*-cbm)
16585dfecf96Smrg		os=-amigaos
16595dfecf96Smrg		;;
16605dfecf96Smrg	*-dg)
16615dfecf96Smrg		os=-dgux
16625dfecf96Smrg		;;
16635dfecf96Smrg	*-dolphin)
16645dfecf96Smrg		os=-sysv3
16655dfecf96Smrg		;;
16665dfecf96Smrg	m68k-ccur)
16675dfecf96Smrg		os=-rtu
16685dfecf96Smrg		;;
16695dfecf96Smrg	m88k-omron*)
16705dfecf96Smrg		os=-luna
16715dfecf96Smrg		;;
16725dfecf96Smrg	*-next )
16735dfecf96Smrg		os=-nextstep
16745dfecf96Smrg		;;
16755dfecf96Smrg	*-sequent)
16765dfecf96Smrg		os=-ptx
16775dfecf96Smrg		;;
16785dfecf96Smrg	*-crds)
16795dfecf96Smrg		os=-unos
16805dfecf96Smrg		;;
16815dfecf96Smrg	*-ns)
16825dfecf96Smrg		os=-genix
16835dfecf96Smrg		;;
16845dfecf96Smrg	i370-*)
16855dfecf96Smrg		os=-mvs
16865dfecf96Smrg		;;
16875dfecf96Smrg	*-next)
16885dfecf96Smrg		os=-nextstep3
16895dfecf96Smrg		;;
16905dfecf96Smrg	*-gould)
16915dfecf96Smrg		os=-sysv
16925dfecf96Smrg		;;
16935dfecf96Smrg	*-highlevel)
16945dfecf96Smrg		os=-bsd
16955dfecf96Smrg		;;
16965dfecf96Smrg	*-encore)
16975dfecf96Smrg		os=-bsd
16985dfecf96Smrg		;;
16995dfecf96Smrg	*-sgi)
17005dfecf96Smrg		os=-irix
17015dfecf96Smrg		;;
17025dfecf96Smrg	*-siemens)
17035dfecf96Smrg		os=-sysv4
17045dfecf96Smrg		;;
17055dfecf96Smrg	*-masscomp)
17065dfecf96Smrg		os=-rtu
17075dfecf96Smrg		;;
17085dfecf96Smrg	f30[01]-fujitsu | f700-fujitsu)
17095dfecf96Smrg		os=-uxpv
17105dfecf96Smrg		;;
17115dfecf96Smrg	*-rom68k)
17125dfecf96Smrg		os=-coff
17135dfecf96Smrg		;;
17145dfecf96Smrg	*-*bug)
17155dfecf96Smrg		os=-coff
17165dfecf96Smrg		;;
17175dfecf96Smrg	*-apple)
17185dfecf96Smrg		os=-macos
17195dfecf96Smrg		;;
17205dfecf96Smrg	*-atari*)
17215dfecf96Smrg		os=-mint
17225dfecf96Smrg		;;
17235dfecf96Smrg	*)
17245dfecf96Smrg		os=-none
17255dfecf96Smrg		;;
17265dfecf96Smrgesac
17275dfecf96Smrgfi
17285dfecf96Smrg
17295dfecf96Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17305dfecf96Smrg# manufacturer.  We pick the logical manufacturer.
17315dfecf96Smrgvendor=unknown
17325dfecf96Smrgcase $basic_machine in
17335dfecf96Smrg	*-unknown)
17345dfecf96Smrg		case $os in
17355dfecf96Smrg			-riscix*)
17365dfecf96Smrg				vendor=acorn
17375dfecf96Smrg				;;
17385dfecf96Smrg			-sunos*)
17395dfecf96Smrg				vendor=sun
17405dfecf96Smrg				;;
1741c05e22d7Smrg			-cnk*|-aix*)
17425dfecf96Smrg				vendor=ibm
17435dfecf96Smrg				;;
17445dfecf96Smrg			-beos*)
17455dfecf96Smrg				vendor=be
17465dfecf96Smrg				;;
17475dfecf96Smrg			-hpux*)
17485dfecf96Smrg				vendor=hp
17495dfecf96Smrg				;;
17505dfecf96Smrg			-mpeix*)
17515dfecf96Smrg				vendor=hp
17525dfecf96Smrg				;;
17535dfecf96Smrg			-hiux*)
17545dfecf96Smrg				vendor=hitachi
17555dfecf96Smrg				;;
17565dfecf96Smrg			-unos*)
17575dfecf96Smrg				vendor=crds
17585dfecf96Smrg				;;
17595dfecf96Smrg			-dgux*)
17605dfecf96Smrg				vendor=dg
17615dfecf96Smrg				;;
17625dfecf96Smrg			-luna*)
17635dfecf96Smrg				vendor=omron
17645dfecf96Smrg				;;
17655dfecf96Smrg			-genix*)
17665dfecf96Smrg				vendor=ns
17675dfecf96Smrg				;;
17685dfecf96Smrg			-mvs* | -opened*)
17695dfecf96Smrg				vendor=ibm
17705dfecf96Smrg				;;
17715dfecf96Smrg			-os400*)
17725dfecf96Smrg				vendor=ibm
17735dfecf96Smrg				;;
17745dfecf96Smrg			-ptx*)
17755dfecf96Smrg				vendor=sequent
17765dfecf96Smrg				;;
17775dfecf96Smrg			-tpf*)
17785dfecf96Smrg				vendor=ibm
17795dfecf96Smrg				;;
17805dfecf96Smrg			-vxsim* | -vxworks* | -windiss*)
17815dfecf96Smrg				vendor=wrs
17825dfecf96Smrg				;;
17835dfecf96Smrg			-aux*)
17845dfecf96Smrg				vendor=apple
17855dfecf96Smrg				;;
17865dfecf96Smrg			-hms*)
17875dfecf96Smrg				vendor=hitachi
17885dfecf96Smrg				;;
17895dfecf96Smrg			-mpw* | -macos*)
17905dfecf96Smrg				vendor=apple
17915dfecf96Smrg				;;
17925dfecf96Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17935dfecf96Smrg				vendor=atari
17945dfecf96Smrg				;;
17955dfecf96Smrg			-vos*)
17965dfecf96Smrg				vendor=stratus
17975dfecf96Smrg				;;
17985dfecf96Smrg		esac
17995dfecf96Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
18005dfecf96Smrg		;;
18015dfecf96Smrgesac
18025dfecf96Smrg
18035dfecf96Smrgecho $basic_machine$os
18045dfecf96Smrgexit
18055dfecf96Smrg
18065dfecf96Smrg# Local variables:
18075dfecf96Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
18085dfecf96Smrg# time-stamp-start: "timestamp='"
18095dfecf96Smrg# time-stamp-format: "%:y-%02m-%02d"
18105dfecf96Smrg# time-stamp-end: "'"
18115dfecf96Smrg# End:
1812