config.sub revision 3f6d0e1d
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,
53f6d0e1dSmrg#   2011, 2012 Free Software Foundation, Inc.
6692f60a7Smrg
73f6d0e1dSmrgtimestamp='2012-01-01'
8692f60a7Smrg
9692f60a7Smrg# This file is (in principle) common to ALL GNU software.
10692f60a7Smrg# The presence of a machine in this file suggests that SOME GNU software
11692f60a7Smrg# can handle that machine.  It does not imply ALL GNU software can.
12692f60a7Smrg#
13692f60a7Smrg# This file is free software; you can redistribute it and/or modify
14692f60a7Smrg# it under the terms of the GNU General Public License as published by
15692f60a7Smrg# the Free Software Foundation; either version 2 of the License, or
16692f60a7Smrg# (at your option) any later version.
17692f60a7Smrg#
18692f60a7Smrg# This program is distributed in the hope that it will be useful,
19692f60a7Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20692f60a7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21692f60a7Smrg# GNU General Public License for more details.
22692f60a7Smrg#
23692f60a7Smrg# You should have received a copy of the GNU General Public License
24692f60a7Smrg# along with this program; if not, write to the Free Software
2554569438Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2654569438Smrg# 02110-1301, USA.
2754569438Smrg#
28692f60a7Smrg# As a special exception to the GNU General Public License, if you
29692f60a7Smrg# distribute this file as part of a program that contains a
30692f60a7Smrg# configuration script generated by Autoconf, you may include it under
31692f60a7Smrg# the same distribution terms that you use for the rest of that program.
32692f60a7Smrg
3354569438Smrg
34692f60a7Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
353f6d0e1dSmrg# diff and a properly formatted GNU ChangeLog entry.
36692f60a7Smrg#
37692f60a7Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38692f60a7Smrg# Supply the specified configuration type as an argument.
39692f60a7Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40692f60a7Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41692f60a7Smrg
423f6d0e1dSmrg# You can get the latest version of this script from:
433f6d0e1dSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
443f6d0e1dSmrg
45692f60a7Smrg# This file is supposed to be the same for all GNU packages
46692f60a7Smrg# and recognize all the CPU types, system types and aliases
47692f60a7Smrg# that are meaningful with *any* GNU software.
48692f60a7Smrg# Each package is responsible for reporting which valid configurations
49692f60a7Smrg# it does not support.  The user should be able to distinguish
50692f60a7Smrg# a failure to support a valid configuration from a meaningless
51692f60a7Smrg# configuration.
52692f60a7Smrg
53692f60a7Smrg# The goal of this file is to map all the various variations of a given
54692f60a7Smrg# machine specification into a single specification in the form:
55692f60a7Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56692f60a7Smrg# or in some cases, the newer four-part form:
57692f60a7Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58692f60a7Smrg# It is wrong to echo any other type of specification.
59692f60a7Smrg
60692f60a7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61692f60a7Smrg
62692f60a7Smrgusage="\
63692f60a7SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64692f60a7Smrg       $0 [OPTION] ALIAS
65692f60a7Smrg
66692f60a7SmrgCanonicalize a configuration name.
67692f60a7Smrg
68692f60a7SmrgOperation modes:
69692f60a7Smrg  -h, --help         print this help, then exit
70692f60a7Smrg  -t, --time-stamp   print date of last modification, then exit
71692f60a7Smrg  -v, --version      print version number, then exit
72692f60a7Smrg
73692f60a7SmrgReport bugs and patches to <config-patches@gnu.org>."
74692f60a7Smrg
75692f60a7Smrgversion="\
76692f60a7SmrgGNU config.sub ($timestamp)
77692f60a7Smrg
783f6d0e1dSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
793f6d0e1dSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
803f6d0e1dSmrgFree Software Foundation, Inc.
81692f60a7Smrg
82692f60a7SmrgThis is free software; see the source for copying conditions.  There is NO
83692f60a7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84692f60a7Smrg
85692f60a7Smrghelp="
86692f60a7SmrgTry \`$me --help' for more information."
87692f60a7Smrg
88692f60a7Smrg# Parse command line
89692f60a7Smrgwhile test $# -gt 0 ; do
90692f60a7Smrg  case $1 in
91692f60a7Smrg    --time-stamp | --time* | -t )
9254569438Smrg       echo "$timestamp" ; exit ;;
93692f60a7Smrg    --version | -v )
9454569438Smrg       echo "$version" ; exit ;;
95692f60a7Smrg    --help | --h* | -h )
9654569438Smrg       echo "$usage"; exit ;;
97692f60a7Smrg    -- )     # Stop option processing
98692f60a7Smrg       shift; break ;;
99692f60a7Smrg    - )	# Use stdin as input.
100692f60a7Smrg       break ;;
101692f60a7Smrg    -* )
102692f60a7Smrg       echo "$me: invalid option $1$help"
103692f60a7Smrg       exit 1 ;;
104692f60a7Smrg
105692f60a7Smrg    *local*)
106692f60a7Smrg       # First pass through any local machine types.
107692f60a7Smrg       echo $1
10854569438Smrg       exit ;;
109692f60a7Smrg
110692f60a7Smrg    * )
111692f60a7Smrg       break ;;
112692f60a7Smrg  esac
113692f60a7Smrgdone
114692f60a7Smrg
115692f60a7Smrgcase $# in
116692f60a7Smrg 0) echo "$me: missing argument$help" >&2
117692f60a7Smrg    exit 1;;
118692f60a7Smrg 1) ;;
119692f60a7Smrg *) echo "$me: too many arguments$help" >&2
120692f60a7Smrg    exit 1;;
121692f60a7Smrgesac
122692f60a7Smrg
123692f60a7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124692f60a7Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125692f60a7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126692f60a7Smrgcase $maybe_os in
1273f6d0e1dSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1283f6d0e1dSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1293f6d0e1dSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1303f6d0e1dSmrg  kopensolaris*-gnu* | \
13154569438Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132692f60a7Smrg    os=-$maybe_os
133692f60a7Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134692f60a7Smrg    ;;
135692f60a7Smrg  *)
136692f60a7Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137692f60a7Smrg    if [ $basic_machine != $1 ]
138692f60a7Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139692f60a7Smrg    else os=; fi
140692f60a7Smrg    ;;
141692f60a7Smrgesac
142692f60a7Smrg
143692f60a7Smrg### Let's recognize common machines as not being operating systems so
144692f60a7Smrg### that things like config.sub decstation-3100 work.  We also
145692f60a7Smrg### recognize some manufacturers as not being operating systems, so we
146692f60a7Smrg### can provide default operating systems below.
147692f60a7Smrgcase $os in
148692f60a7Smrg	-sun*os*)
149692f60a7Smrg		# Prevent following clause from handling this invalid input.
150692f60a7Smrg		;;
151692f60a7Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152692f60a7Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153692f60a7Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154692f60a7Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155692f60a7Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156692f60a7Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1573f6d0e1dSmrg	-apple | -axis | -knuth | -cray | -microblaze)
158692f60a7Smrg		os=
159692f60a7Smrg		basic_machine=$1
160692f60a7Smrg		;;
1613f6d0e1dSmrg	-bluegene*)
1623f6d0e1dSmrg		os=-cnk
1633f6d0e1dSmrg		;;
164692f60a7Smrg	-sim | -cisco | -oki | -wec | -winbond)
165692f60a7Smrg		os=
166692f60a7Smrg		basic_machine=$1
167692f60a7Smrg		;;
168692f60a7Smrg	-scout)
169692f60a7Smrg		;;
170692f60a7Smrg	-wrs)
171692f60a7Smrg		os=-vxworks
172692f60a7Smrg		basic_machine=$1
173692f60a7Smrg		;;
174692f60a7Smrg	-chorusos*)
175692f60a7Smrg		os=-chorusos
176692f60a7Smrg		basic_machine=$1
177692f60a7Smrg		;;
1783f6d0e1dSmrg	-chorusrdb)
1793f6d0e1dSmrg		os=-chorusrdb
180692f60a7Smrg		basic_machine=$1
1813f6d0e1dSmrg		;;
182692f60a7Smrg	-hiux*)
183692f60a7Smrg		os=-hiuxwe2
184692f60a7Smrg		;;
18554569438Smrg	-sco6)
18654569438Smrg		os=-sco5v6
18754569438Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18854569438Smrg		;;
189692f60a7Smrg	-sco5)
190692f60a7Smrg		os=-sco3.2v5
191692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192692f60a7Smrg		;;
193692f60a7Smrg	-sco4)
194692f60a7Smrg		os=-sco3.2v4
195692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196692f60a7Smrg		;;
197692f60a7Smrg	-sco3.2.[4-9]*)
198692f60a7Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200692f60a7Smrg		;;
201692f60a7Smrg	-sco3.2v[4-9]*)
202692f60a7Smrg		# Don't forget version if it is 3.2v4 or newer.
203692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204692f60a7Smrg		;;
20554569438Smrg	-sco5v6*)
20654569438Smrg		# Don't forget version if it is 3.2v4 or newer.
20754569438Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20854569438Smrg		;;
209692f60a7Smrg	-sco*)
210692f60a7Smrg		os=-sco3.2v2
211692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212692f60a7Smrg		;;
213692f60a7Smrg	-udk*)
214692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215692f60a7Smrg		;;
216692f60a7Smrg	-isc)
217692f60a7Smrg		os=-isc2.2
218692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219692f60a7Smrg		;;
220692f60a7Smrg	-clix*)
221692f60a7Smrg		basic_machine=clipper-intergraph
222692f60a7Smrg		;;
223692f60a7Smrg	-isc*)
224692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225692f60a7Smrg		;;
226692f60a7Smrg	-lynx*)
227692f60a7Smrg		os=-lynxos
228692f60a7Smrg		;;
229692f60a7Smrg	-ptx*)
230692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231692f60a7Smrg		;;
232692f60a7Smrg	-windowsnt*)
233692f60a7Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234692f60a7Smrg		;;
235692f60a7Smrg	-psos*)
236692f60a7Smrg		os=-psos
237692f60a7Smrg		;;
238692f60a7Smrg	-mint | -mint[0-9]*)
239692f60a7Smrg		basic_machine=m68k-atari
240692f60a7Smrg		os=-mint
241692f60a7Smrg		;;
242692f60a7Smrgesac
243692f60a7Smrg
244692f60a7Smrg# Decode aliases for certain CPU-COMPANY combinations.
245692f60a7Smrgcase $basic_machine in
246692f60a7Smrg	# Recognize the basic CPU types without company name.
247692f60a7Smrg	# Some are omitted here because they have special meanings below.
248692f60a7Smrg	1750a | 580 \
249692f60a7Smrg	| a29k \
250692f60a7Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251692f60a7Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25254569438Smrg	| am33_2.0 \
25354569438Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2543f6d0e1dSmrg        | be32 | be64 \
25554569438Smrg	| bfin \
256692f60a7Smrg	| c4x | clipper \
257692f60a7Smrg	| d10v | d30v | dlx | dsp16xx \
2583f6d0e1dSmrg	| epiphany \
25954569438Smrg	| fido | fr30 | frv \
260692f60a7Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2613f6d0e1dSmrg	| hexagon \
262692f60a7Smrg	| i370 | i860 | i960 | ia64 \
26354569438Smrg	| ip2k | iq2000 \
2643f6d0e1dSmrg	| le32 | le64 \
2653f6d0e1dSmrg	| lm32 \
26654569438Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2673f6d0e1dSmrg	| maxq | mb | microblaze | mcore | mep | metag \
268692f60a7Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269692f60a7Smrg	| mips16 \
270692f60a7Smrg	| mips64 | mips64el \
2713f6d0e1dSmrg	| mips64octeon | mips64octeonel \
2722e71ea71Smrg	| mips64orion | mips64orionel \
2733f6d0e1dSmrg	| mips64r5900 | mips64r5900el \
2743f6d0e1dSmrg	| mips64vr | mips64vrel \
275692f60a7Smrg	| mips64vr4100 | mips64vr4100el \
276692f60a7Smrg	| mips64vr4300 | mips64vr4300el \
277692f60a7Smrg	| mips64vr5000 | mips64vr5000el \
27854569438Smrg	| mips64vr5900 | mips64vr5900el \
279692f60a7Smrg	| mipsisa32 | mipsisa32el \
280692f60a7Smrg	| mipsisa32r2 | mipsisa32r2el \
281692f60a7Smrg	| mipsisa64 | mipsisa64el \
28254569438Smrg	| mipsisa64r2 | mipsisa64r2el \
283692f60a7Smrg	| mipsisa64sb1 | mipsisa64sb1el \
284692f60a7Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
285692f60a7Smrg	| mipstx39 | mipstx39el \
286692f60a7Smrg	| mn10200 | mn10300 \
2873f6d0e1dSmrg	| moxie \
28854569438Smrg	| mt \
289692f60a7Smrg	| msp430 \
2903f6d0e1dSmrg	| nds32 | nds32le | nds32be \
29154569438Smrg	| nios | nios2 \
292692f60a7Smrg	| ns16k | ns32k \
2933f6d0e1dSmrg	| open8 \
29454569438Smrg	| or32 \
295692f60a7Smrg	| pdp10 | pdp11 | pj | pjl \
2963f6d0e1dSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297692f60a7Smrg	| pyramid \
2983f6d0e1dSmrg	| rl78 | rx \
29954569438Smrg	| score \
3003f6d0e1dSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301692f60a7Smrg	| sh64 | sh64le \
30254569438Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30354569438Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3043f6d0e1dSmrg	| spu \
3053f6d0e1dSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3063f6d0e1dSmrg	| ubicom32 \
3073f6d0e1dSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308692f60a7Smrg	| we32k \
3093f6d0e1dSmrg	| x86 | xc16x | xstormy16 | xtensa \
3103f6d0e1dSmrg	| z8k | z80)
311692f60a7Smrg		basic_machine=$basic_machine-unknown
312692f60a7Smrg		;;
3133f6d0e1dSmrg	c54x)
3143f6d0e1dSmrg		basic_machine=tic54x-unknown
3153f6d0e1dSmrg		;;
3163f6d0e1dSmrg	c55x)
3173f6d0e1dSmrg		basic_machine=tic55x-unknown
3183f6d0e1dSmrg		;;
3193f6d0e1dSmrg	c6x)
3203f6d0e1dSmrg		basic_machine=tic6x-unknown
3213f6d0e1dSmrg		;;
3223f6d0e1dSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323692f60a7Smrg		basic_machine=$basic_machine-unknown
324692f60a7Smrg		os=-none
325692f60a7Smrg		;;
326692f60a7Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
327692f60a7Smrg		;;
32854569438Smrg	ms1)
32954569438Smrg		basic_machine=mt-unknown
33054569438Smrg		;;
331692f60a7Smrg
3323f6d0e1dSmrg	strongarm | thumb | xscale)
3333f6d0e1dSmrg		basic_machine=arm-unknown
3343f6d0e1dSmrg		;;
3353f6d0e1dSmrg
3363f6d0e1dSmrg	xscaleeb)
3373f6d0e1dSmrg		basic_machine=armeb-unknown
3383f6d0e1dSmrg		;;
3393f6d0e1dSmrg
3403f6d0e1dSmrg	xscaleel)
3413f6d0e1dSmrg		basic_machine=armel-unknown
3423f6d0e1dSmrg		;;
3433f6d0e1dSmrg
344692f60a7Smrg	# We use `pc' rather than `unknown'
345692f60a7Smrg	# because (1) that's what they normally are, and
346692f60a7Smrg	# (2) the word "unknown" tends to confuse beginning users.
347692f60a7Smrg	i*86 | x86_64)
348692f60a7Smrg	  basic_machine=$basic_machine-pc
349692f60a7Smrg	  ;;
350692f60a7Smrg	# Object if more than one company name word.
351692f60a7Smrg	*-*-*)
352692f60a7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
353692f60a7Smrg		exit 1
354692f60a7Smrg		;;
355692f60a7Smrg	# Recognize the basic CPU types with company name.
356692f60a7Smrg	580-* \
357692f60a7Smrg	| a29k-* \
358692f60a7Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
359692f60a7Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
360692f60a7Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
361692f60a7Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36254569438Smrg	| avr-* | avr32-* \
3633f6d0e1dSmrg	| be32-* | be64-* \
36454569438Smrg	| bfin-* | bs2000-* \
3653f6d0e1dSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36654569438Smrg	| clipper-* | craynv-* | cydra-* \
367692f60a7Smrg	| d10v-* | d30v-* | dlx-* \
368692f60a7Smrg	| elxsi-* \
36954569438Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
370692f60a7Smrg	| h8300-* | h8500-* \
371692f60a7Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3723f6d0e1dSmrg	| hexagon-* \
373692f60a7Smrg	| i*86-* | i860-* | i960-* | ia64-* \
37454569438Smrg	| ip2k-* | iq2000-* \
3753f6d0e1dSmrg	| le32-* | le64-* \
3763f6d0e1dSmrg	| lm32-* \
37754569438Smrg	| m32c-* | m32r-* | m32rle-* \
378692f60a7Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3793f6d0e1dSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
380692f60a7Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
381692f60a7Smrg	| mips16-* \
382692f60a7Smrg	| mips64-* | mips64el-* \
3833f6d0e1dSmrg	| mips64octeon-* | mips64octeonel-* \
3842e71ea71Smrg	| mips64orion-* | mips64orionel-* \
3853f6d0e1dSmrg	| mips64r5900-* | mips64r5900el-* \
3863f6d0e1dSmrg	| mips64vr-* | mips64vrel-* \
387692f60a7Smrg	| mips64vr4100-* | mips64vr4100el-* \
388692f60a7Smrg	| mips64vr4300-* | mips64vr4300el-* \
389692f60a7Smrg	| mips64vr5000-* | mips64vr5000el-* \
39054569438Smrg	| mips64vr5900-* | mips64vr5900el-* \
391692f60a7Smrg	| mipsisa32-* | mipsisa32el-* \
392692f60a7Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
393692f60a7Smrg	| mipsisa64-* | mipsisa64el-* \
39454569438Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
395692f60a7Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
396692f60a7Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
397692f60a7Smrg	| mipstx39-* | mipstx39el-* \
39854569438Smrg	| mmix-* \
39954569438Smrg	| mt-* \
400692f60a7Smrg	| msp430-* \
4013f6d0e1dSmrg	| nds32-* | nds32le-* | nds32be-* \
40254569438Smrg	| nios-* | nios2-* \
40354569438Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4043f6d0e1dSmrg	| open8-* \
405692f60a7Smrg	| orion-* \
406692f60a7Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4073f6d0e1dSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
408692f60a7Smrg	| pyramid-* \
4093f6d0e1dSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4103f6d0e1dSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
411692f60a7Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41254569438Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41354569438Smrg	| sparclite-* \
4143f6d0e1dSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4153f6d0e1dSmrg	| tahoe-* \
4162e71ea71Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4173f6d0e1dSmrg	| tile*-* \
418692f60a7Smrg	| tron-* \
4193f6d0e1dSmrg	| ubicom32-* \
4203f6d0e1dSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4213f6d0e1dSmrg	| vax-* \
422692f60a7Smrg	| we32k-* \
4233f6d0e1dSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
42454569438Smrg	| xstormy16-* | xtensa*-* \
425692f60a7Smrg	| ymp-* \
4263f6d0e1dSmrg	| z8k-* | z80-*)
427692f60a7Smrg		;;
42854569438Smrg	# Recognize the basic CPU types without company name, with glob match.
42954569438Smrg	xtensa*)
43054569438Smrg		basic_machine=$basic_machine-unknown
43154569438Smrg		;;
432692f60a7Smrg	# Recognize the various machine names and aliases which stand
433692f60a7Smrg	# for a CPU type and a company and sometimes even an OS.
434692f60a7Smrg	386bsd)
435692f60a7Smrg		basic_machine=i386-unknown
436692f60a7Smrg		os=-bsd
437692f60a7Smrg		;;
438692f60a7Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
439692f60a7Smrg		basic_machine=m68000-att
440692f60a7Smrg		;;
441692f60a7Smrg	3b*)
442692f60a7Smrg		basic_machine=we32k-att
443692f60a7Smrg		;;
444692f60a7Smrg	a29khif)
445692f60a7Smrg		basic_machine=a29k-amd
446692f60a7Smrg		os=-udi
447692f60a7Smrg		;;
4483f6d0e1dSmrg	abacus)
44954569438Smrg		basic_machine=abacus-unknown
45054569438Smrg		;;
451692f60a7Smrg	adobe68k)
452692f60a7Smrg		basic_machine=m68010-adobe
453692f60a7Smrg		os=-scout
454692f60a7Smrg		;;
455692f60a7Smrg	alliant | fx80)
456692f60a7Smrg		basic_machine=fx80-alliant
457692f60a7Smrg		;;
458692f60a7Smrg	altos | altos3068)
459692f60a7Smrg		basic_machine=m68k-altos
460692f60a7Smrg		;;
461692f60a7Smrg	am29k)
462692f60a7Smrg		basic_machine=a29k-none
463692f60a7Smrg		os=-bsd
464692f60a7Smrg		;;
465692f60a7Smrg	amd64)
466692f60a7Smrg		basic_machine=x86_64-pc
467692f60a7Smrg		;;
46854569438Smrg	amd64-*)
46954569438Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47054569438Smrg		;;
471692f60a7Smrg	amdahl)
472692f60a7Smrg		basic_machine=580-amdahl
473692f60a7Smrg		os=-sysv
474692f60a7Smrg		;;
475692f60a7Smrg	amiga | amiga-*)
476692f60a7Smrg		basic_machine=m68k-unknown
477692f60a7Smrg		;;
478692f60a7Smrg	amigaos | amigados)
479692f60a7Smrg		basic_machine=m68k-unknown
480692f60a7Smrg		os=-amigaos
481692f60a7Smrg		;;
482692f60a7Smrg	amigaunix | amix)
483692f60a7Smrg		basic_machine=m68k-unknown
484692f60a7Smrg		os=-sysv4
485692f60a7Smrg		;;
486692f60a7Smrg	apollo68)
487692f60a7Smrg		basic_machine=m68k-apollo
488692f60a7Smrg		os=-sysv
489692f60a7Smrg		;;
490692f60a7Smrg	apollo68bsd)
491692f60a7Smrg		basic_machine=m68k-apollo
492692f60a7Smrg		os=-bsd
493692f60a7Smrg		;;
4943f6d0e1dSmrg	aros)
4953f6d0e1dSmrg		basic_machine=i386-pc
4963f6d0e1dSmrg		os=-aros
4973f6d0e1dSmrg		;;
498692f60a7Smrg	aux)
499692f60a7Smrg		basic_machine=m68k-apple
500692f60a7Smrg		os=-aux
501692f60a7Smrg		;;
502692f60a7Smrg	balance)
503692f60a7Smrg		basic_machine=ns32k-sequent
504692f60a7Smrg		os=-dynix
505692f60a7Smrg		;;
50654569438Smrg	blackfin)
50754569438Smrg		basic_machine=bfin-unknown
50854569438Smrg		os=-linux
50954569438Smrg		;;
51054569438Smrg	blackfin-*)
51154569438Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
51254569438Smrg		os=-linux
51354569438Smrg		;;
5143f6d0e1dSmrg	bluegene*)
5153f6d0e1dSmrg		basic_machine=powerpc-ibm
5163f6d0e1dSmrg		os=-cnk
5173f6d0e1dSmrg		;;
5183f6d0e1dSmrg	c54x-*)
5193f6d0e1dSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5203f6d0e1dSmrg		;;
5213f6d0e1dSmrg	c55x-*)
5223f6d0e1dSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5233f6d0e1dSmrg		;;
5243f6d0e1dSmrg	c6x-*)
5253f6d0e1dSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5263f6d0e1dSmrg		;;
527692f60a7Smrg	c90)
528692f60a7Smrg		basic_machine=c90-cray
529692f60a7Smrg		os=-unicos
530692f60a7Smrg		;;
5313f6d0e1dSmrg	cegcc)
5323f6d0e1dSmrg		basic_machine=arm-unknown
5333f6d0e1dSmrg		os=-cegcc
5343f6d0e1dSmrg		;;
535692f60a7Smrg	convex-c1)
536692f60a7Smrg		basic_machine=c1-convex
537692f60a7Smrg		os=-bsd
538692f60a7Smrg		;;
539692f60a7Smrg	convex-c2)
540692f60a7Smrg		basic_machine=c2-convex
541692f60a7Smrg		os=-bsd
542692f60a7Smrg		;;
543692f60a7Smrg	convex-c32)
544692f60a7Smrg		basic_machine=c32-convex
545692f60a7Smrg		os=-bsd
546692f60a7Smrg		;;
547692f60a7Smrg	convex-c34)
548692f60a7Smrg		basic_machine=c34-convex
549692f60a7Smrg		os=-bsd
550692f60a7Smrg		;;
551692f60a7Smrg	convex-c38)
552692f60a7Smrg		basic_machine=c38-convex
553692f60a7Smrg		os=-bsd
554692f60a7Smrg		;;
555692f60a7Smrg	cray | j90)
556692f60a7Smrg		basic_machine=j90-cray
557692f60a7Smrg		os=-unicos
558692f60a7Smrg		;;
55954569438Smrg	craynv)
56054569438Smrg		basic_machine=craynv-cray
56154569438Smrg		os=-unicosmp
56254569438Smrg		;;
5633f6d0e1dSmrg	cr16 | cr16-*)
56454569438Smrg		basic_machine=cr16-unknown
56554569438Smrg		os=-elf
56654569438Smrg		;;
567692f60a7Smrg	crds | unos)
568692f60a7Smrg		basic_machine=m68k-crds
569692f60a7Smrg		;;
57054569438Smrg	crisv32 | crisv32-* | etraxfs*)
57154569438Smrg		basic_machine=crisv32-axis
57254569438Smrg		;;
573692f60a7Smrg	cris | cris-* | etrax*)
574692f60a7Smrg		basic_machine=cris-axis
575692f60a7Smrg		;;
57654569438Smrg	crx)
57754569438Smrg		basic_machine=crx-unknown
57854569438Smrg		os=-elf
57954569438Smrg		;;
580692f60a7Smrg	da30 | da30-*)
581692f60a7Smrg		basic_machine=m68k-da30
582692f60a7Smrg		;;
583692f60a7Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
584692f60a7Smrg		basic_machine=mips-dec
585692f60a7Smrg		;;
586692f60a7Smrg	decsystem10* | dec10*)
587692f60a7Smrg		basic_machine=pdp10-dec
588692f60a7Smrg		os=-tops10
589692f60a7Smrg		;;
590692f60a7Smrg	decsystem20* | dec20*)
591692f60a7Smrg		basic_machine=pdp10-dec
592692f60a7Smrg		os=-tops20
593692f60a7Smrg		;;
594692f60a7Smrg	delta | 3300 | motorola-3300 | motorola-delta \
595692f60a7Smrg	      | 3300-motorola | delta-motorola)
596692f60a7Smrg		basic_machine=m68k-motorola
597692f60a7Smrg		;;
598692f60a7Smrg	delta88)
599692f60a7Smrg		basic_machine=m88k-motorola
600692f60a7Smrg		os=-sysv3
601692f60a7Smrg		;;
6023f6d0e1dSmrg	dicos)
6033f6d0e1dSmrg		basic_machine=i686-pc
6043f6d0e1dSmrg		os=-dicos
6053f6d0e1dSmrg		;;
60654569438Smrg	djgpp)
60754569438Smrg		basic_machine=i586-pc
60854569438Smrg		os=-msdosdjgpp
60954569438Smrg		;;
610692f60a7Smrg	dpx20 | dpx20-*)
611692f60a7Smrg		basic_machine=rs6000-bull
612692f60a7Smrg		os=-bosx
613692f60a7Smrg		;;
614692f60a7Smrg	dpx2* | dpx2*-bull)
615692f60a7Smrg		basic_machine=m68k-bull
616692f60a7Smrg		os=-sysv3
617692f60a7Smrg		;;
618692f60a7Smrg	ebmon29k)
619692f60a7Smrg		basic_machine=a29k-amd
620692f60a7Smrg		os=-ebmon
621692f60a7Smrg		;;
622692f60a7Smrg	elxsi)
623692f60a7Smrg		basic_machine=elxsi-elxsi
624692f60a7Smrg		os=-bsd
625692f60a7Smrg		;;
626692f60a7Smrg	encore | umax | mmax)
627692f60a7Smrg		basic_machine=ns32k-encore
628692f60a7Smrg		;;
629692f60a7Smrg	es1800 | OSE68k | ose68k | ose | OSE)
630692f60a7Smrg		basic_machine=m68k-ericsson
631692f60a7Smrg		os=-ose
632692f60a7Smrg		;;
633692f60a7Smrg	fx2800)
634692f60a7Smrg		basic_machine=i860-alliant
635692f60a7Smrg		;;
636692f60a7Smrg	genix)
637692f60a7Smrg		basic_machine=ns32k-ns
638692f60a7Smrg		;;
639692f60a7Smrg	gmicro)
640692f60a7Smrg		basic_machine=tron-gmicro
641692f60a7Smrg		os=-sysv
642692f60a7Smrg		;;
643692f60a7Smrg	go32)
644692f60a7Smrg		basic_machine=i386-pc
645692f60a7Smrg		os=-go32
646692f60a7Smrg		;;
647692f60a7Smrg	h3050r* | hiux*)
648692f60a7Smrg		basic_machine=hppa1.1-hitachi
649692f60a7Smrg		os=-hiuxwe2
650692f60a7Smrg		;;
651692f60a7Smrg	h8300hms)
652692f60a7Smrg		basic_machine=h8300-hitachi
653692f60a7Smrg		os=-hms
654692f60a7Smrg		;;
655692f60a7Smrg	h8300xray)
656692f60a7Smrg		basic_machine=h8300-hitachi
657692f60a7Smrg		os=-xray
658692f60a7Smrg		;;
659692f60a7Smrg	h8500hms)
660692f60a7Smrg		basic_machine=h8500-hitachi
661692f60a7Smrg		os=-hms
662692f60a7Smrg		;;
663692f60a7Smrg	harris)
664692f60a7Smrg		basic_machine=m88k-harris
665692f60a7Smrg		os=-sysv3
666692f60a7Smrg		;;
667692f60a7Smrg	hp300-*)
668692f60a7Smrg		basic_machine=m68k-hp
669692f60a7Smrg		;;
670692f60a7Smrg	hp300bsd)
671692f60a7Smrg		basic_machine=m68k-hp
672692f60a7Smrg		os=-bsd
673692f60a7Smrg		;;
674692f60a7Smrg	hp300hpux)
675692f60a7Smrg		basic_machine=m68k-hp
676692f60a7Smrg		os=-hpux
677692f60a7Smrg		;;
678692f60a7Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
679692f60a7Smrg		basic_machine=hppa1.0-hp
680692f60a7Smrg		;;
681692f60a7Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
682692f60a7Smrg		basic_machine=m68000-hp
683692f60a7Smrg		;;
684692f60a7Smrg	hp9k3[2-9][0-9])
685692f60a7Smrg		basic_machine=m68k-hp
686692f60a7Smrg		;;
687692f60a7Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
688692f60a7Smrg		basic_machine=hppa1.0-hp
689692f60a7Smrg		;;
690692f60a7Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
691692f60a7Smrg		basic_machine=hppa1.1-hp
692692f60a7Smrg		;;
693692f60a7Smrg	hp9k78[0-9] | hp78[0-9])
694692f60a7Smrg		# FIXME: really hppa2.0-hp
695692f60a7Smrg		basic_machine=hppa1.1-hp
696692f60a7Smrg		;;
697692f60a7Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
698692f60a7Smrg		# FIXME: really hppa2.0-hp
699692f60a7Smrg		basic_machine=hppa1.1-hp
700692f60a7Smrg		;;
701692f60a7Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
702692f60a7Smrg		basic_machine=hppa1.1-hp
703692f60a7Smrg		;;
704692f60a7Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
705692f60a7Smrg		basic_machine=hppa1.0-hp
706692f60a7Smrg		;;
707692f60a7Smrg	hppa-next)
708692f60a7Smrg		os=-nextstep3
709692f60a7Smrg		;;
710692f60a7Smrg	hppaosf)
711692f60a7Smrg		basic_machine=hppa1.1-hp
712692f60a7Smrg		os=-osf
713692f60a7Smrg		;;
714692f60a7Smrg	hppro)
715692f60a7Smrg		basic_machine=hppa1.1-hp
716692f60a7Smrg		os=-proelf
717692f60a7Smrg		;;
718692f60a7Smrg	i370-ibm* | ibm*)
719692f60a7Smrg		basic_machine=i370-ibm
720692f60a7Smrg		;;
721692f60a7Smrg	i*86v32)
722692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
723692f60a7Smrg		os=-sysv32
724692f60a7Smrg		;;
725692f60a7Smrg	i*86v4*)
726692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727692f60a7Smrg		os=-sysv4
728692f60a7Smrg		;;
729692f60a7Smrg	i*86v)
730692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731692f60a7Smrg		os=-sysv
732692f60a7Smrg		;;
733692f60a7Smrg	i*86sol2)
734692f60a7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735692f60a7Smrg		os=-solaris2
736692f60a7Smrg		;;
737692f60a7Smrg	i386mach)
738692f60a7Smrg		basic_machine=i386-mach
739692f60a7Smrg		os=-mach
740692f60a7Smrg		;;
741692f60a7Smrg	i386-vsta | vsta)
742692f60a7Smrg		basic_machine=i386-unknown
743692f60a7Smrg		os=-vsta
744692f60a7Smrg		;;
745692f60a7Smrg	iris | iris4d)
746692f60a7Smrg		basic_machine=mips-sgi
747692f60a7Smrg		case $os in
748692f60a7Smrg		    -irix*)
749692f60a7Smrg			;;
750692f60a7Smrg		    *)
751692f60a7Smrg			os=-irix4
752692f60a7Smrg			;;
753692f60a7Smrg		esac
754692f60a7Smrg		;;
755692f60a7Smrg	isi68 | isi)
756692f60a7Smrg		basic_machine=m68k-isi
757692f60a7Smrg		os=-sysv
758692f60a7Smrg		;;
75954569438Smrg	m68knommu)
76054569438Smrg		basic_machine=m68k-unknown
76154569438Smrg		os=-linux
76254569438Smrg		;;
76354569438Smrg	m68knommu-*)
76454569438Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
76554569438Smrg		os=-linux
76654569438Smrg		;;
767692f60a7Smrg	m88k-omron*)
768692f60a7Smrg		basic_machine=m88k-omron
769692f60a7Smrg		;;
770692f60a7Smrg	magnum | m3230)
771692f60a7Smrg		basic_machine=mips-mips
772692f60a7Smrg		os=-sysv
773692f60a7Smrg		;;
774692f60a7Smrg	merlin)
775692f60a7Smrg		basic_machine=ns32k-utek
776692f60a7Smrg		os=-sysv
777692f60a7Smrg		;;
7783f6d0e1dSmrg	microblaze)
7793f6d0e1dSmrg		basic_machine=microblaze-xilinx
7803f6d0e1dSmrg		;;
781692f60a7Smrg	mingw32)
782692f60a7Smrg		basic_machine=i386-pc
783692f60a7Smrg		os=-mingw32
784692f60a7Smrg		;;
78554569438Smrg	mingw32ce)
78654569438Smrg		basic_machine=arm-unknown
78754569438Smrg		os=-mingw32ce
78854569438Smrg		;;
789692f60a7Smrg	miniframe)
790692f60a7Smrg		basic_machine=m68000-convergent
791692f60a7Smrg		;;
792692f60a7Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
793692f60a7Smrg		basic_machine=m68k-atari
794692f60a7Smrg		os=-mint
795692f60a7Smrg		;;
796692f60a7Smrg	mips3*-*)
797692f60a7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
798692f60a7Smrg		;;
799692f60a7Smrg	mips3*)
800692f60a7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
801692f60a7Smrg		;;
802692f60a7Smrg	monitor)
803692f60a7Smrg		basic_machine=m68k-rom68k
804692f60a7Smrg		os=-coff
805692f60a7Smrg		;;
806692f60a7Smrg	morphos)
807692f60a7Smrg		basic_machine=powerpc-unknown
808692f60a7Smrg		os=-morphos
809692f60a7Smrg		;;
810692f60a7Smrg	msdos)
811692f60a7Smrg		basic_machine=i386-pc
812692f60a7Smrg		os=-msdos
813692f60a7Smrg		;;
81454569438Smrg	ms1-*)
81554569438Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81654569438Smrg		;;
8173f6d0e1dSmrg	msys)
8183f6d0e1dSmrg		basic_machine=i386-pc
8193f6d0e1dSmrg		os=-msys
8203f6d0e1dSmrg		;;
821692f60a7Smrg	mvs)
822692f60a7Smrg		basic_machine=i370-ibm
823692f60a7Smrg		os=-mvs
824692f60a7Smrg		;;
8253f6d0e1dSmrg	nacl)
8263f6d0e1dSmrg		basic_machine=le32-unknown
8273f6d0e1dSmrg		os=-nacl
8283f6d0e1dSmrg		;;
829692f60a7Smrg	ncr3000)
830692f60a7Smrg		basic_machine=i486-ncr
831692f60a7Smrg		os=-sysv4
832692f60a7Smrg		;;
833692f60a7Smrg	netbsd386)
834692f60a7Smrg		basic_machine=i386-unknown
835692f60a7Smrg		os=-netbsd
836692f60a7Smrg		;;
837692f60a7Smrg	netwinder)
838692f60a7Smrg		basic_machine=armv4l-rebel
839692f60a7Smrg		os=-linux
840692f60a7Smrg		;;
841692f60a7Smrg	news | news700 | news800 | news900)
842692f60a7Smrg		basic_machine=m68k-sony
843692f60a7Smrg		os=-newsos
844692f60a7Smrg		;;
845692f60a7Smrg	news1000)
846692f60a7Smrg		basic_machine=m68030-sony
847692f60a7Smrg		os=-newsos
848692f60a7Smrg		;;
849692f60a7Smrg	news-3600 | risc-news)
850692f60a7Smrg		basic_machine=mips-sony
851692f60a7Smrg		os=-newsos
852692f60a7Smrg		;;
853692f60a7Smrg	necv70)
854692f60a7Smrg		basic_machine=v70-nec
855692f60a7Smrg		os=-sysv
856692f60a7Smrg		;;
857692f60a7Smrg	next | m*-next )
858692f60a7Smrg		basic_machine=m68k-next
859692f60a7Smrg		case $os in
860692f60a7Smrg		    -nextstep* )
861692f60a7Smrg			;;
862692f60a7Smrg		    -ns2*)
863692f60a7Smrg		      os=-nextstep2
864692f60a7Smrg			;;
865692f60a7Smrg		    *)
866692f60a7Smrg		      os=-nextstep3
867692f60a7Smrg			;;
868692f60a7Smrg		esac
869692f60a7Smrg		;;
870692f60a7Smrg	nh3000)
871692f60a7Smrg		basic_machine=m68k-harris
872692f60a7Smrg		os=-cxux
873692f60a7Smrg		;;
874692f60a7Smrg	nh[45]000)
875692f60a7Smrg		basic_machine=m88k-harris
876692f60a7Smrg		os=-cxux
877692f60a7Smrg		;;
878692f60a7Smrg	nindy960)
879692f60a7Smrg		basic_machine=i960-intel
880692f60a7Smrg		os=-nindy
881692f60a7Smrg		;;
882692f60a7Smrg	mon960)
883692f60a7Smrg		basic_machine=i960-intel
884692f60a7Smrg		os=-mon960
885692f60a7Smrg		;;
886692f60a7Smrg	nonstopux)
887692f60a7Smrg		basic_machine=mips-compaq
888692f60a7Smrg		os=-nonstopux
889692f60a7Smrg		;;
890692f60a7Smrg	np1)
891692f60a7Smrg		basic_machine=np1-gould
892692f60a7Smrg		;;
8933f6d0e1dSmrg	neo-tandem)
8943f6d0e1dSmrg		basic_machine=neo-tandem
8953f6d0e1dSmrg		;;
8963f6d0e1dSmrg	nse-tandem)
8973f6d0e1dSmrg		basic_machine=nse-tandem
8983f6d0e1dSmrg		;;
899692f60a7Smrg	nsr-tandem)
900692f60a7Smrg		basic_machine=nsr-tandem
901692f60a7Smrg		;;
902692f60a7Smrg	op50n-* | op60c-*)
903692f60a7Smrg		basic_machine=hppa1.1-oki
904692f60a7Smrg		os=-proelf
905692f60a7Smrg		;;
90654569438Smrg	openrisc | openrisc-*)
907692f60a7Smrg		basic_machine=or32-unknown
90854569438Smrg		;;
90954569438Smrg	os400)
91054569438Smrg		basic_machine=powerpc-ibm
91154569438Smrg		os=-os400
912692f60a7Smrg		;;
913692f60a7Smrg	OSE68000 | ose68000)
914692f60a7Smrg		basic_machine=m68000-ericsson
915692f60a7Smrg		os=-ose
916692f60a7Smrg		;;
917692f60a7Smrg	os68k)
918692f60a7Smrg		basic_machine=m68k-none
919692f60a7Smrg		os=-os68k
920692f60a7Smrg		;;
921692f60a7Smrg	pa-hitachi)
922692f60a7Smrg		basic_machine=hppa1.1-hitachi
923692f60a7Smrg		os=-hiuxwe2
924692f60a7Smrg		;;
925692f60a7Smrg	paragon)
926692f60a7Smrg		basic_machine=i860-intel
927692f60a7Smrg		os=-osf
928692f60a7Smrg		;;
92954569438Smrg	parisc)
93054569438Smrg		basic_machine=hppa-unknown
93154569438Smrg		os=-linux
93254569438Smrg		;;
93354569438Smrg	parisc-*)
93454569438Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
93554569438Smrg		os=-linux
93654569438Smrg		;;
937692f60a7Smrg	pbd)
938692f60a7Smrg		basic_machine=sparc-tti
939692f60a7Smrg		;;
940692f60a7Smrg	pbb)
941692f60a7Smrg		basic_machine=m68k-tti
942692f60a7Smrg		;;
943692f60a7Smrg	pc532 | pc532-*)
944692f60a7Smrg		basic_machine=ns32k-pc532
945692f60a7Smrg		;;
94654569438Smrg	pc98)
94754569438Smrg		basic_machine=i386-pc
94854569438Smrg		;;
94954569438Smrg	pc98-*)
95054569438Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95154569438Smrg		;;
952692f60a7Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
953692f60a7Smrg		basic_machine=i586-pc
954692f60a7Smrg		;;
955692f60a7Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
956692f60a7Smrg		basic_machine=i686-pc
957692f60a7Smrg		;;
958692f60a7Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
959692f60a7Smrg		basic_machine=i686-pc
960692f60a7Smrg		;;
961692f60a7Smrg	pentium4)
962692f60a7Smrg		basic_machine=i786-pc
963692f60a7Smrg		;;
964692f60a7Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
965692f60a7Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
966692f60a7Smrg		;;
967692f60a7Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
968692f60a7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
969692f60a7Smrg		;;
970692f60a7Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
971692f60a7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
972692f60a7Smrg		;;
973692f60a7Smrg	pentium4-*)
974692f60a7Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
975692f60a7Smrg		;;
976692f60a7Smrg	pn)
977692f60a7Smrg		basic_machine=pn-gould
978692f60a7Smrg		;;
979692f60a7Smrg	power)	basic_machine=power-ibm
980692f60a7Smrg		;;
9813f6d0e1dSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
982692f60a7Smrg		;;
9833f6d0e1dSmrg	ppc-* | ppcbe-*)
9843f6d0e1dSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
985692f60a7Smrg		;;
986692f60a7Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
987692f60a7Smrg		basic_machine=powerpcle-unknown
988692f60a7Smrg		;;
989692f60a7Smrg	ppcle-* | powerpclittle-*)
990692f60a7Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
991692f60a7Smrg		;;
992692f60a7Smrg	ppc64)	basic_machine=powerpc64-unknown
993692f60a7Smrg		;;
994692f60a7Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
995692f60a7Smrg		;;
996692f60a7Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
997692f60a7Smrg		basic_machine=powerpc64le-unknown
998692f60a7Smrg		;;
999692f60a7Smrg	ppc64le-* | powerpc64little-*)
1000692f60a7Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1001692f60a7Smrg		;;
1002692f60a7Smrg	ps2)
1003692f60a7Smrg		basic_machine=i386-ibm
1004692f60a7Smrg		;;
1005692f60a7Smrg	pw32)
1006692f60a7Smrg		basic_machine=i586-unknown
1007692f60a7Smrg		os=-pw32
1008692f60a7Smrg		;;
100954569438Smrg	rdos)
101054569438Smrg		basic_machine=i386-pc
101154569438Smrg		os=-rdos
101254569438Smrg		;;
1013692f60a7Smrg	rom68k)
1014692f60a7Smrg		basic_machine=m68k-rom68k
1015692f60a7Smrg		os=-coff
1016692f60a7Smrg		;;
1017692f60a7Smrg	rm[46]00)
1018692f60a7Smrg		basic_machine=mips-siemens
1019692f60a7Smrg		;;
1020692f60a7Smrg	rtpc | rtpc-*)
1021692f60a7Smrg		basic_machine=romp-ibm
1022692f60a7Smrg		;;
102354569438Smrg	s390 | s390-*)
102454569438Smrg		basic_machine=s390-ibm
102554569438Smrg		;;
102654569438Smrg	s390x | s390x-*)
102754569438Smrg		basic_machine=s390x-ibm
102854569438Smrg		;;
1029692f60a7Smrg	sa29200)
1030692f60a7Smrg		basic_machine=a29k-amd
1031692f60a7Smrg		os=-udi
1032692f60a7Smrg		;;
1033692f60a7Smrg	sb1)
1034692f60a7Smrg		basic_machine=mipsisa64sb1-unknown
1035692f60a7Smrg		;;
1036692f60a7Smrg	sb1el)
1037692f60a7Smrg		basic_machine=mipsisa64sb1el-unknown
1038692f60a7Smrg		;;
103954569438Smrg	sde)
104054569438Smrg		basic_machine=mipsisa32-sde
104154569438Smrg		os=-elf
104254569438Smrg		;;
1043692f60a7Smrg	sei)
1044692f60a7Smrg		basic_machine=mips-sei
1045692f60a7Smrg		os=-seiux
1046692f60a7Smrg		;;
1047692f60a7Smrg	sequent)
1048692f60a7Smrg		basic_machine=i386-sequent
1049692f60a7Smrg		;;
1050692f60a7Smrg	sh)
1051692f60a7Smrg		basic_machine=sh-hitachi
1052692f60a7Smrg		os=-hms
1053692f60a7Smrg		;;
105454569438Smrg	sh5el)
105554569438Smrg		basic_machine=sh5le-unknown
105654569438Smrg		;;
1057692f60a7Smrg	sh64)
1058692f60a7Smrg		basic_machine=sh64-unknown
1059692f60a7Smrg		;;
1060692f60a7Smrg	sparclite-wrs | simso-wrs)
1061692f60a7Smrg		basic_machine=sparclite-wrs
1062692f60a7Smrg		os=-vxworks
1063692f60a7Smrg		;;
1064692f60a7Smrg	sps7)
1065692f60a7Smrg		basic_machine=m68k-bull
1066692f60a7Smrg		os=-sysv2
1067692f60a7Smrg		;;
1068692f60a7Smrg	spur)
1069692f60a7Smrg		basic_machine=spur-unknown
1070692f60a7Smrg		;;
1071692f60a7Smrg	st2000)
1072692f60a7Smrg		basic_machine=m68k-tandem
1073692f60a7Smrg		;;
1074692f60a7Smrg	stratus)
1075692f60a7Smrg		basic_machine=i860-stratus
1076692f60a7Smrg		os=-sysv4
1077692f60a7Smrg		;;
10783f6d0e1dSmrg	strongarm-* | thumb-*)
10793f6d0e1dSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10803f6d0e1dSmrg		;;
1081692f60a7Smrg	sun2)
1082692f60a7Smrg		basic_machine=m68000-sun
1083692f60a7Smrg		;;
1084692f60a7Smrg	sun2os3)
1085692f60a7Smrg		basic_machine=m68000-sun
1086692f60a7Smrg		os=-sunos3
1087692f60a7Smrg		;;
1088692f60a7Smrg	sun2os4)
1089692f60a7Smrg		basic_machine=m68000-sun
1090692f60a7Smrg		os=-sunos4
1091692f60a7Smrg		;;
1092692f60a7Smrg	sun3os3)
1093692f60a7Smrg		basic_machine=m68k-sun
1094692f60a7Smrg		os=-sunos3
1095692f60a7Smrg		;;
1096692f60a7Smrg	sun3os4)
1097692f60a7Smrg		basic_machine=m68k-sun
1098692f60a7Smrg		os=-sunos4
1099692f60a7Smrg		;;
1100692f60a7Smrg	sun4os3)
1101692f60a7Smrg		basic_machine=sparc-sun
1102692f60a7Smrg		os=-sunos3
1103692f60a7Smrg		;;
1104692f60a7Smrg	sun4os4)
1105692f60a7Smrg		basic_machine=sparc-sun
1106692f60a7Smrg		os=-sunos4
1107692f60a7Smrg		;;
1108692f60a7Smrg	sun4sol2)
1109692f60a7Smrg		basic_machine=sparc-sun
1110692f60a7Smrg		os=-solaris2
1111692f60a7Smrg		;;
1112692f60a7Smrg	sun3 | sun3-*)
1113692f60a7Smrg		basic_machine=m68k-sun
1114692f60a7Smrg		;;
1115692f60a7Smrg	sun4)
1116692f60a7Smrg		basic_machine=sparc-sun
1117692f60a7Smrg		;;
1118692f60a7Smrg	sun386 | sun386i | roadrunner)
1119692f60a7Smrg		basic_machine=i386-sun
1120692f60a7Smrg		;;
1121692f60a7Smrg	sv1)
1122692f60a7Smrg		basic_machine=sv1-cray
1123692f60a7Smrg		os=-unicos
1124692f60a7Smrg		;;
1125692f60a7Smrg	symmetry)
1126692f60a7Smrg		basic_machine=i386-sequent
1127692f60a7Smrg		os=-dynix
1128692f60a7Smrg		;;
1129692f60a7Smrg	t3e)
1130692f60a7Smrg		basic_machine=alphaev5-cray
1131692f60a7Smrg		os=-unicos
1132692f60a7Smrg		;;
1133692f60a7Smrg	t90)
1134692f60a7Smrg		basic_machine=t90-cray
1135692f60a7Smrg		os=-unicos
1136692f60a7Smrg		;;
113754569438Smrg	tile*)
11383f6d0e1dSmrg		basic_machine=$basic_machine-unknown
113954569438Smrg		os=-linux-gnu
114054569438Smrg		;;
1141692f60a7Smrg	tx39)
1142692f60a7Smrg		basic_machine=mipstx39-unknown
1143692f60a7Smrg		;;
1144692f60a7Smrg	tx39el)
1145692f60a7Smrg		basic_machine=mipstx39el-unknown
1146692f60a7Smrg		;;
1147692f60a7Smrg	toad1)
1148692f60a7Smrg		basic_machine=pdp10-xkl
1149692f60a7Smrg		os=-tops20
1150692f60a7Smrg		;;
1151692f60a7Smrg	tower | tower-32)
1152692f60a7Smrg		basic_machine=m68k-ncr
1153692f60a7Smrg		;;
115454569438Smrg	tpf)
115554569438Smrg		basic_machine=s390x-ibm
115654569438Smrg		os=-tpf
115754569438Smrg		;;
1158692f60a7Smrg	udi29k)
1159692f60a7Smrg		basic_machine=a29k-amd
1160692f60a7Smrg		os=-udi
1161692f60a7Smrg		;;
1162692f60a7Smrg	ultra3)
1163692f60a7Smrg		basic_machine=a29k-nyu
1164692f60a7Smrg		os=-sym1
1165692f60a7Smrg		;;
1166692f60a7Smrg	v810 | necv810)
1167692f60a7Smrg		basic_machine=v810-nec
1168692f60a7Smrg		os=-none
1169692f60a7Smrg		;;
1170692f60a7Smrg	vaxv)
1171692f60a7Smrg		basic_machine=vax-dec
1172692f60a7Smrg		os=-sysv
1173692f60a7Smrg		;;
1174692f60a7Smrg	vms)
1175692f60a7Smrg		basic_machine=vax-dec
1176692f60a7Smrg		os=-vms
1177692f60a7Smrg		;;
1178692f60a7Smrg	vpp*|vx|vx-*)
1179692f60a7Smrg		basic_machine=f301-fujitsu
1180692f60a7Smrg		;;
1181692f60a7Smrg	vxworks960)
1182692f60a7Smrg		basic_machine=i960-wrs
1183692f60a7Smrg		os=-vxworks
1184692f60a7Smrg		;;
1185692f60a7Smrg	vxworks68)
1186692f60a7Smrg		basic_machine=m68k-wrs
1187692f60a7Smrg		os=-vxworks
1188692f60a7Smrg		;;
1189692f60a7Smrg	vxworks29k)
1190692f60a7Smrg		basic_machine=a29k-wrs
1191692f60a7Smrg		os=-vxworks
1192692f60a7Smrg		;;
1193692f60a7Smrg	w65*)
1194692f60a7Smrg		basic_machine=w65-wdc
1195692f60a7Smrg		os=-none
1196692f60a7Smrg		;;
1197692f60a7Smrg	w89k-*)
1198692f60a7Smrg		basic_machine=hppa1.1-winbond
1199692f60a7Smrg		os=-proelf
1200692f60a7Smrg		;;
120154569438Smrg	xbox)
120254569438Smrg		basic_machine=i686-pc
120354569438Smrg		os=-mingw32
120454569438Smrg		;;
1205692f60a7Smrg	xps | xps100)
1206692f60a7Smrg		basic_machine=xps100-honeywell
1207692f60a7Smrg		;;
12083f6d0e1dSmrg	xscale-* | xscalee[bl]-*)
12093f6d0e1dSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12103f6d0e1dSmrg		;;
1211692f60a7Smrg	ymp)
1212692f60a7Smrg		basic_machine=ymp-cray
1213692f60a7Smrg		os=-unicos
1214692f60a7Smrg		;;
1215692f60a7Smrg	z8k-*-coff)
1216692f60a7Smrg		basic_machine=z8k-unknown
1217692f60a7Smrg		os=-sim
1218692f60a7Smrg		;;
12193f6d0e1dSmrg	z80-*-coff)
12203f6d0e1dSmrg		basic_machine=z80-unknown
12213f6d0e1dSmrg		os=-sim
12223f6d0e1dSmrg		;;
1223692f60a7Smrg	none)
1224692f60a7Smrg		basic_machine=none-none
1225692f60a7Smrg		os=-none
1226692f60a7Smrg		;;
1227692f60a7Smrg
1228692f60a7Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1229692f60a7Smrg# some cases the only manufacturer, in others, it is the most popular.
1230692f60a7Smrg	w89k)
1231692f60a7Smrg		basic_machine=hppa1.1-winbond
1232692f60a7Smrg		;;
1233692f60a7Smrg	op50n)
1234692f60a7Smrg		basic_machine=hppa1.1-oki
1235692f60a7Smrg		;;
1236692f60a7Smrg	op60c)
1237692f60a7Smrg		basic_machine=hppa1.1-oki
1238692f60a7Smrg		;;
1239692f60a7Smrg	romp)
1240692f60a7Smrg		basic_machine=romp-ibm
1241692f60a7Smrg		;;
124254569438Smrg	mmix)
124354569438Smrg		basic_machine=mmix-knuth
124454569438Smrg		;;
1245692f60a7Smrg	rs6000)
1246692f60a7Smrg		basic_machine=rs6000-ibm
1247692f60a7Smrg		;;
1248692f60a7Smrg	vax)
1249692f60a7Smrg		basic_machine=vax-dec
1250692f60a7Smrg		;;
1251692f60a7Smrg	pdp10)
1252692f60a7Smrg		# there are many clones, so DEC is not a safe bet
1253692f60a7Smrg		basic_machine=pdp10-unknown
1254692f60a7Smrg		;;
1255692f60a7Smrg	pdp11)
1256692f60a7Smrg		basic_machine=pdp11-dec
1257692f60a7Smrg		;;
1258692f60a7Smrg	we32k)
1259692f60a7Smrg		basic_machine=we32k-att
1260692f60a7Smrg		;;
12613f6d0e1dSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1262692f60a7Smrg		basic_machine=sh-unknown
1263692f60a7Smrg		;;
126454569438Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1265692f60a7Smrg		basic_machine=sparc-sun
1266692f60a7Smrg		;;
1267692f60a7Smrg	cydra)
1268692f60a7Smrg		basic_machine=cydra-cydrome
1269692f60a7Smrg		;;
1270692f60a7Smrg	orion)
1271692f60a7Smrg		basic_machine=orion-highlevel
1272692f60a7Smrg		;;
1273692f60a7Smrg	orion105)
1274692f60a7Smrg		basic_machine=clipper-highlevel
1275692f60a7Smrg		;;
1276692f60a7Smrg	mac | mpw | mac-mpw)
1277692f60a7Smrg		basic_machine=m68k-apple
1278692f60a7Smrg		;;
1279692f60a7Smrg	pmac | pmac-mpw)
1280692f60a7Smrg		basic_machine=powerpc-apple
1281692f60a7Smrg		;;
1282692f60a7Smrg	*-unknown)
1283692f60a7Smrg		# Make sure to match an already-canonicalized machine name.
1284692f60a7Smrg		;;
1285692f60a7Smrg	*)
1286692f60a7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1287692f60a7Smrg		exit 1
1288692f60a7Smrg		;;
1289692f60a7Smrgesac
1290692f60a7Smrg
1291692f60a7Smrg# Here we canonicalize certain aliases for manufacturers.
1292692f60a7Smrgcase $basic_machine in
1293692f60a7Smrg	*-digital*)
1294692f60a7Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1295692f60a7Smrg		;;
1296692f60a7Smrg	*-commodore*)
1297692f60a7Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1298692f60a7Smrg		;;
1299692f60a7Smrg	*)
1300692f60a7Smrg		;;
1301692f60a7Smrgesac
1302692f60a7Smrg
1303692f60a7Smrg# Decode manufacturer-specific aliases for certain operating systems.
1304692f60a7Smrg
1305692f60a7Smrgif [ x"$os" != x"" ]
1306692f60a7Smrgthen
1307692f60a7Smrgcase $os in
13083f6d0e1dSmrg	# First match some system type aliases
13093f6d0e1dSmrg	# that might get confused with valid system types.
1310692f60a7Smrg	# -solaris* is a basic system type, with this one exception.
13113f6d0e1dSmrg	-auroraux)
13123f6d0e1dSmrg		os=-auroraux
13133f6d0e1dSmrg		;;
1314692f60a7Smrg	-solaris1 | -solaris1.*)
1315692f60a7Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1316692f60a7Smrg		;;
1317692f60a7Smrg	-solaris)
1318692f60a7Smrg		os=-solaris2
1319692f60a7Smrg		;;
1320692f60a7Smrg	-svr4*)
1321692f60a7Smrg		os=-sysv4
1322692f60a7Smrg		;;
1323692f60a7Smrg	-unixware*)
1324692f60a7Smrg		os=-sysv4.2uw
1325692f60a7Smrg		;;
1326692f60a7Smrg	-gnu/linux*)
1327692f60a7Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1328692f60a7Smrg		;;
1329692f60a7Smrg	# First accept the basic system types.
1330692f60a7Smrg	# The portable systems comes first.
1331692f60a7Smrg	# Each alternative MUST END IN A *, to match a version number.
1332692f60a7Smrg	# -sysv* is not here because it comes later, after sysvr4.
1333692f60a7Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13343f6d0e1dSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13353f6d0e1dSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13363f6d0e1dSmrg	      | -sym* | -kopensolaris* \
1337692f60a7Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13383f6d0e1dSmrg	      | -aos* | -aros* \
1339692f60a7Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1340692f60a7Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134154569438Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134254569438Smrg	      | -openbsd* | -solidbsd* \
134354569438Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134454569438Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1345692f60a7Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1346692f60a7Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13473f6d0e1dSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13483f6d0e1dSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13493f6d0e1dSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13503f6d0e1dSmrg	      | -linux-newlib* | -linux-uclibc* \
135154569438Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1352692f60a7Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1353692f60a7Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1354692f60a7Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1355692f60a7Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1356692f60a7Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135754569438Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13583f6d0e1dSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1359692f60a7Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1360692f60a7Smrg		;;
1361692f60a7Smrg	-qnx*)
1362692f60a7Smrg		case $basic_machine in
1363692f60a7Smrg		    x86-* | i*86-*)
1364692f60a7Smrg			;;
1365692f60a7Smrg		    *)
1366692f60a7Smrg			os=-nto$os
1367692f60a7Smrg			;;
1368692f60a7Smrg		esac
1369692f60a7Smrg		;;
1370692f60a7Smrg	-nto-qnx*)
1371692f60a7Smrg		;;
1372692f60a7Smrg	-nto*)
1373692f60a7Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1374692f60a7Smrg		;;
1375692f60a7Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137654569438Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1377692f60a7Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1378692f60a7Smrg		;;
1379692f60a7Smrg	-mac*)
1380692f60a7Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1381692f60a7Smrg		;;
138254569438Smrg	-linux-dietlibc)
138354569438Smrg		os=-linux-dietlibc
138454569438Smrg		;;
1385692f60a7Smrg	-linux*)
1386692f60a7Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1387692f60a7Smrg		;;
1388692f60a7Smrg	-sunos5*)
1389692f60a7Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1390692f60a7Smrg		;;
1391692f60a7Smrg	-sunos6*)
1392692f60a7Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1393692f60a7Smrg		;;
1394692f60a7Smrg	-opened*)
1395692f60a7Smrg		os=-openedition
1396692f60a7Smrg		;;
13973f6d0e1dSmrg	-os400*)
139854569438Smrg		os=-os400
139954569438Smrg		;;
1400692f60a7Smrg	-wince*)
1401692f60a7Smrg		os=-wince
1402692f60a7Smrg		;;
1403692f60a7Smrg	-osfrose*)
1404692f60a7Smrg		os=-osfrose
1405692f60a7Smrg		;;
1406692f60a7Smrg	-osf*)
1407692f60a7Smrg		os=-osf
1408692f60a7Smrg		;;
1409692f60a7Smrg	-utek*)
1410692f60a7Smrg		os=-bsd
1411692f60a7Smrg		;;
1412692f60a7Smrg	-dynix*)
1413692f60a7Smrg		os=-bsd
1414692f60a7Smrg		;;
1415692f60a7Smrg	-acis*)
1416692f60a7Smrg		os=-aos
1417692f60a7Smrg		;;
1418692f60a7Smrg	-atheos*)
1419692f60a7Smrg		os=-atheos
1420692f60a7Smrg		;;
142154569438Smrg	-syllable*)
142254569438Smrg		os=-syllable
142354569438Smrg		;;
1424692f60a7Smrg	-386bsd)
1425692f60a7Smrg		os=-bsd
1426692f60a7Smrg		;;
1427692f60a7Smrg	-ctix* | -uts*)
1428692f60a7Smrg		os=-sysv
1429692f60a7Smrg		;;
1430692f60a7Smrg	-nova*)
1431692f60a7Smrg		os=-rtmk-nova
1432692f60a7Smrg		;;
1433692f60a7Smrg	-ns2 )
1434692f60a7Smrg		os=-nextstep2
1435692f60a7Smrg		;;
1436692f60a7Smrg	-nsk*)
1437692f60a7Smrg		os=-nsk
1438692f60a7Smrg		;;
1439692f60a7Smrg	# Preserve the version number of sinix5.
1440692f60a7Smrg	-sinix5.*)
1441692f60a7Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1442692f60a7Smrg		;;
1443692f60a7Smrg	-sinix*)
1444692f60a7Smrg		os=-sysv4
1445692f60a7Smrg		;;
14463f6d0e1dSmrg	-tpf*)
144754569438Smrg		os=-tpf
144854569438Smrg		;;
1449692f60a7Smrg	-triton*)
1450692f60a7Smrg		os=-sysv3
1451692f60a7Smrg		;;
1452692f60a7Smrg	-oss*)
1453692f60a7Smrg		os=-sysv3
1454692f60a7Smrg		;;
1455692f60a7Smrg	-svr4)
1456692f60a7Smrg		os=-sysv4
1457692f60a7Smrg		;;
1458692f60a7Smrg	-svr3)
1459692f60a7Smrg		os=-sysv3
1460692f60a7Smrg		;;
1461692f60a7Smrg	-sysvr4)
1462692f60a7Smrg		os=-sysv4
1463692f60a7Smrg		;;
1464692f60a7Smrg	# This must come after -sysvr4.
1465692f60a7Smrg	-sysv*)
1466692f60a7Smrg		;;
1467692f60a7Smrg	-ose*)
1468692f60a7Smrg		os=-ose
1469692f60a7Smrg		;;
1470692f60a7Smrg	-es1800*)
1471692f60a7Smrg		os=-ose
1472692f60a7Smrg		;;
1473692f60a7Smrg	-xenix)
1474692f60a7Smrg		os=-xenix
1475692f60a7Smrg		;;
1476692f60a7Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1477692f60a7Smrg		os=-mint
1478692f60a7Smrg		;;
1479692f60a7Smrg	-aros*)
1480692f60a7Smrg		os=-aros
1481692f60a7Smrg		;;
1482692f60a7Smrg	-kaos*)
1483692f60a7Smrg		os=-kaos
1484692f60a7Smrg		;;
148554569438Smrg	-zvmoe)
148654569438Smrg		os=-zvmoe
148754569438Smrg		;;
14883f6d0e1dSmrg	-dicos*)
14893f6d0e1dSmrg		os=-dicos
14903f6d0e1dSmrg		;;
14913f6d0e1dSmrg	-nacl*)
14923f6d0e1dSmrg		;;
1493692f60a7Smrg	-none)
1494692f60a7Smrg		;;
1495692f60a7Smrg	*)
1496692f60a7Smrg		# Get rid of the `-' at the beginning of $os.
1497692f60a7Smrg		os=`echo $os | sed 's/[^-]*-//'`
1498692f60a7Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1499692f60a7Smrg		exit 1
1500692f60a7Smrg		;;
1501692f60a7Smrgesac
1502692f60a7Smrgelse
1503692f60a7Smrg
1504692f60a7Smrg# Here we handle the default operating systems that come with various machines.
1505692f60a7Smrg# The value should be what the vendor currently ships out the door with their
1506692f60a7Smrg# machine or put another way, the most popular os provided with the machine.
1507692f60a7Smrg
1508692f60a7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1509692f60a7Smrg# "-sun"), then you have to tell the case statement up towards the top
1510692f60a7Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1511692f60a7Smrg# will signal an error saying that MANUFACTURER isn't an operating
1512692f60a7Smrg# system, and we'll never get to this point.
1513692f60a7Smrg
1514692f60a7Smrgcase $basic_machine in
15153f6d0e1dSmrg	score-*)
151654569438Smrg		os=-elf
151754569438Smrg		;;
15183f6d0e1dSmrg	spu-*)
151954569438Smrg		os=-elf
152054569438Smrg		;;
1521692f60a7Smrg	*-acorn)
1522692f60a7Smrg		os=-riscix1.2
1523692f60a7Smrg		;;
1524692f60a7Smrg	arm*-rebel)
1525692f60a7Smrg		os=-linux
1526692f60a7Smrg		;;
1527692f60a7Smrg	arm*-semi)
1528692f60a7Smrg		os=-aout
1529692f60a7Smrg		;;
15303f6d0e1dSmrg	c4x-* | tic4x-*)
15313f6d0e1dSmrg		os=-coff
15323f6d0e1dSmrg		;;
15333f6d0e1dSmrg	tic54x-*)
15343f6d0e1dSmrg		os=-coff
15353f6d0e1dSmrg		;;
15363f6d0e1dSmrg	tic55x-*)
15373f6d0e1dSmrg		os=-coff
15383f6d0e1dSmrg		;;
15393f6d0e1dSmrg	tic6x-*)
15403f6d0e1dSmrg		os=-coff
1541692f60a7Smrg		;;
1542692f60a7Smrg	# This must come before the *-dec entry.
1543692f60a7Smrg	pdp10-*)
1544692f60a7Smrg		os=-tops20
1545692f60a7Smrg		;;
1546692f60a7Smrg	pdp11-*)
1547692f60a7Smrg		os=-none
1548692f60a7Smrg		;;
1549692f60a7Smrg	*-dec | vax-*)
1550692f60a7Smrg		os=-ultrix4.2
1551692f60a7Smrg		;;
1552692f60a7Smrg	m68*-apollo)
1553692f60a7Smrg		os=-domain
1554692f60a7Smrg		;;
1555692f60a7Smrg	i386-sun)
1556692f60a7Smrg		os=-sunos4.0.2
1557692f60a7Smrg		;;
1558692f60a7Smrg	m68000-sun)
1559692f60a7Smrg		os=-sunos3
1560692f60a7Smrg		;;
1561692f60a7Smrg	m68*-cisco)
1562692f60a7Smrg		os=-aout
1563692f60a7Smrg		;;
15643f6d0e1dSmrg	mep-*)
156554569438Smrg		os=-elf
156654569438Smrg		;;
1567692f60a7Smrg	mips*-cisco)
1568692f60a7Smrg		os=-elf
1569692f60a7Smrg		;;
1570692f60a7Smrg	mips*-*)
1571692f60a7Smrg		os=-elf
1572692f60a7Smrg		;;
1573692f60a7Smrg	or32-*)
1574692f60a7Smrg		os=-coff
1575692f60a7Smrg		;;
1576692f60a7Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1577692f60a7Smrg		os=-sysv3
1578692f60a7Smrg		;;
1579692f60a7Smrg	sparc-* | *-sun)
1580692f60a7Smrg		os=-sunos4.1.1
1581692f60a7Smrg		;;
1582692f60a7Smrg	*-be)
1583692f60a7Smrg		os=-beos
1584692f60a7Smrg		;;
158554569438Smrg	*-haiku)
158654569438Smrg		os=-haiku
158754569438Smrg		;;
1588692f60a7Smrg	*-ibm)
1589692f60a7Smrg		os=-aix
1590692f60a7Smrg		;;
15913f6d0e1dSmrg	*-knuth)
159254569438Smrg		os=-mmixware
159354569438Smrg		;;
1594692f60a7Smrg	*-wec)
1595692f60a7Smrg		os=-proelf
1596692f60a7Smrg		;;
1597692f60a7Smrg	*-winbond)
1598692f60a7Smrg		os=-proelf
1599692f60a7Smrg		;;
1600692f60a7Smrg	*-oki)
1601692f60a7Smrg		os=-proelf
1602692f60a7Smrg		;;
1603692f60a7Smrg	*-hp)
1604692f60a7Smrg		os=-hpux
1605692f60a7Smrg		;;
1606692f60a7Smrg	*-hitachi)
1607692f60a7Smrg		os=-hiux
1608692f60a7Smrg		;;
1609692f60a7Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1610692f60a7Smrg		os=-sysv
1611692f60a7Smrg		;;
1612692f60a7Smrg	*-cbm)
1613692f60a7Smrg		os=-amigaos
1614692f60a7Smrg		;;
1615692f60a7Smrg	*-dg)
1616692f60a7Smrg		os=-dgux
1617692f60a7Smrg		;;
1618692f60a7Smrg	*-dolphin)
1619692f60a7Smrg		os=-sysv3
1620692f60a7Smrg		;;
1621692f60a7Smrg	m68k-ccur)
1622692f60a7Smrg		os=-rtu
1623692f60a7Smrg		;;
1624692f60a7Smrg	m88k-omron*)
1625692f60a7Smrg		os=-luna
1626692f60a7Smrg		;;
1627692f60a7Smrg	*-next )
1628692f60a7Smrg		os=-nextstep
1629692f60a7Smrg		;;
1630692f60a7Smrg	*-sequent)
1631692f60a7Smrg		os=-ptx
1632692f60a7Smrg		;;
1633692f60a7Smrg	*-crds)
1634692f60a7Smrg		os=-unos
1635692f60a7Smrg		;;
1636692f60a7Smrg	*-ns)
1637692f60a7Smrg		os=-genix
1638692f60a7Smrg		;;
1639692f60a7Smrg	i370-*)
1640692f60a7Smrg		os=-mvs
1641692f60a7Smrg		;;
1642692f60a7Smrg	*-next)
1643692f60a7Smrg		os=-nextstep3
1644692f60a7Smrg		;;
1645692f60a7Smrg	*-gould)
1646692f60a7Smrg		os=-sysv
1647692f60a7Smrg		;;
1648692f60a7Smrg	*-highlevel)
1649692f60a7Smrg		os=-bsd
1650692f60a7Smrg		;;
1651692f60a7Smrg	*-encore)
1652692f60a7Smrg		os=-bsd
1653692f60a7Smrg		;;
1654692f60a7Smrg	*-sgi)
1655692f60a7Smrg		os=-irix
1656692f60a7Smrg		;;
1657692f60a7Smrg	*-siemens)
1658692f60a7Smrg		os=-sysv4
1659692f60a7Smrg		;;
1660692f60a7Smrg	*-masscomp)
1661692f60a7Smrg		os=-rtu
1662692f60a7Smrg		;;
1663692f60a7Smrg	f30[01]-fujitsu | f700-fujitsu)
1664692f60a7Smrg		os=-uxpv
1665692f60a7Smrg		;;
1666692f60a7Smrg	*-rom68k)
1667692f60a7Smrg		os=-coff
1668692f60a7Smrg		;;
1669692f60a7Smrg	*-*bug)
1670692f60a7Smrg		os=-coff
1671692f60a7Smrg		;;
1672692f60a7Smrg	*-apple)
1673692f60a7Smrg		os=-macos
1674692f60a7Smrg		;;
1675692f60a7Smrg	*-atari*)
1676692f60a7Smrg		os=-mint
1677692f60a7Smrg		;;
1678692f60a7Smrg	*)
1679692f60a7Smrg		os=-none
1680692f60a7Smrg		;;
1681692f60a7Smrgesac
1682692f60a7Smrgfi
1683692f60a7Smrg
1684692f60a7Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1685692f60a7Smrg# manufacturer.  We pick the logical manufacturer.
1686692f60a7Smrgvendor=unknown
1687692f60a7Smrgcase $basic_machine in
1688692f60a7Smrg	*-unknown)
1689692f60a7Smrg		case $os in
1690692f60a7Smrg			-riscix*)
1691692f60a7Smrg				vendor=acorn
1692692f60a7Smrg				;;
1693692f60a7Smrg			-sunos*)
1694692f60a7Smrg				vendor=sun
1695692f60a7Smrg				;;
16963f6d0e1dSmrg			-cnk*|-aix*)
1697692f60a7Smrg				vendor=ibm
1698692f60a7Smrg				;;
1699692f60a7Smrg			-beos*)
1700692f60a7Smrg				vendor=be
1701692f60a7Smrg				;;
1702692f60a7Smrg			-hpux*)
1703692f60a7Smrg				vendor=hp
1704692f60a7Smrg				;;
1705692f60a7Smrg			-mpeix*)
1706692f60a7Smrg				vendor=hp
1707692f60a7Smrg				;;
1708692f60a7Smrg			-hiux*)
1709692f60a7Smrg				vendor=hitachi
1710692f60a7Smrg				;;
1711692f60a7Smrg			-unos*)
1712692f60a7Smrg				vendor=crds
1713692f60a7Smrg				;;
1714692f60a7Smrg			-dgux*)
1715692f60a7Smrg				vendor=dg
1716692f60a7Smrg				;;
1717692f60a7Smrg			-luna*)
1718692f60a7Smrg				vendor=omron
1719692f60a7Smrg				;;
1720692f60a7Smrg			-genix*)
1721692f60a7Smrg				vendor=ns
1722692f60a7Smrg				;;
1723692f60a7Smrg			-mvs* | -opened*)
1724692f60a7Smrg				vendor=ibm
1725692f60a7Smrg				;;
172654569438Smrg			-os400*)
172754569438Smrg				vendor=ibm
172854569438Smrg				;;
1729692f60a7Smrg			-ptx*)
1730692f60a7Smrg				vendor=sequent
1731692f60a7Smrg				;;
173254569438Smrg			-tpf*)
173354569438Smrg				vendor=ibm
173454569438Smrg				;;
1735692f60a7Smrg			-vxsim* | -vxworks* | -windiss*)
1736692f60a7Smrg				vendor=wrs
1737692f60a7Smrg				;;
1738692f60a7Smrg			-aux*)
1739692f60a7Smrg				vendor=apple
1740692f60a7Smrg				;;
1741692f60a7Smrg			-hms*)
1742692f60a7Smrg				vendor=hitachi
1743692f60a7Smrg				;;
1744692f60a7Smrg			-mpw* | -macos*)
1745692f60a7Smrg				vendor=apple
1746692f60a7Smrg				;;
1747692f60a7Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1748692f60a7Smrg				vendor=atari
1749692f60a7Smrg				;;
1750692f60a7Smrg			-vos*)
1751692f60a7Smrg				vendor=stratus
1752692f60a7Smrg				;;
1753692f60a7Smrg		esac
1754692f60a7Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1755692f60a7Smrg		;;
1756692f60a7Smrgesac
1757692f60a7Smrg
1758692f60a7Smrgecho $basic_machine$os
175954569438Smrgexit
1760692f60a7Smrg
1761692f60a7Smrg# Local variables:
1762692f60a7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1763692f60a7Smrg# time-stamp-start: "timestamp='"
1764692f60a7Smrg# time-stamp-format: "%:y-%02m-%02d"
1765692f60a7Smrg# time-stamp-end: "'"
1766692f60a7Smrg# End:
1767