config.sub revision eaa3dbe0
1692f60a7Smrg#! /bin/sh
2692f60a7Smrg# Configuration validation subroutine script.
3692f60a7Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
43f6d0e1dSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5eaa3dbe0Smrg#   2011, 2012, 2013 Free Software Foundation, Inc.
6692f60a7Smrg
7eaa3dbe0Smrgtimestamp='2013-01-11'
8692f60a7Smrg
9eaa3dbe0Smrg# This file is free software; you can redistribute it and/or modify it
10eaa3dbe0Smrg# under the terms of the GNU General Public License as published by
11eaa3dbe0Smrg# the Free Software Foundation; either version 3 of the License, or
12692f60a7Smrg# (at your option) any later version.
13692f60a7Smrg#
14eaa3dbe0Smrg# This program is distributed in the hope that it will be useful, but
15eaa3dbe0Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16eaa3dbe0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17eaa3dbe0Smrg# General Public License for more details.
18692f60a7Smrg#
19692f60a7Smrg# You should have received a copy of the GNU General Public License
20eaa3dbe0Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
2154569438Smrg#
22692f60a7Smrg# As a special exception to the GNU General Public License, if you
23692f60a7Smrg# distribute this file as part of a program that contains a
24692f60a7Smrg# configuration script generated by Autoconf, you may include it under
25eaa3dbe0Smrg# the same distribution terms that you use for the rest of that
26eaa3dbe0Smrg# program.  This Exception is an additional permission under section 7
27eaa3dbe0Smrg# of the GNU General Public License, version 3 ("GPLv3").
28692f60a7Smrg
2954569438Smrg
30eaa3dbe0Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
31692f60a7Smrg#
32692f60a7Smrg# Configuration subroutine to validate and canonicalize a configuration type.
33692f60a7Smrg# Supply the specified configuration type as an argument.
34692f60a7Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
35692f60a7Smrg# Otherwise, we print the canonical config type on stdout and succeed.
36692f60a7Smrg
373f6d0e1dSmrg# You can get the latest version of this script from:
383f6d0e1dSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
393f6d0e1dSmrg
40692f60a7Smrg# This file is supposed to be the same for all GNU packages
41692f60a7Smrg# and recognize all the CPU types, system types and aliases
42692f60a7Smrg# that are meaningful with *any* GNU software.
43692f60a7Smrg# Each package is responsible for reporting which valid configurations
44692f60a7Smrg# it does not support.  The user should be able to distinguish
45692f60a7Smrg# a failure to support a valid configuration from a meaningless
46692f60a7Smrg# configuration.
47692f60a7Smrg
48692f60a7Smrg# The goal of this file is to map all the various variations of a given
49692f60a7Smrg# machine specification into a single specification in the form:
50692f60a7Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51692f60a7Smrg# or in some cases, the newer four-part form:
52692f60a7Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53692f60a7Smrg# It is wrong to echo any other type of specification.
54692f60a7Smrg
55692f60a7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
56692f60a7Smrg
57692f60a7Smrgusage="\
58692f60a7SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
59692f60a7Smrg       $0 [OPTION] ALIAS
60692f60a7Smrg
61692f60a7SmrgCanonicalize a configuration name.
62692f60a7Smrg
63692f60a7SmrgOperation modes:
64692f60a7Smrg  -h, --help         print this help, then exit
65692f60a7Smrg  -t, --time-stamp   print date of last modification, then exit
66692f60a7Smrg  -v, --version      print version number, then exit
67692f60a7Smrg
68692f60a7SmrgReport bugs and patches to <config-patches@gnu.org>."
69692f60a7Smrg
70692f60a7Smrgversion="\
71692f60a7SmrgGNU config.sub ($timestamp)
72692f60a7Smrg
733f6d0e1dSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
74eaa3dbe0Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
75eaa3dbe0Smrg2012, 2013 Free Software Foundation, Inc.
76692f60a7Smrg
77692f60a7SmrgThis is free software; see the source for copying conditions.  There is NO
78692f60a7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
79692f60a7Smrg
80692f60a7Smrghelp="
81692f60a7SmrgTry \`$me --help' for more information."
82692f60a7Smrg
83692f60a7Smrg# Parse command line
84692f60a7Smrgwhile test $# -gt 0 ; do
85692f60a7Smrg  case $1 in
86692f60a7Smrg    --time-stamp | --time* | -t )
8754569438Smrg       echo "$timestamp" ; exit ;;
88692f60a7Smrg    --version | -v )
8954569438Smrg       echo "$version" ; exit ;;
90692f60a7Smrg    --help | --h* | -h )
9154569438Smrg       echo "$usage"; exit ;;
92692f60a7Smrg    -- )     # Stop option processing
93692f60a7Smrg       shift; break ;;
94692f60a7Smrg    - )	# Use stdin as input.
95692f60a7Smrg       break ;;
96692f60a7Smrg    -* )
97692f60a7Smrg       echo "$me: invalid option $1$help"
98692f60a7Smrg       exit 1 ;;
99692f60a7Smrg
100692f60a7Smrg    *local*)
101692f60a7Smrg       # First pass through any local machine types.
102692f60a7Smrg       echo $1
10354569438Smrg       exit ;;
104692f60a7Smrg
105692f60a7Smrg    * )
106692f60a7Smrg       break ;;
107692f60a7Smrg  esac
108692f60a7Smrgdone
109692f60a7Smrg
110692f60a7Smrgcase $# in
111692f60a7Smrg 0) echo "$me: missing argument$help" >&2
112692f60a7Smrg    exit 1;;
113692f60a7Smrg 1) ;;
114692f60a7Smrg *) echo "$me: too many arguments$help" >&2
115692f60a7Smrg    exit 1;;
116692f60a7Smrgesac
117692f60a7Smrg
118692f60a7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119692f60a7Smrg# Here we must recognize all the valid KERNEL-OS combinations.
120692f60a7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
121692f60a7Smrgcase $maybe_os in
1223f6d0e1dSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
123eaa3dbe0Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1243f6d0e1dSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1253f6d0e1dSmrg  kopensolaris*-gnu* | \
12654569438Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
127692f60a7Smrg    os=-$maybe_os
128692f60a7Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
129692f60a7Smrg    ;;
130eaa3dbe0Smrg  android-linux)
131eaa3dbe0Smrg    os=-linux-android
132eaa3dbe0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
133eaa3dbe0Smrg    ;;
134692f60a7Smrg  *)
135692f60a7Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136692f60a7Smrg    if [ $basic_machine != $1 ]
137692f60a7Smrg    then os=`echo $1 | sed 's/.*-/-/'`
138692f60a7Smrg    else os=; fi
139692f60a7Smrg    ;;
140692f60a7Smrgesac
141692f60a7Smrg
142692f60a7Smrg### Let's recognize common machines as not being operating systems so
143692f60a7Smrg### that things like config.sub decstation-3100 work.  We also
144692f60a7Smrg### recognize some manufacturers as not being operating systems, so we
145692f60a7Smrg### can provide default operating systems below.
146692f60a7Smrgcase $os in
147692f60a7Smrg	-sun*os*)
148692f60a7Smrg		# Prevent following clause from handling this invalid input.
149692f60a7Smrg		;;
150692f60a7Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151692f60a7Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152692f60a7Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153692f60a7Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154692f60a7Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155692f60a7Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
156eaa3dbe0Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
157692f60a7Smrg		os=
158692f60a7Smrg		basic_machine=$1
159692f60a7Smrg		;;
1603f6d0e1dSmrg	-bluegene*)
1613f6d0e1dSmrg		os=-cnk
1623f6d0e1dSmrg		;;
163692f60a7Smrg	-sim | -cisco | -oki | -wec | -winbond)
164692f60a7Smrg		os=
165692f60a7Smrg		basic_machine=$1
166692f60a7Smrg		;;
167692f60a7Smrg	-scout)
168692f60a7Smrg		;;
169692f60a7Smrg	-wrs)
170692f60a7Smrg		os=-vxworks
171692f60a7Smrg		basic_machine=$1
172692f60a7Smrg		;;
173692f60a7Smrg	-chorusos*)
174692f60a7Smrg		os=-chorusos
175692f60a7Smrg		basic_machine=$1
176692f60a7Smrg		;;
1773f6d0e1dSmrg	-chorusrdb)
1783f6d0e1dSmrg		os=-chorusrdb
179692f60a7Smrg		basic_machine=$1
1803f6d0e1dSmrg		;;
181692f60a7Smrg	-hiux*)
182692f60a7Smrg		os=-hiuxwe2
183692f60a7Smrg		;;
18454569438Smrg	-sco6)
18554569438Smrg		os=-sco5v6
18654569438Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18754569438Smrg		;;
188692f60a7Smrg	-sco5)
189692f60a7Smrg		os=-sco3.2v5
190692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191692f60a7Smrg		;;
192692f60a7Smrg	-sco4)
193692f60a7Smrg		os=-sco3.2v4
194692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195692f60a7Smrg		;;
196692f60a7Smrg	-sco3.2.[4-9]*)
197692f60a7Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199692f60a7Smrg		;;
200692f60a7Smrg	-sco3.2v[4-9]*)
201692f60a7Smrg		# Don't forget version if it is 3.2v4 or newer.
202692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203692f60a7Smrg		;;
20454569438Smrg	-sco5v6*)
20554569438Smrg		# Don't forget version if it is 3.2v4 or newer.
20654569438Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20754569438Smrg		;;
208692f60a7Smrg	-sco*)
209692f60a7Smrg		os=-sco3.2v2
210692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211692f60a7Smrg		;;
212692f60a7Smrg	-udk*)
213692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214692f60a7Smrg		;;
215692f60a7Smrg	-isc)
216692f60a7Smrg		os=-isc2.2
217692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218692f60a7Smrg		;;
219692f60a7Smrg	-clix*)
220692f60a7Smrg		basic_machine=clipper-intergraph
221692f60a7Smrg		;;
222692f60a7Smrg	-isc*)
223692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
224692f60a7Smrg		;;
225eaa3dbe0Smrg	-lynx*178)
226eaa3dbe0Smrg		os=-lynxos178
227eaa3dbe0Smrg		;;
228eaa3dbe0Smrg	-lynx*5)
229eaa3dbe0Smrg		os=-lynxos5
230eaa3dbe0Smrg		;;
231692f60a7Smrg	-lynx*)
232692f60a7Smrg		os=-lynxos
233692f60a7Smrg		;;
234692f60a7Smrg	-ptx*)
235692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
236692f60a7Smrg		;;
237692f60a7Smrg	-windowsnt*)
238692f60a7Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
239692f60a7Smrg		;;
240692f60a7Smrg	-psos*)
241692f60a7Smrg		os=-psos
242692f60a7Smrg		;;
243692f60a7Smrg	-mint | -mint[0-9]*)
244692f60a7Smrg		basic_machine=m68k-atari
245692f60a7Smrg		os=-mint
246692f60a7Smrg		;;
247692f60a7Smrgesac
248692f60a7Smrg
249692f60a7Smrg# Decode aliases for certain CPU-COMPANY combinations.
250692f60a7Smrgcase $basic_machine in
251692f60a7Smrg	# Recognize the basic CPU types without company name.
252692f60a7Smrg	# Some are omitted here because they have special meanings below.
253692f60a7Smrg	1750a | 580 \
254692f60a7Smrg	| a29k \
255eaa3dbe0Smrg	| aarch64 | aarch64_be \
256692f60a7Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
257692f60a7Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25854569438Smrg	| am33_2.0 \
259eaa3dbe0Smrg	| arc \
260eaa3dbe0Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
261eaa3dbe0Smrg	| avr | avr32 \
262eaa3dbe0Smrg	| be32 | be64 \
26354569438Smrg	| bfin \
264692f60a7Smrg	| c4x | clipper \
265eaa3dbe0Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
2663f6d0e1dSmrg	| epiphany \
26754569438Smrg	| fido | fr30 | frv \
268692f60a7Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2693f6d0e1dSmrg	| hexagon \
270692f60a7Smrg	| i370 | i860 | i960 | ia64 \
27154569438Smrg	| ip2k | iq2000 \
2723f6d0e1dSmrg	| le32 | le64 \
2733f6d0e1dSmrg	| lm32 \
27454569438Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
275eaa3dbe0Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
276692f60a7Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
277692f60a7Smrg	| mips16 \
278692f60a7Smrg	| mips64 | mips64el \
2793f6d0e1dSmrg	| mips64octeon | mips64octeonel \
2802e71ea71Smrg	| mips64orion | mips64orionel \
2813f6d0e1dSmrg	| mips64r5900 | mips64r5900el \
2823f6d0e1dSmrg	| mips64vr | mips64vrel \
283692f60a7Smrg	| mips64vr4100 | mips64vr4100el \
284692f60a7Smrg	| mips64vr4300 | mips64vr4300el \
285692f60a7Smrg	| mips64vr5000 | mips64vr5000el \
28654569438Smrg	| mips64vr5900 | mips64vr5900el \
287692f60a7Smrg	| mipsisa32 | mipsisa32el \
288692f60a7Smrg	| mipsisa32r2 | mipsisa32r2el \
289692f60a7Smrg	| mipsisa64 | mipsisa64el \
29054569438Smrg	| mipsisa64r2 | mipsisa64r2el \
291692f60a7Smrg	| mipsisa64sb1 | mipsisa64sb1el \
292692f60a7Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
293eaa3dbe0Smrg	| mipsr5900 | mipsr5900el \
294692f60a7Smrg	| mipstx39 | mipstx39el \
295692f60a7Smrg	| mn10200 | mn10300 \
2963f6d0e1dSmrg	| moxie \
29754569438Smrg	| mt \
298692f60a7Smrg	| msp430 \
2993f6d0e1dSmrg	| nds32 | nds32le | nds32be \
30054569438Smrg	| nios | nios2 \
301692f60a7Smrg	| ns16k | ns32k \
3023f6d0e1dSmrg	| open8 \
30354569438Smrg	| or32 \
304692f60a7Smrg	| pdp10 | pdp11 | pj | pjl \
3053f6d0e1dSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
306692f60a7Smrg	| pyramid \
3073f6d0e1dSmrg	| rl78 | rx \
30854569438Smrg	| score \
3093f6d0e1dSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310692f60a7Smrg	| sh64 | sh64le \
31154569438Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
31254569438Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3133f6d0e1dSmrg	| spu \
3143f6d0e1dSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3153f6d0e1dSmrg	| ubicom32 \
3163f6d0e1dSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317692f60a7Smrg	| we32k \
3183f6d0e1dSmrg	| x86 | xc16x | xstormy16 | xtensa \
3193f6d0e1dSmrg	| z8k | z80)
320692f60a7Smrg		basic_machine=$basic_machine-unknown
321692f60a7Smrg		;;
3223f6d0e1dSmrg	c54x)
3233f6d0e1dSmrg		basic_machine=tic54x-unknown
3243f6d0e1dSmrg		;;
3253f6d0e1dSmrg	c55x)
3263f6d0e1dSmrg		basic_machine=tic55x-unknown
3273f6d0e1dSmrg		;;
3283f6d0e1dSmrg	c6x)
3293f6d0e1dSmrg		basic_machine=tic6x-unknown
3303f6d0e1dSmrg		;;
331eaa3dbe0Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
332692f60a7Smrg		basic_machine=$basic_machine-unknown
333692f60a7Smrg		os=-none
334692f60a7Smrg		;;
335692f60a7Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
336692f60a7Smrg		;;
33754569438Smrg	ms1)
33854569438Smrg		basic_machine=mt-unknown
33954569438Smrg		;;
340692f60a7Smrg
3413f6d0e1dSmrg	strongarm | thumb | xscale)
3423f6d0e1dSmrg		basic_machine=arm-unknown
3433f6d0e1dSmrg		;;
344eaa3dbe0Smrg	xgate)
345eaa3dbe0Smrg		basic_machine=$basic_machine-unknown
346eaa3dbe0Smrg		os=-none
347eaa3dbe0Smrg		;;
3483f6d0e1dSmrg	xscaleeb)
3493f6d0e1dSmrg		basic_machine=armeb-unknown
3503f6d0e1dSmrg		;;
3513f6d0e1dSmrg
3523f6d0e1dSmrg	xscaleel)
3533f6d0e1dSmrg		basic_machine=armel-unknown
3543f6d0e1dSmrg		;;
3553f6d0e1dSmrg
356692f60a7Smrg	# We use `pc' rather than `unknown'
357692f60a7Smrg	# because (1) that's what they normally are, and
358692f60a7Smrg	# (2) the word "unknown" tends to confuse beginning users.
359692f60a7Smrg	i*86 | x86_64)
360692f60a7Smrg	  basic_machine=$basic_machine-pc
361692f60a7Smrg	  ;;
362692f60a7Smrg	# Object if more than one company name word.
363692f60a7Smrg	*-*-*)
364692f60a7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
365692f60a7Smrg		exit 1
366692f60a7Smrg		;;
367692f60a7Smrg	# Recognize the basic CPU types with company name.
368692f60a7Smrg	580-* \
369692f60a7Smrg	| a29k-* \
370eaa3dbe0Smrg	| aarch64-* | aarch64_be-* \
371692f60a7Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372692f60a7Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373692f60a7Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374692f60a7Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37554569438Smrg	| avr-* | avr32-* \
3763f6d0e1dSmrg	| be32-* | be64-* \
37754569438Smrg	| bfin-* | bs2000-* \
3783f6d0e1dSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
37954569438Smrg	| clipper-* | craynv-* | cydra-* \
380692f60a7Smrg	| d10v-* | d30v-* | dlx-* \
381692f60a7Smrg	| elxsi-* \
38254569438Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383692f60a7Smrg	| h8300-* | h8500-* \
384692f60a7Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3853f6d0e1dSmrg	| hexagon-* \
386692f60a7Smrg	| i*86-* | i860-* | i960-* | ia64-* \
38754569438Smrg	| ip2k-* | iq2000-* \
3883f6d0e1dSmrg	| le32-* | le64-* \
3893f6d0e1dSmrg	| lm32-* \
39054569438Smrg	| m32c-* | m32r-* | m32rle-* \
391692f60a7Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392eaa3dbe0Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
393eaa3dbe0Smrg	| microblaze-* | microblazeel-* \
394692f60a7Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
395692f60a7Smrg	| mips16-* \
396692f60a7Smrg	| mips64-* | mips64el-* \
3973f6d0e1dSmrg	| mips64octeon-* | mips64octeonel-* \
3982e71ea71Smrg	| mips64orion-* | mips64orionel-* \
3993f6d0e1dSmrg	| mips64r5900-* | mips64r5900el-* \
4003f6d0e1dSmrg	| mips64vr-* | mips64vrel-* \
401692f60a7Smrg	| mips64vr4100-* | mips64vr4100el-* \
402692f60a7Smrg	| mips64vr4300-* | mips64vr4300el-* \
403692f60a7Smrg	| mips64vr5000-* | mips64vr5000el-* \
40454569438Smrg	| mips64vr5900-* | mips64vr5900el-* \
405692f60a7Smrg	| mipsisa32-* | mipsisa32el-* \
406692f60a7Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
407692f60a7Smrg	| mipsisa64-* | mipsisa64el-* \
40854569438Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
409692f60a7Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
410692f60a7Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
411eaa3dbe0Smrg	| mipsr5900-* | mipsr5900el-* \
412692f60a7Smrg	| mipstx39-* | mipstx39el-* \
41354569438Smrg	| mmix-* \
41454569438Smrg	| mt-* \
415692f60a7Smrg	| msp430-* \
4163f6d0e1dSmrg	| nds32-* | nds32le-* | nds32be-* \
41754569438Smrg	| nios-* | nios2-* \
41854569438Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4193f6d0e1dSmrg	| open8-* \
420692f60a7Smrg	| orion-* \
421692f60a7Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4223f6d0e1dSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
423692f60a7Smrg	| pyramid-* \
4243f6d0e1dSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4253f6d0e1dSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
426692f60a7Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42754569438Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
42854569438Smrg	| sparclite-* \
4293f6d0e1dSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4303f6d0e1dSmrg	| tahoe-* \
4312e71ea71Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4323f6d0e1dSmrg	| tile*-* \
433692f60a7Smrg	| tron-* \
4343f6d0e1dSmrg	| ubicom32-* \
4353f6d0e1dSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4363f6d0e1dSmrg	| vax-* \
437692f60a7Smrg	| we32k-* \
4383f6d0e1dSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43954569438Smrg	| xstormy16-* | xtensa*-* \
440692f60a7Smrg	| ymp-* \
4413f6d0e1dSmrg	| z8k-* | z80-*)
442692f60a7Smrg		;;
44354569438Smrg	# Recognize the basic CPU types without company name, with glob match.
44454569438Smrg	xtensa*)
44554569438Smrg		basic_machine=$basic_machine-unknown
44654569438Smrg		;;
447692f60a7Smrg	# Recognize the various machine names and aliases which stand
448692f60a7Smrg	# for a CPU type and a company and sometimes even an OS.
449692f60a7Smrg	386bsd)
450692f60a7Smrg		basic_machine=i386-unknown
451692f60a7Smrg		os=-bsd
452692f60a7Smrg		;;
453692f60a7Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
454692f60a7Smrg		basic_machine=m68000-att
455692f60a7Smrg		;;
456692f60a7Smrg	3b*)
457692f60a7Smrg		basic_machine=we32k-att
458692f60a7Smrg		;;
459692f60a7Smrg	a29khif)
460692f60a7Smrg		basic_machine=a29k-amd
461692f60a7Smrg		os=-udi
462692f60a7Smrg		;;
4633f6d0e1dSmrg	abacus)
46454569438Smrg		basic_machine=abacus-unknown
46554569438Smrg		;;
466692f60a7Smrg	adobe68k)
467692f60a7Smrg		basic_machine=m68010-adobe
468692f60a7Smrg		os=-scout
469692f60a7Smrg		;;
470692f60a7Smrg	alliant | fx80)
471692f60a7Smrg		basic_machine=fx80-alliant
472692f60a7Smrg		;;
473692f60a7Smrg	altos | altos3068)
474692f60a7Smrg		basic_machine=m68k-altos
475692f60a7Smrg		;;
476692f60a7Smrg	am29k)
477692f60a7Smrg		basic_machine=a29k-none
478692f60a7Smrg		os=-bsd
479692f60a7Smrg		;;
480692f60a7Smrg	amd64)
481692f60a7Smrg		basic_machine=x86_64-pc
482692f60a7Smrg		;;
48354569438Smrg	amd64-*)
48454569438Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
48554569438Smrg		;;
486692f60a7Smrg	amdahl)
487692f60a7Smrg		basic_machine=580-amdahl
488692f60a7Smrg		os=-sysv
489692f60a7Smrg		;;
490692f60a7Smrg	amiga | amiga-*)
491692f60a7Smrg		basic_machine=m68k-unknown
492692f60a7Smrg		;;
493692f60a7Smrg	amigaos | amigados)
494692f60a7Smrg		basic_machine=m68k-unknown
495692f60a7Smrg		os=-amigaos
496692f60a7Smrg		;;
497692f60a7Smrg	amigaunix | amix)
498692f60a7Smrg		basic_machine=m68k-unknown
499692f60a7Smrg		os=-sysv4
500692f60a7Smrg		;;
501692f60a7Smrg	apollo68)
502692f60a7Smrg		basic_machine=m68k-apollo
503692f60a7Smrg		os=-sysv
504692f60a7Smrg		;;
505692f60a7Smrg	apollo68bsd)
506692f60a7Smrg		basic_machine=m68k-apollo
507692f60a7Smrg		os=-bsd
508692f60a7Smrg		;;
5093f6d0e1dSmrg	aros)
5103f6d0e1dSmrg		basic_machine=i386-pc
5113f6d0e1dSmrg		os=-aros
5123f6d0e1dSmrg		;;
513692f60a7Smrg	aux)
514692f60a7Smrg		basic_machine=m68k-apple
515692f60a7Smrg		os=-aux
516692f60a7Smrg		;;
517692f60a7Smrg	balance)
518692f60a7Smrg		basic_machine=ns32k-sequent
519692f60a7Smrg		os=-dynix
520692f60a7Smrg		;;
52154569438Smrg	blackfin)
52254569438Smrg		basic_machine=bfin-unknown
52354569438Smrg		os=-linux
52454569438Smrg		;;
52554569438Smrg	blackfin-*)
52654569438Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52754569438Smrg		os=-linux
52854569438Smrg		;;
5293f6d0e1dSmrg	bluegene*)
5303f6d0e1dSmrg		basic_machine=powerpc-ibm
5313f6d0e1dSmrg		os=-cnk
5323f6d0e1dSmrg		;;
5333f6d0e1dSmrg	c54x-*)
5343f6d0e1dSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5353f6d0e1dSmrg		;;
5363f6d0e1dSmrg	c55x-*)
5373f6d0e1dSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5383f6d0e1dSmrg		;;
5393f6d0e1dSmrg	c6x-*)
5403f6d0e1dSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5413f6d0e1dSmrg		;;
542692f60a7Smrg	c90)
543692f60a7Smrg		basic_machine=c90-cray
544692f60a7Smrg		os=-unicos
545692f60a7Smrg		;;
5463f6d0e1dSmrg	cegcc)
5473f6d0e1dSmrg		basic_machine=arm-unknown
5483f6d0e1dSmrg		os=-cegcc
5493f6d0e1dSmrg		;;
550692f60a7Smrg	convex-c1)
551692f60a7Smrg		basic_machine=c1-convex
552692f60a7Smrg		os=-bsd
553692f60a7Smrg		;;
554692f60a7Smrg	convex-c2)
555692f60a7Smrg		basic_machine=c2-convex
556692f60a7Smrg		os=-bsd
557692f60a7Smrg		;;
558692f60a7Smrg	convex-c32)
559692f60a7Smrg		basic_machine=c32-convex
560692f60a7Smrg		os=-bsd
561692f60a7Smrg		;;
562692f60a7Smrg	convex-c34)
563692f60a7Smrg		basic_machine=c34-convex
564692f60a7Smrg		os=-bsd
565692f60a7Smrg		;;
566692f60a7Smrg	convex-c38)
567692f60a7Smrg		basic_machine=c38-convex
568692f60a7Smrg		os=-bsd
569692f60a7Smrg		;;
570692f60a7Smrg	cray | j90)
571692f60a7Smrg		basic_machine=j90-cray
572692f60a7Smrg		os=-unicos
573692f60a7Smrg		;;
57454569438Smrg	craynv)
57554569438Smrg		basic_machine=craynv-cray
57654569438Smrg		os=-unicosmp
57754569438Smrg		;;
5783f6d0e1dSmrg	cr16 | cr16-*)
57954569438Smrg		basic_machine=cr16-unknown
58054569438Smrg		os=-elf
58154569438Smrg		;;
582692f60a7Smrg	crds | unos)
583692f60a7Smrg		basic_machine=m68k-crds
584692f60a7Smrg		;;
58554569438Smrg	crisv32 | crisv32-* | etraxfs*)
58654569438Smrg		basic_machine=crisv32-axis
58754569438Smrg		;;
588692f60a7Smrg	cris | cris-* | etrax*)
589692f60a7Smrg		basic_machine=cris-axis
590692f60a7Smrg		;;
59154569438Smrg	crx)
59254569438Smrg		basic_machine=crx-unknown
59354569438Smrg		os=-elf
59454569438Smrg		;;
595692f60a7Smrg	da30 | da30-*)
596692f60a7Smrg		basic_machine=m68k-da30
597692f60a7Smrg		;;
598692f60a7Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
599692f60a7Smrg		basic_machine=mips-dec
600692f60a7Smrg		;;
601692f60a7Smrg	decsystem10* | dec10*)
602692f60a7Smrg		basic_machine=pdp10-dec
603692f60a7Smrg		os=-tops10
604692f60a7Smrg		;;
605692f60a7Smrg	decsystem20* | dec20*)
606692f60a7Smrg		basic_machine=pdp10-dec
607692f60a7Smrg		os=-tops20
608692f60a7Smrg		;;
609692f60a7Smrg	delta | 3300 | motorola-3300 | motorola-delta \
610692f60a7Smrg	      | 3300-motorola | delta-motorola)
611692f60a7Smrg		basic_machine=m68k-motorola
612692f60a7Smrg		;;
613692f60a7Smrg	delta88)
614692f60a7Smrg		basic_machine=m88k-motorola
615692f60a7Smrg		os=-sysv3
616692f60a7Smrg		;;
6173f6d0e1dSmrg	dicos)
6183f6d0e1dSmrg		basic_machine=i686-pc
6193f6d0e1dSmrg		os=-dicos
6203f6d0e1dSmrg		;;
62154569438Smrg	djgpp)
62254569438Smrg		basic_machine=i586-pc
62354569438Smrg		os=-msdosdjgpp
62454569438Smrg		;;
625692f60a7Smrg	dpx20 | dpx20-*)
626692f60a7Smrg		basic_machine=rs6000-bull
627692f60a7Smrg		os=-bosx
628692f60a7Smrg		;;
629692f60a7Smrg	dpx2* | dpx2*-bull)
630692f60a7Smrg		basic_machine=m68k-bull
631692f60a7Smrg		os=-sysv3
632692f60a7Smrg		;;
633692f60a7Smrg	ebmon29k)
634692f60a7Smrg		basic_machine=a29k-amd
635692f60a7Smrg		os=-ebmon
636692f60a7Smrg		;;
637692f60a7Smrg	elxsi)
638692f60a7Smrg		basic_machine=elxsi-elxsi
639692f60a7Smrg		os=-bsd
640692f60a7Smrg		;;
641692f60a7Smrg	encore | umax | mmax)
642692f60a7Smrg		basic_machine=ns32k-encore
643692f60a7Smrg		;;
644692f60a7Smrg	es1800 | OSE68k | ose68k | ose | OSE)
645692f60a7Smrg		basic_machine=m68k-ericsson
646692f60a7Smrg		os=-ose
647692f60a7Smrg		;;
648692f60a7Smrg	fx2800)
649692f60a7Smrg		basic_machine=i860-alliant
650692f60a7Smrg		;;
651692f60a7Smrg	genix)
652692f60a7Smrg		basic_machine=ns32k-ns
653692f60a7Smrg		;;
654692f60a7Smrg	gmicro)
655692f60a7Smrg		basic_machine=tron-gmicro
656692f60a7Smrg		os=-sysv
657692f60a7Smrg		;;
658692f60a7Smrg	go32)
659692f60a7Smrg		basic_machine=i386-pc
660692f60a7Smrg		os=-go32
661692f60a7Smrg		;;
662692f60a7Smrg	h3050r* | hiux*)
663692f60a7Smrg		basic_machine=hppa1.1-hitachi
664692f60a7Smrg		os=-hiuxwe2
665692f60a7Smrg		;;
666692f60a7Smrg	h8300hms)
667692f60a7Smrg		basic_machine=h8300-hitachi
668692f60a7Smrg		os=-hms
669692f60a7Smrg		;;
670692f60a7Smrg	h8300xray)
671692f60a7Smrg		basic_machine=h8300-hitachi
672692f60a7Smrg		os=-xray
673692f60a7Smrg		;;
674692f60a7Smrg	h8500hms)
675692f60a7Smrg		basic_machine=h8500-hitachi
676692f60a7Smrg		os=-hms
677692f60a7Smrg		;;
678692f60a7Smrg	harris)
679692f60a7Smrg		basic_machine=m88k-harris
680692f60a7Smrg		os=-sysv3
681692f60a7Smrg		;;
682692f60a7Smrg	hp300-*)
683692f60a7Smrg		basic_machine=m68k-hp
684692f60a7Smrg		;;
685692f60a7Smrg	hp300bsd)
686692f60a7Smrg		basic_machine=m68k-hp
687692f60a7Smrg		os=-bsd
688692f60a7Smrg		;;
689692f60a7Smrg	hp300hpux)
690692f60a7Smrg		basic_machine=m68k-hp
691692f60a7Smrg		os=-hpux
692692f60a7Smrg		;;
693692f60a7Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
694692f60a7Smrg		basic_machine=hppa1.0-hp
695692f60a7Smrg		;;
696692f60a7Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
697692f60a7Smrg		basic_machine=m68000-hp
698692f60a7Smrg		;;
699692f60a7Smrg	hp9k3[2-9][0-9])
700692f60a7Smrg		basic_machine=m68k-hp
701692f60a7Smrg		;;
702692f60a7Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
703692f60a7Smrg		basic_machine=hppa1.0-hp
704692f60a7Smrg		;;
705692f60a7Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
706692f60a7Smrg		basic_machine=hppa1.1-hp
707692f60a7Smrg		;;
708692f60a7Smrg	hp9k78[0-9] | hp78[0-9])
709692f60a7Smrg		# FIXME: really hppa2.0-hp
710692f60a7Smrg		basic_machine=hppa1.1-hp
711692f60a7Smrg		;;
712692f60a7Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
713692f60a7Smrg		# FIXME: really hppa2.0-hp
714692f60a7Smrg		basic_machine=hppa1.1-hp
715692f60a7Smrg		;;
716692f60a7Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
717692f60a7Smrg		basic_machine=hppa1.1-hp
718692f60a7Smrg		;;
719692f60a7Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
720692f60a7Smrg		basic_machine=hppa1.0-hp
721692f60a7Smrg		;;
722692f60a7Smrg	hppa-next)
723692f60a7Smrg		os=-nextstep3
724692f60a7Smrg		;;
725692f60a7Smrg	hppaosf)
726692f60a7Smrg		basic_machine=hppa1.1-hp
727692f60a7Smrg		os=-osf
728692f60a7Smrg		;;
729692f60a7Smrg	hppro)
730692f60a7Smrg		basic_machine=hppa1.1-hp
731692f60a7Smrg		os=-proelf
732692f60a7Smrg		;;
733692f60a7Smrg	i370-ibm* | ibm*)
734692f60a7Smrg		basic_machine=i370-ibm
735692f60a7Smrg		;;
736692f60a7Smrg	i*86v32)
737692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
738692f60a7Smrg		os=-sysv32
739692f60a7Smrg		;;
740692f60a7Smrg	i*86v4*)
741692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
742692f60a7Smrg		os=-sysv4
743692f60a7Smrg		;;
744692f60a7Smrg	i*86v)
745692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
746692f60a7Smrg		os=-sysv
747692f60a7Smrg		;;
748692f60a7Smrg	i*86sol2)
749692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
750692f60a7Smrg		os=-solaris2
751692f60a7Smrg		;;
752692f60a7Smrg	i386mach)
753692f60a7Smrg		basic_machine=i386-mach
754692f60a7Smrg		os=-mach
755692f60a7Smrg		;;
756692f60a7Smrg	i386-vsta | vsta)
757692f60a7Smrg		basic_machine=i386-unknown
758692f60a7Smrg		os=-vsta
759692f60a7Smrg		;;
760692f60a7Smrg	iris | iris4d)
761692f60a7Smrg		basic_machine=mips-sgi
762692f60a7Smrg		case $os in
763692f60a7Smrg		    -irix*)
764692f60a7Smrg			;;
765692f60a7Smrg		    *)
766692f60a7Smrg			os=-irix4
767692f60a7Smrg			;;
768692f60a7Smrg		esac
769692f60a7Smrg		;;
770692f60a7Smrg	isi68 | isi)
771692f60a7Smrg		basic_machine=m68k-isi
772692f60a7Smrg		os=-sysv
773692f60a7Smrg		;;
77454569438Smrg	m68knommu)
77554569438Smrg		basic_machine=m68k-unknown
77654569438Smrg		os=-linux
77754569438Smrg		;;
77854569438Smrg	m68knommu-*)
77954569438Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
78054569438Smrg		os=-linux
78154569438Smrg		;;
782692f60a7Smrg	m88k-omron*)
783692f60a7Smrg		basic_machine=m88k-omron
784692f60a7Smrg		;;
785692f60a7Smrg	magnum | m3230)
786692f60a7Smrg		basic_machine=mips-mips
787692f60a7Smrg		os=-sysv
788692f60a7Smrg		;;
789692f60a7Smrg	merlin)
790692f60a7Smrg		basic_machine=ns32k-utek
791692f60a7Smrg		os=-sysv
792692f60a7Smrg		;;
793eaa3dbe0Smrg	microblaze*)
7943f6d0e1dSmrg		basic_machine=microblaze-xilinx
7953f6d0e1dSmrg		;;
796eaa3dbe0Smrg	mingw64)
797eaa3dbe0Smrg		basic_machine=x86_64-pc
798eaa3dbe0Smrg		os=-mingw64
799eaa3dbe0Smrg		;;
800692f60a7Smrg	mingw32)
801692f60a7Smrg		basic_machine=i386-pc
802692f60a7Smrg		os=-mingw32
803692f60a7Smrg		;;
80454569438Smrg	mingw32ce)
80554569438Smrg		basic_machine=arm-unknown
80654569438Smrg		os=-mingw32ce
80754569438Smrg		;;
808692f60a7Smrg	miniframe)
809692f60a7Smrg		basic_machine=m68000-convergent
810692f60a7Smrg		;;
811692f60a7Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
812692f60a7Smrg		basic_machine=m68k-atari
813692f60a7Smrg		os=-mint
814692f60a7Smrg		;;
815eaa3dbe0Smrg	mipsEE* | ee | ps2)
816eaa3dbe0Smrg		basic_machine=mips64r5900el-scei
817eaa3dbe0Smrg		case $os in
818eaa3dbe0Smrg		    -linux*)
819eaa3dbe0Smrg			;;
820eaa3dbe0Smrg		    *)
821eaa3dbe0Smrg			os=-elf
822eaa3dbe0Smrg			;;
823eaa3dbe0Smrg		esac
824eaa3dbe0Smrg		;;
825eaa3dbe0Smrg	iop)
826eaa3dbe0Smrg		basic_machine=mipsel-scei
827eaa3dbe0Smrg		os=-irx
828eaa3dbe0Smrg		;;
829eaa3dbe0Smrg	dvp)
830eaa3dbe0Smrg		basic_machine=dvp-scei
831eaa3dbe0Smrg		os=-elf
832eaa3dbe0Smrg		;;
833692f60a7Smrg	mips3*-*)
834692f60a7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
835692f60a7Smrg		;;
836692f60a7Smrg	mips3*)
837692f60a7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
838692f60a7Smrg		;;
839692f60a7Smrg	monitor)
840692f60a7Smrg		basic_machine=m68k-rom68k
841692f60a7Smrg		os=-coff
842692f60a7Smrg		;;
843692f60a7Smrg	morphos)
844692f60a7Smrg		basic_machine=powerpc-unknown
845692f60a7Smrg		os=-morphos
846692f60a7Smrg		;;
847692f60a7Smrg	msdos)
848692f60a7Smrg		basic_machine=i386-pc
849692f60a7Smrg		os=-msdos
850692f60a7Smrg		;;
85154569438Smrg	ms1-*)
85254569438Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
85354569438Smrg		;;
8543f6d0e1dSmrg	msys)
8553f6d0e1dSmrg		basic_machine=i386-pc
8563f6d0e1dSmrg		os=-msys
8573f6d0e1dSmrg		;;
858692f60a7Smrg	mvs)
859692f60a7Smrg		basic_machine=i370-ibm
860692f60a7Smrg		os=-mvs
861692f60a7Smrg		;;
8623f6d0e1dSmrg	nacl)
8633f6d0e1dSmrg		basic_machine=le32-unknown
8643f6d0e1dSmrg		os=-nacl
8653f6d0e1dSmrg		;;
866692f60a7Smrg	ncr3000)
867692f60a7Smrg		basic_machine=i486-ncr
868692f60a7Smrg		os=-sysv4
869692f60a7Smrg		;;
870692f60a7Smrg	netbsd386)
871692f60a7Smrg		basic_machine=i386-unknown
872692f60a7Smrg		os=-netbsd
873692f60a7Smrg		;;
874692f60a7Smrg	netwinder)
875692f60a7Smrg		basic_machine=armv4l-rebel
876692f60a7Smrg		os=-linux
877692f60a7Smrg		;;
878692f60a7Smrg	news | news700 | news800 | news900)
879692f60a7Smrg		basic_machine=m68k-sony
880692f60a7Smrg		os=-newsos
881692f60a7Smrg		;;
882692f60a7Smrg	news1000)
883692f60a7Smrg		basic_machine=m68030-sony
884692f60a7Smrg		os=-newsos
885692f60a7Smrg		;;
886692f60a7Smrg	news-3600 | risc-news)
887692f60a7Smrg		basic_machine=mips-sony
888692f60a7Smrg		os=-newsos
889692f60a7Smrg		;;
890692f60a7Smrg	necv70)
891692f60a7Smrg		basic_machine=v70-nec
892692f60a7Smrg		os=-sysv
893692f60a7Smrg		;;
894692f60a7Smrg	next | m*-next )
895692f60a7Smrg		basic_machine=m68k-next
896692f60a7Smrg		case $os in
897692f60a7Smrg		    -nextstep* )
898692f60a7Smrg			;;
899692f60a7Smrg		    -ns2*)
900692f60a7Smrg		      os=-nextstep2
901692f60a7Smrg			;;
902692f60a7Smrg		    *)
903692f60a7Smrg		      os=-nextstep3
904692f60a7Smrg			;;
905692f60a7Smrg		esac
906692f60a7Smrg		;;
907692f60a7Smrg	nh3000)
908692f60a7Smrg		basic_machine=m68k-harris
909692f60a7Smrg		os=-cxux
910692f60a7Smrg		;;
911692f60a7Smrg	nh[45]000)
912692f60a7Smrg		basic_machine=m88k-harris
913692f60a7Smrg		os=-cxux
914692f60a7Smrg		;;
915692f60a7Smrg	nindy960)
916692f60a7Smrg		basic_machine=i960-intel
917692f60a7Smrg		os=-nindy
918692f60a7Smrg		;;
919692f60a7Smrg	mon960)
920692f60a7Smrg		basic_machine=i960-intel
921692f60a7Smrg		os=-mon960
922692f60a7Smrg		;;
923692f60a7Smrg	nonstopux)
924692f60a7Smrg		basic_machine=mips-compaq
925692f60a7Smrg		os=-nonstopux
926692f60a7Smrg		;;
927692f60a7Smrg	np1)
928692f60a7Smrg		basic_machine=np1-gould
929692f60a7Smrg		;;
9303f6d0e1dSmrg	neo-tandem)
9313f6d0e1dSmrg		basic_machine=neo-tandem
9323f6d0e1dSmrg		;;
9333f6d0e1dSmrg	nse-tandem)
9343f6d0e1dSmrg		basic_machine=nse-tandem
9353f6d0e1dSmrg		;;
936692f60a7Smrg	nsr-tandem)
937692f60a7Smrg		basic_machine=nsr-tandem
938692f60a7Smrg		;;
939692f60a7Smrg	op50n-* | op60c-*)
940692f60a7Smrg		basic_machine=hppa1.1-oki
941692f60a7Smrg		os=-proelf
942692f60a7Smrg		;;
94354569438Smrg	openrisc | openrisc-*)
944692f60a7Smrg		basic_machine=or32-unknown
94554569438Smrg		;;
94654569438Smrg	os400)
94754569438Smrg		basic_machine=powerpc-ibm
94854569438Smrg		os=-os400
949692f60a7Smrg		;;
950692f60a7Smrg	OSE68000 | ose68000)
951692f60a7Smrg		basic_machine=m68000-ericsson
952692f60a7Smrg		os=-ose
953692f60a7Smrg		;;
954692f60a7Smrg	os68k)
955692f60a7Smrg		basic_machine=m68k-none
956692f60a7Smrg		os=-os68k
957692f60a7Smrg		;;
958692f60a7Smrg	pa-hitachi)
959692f60a7Smrg		basic_machine=hppa1.1-hitachi
960692f60a7Smrg		os=-hiuxwe2
961692f60a7Smrg		;;
962692f60a7Smrg	paragon)
963692f60a7Smrg		basic_machine=i860-intel
964692f60a7Smrg		os=-osf
965692f60a7Smrg		;;
96654569438Smrg	parisc)
96754569438Smrg		basic_machine=hppa-unknown
96854569438Smrg		os=-linux
96954569438Smrg		;;
97054569438Smrg	parisc-*)
97154569438Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
97254569438Smrg		os=-linux
97354569438Smrg		;;
974692f60a7Smrg	pbd)
975692f60a7Smrg		basic_machine=sparc-tti
976692f60a7Smrg		;;
977692f60a7Smrg	pbb)
978692f60a7Smrg		basic_machine=m68k-tti
979692f60a7Smrg		;;
980692f60a7Smrg	pc532 | pc532-*)
981692f60a7Smrg		basic_machine=ns32k-pc532
982692f60a7Smrg		;;
98354569438Smrg	pc98)
98454569438Smrg		basic_machine=i386-pc
98554569438Smrg		;;
98654569438Smrg	pc98-*)
98754569438Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
98854569438Smrg		;;
989692f60a7Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
990692f60a7Smrg		basic_machine=i586-pc
991692f60a7Smrg		;;
992692f60a7Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
993692f60a7Smrg		basic_machine=i686-pc
994692f60a7Smrg		;;
995692f60a7Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
996692f60a7Smrg		basic_machine=i686-pc
997692f60a7Smrg		;;
998692f60a7Smrg	pentium4)
999692f60a7Smrg		basic_machine=i786-pc
1000692f60a7Smrg		;;
1001692f60a7Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1002692f60a7Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1003692f60a7Smrg		;;
1004692f60a7Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
1005692f60a7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1006692f60a7Smrg		;;
1007692f60a7Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1008692f60a7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1009692f60a7Smrg		;;
1010692f60a7Smrg	pentium4-*)
1011692f60a7Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1012692f60a7Smrg		;;
1013692f60a7Smrg	pn)
1014692f60a7Smrg		basic_machine=pn-gould
1015692f60a7Smrg		;;
1016692f60a7Smrg	power)	basic_machine=power-ibm
1017692f60a7Smrg		;;
10183f6d0e1dSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
1019692f60a7Smrg		;;
10203f6d0e1dSmrg	ppc-* | ppcbe-*)
10213f6d0e1dSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1022692f60a7Smrg		;;
1023692f60a7Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
1024692f60a7Smrg		basic_machine=powerpcle-unknown
1025692f60a7Smrg		;;
1026692f60a7Smrg	ppcle-* | powerpclittle-*)
1027692f60a7Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1028692f60a7Smrg		;;
1029692f60a7Smrg	ppc64)	basic_machine=powerpc64-unknown
1030692f60a7Smrg		;;
1031692f60a7Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1032692f60a7Smrg		;;
1033692f60a7Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1034692f60a7Smrg		basic_machine=powerpc64le-unknown
1035692f60a7Smrg		;;
1036692f60a7Smrg	ppc64le-* | powerpc64little-*)
1037692f60a7Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1038692f60a7Smrg		;;
1039692f60a7Smrg	ps2)
1040692f60a7Smrg		basic_machine=i386-ibm
1041692f60a7Smrg		;;
1042692f60a7Smrg	pw32)
1043692f60a7Smrg		basic_machine=i586-unknown
1044692f60a7Smrg		os=-pw32
1045692f60a7Smrg		;;
1046eaa3dbe0Smrg	rdos | rdos64)
1047eaa3dbe0Smrg		basic_machine=x86_64-pc
1048eaa3dbe0Smrg		os=-rdos
1049eaa3dbe0Smrg		;;
1050eaa3dbe0Smrg	rdos32)
105154569438Smrg		basic_machine=i386-pc
105254569438Smrg		os=-rdos
105354569438Smrg		;;
1054692f60a7Smrg	rom68k)
1055692f60a7Smrg		basic_machine=m68k-rom68k
1056692f60a7Smrg		os=-coff
1057692f60a7Smrg		;;
1058692f60a7Smrg	rm[46]00)
1059692f60a7Smrg		basic_machine=mips-siemens
1060692f60a7Smrg		;;
1061692f60a7Smrg	rtpc | rtpc-*)
1062692f60a7Smrg		basic_machine=romp-ibm
1063692f60a7Smrg		;;
106454569438Smrg	s390 | s390-*)
106554569438Smrg		basic_machine=s390-ibm
106654569438Smrg		;;
106754569438Smrg	s390x | s390x-*)
106854569438Smrg		basic_machine=s390x-ibm
106954569438Smrg		;;
1070692f60a7Smrg	sa29200)
1071692f60a7Smrg		basic_machine=a29k-amd
1072692f60a7Smrg		os=-udi
1073692f60a7Smrg		;;
1074692f60a7Smrg	sb1)
1075692f60a7Smrg		basic_machine=mipsisa64sb1-unknown
1076692f60a7Smrg		;;
1077692f60a7Smrg	sb1el)
1078692f60a7Smrg		basic_machine=mipsisa64sb1el-unknown
1079692f60a7Smrg		;;
108054569438Smrg	sde)
108154569438Smrg		basic_machine=mipsisa32-sde
108254569438Smrg		os=-elf
108354569438Smrg		;;
1084692f60a7Smrg	sei)
1085692f60a7Smrg		basic_machine=mips-sei
1086692f60a7Smrg		os=-seiux
1087692f60a7Smrg		;;
1088692f60a7Smrg	sequent)
1089692f60a7Smrg		basic_machine=i386-sequent
1090692f60a7Smrg		;;
1091692f60a7Smrg	sh)
1092692f60a7Smrg		basic_machine=sh-hitachi
1093692f60a7Smrg		os=-hms
1094692f60a7Smrg		;;
109554569438Smrg	sh5el)
109654569438Smrg		basic_machine=sh5le-unknown
109754569438Smrg		;;
1098692f60a7Smrg	sh64)
1099692f60a7Smrg		basic_machine=sh64-unknown
1100692f60a7Smrg		;;
1101692f60a7Smrg	sparclite-wrs | simso-wrs)
1102692f60a7Smrg		basic_machine=sparclite-wrs
1103692f60a7Smrg		os=-vxworks
1104692f60a7Smrg		;;
1105692f60a7Smrg	sps7)
1106692f60a7Smrg		basic_machine=m68k-bull
1107692f60a7Smrg		os=-sysv2
1108692f60a7Smrg		;;
1109692f60a7Smrg	spur)
1110692f60a7Smrg		basic_machine=spur-unknown
1111692f60a7Smrg		;;
1112692f60a7Smrg	st2000)
1113692f60a7Smrg		basic_machine=m68k-tandem
1114692f60a7Smrg		;;
1115692f60a7Smrg	stratus)
1116692f60a7Smrg		basic_machine=i860-stratus
1117692f60a7Smrg		os=-sysv4
1118692f60a7Smrg		;;
11193f6d0e1dSmrg	strongarm-* | thumb-*)
11203f6d0e1dSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
11213f6d0e1dSmrg		;;
1122692f60a7Smrg	sun2)
1123692f60a7Smrg		basic_machine=m68000-sun
1124692f60a7Smrg		;;
1125692f60a7Smrg	sun2os3)
1126692f60a7Smrg		basic_machine=m68000-sun
1127692f60a7Smrg		os=-sunos3
1128692f60a7Smrg		;;
1129692f60a7Smrg	sun2os4)
1130692f60a7Smrg		basic_machine=m68000-sun
1131692f60a7Smrg		os=-sunos4
1132692f60a7Smrg		;;
1133692f60a7Smrg	sun3os3)
1134692f60a7Smrg		basic_machine=m68k-sun
1135692f60a7Smrg		os=-sunos3
1136692f60a7Smrg		;;
1137692f60a7Smrg	sun3os4)
1138692f60a7Smrg		basic_machine=m68k-sun
1139692f60a7Smrg		os=-sunos4
1140692f60a7Smrg		;;
1141692f60a7Smrg	sun4os3)
1142692f60a7Smrg		basic_machine=sparc-sun
1143692f60a7Smrg		os=-sunos3
1144692f60a7Smrg		;;
1145692f60a7Smrg	sun4os4)
1146692f60a7Smrg		basic_machine=sparc-sun
1147692f60a7Smrg		os=-sunos4
1148692f60a7Smrg		;;
1149692f60a7Smrg	sun4sol2)
1150692f60a7Smrg		basic_machine=sparc-sun
1151692f60a7Smrg		os=-solaris2
1152692f60a7Smrg		;;
1153692f60a7Smrg	sun3 | sun3-*)
1154692f60a7Smrg		basic_machine=m68k-sun
1155692f60a7Smrg		;;
1156692f60a7Smrg	sun4)
1157692f60a7Smrg		basic_machine=sparc-sun
1158692f60a7Smrg		;;
1159692f60a7Smrg	sun386 | sun386i | roadrunner)
1160692f60a7Smrg		basic_machine=i386-sun
1161692f60a7Smrg		;;
1162692f60a7Smrg	sv1)
1163692f60a7Smrg		basic_machine=sv1-cray
1164692f60a7Smrg		os=-unicos
1165692f60a7Smrg		;;
1166692f60a7Smrg	symmetry)
1167692f60a7Smrg		basic_machine=i386-sequent
1168692f60a7Smrg		os=-dynix
1169692f60a7Smrg		;;
1170692f60a7Smrg	t3e)
1171692f60a7Smrg		basic_machine=alphaev5-cray
1172692f60a7Smrg		os=-unicos
1173692f60a7Smrg		;;
1174692f60a7Smrg	t90)
1175692f60a7Smrg		basic_machine=t90-cray
1176692f60a7Smrg		os=-unicos
1177692f60a7Smrg		;;
117854569438Smrg	tile*)
11793f6d0e1dSmrg		basic_machine=$basic_machine-unknown
118054569438Smrg		os=-linux-gnu
118154569438Smrg		;;
1182692f60a7Smrg	tx39)
1183692f60a7Smrg		basic_machine=mipstx39-unknown
1184692f60a7Smrg		;;
1185692f60a7Smrg	tx39el)
1186692f60a7Smrg		basic_machine=mipstx39el-unknown
1187692f60a7Smrg		;;
1188692f60a7Smrg	toad1)
1189692f60a7Smrg		basic_machine=pdp10-xkl
1190692f60a7Smrg		os=-tops20
1191692f60a7Smrg		;;
1192692f60a7Smrg	tower | tower-32)
1193692f60a7Smrg		basic_machine=m68k-ncr
1194692f60a7Smrg		;;
119554569438Smrg	tpf)
119654569438Smrg		basic_machine=s390x-ibm
119754569438Smrg		os=-tpf
119854569438Smrg		;;
1199692f60a7Smrg	udi29k)
1200692f60a7Smrg		basic_machine=a29k-amd
1201692f60a7Smrg		os=-udi
1202692f60a7Smrg		;;
1203692f60a7Smrg	ultra3)
1204692f60a7Smrg		basic_machine=a29k-nyu
1205692f60a7Smrg		os=-sym1
1206692f60a7Smrg		;;
1207692f60a7Smrg	v810 | necv810)
1208692f60a7Smrg		basic_machine=v810-nec
1209692f60a7Smrg		os=-none
1210692f60a7Smrg		;;
1211692f60a7Smrg	vaxv)
1212692f60a7Smrg		basic_machine=vax-dec
1213692f60a7Smrg		os=-sysv
1214692f60a7Smrg		;;
1215692f60a7Smrg	vms)
1216692f60a7Smrg		basic_machine=vax-dec
1217692f60a7Smrg		os=-vms
1218692f60a7Smrg		;;
1219692f60a7Smrg	vpp*|vx|vx-*)
1220692f60a7Smrg		basic_machine=f301-fujitsu
1221692f60a7Smrg		;;
1222692f60a7Smrg	vxworks960)
1223692f60a7Smrg		basic_machine=i960-wrs
1224692f60a7Smrg		os=-vxworks
1225692f60a7Smrg		;;
1226692f60a7Smrg	vxworks68)
1227692f60a7Smrg		basic_machine=m68k-wrs
1228692f60a7Smrg		os=-vxworks
1229692f60a7Smrg		;;
1230692f60a7Smrg	vxworks29k)
1231692f60a7Smrg		basic_machine=a29k-wrs
1232692f60a7Smrg		os=-vxworks
1233692f60a7Smrg		;;
1234692f60a7Smrg	w65*)
1235692f60a7Smrg		basic_machine=w65-wdc
1236692f60a7Smrg		os=-none
1237692f60a7Smrg		;;
1238692f60a7Smrg	w89k-*)
1239692f60a7Smrg		basic_machine=hppa1.1-winbond
1240692f60a7Smrg		os=-proelf
1241692f60a7Smrg		;;
124254569438Smrg	xbox)
124354569438Smrg		basic_machine=i686-pc
124454569438Smrg		os=-mingw32
124554569438Smrg		;;
1246692f60a7Smrg	xps | xps100)
1247692f60a7Smrg		basic_machine=xps100-honeywell
1248692f60a7Smrg		;;
12493f6d0e1dSmrg	xscale-* | xscalee[bl]-*)
12503f6d0e1dSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12513f6d0e1dSmrg		;;
1252692f60a7Smrg	ymp)
1253692f60a7Smrg		basic_machine=ymp-cray
1254692f60a7Smrg		os=-unicos
1255692f60a7Smrg		;;
1256692f60a7Smrg	z8k-*-coff)
1257692f60a7Smrg		basic_machine=z8k-unknown
1258692f60a7Smrg		os=-sim
1259692f60a7Smrg		;;
12603f6d0e1dSmrg	z80-*-coff)
12613f6d0e1dSmrg		basic_machine=z80-unknown
12623f6d0e1dSmrg		os=-sim
12633f6d0e1dSmrg		;;
1264692f60a7Smrg	none)
1265692f60a7Smrg		basic_machine=none-none
1266692f60a7Smrg		os=-none
1267692f60a7Smrg		;;
1268692f60a7Smrg
1269692f60a7Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1270692f60a7Smrg# some cases the only manufacturer, in others, it is the most popular.
1271692f60a7Smrg	w89k)
1272692f60a7Smrg		basic_machine=hppa1.1-winbond
1273692f60a7Smrg		;;
1274692f60a7Smrg	op50n)
1275692f60a7Smrg		basic_machine=hppa1.1-oki
1276692f60a7Smrg		;;
1277692f60a7Smrg	op60c)
1278692f60a7Smrg		basic_machine=hppa1.1-oki
1279692f60a7Smrg		;;
1280692f60a7Smrg	romp)
1281692f60a7Smrg		basic_machine=romp-ibm
1282692f60a7Smrg		;;
128354569438Smrg	mmix)
128454569438Smrg		basic_machine=mmix-knuth
128554569438Smrg		;;
1286692f60a7Smrg	rs6000)
1287692f60a7Smrg		basic_machine=rs6000-ibm
1288692f60a7Smrg		;;
1289692f60a7Smrg	vax)
1290692f60a7Smrg		basic_machine=vax-dec
1291692f60a7Smrg		;;
1292692f60a7Smrg	pdp10)
1293692f60a7Smrg		# there are many clones, so DEC is not a safe bet
1294692f60a7Smrg		basic_machine=pdp10-unknown
1295692f60a7Smrg		;;
1296692f60a7Smrg	pdp11)
1297692f60a7Smrg		basic_machine=pdp11-dec
1298692f60a7Smrg		;;
1299692f60a7Smrg	we32k)
1300692f60a7Smrg		basic_machine=we32k-att
1301692f60a7Smrg		;;
13023f6d0e1dSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1303692f60a7Smrg		basic_machine=sh-unknown
1304692f60a7Smrg		;;
130554569438Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1306692f60a7Smrg		basic_machine=sparc-sun
1307692f60a7Smrg		;;
1308692f60a7Smrg	cydra)
1309692f60a7Smrg		basic_machine=cydra-cydrome
1310692f60a7Smrg		;;
1311692f60a7Smrg	orion)
1312692f60a7Smrg		basic_machine=orion-highlevel
1313692f60a7Smrg		;;
1314692f60a7Smrg	orion105)
1315692f60a7Smrg		basic_machine=clipper-highlevel
1316692f60a7Smrg		;;
1317692f60a7Smrg	mac | mpw | mac-mpw)
1318692f60a7Smrg		basic_machine=m68k-apple
1319692f60a7Smrg		;;
1320692f60a7Smrg	pmac | pmac-mpw)
1321692f60a7Smrg		basic_machine=powerpc-apple
1322692f60a7Smrg		;;
1323692f60a7Smrg	*-unknown)
1324692f60a7Smrg		# Make sure to match an already-canonicalized machine name.
1325692f60a7Smrg		;;
1326692f60a7Smrg	*)
1327692f60a7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1328692f60a7Smrg		exit 1
1329692f60a7Smrg		;;
1330692f60a7Smrgesac
1331692f60a7Smrg
1332692f60a7Smrg# Here we canonicalize certain aliases for manufacturers.
1333692f60a7Smrgcase $basic_machine in
1334692f60a7Smrg	*-digital*)
1335692f60a7Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1336692f60a7Smrg		;;
1337692f60a7Smrg	*-commodore*)
1338692f60a7Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1339692f60a7Smrg		;;
1340692f60a7Smrg	*)
1341692f60a7Smrg		;;
1342692f60a7Smrgesac
1343692f60a7Smrg
1344692f60a7Smrg# Decode manufacturer-specific aliases for certain operating systems.
1345692f60a7Smrg
1346692f60a7Smrgif [ x"$os" != x"" ]
1347692f60a7Smrgthen
1348692f60a7Smrgcase $os in
13493f6d0e1dSmrg	# First match some system type aliases
13503f6d0e1dSmrg	# that might get confused with valid system types.
1351692f60a7Smrg	# -solaris* is a basic system type, with this one exception.
13523f6d0e1dSmrg	-auroraux)
13533f6d0e1dSmrg		os=-auroraux
13543f6d0e1dSmrg		;;
1355692f60a7Smrg	-solaris1 | -solaris1.*)
1356692f60a7Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1357692f60a7Smrg		;;
1358692f60a7Smrg	-solaris)
1359692f60a7Smrg		os=-solaris2
1360692f60a7Smrg		;;
1361692f60a7Smrg	-svr4*)
1362692f60a7Smrg		os=-sysv4
1363692f60a7Smrg		;;
1364692f60a7Smrg	-unixware*)
1365692f60a7Smrg		os=-sysv4.2uw
1366692f60a7Smrg		;;
1367692f60a7Smrg	-gnu/linux*)
1368692f60a7Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1369692f60a7Smrg		;;
1370692f60a7Smrg	# First accept the basic system types.
1371692f60a7Smrg	# The portable systems comes first.
1372692f60a7Smrg	# Each alternative MUST END IN A *, to match a version number.
1373692f60a7Smrg	# -sysv* is not here because it comes later, after sysvr4.
1374692f60a7Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13753f6d0e1dSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13763f6d0e1dSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1377eaa3dbe0Smrg	      | -sym* | -kopensolaris* | -plan9* \
1378692f60a7Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13793f6d0e1dSmrg	      | -aos* | -aros* \
1380692f60a7Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1381692f60a7Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
138254569438Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1383eaa3dbe0Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
138454569438Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
138554569438Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1386692f60a7Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1387692f60a7Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13883f6d0e1dSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13893f6d0e1dSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1390eaa3dbe0Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1391eaa3dbe0Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
139254569438Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1393692f60a7Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1394692f60a7Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1395eaa3dbe0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
1396692f60a7Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1397692f60a7Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
139854569438Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13993f6d0e1dSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1400692f60a7Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1401692f60a7Smrg		;;
1402692f60a7Smrg	-qnx*)
1403692f60a7Smrg		case $basic_machine in
1404692f60a7Smrg		    x86-* | i*86-*)
1405692f60a7Smrg			;;
1406692f60a7Smrg		    *)
1407692f60a7Smrg			os=-nto$os
1408692f60a7Smrg			;;
1409692f60a7Smrg		esac
1410692f60a7Smrg		;;
1411692f60a7Smrg	-nto-qnx*)
1412692f60a7Smrg		;;
1413692f60a7Smrg	-nto*)
1414692f60a7Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1415692f60a7Smrg		;;
1416692f60a7Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
141754569438Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1418692f60a7Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1419692f60a7Smrg		;;
1420692f60a7Smrg	-mac*)
1421692f60a7Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1422692f60a7Smrg		;;
142354569438Smrg	-linux-dietlibc)
142454569438Smrg		os=-linux-dietlibc
142554569438Smrg		;;
1426692f60a7Smrg	-linux*)
1427692f60a7Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1428692f60a7Smrg		;;
1429692f60a7Smrg	-sunos5*)
1430692f60a7Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1431692f60a7Smrg		;;
1432692f60a7Smrg	-sunos6*)
1433692f60a7Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1434692f60a7Smrg		;;
1435692f60a7Smrg	-opened*)
1436692f60a7Smrg		os=-openedition
1437692f60a7Smrg		;;
14383f6d0e1dSmrg	-os400*)
143954569438Smrg		os=-os400
144054569438Smrg		;;
1441692f60a7Smrg	-wince*)
1442692f60a7Smrg		os=-wince
1443692f60a7Smrg		;;
1444692f60a7Smrg	-osfrose*)
1445692f60a7Smrg		os=-osfrose
1446692f60a7Smrg		;;
1447692f60a7Smrg	-osf*)
1448692f60a7Smrg		os=-osf
1449692f60a7Smrg		;;
1450692f60a7Smrg	-utek*)
1451692f60a7Smrg		os=-bsd
1452692f60a7Smrg		;;
1453692f60a7Smrg	-dynix*)
1454692f60a7Smrg		os=-bsd
1455692f60a7Smrg		;;
1456692f60a7Smrg	-acis*)
1457692f60a7Smrg		os=-aos
1458692f60a7Smrg		;;
1459692f60a7Smrg	-atheos*)
1460692f60a7Smrg		os=-atheos
1461692f60a7Smrg		;;
146254569438Smrg	-syllable*)
146354569438Smrg		os=-syllable
146454569438Smrg		;;
1465692f60a7Smrg	-386bsd)
1466692f60a7Smrg		os=-bsd
1467692f60a7Smrg		;;
1468692f60a7Smrg	-ctix* | -uts*)
1469692f60a7Smrg		os=-sysv
1470692f60a7Smrg		;;
1471692f60a7Smrg	-nova*)
1472692f60a7Smrg		os=-rtmk-nova
1473692f60a7Smrg		;;
1474692f60a7Smrg	-ns2 )
1475692f60a7Smrg		os=-nextstep2
1476692f60a7Smrg		;;
1477692f60a7Smrg	-nsk*)
1478692f60a7Smrg		os=-nsk
1479692f60a7Smrg		;;
1480692f60a7Smrg	# Preserve the version number of sinix5.
1481692f60a7Smrg	-sinix5.*)
1482692f60a7Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1483692f60a7Smrg		;;
1484692f60a7Smrg	-sinix*)
1485692f60a7Smrg		os=-sysv4
1486692f60a7Smrg		;;
14873f6d0e1dSmrg	-tpf*)
148854569438Smrg		os=-tpf
148954569438Smrg		;;
1490692f60a7Smrg	-triton*)
1491692f60a7Smrg		os=-sysv3
1492692f60a7Smrg		;;
1493692f60a7Smrg	-oss*)
1494692f60a7Smrg		os=-sysv3
1495692f60a7Smrg		;;
1496692f60a7Smrg	-svr4)
1497692f60a7Smrg		os=-sysv4
1498692f60a7Smrg		;;
1499692f60a7Smrg	-svr3)
1500692f60a7Smrg		os=-sysv3
1501692f60a7Smrg		;;
1502692f60a7Smrg	-sysvr4)
1503692f60a7Smrg		os=-sysv4
1504692f60a7Smrg		;;
1505692f60a7Smrg	# This must come after -sysvr4.
1506692f60a7Smrg	-sysv*)
1507692f60a7Smrg		;;
1508692f60a7Smrg	-ose*)
1509692f60a7Smrg		os=-ose
1510692f60a7Smrg		;;
1511692f60a7Smrg	-es1800*)
1512692f60a7Smrg		os=-ose
1513692f60a7Smrg		;;
1514692f60a7Smrg	-xenix)
1515692f60a7Smrg		os=-xenix
1516692f60a7Smrg		;;
1517692f60a7Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1518692f60a7Smrg		os=-mint
1519692f60a7Smrg		;;
1520692f60a7Smrg	-aros*)
1521692f60a7Smrg		os=-aros
1522692f60a7Smrg		;;
152354569438Smrg	-zvmoe)
152454569438Smrg		os=-zvmoe
152554569438Smrg		;;
15263f6d0e1dSmrg	-dicos*)
15273f6d0e1dSmrg		os=-dicos
15283f6d0e1dSmrg		;;
15293f6d0e1dSmrg	-nacl*)
15303f6d0e1dSmrg		;;
1531692f60a7Smrg	-none)
1532692f60a7Smrg		;;
1533692f60a7Smrg	*)
1534692f60a7Smrg		# Get rid of the `-' at the beginning of $os.
1535692f60a7Smrg		os=`echo $os | sed 's/[^-]*-//'`
1536692f60a7Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1537692f60a7Smrg		exit 1
1538692f60a7Smrg		;;
1539692f60a7Smrgesac
1540692f60a7Smrgelse
1541692f60a7Smrg
1542692f60a7Smrg# Here we handle the default operating systems that come with various machines.
1543692f60a7Smrg# The value should be what the vendor currently ships out the door with their
1544692f60a7Smrg# machine or put another way, the most popular os provided with the machine.
1545692f60a7Smrg
1546692f60a7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1547692f60a7Smrg# "-sun"), then you have to tell the case statement up towards the top
1548692f60a7Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1549692f60a7Smrg# will signal an error saying that MANUFACTURER isn't an operating
1550692f60a7Smrg# system, and we'll never get to this point.
1551692f60a7Smrg
1552692f60a7Smrgcase $basic_machine in
15533f6d0e1dSmrg	score-*)
155454569438Smrg		os=-elf
155554569438Smrg		;;
15563f6d0e1dSmrg	spu-*)
155754569438Smrg		os=-elf
155854569438Smrg		;;
1559692f60a7Smrg	*-acorn)
1560692f60a7Smrg		os=-riscix1.2
1561692f60a7Smrg		;;
1562692f60a7Smrg	arm*-rebel)
1563692f60a7Smrg		os=-linux
1564692f60a7Smrg		;;
1565692f60a7Smrg	arm*-semi)
1566692f60a7Smrg		os=-aout
1567692f60a7Smrg		;;
15683f6d0e1dSmrg	c4x-* | tic4x-*)
15693f6d0e1dSmrg		os=-coff
15703f6d0e1dSmrg		;;
1571eaa3dbe0Smrg	hexagon-*)
1572eaa3dbe0Smrg		os=-elf
1573eaa3dbe0Smrg		;;
15743f6d0e1dSmrg	tic54x-*)
15753f6d0e1dSmrg		os=-coff
15763f6d0e1dSmrg		;;
15773f6d0e1dSmrg	tic55x-*)
15783f6d0e1dSmrg		os=-coff
15793f6d0e1dSmrg		;;
15803f6d0e1dSmrg	tic6x-*)
15813f6d0e1dSmrg		os=-coff
1582692f60a7Smrg		;;
1583692f60a7Smrg	# This must come before the *-dec entry.
1584692f60a7Smrg	pdp10-*)
1585692f60a7Smrg		os=-tops20
1586692f60a7Smrg		;;
1587692f60a7Smrg	pdp11-*)
1588692f60a7Smrg		os=-none
1589692f60a7Smrg		;;
1590692f60a7Smrg	*-dec | vax-*)
1591692f60a7Smrg		os=-ultrix4.2
1592692f60a7Smrg		;;
1593692f60a7Smrg	m68*-apollo)
1594692f60a7Smrg		os=-domain
1595692f60a7Smrg		;;
1596692f60a7Smrg	i386-sun)
1597692f60a7Smrg		os=-sunos4.0.2
1598692f60a7Smrg		;;
1599692f60a7Smrg	m68000-sun)
1600692f60a7Smrg		os=-sunos3
1601692f60a7Smrg		;;
1602692f60a7Smrg	m68*-cisco)
1603692f60a7Smrg		os=-aout
1604692f60a7Smrg		;;
16053f6d0e1dSmrg	mep-*)
160654569438Smrg		os=-elf
160754569438Smrg		;;
1608692f60a7Smrg	mips*-cisco)
1609692f60a7Smrg		os=-elf
1610692f60a7Smrg		;;
1611692f60a7Smrg	mips*-*)
1612692f60a7Smrg		os=-elf
1613692f60a7Smrg		;;
1614692f60a7Smrg	or32-*)
1615692f60a7Smrg		os=-coff
1616692f60a7Smrg		;;
1617692f60a7Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1618692f60a7Smrg		os=-sysv3
1619692f60a7Smrg		;;
1620692f60a7Smrg	sparc-* | *-sun)
1621692f60a7Smrg		os=-sunos4.1.1
1622692f60a7Smrg		;;
1623692f60a7Smrg	*-be)
1624692f60a7Smrg		os=-beos
1625692f60a7Smrg		;;
162654569438Smrg	*-haiku)
162754569438Smrg		os=-haiku
162854569438Smrg		;;
1629692f60a7Smrg	*-ibm)
1630692f60a7Smrg		os=-aix
1631692f60a7Smrg		;;
16323f6d0e1dSmrg	*-knuth)
163354569438Smrg		os=-mmixware
163454569438Smrg		;;
1635692f60a7Smrg	*-wec)
1636692f60a7Smrg		os=-proelf
1637692f60a7Smrg		;;
1638692f60a7Smrg	*-winbond)
1639692f60a7Smrg		os=-proelf
1640692f60a7Smrg		;;
1641692f60a7Smrg	*-oki)
1642692f60a7Smrg		os=-proelf
1643692f60a7Smrg		;;
1644692f60a7Smrg	*-hp)
1645692f60a7Smrg		os=-hpux
1646692f60a7Smrg		;;
1647692f60a7Smrg	*-hitachi)
1648692f60a7Smrg		os=-hiux
1649692f60a7Smrg		;;
1650692f60a7Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1651692f60a7Smrg		os=-sysv
1652692f60a7Smrg		;;
1653692f60a7Smrg	*-cbm)
1654692f60a7Smrg		os=-amigaos
1655692f60a7Smrg		;;
1656692f60a7Smrg	*-dg)
1657692f60a7Smrg		os=-dgux
1658692f60a7Smrg		;;
1659692f60a7Smrg	*-dolphin)
1660692f60a7Smrg		os=-sysv3
1661692f60a7Smrg		;;
1662692f60a7Smrg	m68k-ccur)
1663692f60a7Smrg		os=-rtu
1664692f60a7Smrg		;;
1665692f60a7Smrg	m88k-omron*)
1666692f60a7Smrg		os=-luna
1667692f60a7Smrg		;;
1668692f60a7Smrg	*-next )
1669692f60a7Smrg		os=-nextstep
1670692f60a7Smrg		;;
1671692f60a7Smrg	*-sequent)
1672692f60a7Smrg		os=-ptx
1673692f60a7Smrg		;;
1674692f60a7Smrg	*-crds)
1675692f60a7Smrg		os=-unos
1676692f60a7Smrg		;;
1677692f60a7Smrg	*-ns)
1678692f60a7Smrg		os=-genix
1679692f60a7Smrg		;;
1680692f60a7Smrg	i370-*)
1681692f60a7Smrg		os=-mvs
1682692f60a7Smrg		;;
1683692f60a7Smrg	*-next)
1684692f60a7Smrg		os=-nextstep3
1685692f60a7Smrg		;;
1686692f60a7Smrg	*-gould)
1687692f60a7Smrg		os=-sysv
1688692f60a7Smrg		;;
1689692f60a7Smrg	*-highlevel)
1690692f60a7Smrg		os=-bsd
1691692f60a7Smrg		;;
1692692f60a7Smrg	*-encore)
1693692f60a7Smrg		os=-bsd
1694692f60a7Smrg		;;
1695692f60a7Smrg	*-sgi)
1696692f60a7Smrg		os=-irix
1697692f60a7Smrg		;;
1698692f60a7Smrg	*-siemens)
1699692f60a7Smrg		os=-sysv4
1700692f60a7Smrg		;;
1701692f60a7Smrg	*-masscomp)
1702692f60a7Smrg		os=-rtu
1703692f60a7Smrg		;;
1704692f60a7Smrg	f30[01]-fujitsu | f700-fujitsu)
1705692f60a7Smrg		os=-uxpv
1706692f60a7Smrg		;;
1707692f60a7Smrg	*-rom68k)
1708692f60a7Smrg		os=-coff
1709692f60a7Smrg		;;
1710692f60a7Smrg	*-*bug)
1711692f60a7Smrg		os=-coff
1712692f60a7Smrg		;;
1713692f60a7Smrg	*-apple)
1714692f60a7Smrg		os=-macos
1715692f60a7Smrg		;;
1716692f60a7Smrg	*-atari*)
1717692f60a7Smrg		os=-mint
1718692f60a7Smrg		;;
1719692f60a7Smrg	*)
1720692f60a7Smrg		os=-none
1721692f60a7Smrg		;;
1722692f60a7Smrgesac
1723692f60a7Smrgfi
1724692f60a7Smrg
1725692f60a7Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1726692f60a7Smrg# manufacturer.  We pick the logical manufacturer.
1727692f60a7Smrgvendor=unknown
1728692f60a7Smrgcase $basic_machine in
1729692f60a7Smrg	*-unknown)
1730692f60a7Smrg		case $os in
1731692f60a7Smrg			-riscix*)
1732692f60a7Smrg				vendor=acorn
1733692f60a7Smrg				;;
1734692f60a7Smrg			-sunos*)
1735692f60a7Smrg				vendor=sun
1736692f60a7Smrg				;;
17373f6d0e1dSmrg			-cnk*|-aix*)
1738692f60a7Smrg				vendor=ibm
1739692f60a7Smrg				;;
1740692f60a7Smrg			-beos*)
1741692f60a7Smrg				vendor=be
1742692f60a7Smrg				;;
1743692f60a7Smrg			-hpux*)
1744692f60a7Smrg				vendor=hp
1745692f60a7Smrg				;;
1746692f60a7Smrg			-mpeix*)
1747692f60a7Smrg				vendor=hp
1748692f60a7Smrg				;;
1749692f60a7Smrg			-hiux*)
1750692f60a7Smrg				vendor=hitachi
1751692f60a7Smrg				;;
1752692f60a7Smrg			-unos*)
1753692f60a7Smrg				vendor=crds
1754692f60a7Smrg				;;
1755692f60a7Smrg			-dgux*)
1756692f60a7Smrg				vendor=dg
1757692f60a7Smrg				;;
1758692f60a7Smrg			-luna*)
1759692f60a7Smrg				vendor=omron
1760692f60a7Smrg				;;
1761692f60a7Smrg			-genix*)
1762692f60a7Smrg				vendor=ns
1763692f60a7Smrg				;;
1764692f60a7Smrg			-mvs* | -opened*)
1765692f60a7Smrg				vendor=ibm
1766692f60a7Smrg				;;
176754569438Smrg			-os400*)
176854569438Smrg				vendor=ibm
176954569438Smrg				;;
1770692f60a7Smrg			-ptx*)
1771692f60a7Smrg				vendor=sequent
1772692f60a7Smrg				;;
177354569438Smrg			-tpf*)
177454569438Smrg				vendor=ibm
177554569438Smrg				;;
1776692f60a7Smrg			-vxsim* | -vxworks* | -windiss*)
1777692f60a7Smrg				vendor=wrs
1778692f60a7Smrg				;;
1779692f60a7Smrg			-aux*)
1780692f60a7Smrg				vendor=apple
1781692f60a7Smrg				;;
1782692f60a7Smrg			-hms*)
1783692f60a7Smrg				vendor=hitachi
1784692f60a7Smrg				;;
1785692f60a7Smrg			-mpw* | -macos*)
1786692f60a7Smrg				vendor=apple
1787692f60a7Smrg				;;
1788692f60a7Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1789692f60a7Smrg				vendor=atari
1790692f60a7Smrg				;;
1791692f60a7Smrg			-vos*)
1792692f60a7Smrg				vendor=stratus
1793692f60a7Smrg				;;
1794692f60a7Smrg		esac
1795692f60a7Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1796692f60a7Smrg		;;
1797692f60a7Smrgesac
1798692f60a7Smrg
1799692f60a7Smrgecho $basic_machine$os
180054569438Smrgexit
1801692f60a7Smrg
1802692f60a7Smrg# Local variables:
1803692f60a7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1804692f60a7Smrg# time-stamp-start: "timestamp='"
1805692f60a7Smrg# time-stamp-format: "%:y-%02m-%02d"
1806692f60a7Smrg# time-stamp-end: "'"
1807692f60a7Smrg# End:
1808