config.sub revision e4da38af
1659607e0Smrg#! /bin/sh
2659607e0Smrg# Configuration validation subroutine script.
3e4da38afSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4e4da38afSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5e4da38afSmrg#   2011, 2012 Free Software Foundation, Inc.
6659607e0Smrg
7e4da38afSmrgtimestamp='2012-04-18'
8659607e0Smrg
9e4da38afSmrg# This file is (in principle) common to ALL GNU software.
10e4da38afSmrg# The presence of a machine in this file suggests that SOME GNU software
11e4da38afSmrg# can handle that machine.  It does not imply ALL GNU software can.
12e4da38afSmrg#
13e4da38afSmrg# This file is free software; you can redistribute it and/or modify
14e4da38afSmrg# it under the terms of the GNU General Public License as published by
15e4da38afSmrg# the Free Software Foundation; either version 2 of the License, or
16659607e0Smrg# (at your option) any later version.
17659607e0Smrg#
18e4da38afSmrg# This program is distributed in the hope that it will be useful,
19e4da38afSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20e4da38afSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21e4da38afSmrg# GNU General Public License for more details.
22659607e0Smrg#
23659607e0Smrg# You should have received a copy of the GNU General Public License
24a73597f9Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
25659607e0Smrg#
26659607e0Smrg# As a special exception to the GNU General Public License, if you
27659607e0Smrg# distribute this file as part of a program that contains a
28659607e0Smrg# configuration script generated by Autoconf, you may include it under
29e4da38afSmrg# the same distribution terms that you use for the rest of that program.
30659607e0Smrg
31659607e0Smrg
32e4da38afSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
33e4da38afSmrg# diff and a properly formatted GNU ChangeLog entry.
34659607e0Smrg#
35659607e0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
36659607e0Smrg# Supply the specified configuration type as an argument.
37659607e0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
38659607e0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
39659607e0Smrg
40b73be646Smrg# You can get the latest version of this script from:
41b73be646Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42b73be646Smrg
43659607e0Smrg# This file is supposed to be the same for all GNU packages
44659607e0Smrg# and recognize all the CPU types, system types and aliases
45659607e0Smrg# that are meaningful with *any* GNU software.
46659607e0Smrg# Each package is responsible for reporting which valid configurations
47659607e0Smrg# it does not support.  The user should be able to distinguish
48659607e0Smrg# a failure to support a valid configuration from a meaningless
49659607e0Smrg# configuration.
50659607e0Smrg
51659607e0Smrg# The goal of this file is to map all the various variations of a given
52659607e0Smrg# machine specification into a single specification in the form:
53659607e0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
54659607e0Smrg# or in some cases, the newer four-part form:
55659607e0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
56659607e0Smrg# It is wrong to echo any other type of specification.
57659607e0Smrg
58659607e0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
59659607e0Smrg
60659607e0Smrgusage="\
61659607e0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
62659607e0Smrg       $0 [OPTION] ALIAS
63659607e0Smrg
64659607e0SmrgCanonicalize a configuration name.
65659607e0Smrg
66659607e0SmrgOperation modes:
67659607e0Smrg  -h, --help         print this help, then exit
68659607e0Smrg  -t, --time-stamp   print date of last modification, then exit
69659607e0Smrg  -v, --version      print version number, then exit
70659607e0Smrg
71659607e0SmrgReport bugs and patches to <config-patches@gnu.org>."
72659607e0Smrg
73659607e0Smrgversion="\
74659607e0SmrgGNU config.sub ($timestamp)
75659607e0Smrg
76e4da38afSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77e4da38afSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78e4da38afSmrgFree Software Foundation, Inc.
79659607e0Smrg
80659607e0SmrgThis is free software; see the source for copying conditions.  There is NO
81659607e0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
82659607e0Smrg
83659607e0Smrghelp="
84659607e0SmrgTry \`$me --help' for more information."
85659607e0Smrg
86659607e0Smrg# Parse command line
87659607e0Smrgwhile test $# -gt 0 ; do
88659607e0Smrg  case $1 in
89659607e0Smrg    --time-stamp | --time* | -t )
90659607e0Smrg       echo "$timestamp" ; exit ;;
91659607e0Smrg    --version | -v )
92659607e0Smrg       echo "$version" ; exit ;;
93659607e0Smrg    --help | --h* | -h )
94659607e0Smrg       echo "$usage"; exit ;;
95659607e0Smrg    -- )     # Stop option processing
96659607e0Smrg       shift; break ;;
97659607e0Smrg    - )	# Use stdin as input.
98659607e0Smrg       break ;;
99659607e0Smrg    -* )
100659607e0Smrg       echo "$me: invalid option $1$help"
101659607e0Smrg       exit 1 ;;
102659607e0Smrg
103659607e0Smrg    *local*)
104659607e0Smrg       # First pass through any local machine types.
105659607e0Smrg       echo $1
106659607e0Smrg       exit ;;
107659607e0Smrg
108659607e0Smrg    * )
109659607e0Smrg       break ;;
110659607e0Smrg  esac
111659607e0Smrgdone
112659607e0Smrg
113659607e0Smrgcase $# in
114659607e0Smrg 0) echo "$me: missing argument$help" >&2
115659607e0Smrg    exit 1;;
116659607e0Smrg 1) ;;
117659607e0Smrg *) echo "$me: too many arguments$help" >&2
118659607e0Smrg    exit 1;;
119659607e0Smrgesac
120659607e0Smrg
121659607e0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
122659607e0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
123659607e0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
124659607e0Smrgcase $maybe_os in
125bd3a1963Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126e4da38afSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127bd3a1963Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
128b73be646Smrg  kopensolaris*-gnu* | \
129659607e0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
130659607e0Smrg    os=-$maybe_os
131659607e0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132659607e0Smrg    ;;
133a73597f9Smrg  android-linux)
134a73597f9Smrg    os=-linux-android
135a73597f9Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136a73597f9Smrg    ;;
137659607e0Smrg  *)
138659607e0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
139659607e0Smrg    if [ $basic_machine != $1 ]
140659607e0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
141659607e0Smrg    else os=; fi
142659607e0Smrg    ;;
143659607e0Smrgesac
144659607e0Smrg
145659607e0Smrg### Let's recognize common machines as not being operating systems so
146659607e0Smrg### that things like config.sub decstation-3100 work.  We also
147659607e0Smrg### recognize some manufacturers as not being operating systems, so we
148659607e0Smrg### can provide default operating systems below.
149659607e0Smrgcase $os in
150659607e0Smrg	-sun*os*)
151659607e0Smrg		# Prevent following clause from handling this invalid input.
152659607e0Smrg		;;
153659607e0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
154659607e0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
155659607e0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
156659607e0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
157659607e0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
158659607e0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159e4da38afSmrg	-apple | -axis | -knuth | -cray | -microblaze)
160659607e0Smrg		os=
161659607e0Smrg		basic_machine=$1
162659607e0Smrg		;;
163a73597f9Smrg	-bluegene*)
164a73597f9Smrg		os=-cnk
165b73be646Smrg		;;
166659607e0Smrg	-sim | -cisco | -oki | -wec | -winbond)
167659607e0Smrg		os=
168659607e0Smrg		basic_machine=$1
169659607e0Smrg		;;
170659607e0Smrg	-scout)
171659607e0Smrg		;;
172659607e0Smrg	-wrs)
173659607e0Smrg		os=-vxworks
174659607e0Smrg		basic_machine=$1
175659607e0Smrg		;;
176659607e0Smrg	-chorusos*)
177659607e0Smrg		os=-chorusos
178659607e0Smrg		basic_machine=$1
179659607e0Smrg		;;
180a73597f9Smrg	-chorusrdb)
181a73597f9Smrg		os=-chorusrdb
182659607e0Smrg		basic_machine=$1
183a73597f9Smrg		;;
184659607e0Smrg	-hiux*)
185659607e0Smrg		os=-hiuxwe2
186659607e0Smrg		;;
187659607e0Smrg	-sco6)
188659607e0Smrg		os=-sco5v6
189659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190659607e0Smrg		;;
191659607e0Smrg	-sco5)
192659607e0Smrg		os=-sco3.2v5
193659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194659607e0Smrg		;;
195659607e0Smrg	-sco4)
196659607e0Smrg		os=-sco3.2v4
197659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198659607e0Smrg		;;
199659607e0Smrg	-sco3.2.[4-9]*)
200659607e0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
201659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202659607e0Smrg		;;
203659607e0Smrg	-sco3.2v[4-9]*)
204659607e0Smrg		# Don't forget version if it is 3.2v4 or newer.
205659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206659607e0Smrg		;;
207659607e0Smrg	-sco5v6*)
208659607e0Smrg		# Don't forget version if it is 3.2v4 or newer.
209659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210659607e0Smrg		;;
211659607e0Smrg	-sco*)
212659607e0Smrg		os=-sco3.2v2
213659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214659607e0Smrg		;;
215659607e0Smrg	-udk*)
216659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217659607e0Smrg		;;
218659607e0Smrg	-isc)
219659607e0Smrg		os=-isc2.2
220659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
221659607e0Smrg		;;
222659607e0Smrg	-clix*)
223659607e0Smrg		basic_machine=clipper-intergraph
224659607e0Smrg		;;
225659607e0Smrg	-isc*)
226659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
227659607e0Smrg		;;
228a73597f9Smrg	-lynx*178)
229a73597f9Smrg		os=-lynxos178
230a73597f9Smrg		;;
231a73597f9Smrg	-lynx*5)
232a73597f9Smrg		os=-lynxos5
233a73597f9Smrg		;;
234659607e0Smrg	-lynx*)
235659607e0Smrg		os=-lynxos
236659607e0Smrg		;;
237659607e0Smrg	-ptx*)
238659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
239659607e0Smrg		;;
240659607e0Smrg	-windowsnt*)
241659607e0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
242659607e0Smrg		;;
243659607e0Smrg	-psos*)
244659607e0Smrg		os=-psos
245659607e0Smrg		;;
246659607e0Smrg	-mint | -mint[0-9]*)
247659607e0Smrg		basic_machine=m68k-atari
248659607e0Smrg		os=-mint
249659607e0Smrg		;;
250659607e0Smrgesac
251659607e0Smrg
252659607e0Smrg# Decode aliases for certain CPU-COMPANY combinations.
253659607e0Smrgcase $basic_machine in
254659607e0Smrg	# Recognize the basic CPU types without company name.
255659607e0Smrg	# Some are omitted here because they have special meanings below.
256659607e0Smrg	1750a | 580 \
257659607e0Smrg	| a29k \
258a73597f9Smrg	| aarch64 | aarch64_be \
259659607e0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260659607e0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
261659607e0Smrg	| am33_2.0 \
262e4da38afSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263e4da38afSmrg        | be32 | be64 \
264659607e0Smrg	| bfin \
265e4da38afSmrg	| c4x | clipper \
266659607e0Smrg	| d10v | d30v | dlx | dsp16xx \
267a73597f9Smrg	| epiphany \
268fc27e79cSmrg	| fido | fr30 | frv \
269659607e0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270a73597f9Smrg	| hexagon \
271659607e0Smrg	| i370 | i860 | i960 | ia64 \
272659607e0Smrg	| ip2k | iq2000 \
273a73597f9Smrg	| le32 | le64 \
274b73be646Smrg	| lm32 \
275fc27e79cSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276e4da38afSmrg	| maxq | mb | microblaze | mcore | mep | metag \
277659607e0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
278659607e0Smrg	| mips16 \
279659607e0Smrg	| mips64 | mips64el \
280b73be646Smrg	| mips64octeon | mips64octeonel \
281659607e0Smrg	| mips64orion | mips64orionel \
282b73be646Smrg	| mips64r5900 | mips64r5900el \
283b73be646Smrg	| mips64vr | mips64vrel \
284659607e0Smrg	| mips64vr4100 | mips64vr4100el \
285659607e0Smrg	| mips64vr4300 | mips64vr4300el \
286659607e0Smrg	| mips64vr5000 | mips64vr5000el \
287659607e0Smrg	| mips64vr5900 | mips64vr5900el \
288659607e0Smrg	| mipsisa32 | mipsisa32el \
289659607e0Smrg	| mipsisa32r2 | mipsisa32r2el \
290659607e0Smrg	| mipsisa64 | mipsisa64el \
291659607e0Smrg	| mipsisa64r2 | mipsisa64r2el \
292659607e0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
293659607e0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
294659607e0Smrg	| mipstx39 | mipstx39el \
295659607e0Smrg	| mn10200 | mn10300 \
296b73be646Smrg	| moxie \
297659607e0Smrg	| mt \
298659607e0Smrg	| msp430 \
299bd3a1963Smrg	| nds32 | nds32le | nds32be \
300e4da38afSmrg	| nios | nios2 \
301659607e0Smrg	| ns16k | ns32k \
302a73597f9Smrg	| open8 \
303e4da38afSmrg	| or32 \
304659607e0Smrg	| pdp10 | pdp11 | pj | pjl \
305a73597f9Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
306659607e0Smrg	| pyramid \
307a73597f9Smrg	| rl78 | rx \
308fc27e79cSmrg	| score \
309b73be646Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310659607e0Smrg	| sh64 | sh64le \
311fc27e79cSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312fc27e79cSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313a73597f9Smrg	| spu \
314a73597f9Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315b73be646Smrg	| ubicom32 \
316a73597f9Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317659607e0Smrg	| we32k \
318a73597f9Smrg	| x86 | xc16x | xstormy16 | xtensa \
319b73be646Smrg	| z8k | z80)
320659607e0Smrg		basic_machine=$basic_machine-unknown
321659607e0Smrg		;;
322bd3a1963Smrg	c54x)
323bd3a1963Smrg		basic_machine=tic54x-unknown
324bd3a1963Smrg		;;
325bd3a1963Smrg	c55x)
326bd3a1963Smrg		basic_machine=tic55x-unknown
327bd3a1963Smrg		;;
328bd3a1963Smrg	c6x)
329bd3a1963Smrg		basic_machine=tic6x-unknown
330bd3a1963Smrg		;;
331e4da38afSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
332659607e0Smrg		basic_machine=$basic_machine-unknown
333659607e0Smrg		os=-none
334659607e0Smrg		;;
335659607e0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
336659607e0Smrg		;;
337659607e0Smrg	ms1)
338659607e0Smrg		basic_machine=mt-unknown
339659607e0Smrg		;;
340659607e0Smrg
341a73597f9Smrg	strongarm | thumb | xscale)
342a73597f9Smrg		basic_machine=arm-unknown
343a73597f9Smrg		;;
344a73597f9Smrg	xgate)
345a73597f9Smrg		basic_machine=$basic_machine-unknown
346a73597f9Smrg		os=-none
347a73597f9Smrg		;;
348a73597f9Smrg	xscaleeb)
349a73597f9Smrg		basic_machine=armeb-unknown
350a73597f9Smrg		;;
351a73597f9Smrg
352a73597f9Smrg	xscaleel)
353a73597f9Smrg		basic_machine=armel-unknown
354a73597f9Smrg		;;
355a73597f9Smrg
356659607e0Smrg	# We use `pc' rather than `unknown'
357659607e0Smrg	# because (1) that's what they normally are, and
358659607e0Smrg	# (2) the word "unknown" tends to confuse beginning users.
359659607e0Smrg	i*86 | x86_64)
360659607e0Smrg	  basic_machine=$basic_machine-pc
361659607e0Smrg	  ;;
362659607e0Smrg	# Object if more than one company name word.
363659607e0Smrg	*-*-*)
364659607e0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
365659607e0Smrg		exit 1
366659607e0Smrg		;;
367659607e0Smrg	# Recognize the basic CPU types with company name.
368659607e0Smrg	580-* \
369659607e0Smrg	| a29k-* \
370a73597f9Smrg	| aarch64-* | aarch64_be-* \
371659607e0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372659607e0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373e4da38afSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374659607e0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
375fc27e79cSmrg	| avr-* | avr32-* \
376a73597f9Smrg	| be32-* | be64-* \
377659607e0Smrg	| bfin-* | bs2000-* \
378bd3a1963Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
379e4da38afSmrg	| clipper-* | craynv-* | cydra-* \
380659607e0Smrg	| d10v-* | d30v-* | dlx-* \
381659607e0Smrg	| elxsi-* \
382fc27e79cSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383659607e0Smrg	| h8300-* | h8500-* \
384659607e0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385a73597f9Smrg	| hexagon-* \
386659607e0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
387659607e0Smrg	| ip2k-* | iq2000-* \
388a73597f9Smrg	| le32-* | le64-* \
389b73be646Smrg	| lm32-* \
390fc27e79cSmrg	| m32c-* | m32r-* | m32rle-* \
391659607e0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392e4da38afSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
393659607e0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394659607e0Smrg	| mips16-* \
395659607e0Smrg	| mips64-* | mips64el-* \
396b73be646Smrg	| mips64octeon-* | mips64octeonel-* \
397659607e0Smrg	| mips64orion-* | mips64orionel-* \
398b73be646Smrg	| mips64r5900-* | mips64r5900el-* \
399b73be646Smrg	| mips64vr-* | mips64vrel-* \
400659607e0Smrg	| mips64vr4100-* | mips64vr4100el-* \
401659607e0Smrg	| mips64vr4300-* | mips64vr4300el-* \
402659607e0Smrg	| mips64vr5000-* | mips64vr5000el-* \
403659607e0Smrg	| mips64vr5900-* | mips64vr5900el-* \
404659607e0Smrg	| mipsisa32-* | mipsisa32el-* \
405659607e0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
406659607e0Smrg	| mipsisa64-* | mipsisa64el-* \
407659607e0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
408659607e0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
409659607e0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410659607e0Smrg	| mipstx39-* | mipstx39el-* \
411659607e0Smrg	| mmix-* \
412659607e0Smrg	| mt-* \
413659607e0Smrg	| msp430-* \
414bd3a1963Smrg	| nds32-* | nds32le-* | nds32be-* \
415e4da38afSmrg	| nios-* | nios2-* \
416659607e0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
417a73597f9Smrg	| open8-* \
418659607e0Smrg	| orion-* \
419659607e0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420a73597f9Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421659607e0Smrg	| pyramid-* \
422a73597f9Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
423b73be646Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424659607e0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425fc27e79cSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426659607e0Smrg	| sparclite-* \
427a73597f9Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428a73597f9Smrg	| tahoe-* \
429bd3a1963Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430a73597f9Smrg	| tile*-* \
431659607e0Smrg	| tron-* \
432b73be646Smrg	| ubicom32-* \
433a73597f9Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434a73597f9Smrg	| vax-* \
435659607e0Smrg	| we32k-* \
436a73597f9Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
437fc27e79cSmrg	| xstormy16-* | xtensa*-* \
438659607e0Smrg	| ymp-* \
439b73be646Smrg	| z8k-* | z80-*)
440659607e0Smrg		;;
441fc27e79cSmrg	# Recognize the basic CPU types without company name, with glob match.
442fc27e79cSmrg	xtensa*)
443fc27e79cSmrg		basic_machine=$basic_machine-unknown
4446aab59a7Smrg		;;
445659607e0Smrg	# Recognize the various machine names and aliases which stand
446659607e0Smrg	# for a CPU type and a company and sometimes even an OS.
447659607e0Smrg	386bsd)
448659607e0Smrg		basic_machine=i386-unknown
449659607e0Smrg		os=-bsd
450659607e0Smrg		;;
451659607e0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452659607e0Smrg		basic_machine=m68000-att
453659607e0Smrg		;;
454659607e0Smrg	3b*)
455659607e0Smrg		basic_machine=we32k-att
456659607e0Smrg		;;
457659607e0Smrg	a29khif)
458659607e0Smrg		basic_machine=a29k-amd
459659607e0Smrg		os=-udi
460659607e0Smrg		;;
461a73597f9Smrg	abacus)
462659607e0Smrg		basic_machine=abacus-unknown
463659607e0Smrg		;;
464659607e0Smrg	adobe68k)
465659607e0Smrg		basic_machine=m68010-adobe
466659607e0Smrg		os=-scout
467659607e0Smrg		;;
468659607e0Smrg	alliant | fx80)
469659607e0Smrg		basic_machine=fx80-alliant
470659607e0Smrg		;;
471659607e0Smrg	altos | altos3068)
472659607e0Smrg		basic_machine=m68k-altos
473659607e0Smrg		;;
474659607e0Smrg	am29k)
475659607e0Smrg		basic_machine=a29k-none
476659607e0Smrg		os=-bsd
477659607e0Smrg		;;
478659607e0Smrg	amd64)
479659607e0Smrg		basic_machine=x86_64-pc
480659607e0Smrg		;;
481659607e0Smrg	amd64-*)
482659607e0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483659607e0Smrg		;;
484659607e0Smrg	amdahl)
485659607e0Smrg		basic_machine=580-amdahl
486659607e0Smrg		os=-sysv
487659607e0Smrg		;;
488659607e0Smrg	amiga | amiga-*)
489659607e0Smrg		basic_machine=m68k-unknown
490659607e0Smrg		;;
491659607e0Smrg	amigaos | amigados)
492659607e0Smrg		basic_machine=m68k-unknown
493659607e0Smrg		os=-amigaos
494659607e0Smrg		;;
495659607e0Smrg	amigaunix | amix)
496659607e0Smrg		basic_machine=m68k-unknown
497659607e0Smrg		os=-sysv4
498659607e0Smrg		;;
499659607e0Smrg	apollo68)
500659607e0Smrg		basic_machine=m68k-apollo
501659607e0Smrg		os=-sysv
502659607e0Smrg		;;
503659607e0Smrg	apollo68bsd)
504659607e0Smrg		basic_machine=m68k-apollo
505659607e0Smrg		os=-bsd
506659607e0Smrg		;;
507b73be646Smrg	aros)
508b73be646Smrg		basic_machine=i386-pc
509b73be646Smrg		os=-aros
510b73be646Smrg		;;
511659607e0Smrg	aux)
512659607e0Smrg		basic_machine=m68k-apple
513659607e0Smrg		os=-aux
514659607e0Smrg		;;
515659607e0Smrg	balance)
516659607e0Smrg		basic_machine=ns32k-sequent
517659607e0Smrg		os=-dynix
518659607e0Smrg		;;
519fc27e79cSmrg	blackfin)
520fc27e79cSmrg		basic_machine=bfin-unknown
521fc27e79cSmrg		os=-linux
522fc27e79cSmrg		;;
523fc27e79cSmrg	blackfin-*)
524fc27e79cSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525fc27e79cSmrg		os=-linux
526fc27e79cSmrg		;;
527b73be646Smrg	bluegene*)
528b73be646Smrg		basic_machine=powerpc-ibm
529b73be646Smrg		os=-cnk
530b73be646Smrg		;;
531bd3a1963Smrg	c54x-*)
532bd3a1963Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533bd3a1963Smrg		;;
534bd3a1963Smrg	c55x-*)
535bd3a1963Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536bd3a1963Smrg		;;
537bd3a1963Smrg	c6x-*)
538bd3a1963Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539bd3a1963Smrg		;;
540659607e0Smrg	c90)
541659607e0Smrg		basic_machine=c90-cray
542659607e0Smrg		os=-unicos
543659607e0Smrg		;;
544a73597f9Smrg	cegcc)
545b73be646Smrg		basic_machine=arm-unknown
546b73be646Smrg		os=-cegcc
547b73be646Smrg		;;
548659607e0Smrg	convex-c1)
549659607e0Smrg		basic_machine=c1-convex
550659607e0Smrg		os=-bsd
551659607e0Smrg		;;
552659607e0Smrg	convex-c2)
553659607e0Smrg		basic_machine=c2-convex
554659607e0Smrg		os=-bsd
555659607e0Smrg		;;
556659607e0Smrg	convex-c32)
557659607e0Smrg		basic_machine=c32-convex
558659607e0Smrg		os=-bsd
559659607e0Smrg		;;
560659607e0Smrg	convex-c34)
561659607e0Smrg		basic_machine=c34-convex
562659607e0Smrg		os=-bsd
563659607e0Smrg		;;
564659607e0Smrg	convex-c38)
565659607e0Smrg		basic_machine=c38-convex
566659607e0Smrg		os=-bsd
567659607e0Smrg		;;
568659607e0Smrg	cray | j90)
569659607e0Smrg		basic_machine=j90-cray
570659607e0Smrg		os=-unicos
571659607e0Smrg		;;
572659607e0Smrg	craynv)
573659607e0Smrg		basic_machine=craynv-cray
574659607e0Smrg		os=-unicosmp
575659607e0Smrg		;;
576a73597f9Smrg	cr16 | cr16-*)
577fc27e79cSmrg		basic_machine=cr16-unknown
578659607e0Smrg		os=-elf
579659607e0Smrg		;;
580659607e0Smrg	crds | unos)
581659607e0Smrg		basic_machine=m68k-crds
582659607e0Smrg		;;
583659607e0Smrg	crisv32 | crisv32-* | etraxfs*)
584659607e0Smrg		basic_machine=crisv32-axis
585659607e0Smrg		;;
586659607e0Smrg	cris | cris-* | etrax*)
587659607e0Smrg		basic_machine=cris-axis
588659607e0Smrg		;;
589659607e0Smrg	crx)
590659607e0Smrg		basic_machine=crx-unknown
591659607e0Smrg		os=-elf
592659607e0Smrg		;;
593659607e0Smrg	da30 | da30-*)
594659607e0Smrg		basic_machine=m68k-da30
595659607e0Smrg		;;
596659607e0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597659607e0Smrg		basic_machine=mips-dec
598659607e0Smrg		;;
599659607e0Smrg	decsystem10* | dec10*)
600659607e0Smrg		basic_machine=pdp10-dec
601659607e0Smrg		os=-tops10
602659607e0Smrg		;;
603659607e0Smrg	decsystem20* | dec20*)
604659607e0Smrg		basic_machine=pdp10-dec
605659607e0Smrg		os=-tops20
606659607e0Smrg		;;
607659607e0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
608659607e0Smrg	      | 3300-motorola | delta-motorola)
609659607e0Smrg		basic_machine=m68k-motorola
610659607e0Smrg		;;
611659607e0Smrg	delta88)
612659607e0Smrg		basic_machine=m88k-motorola
613659607e0Smrg		os=-sysv3
614659607e0Smrg		;;
615b73be646Smrg	dicos)
616b73be646Smrg		basic_machine=i686-pc
617b73be646Smrg		os=-dicos
618b73be646Smrg		;;
619659607e0Smrg	djgpp)
620659607e0Smrg		basic_machine=i586-pc
621659607e0Smrg		os=-msdosdjgpp
622659607e0Smrg		;;
623659607e0Smrg	dpx20 | dpx20-*)
624659607e0Smrg		basic_machine=rs6000-bull
625659607e0Smrg		os=-bosx
626659607e0Smrg		;;
627659607e0Smrg	dpx2* | dpx2*-bull)
628659607e0Smrg		basic_machine=m68k-bull
629659607e0Smrg		os=-sysv3
630659607e0Smrg		;;
631659607e0Smrg	ebmon29k)
632659607e0Smrg		basic_machine=a29k-amd
633659607e0Smrg		os=-ebmon
634659607e0Smrg		;;
635659607e0Smrg	elxsi)
636659607e0Smrg		basic_machine=elxsi-elxsi
637659607e0Smrg		os=-bsd
638659607e0Smrg		;;
639659607e0Smrg	encore | umax | mmax)
640659607e0Smrg		basic_machine=ns32k-encore
641659607e0Smrg		;;
642659607e0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
643659607e0Smrg		basic_machine=m68k-ericsson
644659607e0Smrg		os=-ose
645659607e0Smrg		;;
646659607e0Smrg	fx2800)
647659607e0Smrg		basic_machine=i860-alliant
648659607e0Smrg		;;
649659607e0Smrg	genix)
650659607e0Smrg		basic_machine=ns32k-ns
651659607e0Smrg		;;
652659607e0Smrg	gmicro)
653659607e0Smrg		basic_machine=tron-gmicro
654659607e0Smrg		os=-sysv
655659607e0Smrg		;;
656659607e0Smrg	go32)
657659607e0Smrg		basic_machine=i386-pc
658659607e0Smrg		os=-go32
659659607e0Smrg		;;
660659607e0Smrg	h3050r* | hiux*)
661659607e0Smrg		basic_machine=hppa1.1-hitachi
662659607e0Smrg		os=-hiuxwe2
663659607e0Smrg		;;
664659607e0Smrg	h8300hms)
665659607e0Smrg		basic_machine=h8300-hitachi
666659607e0Smrg		os=-hms
667659607e0Smrg		;;
668659607e0Smrg	h8300xray)
669659607e0Smrg		basic_machine=h8300-hitachi
670659607e0Smrg		os=-xray
671659607e0Smrg		;;
672659607e0Smrg	h8500hms)
673659607e0Smrg		basic_machine=h8500-hitachi
674659607e0Smrg		os=-hms
675659607e0Smrg		;;
676659607e0Smrg	harris)
677659607e0Smrg		basic_machine=m88k-harris
678659607e0Smrg		os=-sysv3
679659607e0Smrg		;;
680659607e0Smrg	hp300-*)
681659607e0Smrg		basic_machine=m68k-hp
682659607e0Smrg		;;
683659607e0Smrg	hp300bsd)
684659607e0Smrg		basic_machine=m68k-hp
685659607e0Smrg		os=-bsd
686659607e0Smrg		;;
687659607e0Smrg	hp300hpux)
688659607e0Smrg		basic_machine=m68k-hp
689659607e0Smrg		os=-hpux
690659607e0Smrg		;;
691659607e0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
692659607e0Smrg		basic_machine=hppa1.0-hp
693659607e0Smrg		;;
694659607e0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
695659607e0Smrg		basic_machine=m68000-hp
696659607e0Smrg		;;
697659607e0Smrg	hp9k3[2-9][0-9])
698659607e0Smrg		basic_machine=m68k-hp
699659607e0Smrg		;;
700659607e0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
701659607e0Smrg		basic_machine=hppa1.0-hp
702659607e0Smrg		;;
703659607e0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
704659607e0Smrg		basic_machine=hppa1.1-hp
705659607e0Smrg		;;
706659607e0Smrg	hp9k78[0-9] | hp78[0-9])
707659607e0Smrg		# FIXME: really hppa2.0-hp
708659607e0Smrg		basic_machine=hppa1.1-hp
709659607e0Smrg		;;
710659607e0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711659607e0Smrg		# FIXME: really hppa2.0-hp
712659607e0Smrg		basic_machine=hppa1.1-hp
713659607e0Smrg		;;
714659607e0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
715659607e0Smrg		basic_machine=hppa1.1-hp
716659607e0Smrg		;;
717659607e0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
718659607e0Smrg		basic_machine=hppa1.0-hp
719659607e0Smrg		;;
720659607e0Smrg	hppa-next)
721659607e0Smrg		os=-nextstep3
722659607e0Smrg		;;
723659607e0Smrg	hppaosf)
724659607e0Smrg		basic_machine=hppa1.1-hp
725659607e0Smrg		os=-osf
726659607e0Smrg		;;
727659607e0Smrg	hppro)
728659607e0Smrg		basic_machine=hppa1.1-hp
729659607e0Smrg		os=-proelf
730659607e0Smrg		;;
731659607e0Smrg	i370-ibm* | ibm*)
732659607e0Smrg		basic_machine=i370-ibm
733659607e0Smrg		;;
734659607e0Smrg	i*86v32)
735659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
736659607e0Smrg		os=-sysv32
737659607e0Smrg		;;
738659607e0Smrg	i*86v4*)
739659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740659607e0Smrg		os=-sysv4
741659607e0Smrg		;;
742659607e0Smrg	i*86v)
743659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744659607e0Smrg		os=-sysv
745659607e0Smrg		;;
746659607e0Smrg	i*86sol2)
747659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748659607e0Smrg		os=-solaris2
749659607e0Smrg		;;
750659607e0Smrg	i386mach)
751659607e0Smrg		basic_machine=i386-mach
752659607e0Smrg		os=-mach
753659607e0Smrg		;;
754659607e0Smrg	i386-vsta | vsta)
755659607e0Smrg		basic_machine=i386-unknown
756659607e0Smrg		os=-vsta
757659607e0Smrg		;;
758659607e0Smrg	iris | iris4d)
759659607e0Smrg		basic_machine=mips-sgi
760659607e0Smrg		case $os in
761659607e0Smrg		    -irix*)
762659607e0Smrg			;;
763659607e0Smrg		    *)
764659607e0Smrg			os=-irix4
765659607e0Smrg			;;
766659607e0Smrg		esac
767659607e0Smrg		;;
768659607e0Smrg	isi68 | isi)
769659607e0Smrg		basic_machine=m68k-isi
770659607e0Smrg		os=-sysv
771659607e0Smrg		;;
772fc27e79cSmrg	m68knommu)
773fc27e79cSmrg		basic_machine=m68k-unknown
774fc27e79cSmrg		os=-linux
775fc27e79cSmrg		;;
776fc27e79cSmrg	m68knommu-*)
777fc27e79cSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778fc27e79cSmrg		os=-linux
779fc27e79cSmrg		;;
780659607e0Smrg	m88k-omron*)
781659607e0Smrg		basic_machine=m88k-omron
782659607e0Smrg		;;
783659607e0Smrg	magnum | m3230)
784659607e0Smrg		basic_machine=mips-mips
785659607e0Smrg		os=-sysv
786659607e0Smrg		;;
787659607e0Smrg	merlin)
788659607e0Smrg		basic_machine=ns32k-utek
789659607e0Smrg		os=-sysv
790659607e0Smrg		;;
791e4da38afSmrg	microblaze)
792b73be646Smrg		basic_machine=microblaze-xilinx
793b73be646Smrg		;;
794659607e0Smrg	mingw32)
795e4da38afSmrg		basic_machine=i386-pc
796659607e0Smrg		os=-mingw32
797659607e0Smrg		;;
798fc27e79cSmrg	mingw32ce)
799fc27e79cSmrg		basic_machine=arm-unknown
800fc27e79cSmrg		os=-mingw32ce
801fc27e79cSmrg		;;
802659607e0Smrg	miniframe)
803659607e0Smrg		basic_machine=m68000-convergent
804659607e0Smrg		;;
805659607e0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
806659607e0Smrg		basic_machine=m68k-atari
807659607e0Smrg		os=-mint
808659607e0Smrg		;;
809659607e0Smrg	mips3*-*)
810659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
811659607e0Smrg		;;
812659607e0Smrg	mips3*)
813659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
814659607e0Smrg		;;
815659607e0Smrg	monitor)
816659607e0Smrg		basic_machine=m68k-rom68k
817659607e0Smrg		os=-coff
818659607e0Smrg		;;
819659607e0Smrg	morphos)
820659607e0Smrg		basic_machine=powerpc-unknown
821659607e0Smrg		os=-morphos
822659607e0Smrg		;;
823659607e0Smrg	msdos)
824659607e0Smrg		basic_machine=i386-pc
825659607e0Smrg		os=-msdos
826659607e0Smrg		;;
827659607e0Smrg	ms1-*)
828659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
829659607e0Smrg		;;
830a73597f9Smrg	msys)
831e4da38afSmrg		basic_machine=i386-pc
832a73597f9Smrg		os=-msys
833a73597f9Smrg		;;
834659607e0Smrg	mvs)
835659607e0Smrg		basic_machine=i370-ibm
836659607e0Smrg		os=-mvs
837659607e0Smrg		;;
838a73597f9Smrg	nacl)
839a73597f9Smrg		basic_machine=le32-unknown
840a73597f9Smrg		os=-nacl
841a73597f9Smrg		;;
842659607e0Smrg	ncr3000)
843659607e0Smrg		basic_machine=i486-ncr
844659607e0Smrg		os=-sysv4
845659607e0Smrg		;;
846659607e0Smrg	netbsd386)
847659607e0Smrg		basic_machine=i386-unknown
848659607e0Smrg		os=-netbsd
849659607e0Smrg		;;
850659607e0Smrg	netwinder)
851659607e0Smrg		basic_machine=armv4l-rebel
852659607e0Smrg		os=-linux
853659607e0Smrg		;;
854659607e0Smrg	news | news700 | news800 | news900)
855659607e0Smrg		basic_machine=m68k-sony
856659607e0Smrg		os=-newsos
857659607e0Smrg		;;
858659607e0Smrg	news1000)
859659607e0Smrg		basic_machine=m68030-sony
860659607e0Smrg		os=-newsos
861659607e0Smrg		;;
862659607e0Smrg	news-3600 | risc-news)
863659607e0Smrg		basic_machine=mips-sony
864659607e0Smrg		os=-newsos
865659607e0Smrg		;;
866659607e0Smrg	necv70)
867659607e0Smrg		basic_machine=v70-nec
868659607e0Smrg		os=-sysv
869659607e0Smrg		;;
870659607e0Smrg	next | m*-next )
871659607e0Smrg		basic_machine=m68k-next
872659607e0Smrg		case $os in
873659607e0Smrg		    -nextstep* )
874659607e0Smrg			;;
875659607e0Smrg		    -ns2*)
876659607e0Smrg		      os=-nextstep2
877659607e0Smrg			;;
878659607e0Smrg		    *)
879659607e0Smrg		      os=-nextstep3
880659607e0Smrg			;;
881659607e0Smrg		esac
882659607e0Smrg		;;
883659607e0Smrg	nh3000)
884659607e0Smrg		basic_machine=m68k-harris
885659607e0Smrg		os=-cxux
886659607e0Smrg		;;
887659607e0Smrg	nh[45]000)
888659607e0Smrg		basic_machine=m88k-harris
889659607e0Smrg		os=-cxux
890659607e0Smrg		;;
891659607e0Smrg	nindy960)
892659607e0Smrg		basic_machine=i960-intel
893659607e0Smrg		os=-nindy
894659607e0Smrg		;;
895659607e0Smrg	mon960)
896659607e0Smrg		basic_machine=i960-intel
897659607e0Smrg		os=-mon960
898659607e0Smrg		;;
899659607e0Smrg	nonstopux)
900659607e0Smrg		basic_machine=mips-compaq
901659607e0Smrg		os=-nonstopux
902659607e0Smrg		;;
903659607e0Smrg	np1)
904659607e0Smrg		basic_machine=np1-gould
905659607e0Smrg		;;
906a73597f9Smrg	neo-tandem)
907bd3a1963Smrg		basic_machine=neo-tandem
908bd3a1963Smrg		;;
909a73597f9Smrg	nse-tandem)
910bd3a1963Smrg		basic_machine=nse-tandem
911bd3a1963Smrg		;;
912659607e0Smrg	nsr-tandem)
913659607e0Smrg		basic_machine=nsr-tandem
914659607e0Smrg		;;
915659607e0Smrg	op50n-* | op60c-*)
916659607e0Smrg		basic_machine=hppa1.1-oki
917659607e0Smrg		os=-proelf
918659607e0Smrg		;;
919659607e0Smrg	openrisc | openrisc-*)
920659607e0Smrg		basic_machine=or32-unknown
921659607e0Smrg		;;
922659607e0Smrg	os400)
923659607e0Smrg		basic_machine=powerpc-ibm
924659607e0Smrg		os=-os400
925659607e0Smrg		;;
926659607e0Smrg	OSE68000 | ose68000)
927659607e0Smrg		basic_machine=m68000-ericsson
928659607e0Smrg		os=-ose
929659607e0Smrg		;;
930659607e0Smrg	os68k)
931659607e0Smrg		basic_machine=m68k-none
932659607e0Smrg		os=-os68k
933659607e0Smrg		;;
934659607e0Smrg	pa-hitachi)
935659607e0Smrg		basic_machine=hppa1.1-hitachi
936659607e0Smrg		os=-hiuxwe2
937659607e0Smrg		;;
938659607e0Smrg	paragon)
939659607e0Smrg		basic_machine=i860-intel
940659607e0Smrg		os=-osf
941659607e0Smrg		;;
942fc27e79cSmrg	parisc)
943fc27e79cSmrg		basic_machine=hppa-unknown
944fc27e79cSmrg		os=-linux
945fc27e79cSmrg		;;
946fc27e79cSmrg	parisc-*)
947fc27e79cSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
948fc27e79cSmrg		os=-linux
949fc27e79cSmrg		;;
950659607e0Smrg	pbd)
951659607e0Smrg		basic_machine=sparc-tti
952659607e0Smrg		;;
953659607e0Smrg	pbb)
954659607e0Smrg		basic_machine=m68k-tti
955659607e0Smrg		;;
956659607e0Smrg	pc532 | pc532-*)
957659607e0Smrg		basic_machine=ns32k-pc532
958659607e0Smrg		;;
959fc27e79cSmrg	pc98)
960fc27e79cSmrg		basic_machine=i386-pc
961fc27e79cSmrg		;;
962fc27e79cSmrg	pc98-*)
963fc27e79cSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
964fc27e79cSmrg		;;
965659607e0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
966659607e0Smrg		basic_machine=i586-pc
967659607e0Smrg		;;
968659607e0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
969659607e0Smrg		basic_machine=i686-pc
970659607e0Smrg		;;
971659607e0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
972659607e0Smrg		basic_machine=i686-pc
973659607e0Smrg		;;
974659607e0Smrg	pentium4)
975659607e0Smrg		basic_machine=i786-pc
976659607e0Smrg		;;
977659607e0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
978659607e0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
979659607e0Smrg		;;
980659607e0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
981659607e0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
982659607e0Smrg		;;
983659607e0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
984659607e0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
985659607e0Smrg		;;
986659607e0Smrg	pentium4-*)
987659607e0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
988659607e0Smrg		;;
989659607e0Smrg	pn)
990659607e0Smrg		basic_machine=pn-gould
991659607e0Smrg		;;
992659607e0Smrg	power)	basic_machine=power-ibm
993659607e0Smrg		;;
994a73597f9Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
995659607e0Smrg		;;
996a73597f9Smrg	ppc-* | ppcbe-*)
997a73597f9Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
998659607e0Smrg		;;
999659607e0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
1000659607e0Smrg		basic_machine=powerpcle-unknown
1001659607e0Smrg		;;
1002659607e0Smrg	ppcle-* | powerpclittle-*)
1003659607e0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1004659607e0Smrg		;;
1005659607e0Smrg	ppc64)	basic_machine=powerpc64-unknown
1006659607e0Smrg		;;
1007659607e0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1008659607e0Smrg		;;
1009659607e0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1010659607e0Smrg		basic_machine=powerpc64le-unknown
1011659607e0Smrg		;;
1012659607e0Smrg	ppc64le-* | powerpc64little-*)
1013659607e0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1014659607e0Smrg		;;
1015659607e0Smrg	ps2)
1016659607e0Smrg		basic_machine=i386-ibm
1017659607e0Smrg		;;
1018659607e0Smrg	pw32)
1019659607e0Smrg		basic_machine=i586-unknown
1020659607e0Smrg		os=-pw32
1021659607e0Smrg		;;
1022e4da38afSmrg	rdos)
1023659607e0Smrg		basic_machine=i386-pc
1024659607e0Smrg		os=-rdos
1025659607e0Smrg		;;
1026659607e0Smrg	rom68k)
1027659607e0Smrg		basic_machine=m68k-rom68k
1028659607e0Smrg		os=-coff
1029659607e0Smrg		;;
1030659607e0Smrg	rm[46]00)
1031659607e0Smrg		basic_machine=mips-siemens
1032659607e0Smrg		;;
1033659607e0Smrg	rtpc | rtpc-*)
1034659607e0Smrg		basic_machine=romp-ibm
1035659607e0Smrg		;;
1036659607e0Smrg	s390 | s390-*)
1037659607e0Smrg		basic_machine=s390-ibm
1038659607e0Smrg		;;
1039659607e0Smrg	s390x | s390x-*)
1040659607e0Smrg		basic_machine=s390x-ibm
1041659607e0Smrg		;;
1042659607e0Smrg	sa29200)
1043659607e0Smrg		basic_machine=a29k-amd
1044659607e0Smrg		os=-udi
1045659607e0Smrg		;;
1046659607e0Smrg	sb1)
1047659607e0Smrg		basic_machine=mipsisa64sb1-unknown
1048659607e0Smrg		;;
1049659607e0Smrg	sb1el)
1050659607e0Smrg		basic_machine=mipsisa64sb1el-unknown
1051659607e0Smrg		;;
1052fc27e79cSmrg	sde)
1053fc27e79cSmrg		basic_machine=mipsisa32-sde
1054fc27e79cSmrg		os=-elf
1055fc27e79cSmrg		;;
1056659607e0Smrg	sei)
1057659607e0Smrg		basic_machine=mips-sei
1058659607e0Smrg		os=-seiux
1059659607e0Smrg		;;
1060659607e0Smrg	sequent)
1061659607e0Smrg		basic_machine=i386-sequent
1062659607e0Smrg		;;
1063659607e0Smrg	sh)
1064659607e0Smrg		basic_machine=sh-hitachi
1065659607e0Smrg		os=-hms
1066659607e0Smrg		;;
1067fc27e79cSmrg	sh5el)
1068fc27e79cSmrg		basic_machine=sh5le-unknown
1069fc27e79cSmrg		;;
1070659607e0Smrg	sh64)
1071659607e0Smrg		basic_machine=sh64-unknown
1072659607e0Smrg		;;
1073659607e0Smrg	sparclite-wrs | simso-wrs)
1074659607e0Smrg		basic_machine=sparclite-wrs
1075659607e0Smrg		os=-vxworks
1076659607e0Smrg		;;
1077659607e0Smrg	sps7)
1078659607e0Smrg		basic_machine=m68k-bull
1079659607e0Smrg		os=-sysv2
1080659607e0Smrg		;;
1081659607e0Smrg	spur)
1082659607e0Smrg		basic_machine=spur-unknown
1083659607e0Smrg		;;
1084659607e0Smrg	st2000)
1085659607e0Smrg		basic_machine=m68k-tandem
1086659607e0Smrg		;;
1087659607e0Smrg	stratus)
1088659607e0Smrg		basic_machine=i860-stratus
1089659607e0Smrg		os=-sysv4
1090659607e0Smrg		;;
1091a73597f9Smrg	strongarm-* | thumb-*)
1092a73597f9Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093a73597f9Smrg		;;
1094659607e0Smrg	sun2)
1095659607e0Smrg		basic_machine=m68000-sun
1096659607e0Smrg		;;
1097659607e0Smrg	sun2os3)
1098659607e0Smrg		basic_machine=m68000-sun
1099659607e0Smrg		os=-sunos3
1100659607e0Smrg		;;
1101659607e0Smrg	sun2os4)
1102659607e0Smrg		basic_machine=m68000-sun
1103659607e0Smrg		os=-sunos4
1104659607e0Smrg		;;
1105659607e0Smrg	sun3os3)
1106659607e0Smrg		basic_machine=m68k-sun
1107659607e0Smrg		os=-sunos3
1108659607e0Smrg		;;
1109659607e0Smrg	sun3os4)
1110659607e0Smrg		basic_machine=m68k-sun
1111659607e0Smrg		os=-sunos4
1112659607e0Smrg		;;
1113659607e0Smrg	sun4os3)
1114659607e0Smrg		basic_machine=sparc-sun
1115659607e0Smrg		os=-sunos3
1116659607e0Smrg		;;
1117659607e0Smrg	sun4os4)
1118659607e0Smrg		basic_machine=sparc-sun
1119659607e0Smrg		os=-sunos4
1120659607e0Smrg		;;
1121659607e0Smrg	sun4sol2)
1122659607e0Smrg		basic_machine=sparc-sun
1123659607e0Smrg		os=-solaris2
1124659607e0Smrg		;;
1125659607e0Smrg	sun3 | sun3-*)
1126659607e0Smrg		basic_machine=m68k-sun
1127659607e0Smrg		;;
1128659607e0Smrg	sun4)
1129659607e0Smrg		basic_machine=sparc-sun
1130659607e0Smrg		;;
1131659607e0Smrg	sun386 | sun386i | roadrunner)
1132659607e0Smrg		basic_machine=i386-sun
1133659607e0Smrg		;;
1134659607e0Smrg	sv1)
1135659607e0Smrg		basic_machine=sv1-cray
1136659607e0Smrg		os=-unicos
1137659607e0Smrg		;;
1138659607e0Smrg	symmetry)
1139659607e0Smrg		basic_machine=i386-sequent
1140659607e0Smrg		os=-dynix
1141659607e0Smrg		;;
1142659607e0Smrg	t3e)
1143659607e0Smrg		basic_machine=alphaev5-cray
1144659607e0Smrg		os=-unicos
1145659607e0Smrg		;;
1146659607e0Smrg	t90)
1147659607e0Smrg		basic_machine=t90-cray
1148659607e0Smrg		os=-unicos
1149659607e0Smrg		;;
1150fc27e79cSmrg	tile*)
1151a73597f9Smrg		basic_machine=$basic_machine-unknown
1152fc27e79cSmrg		os=-linux-gnu
1153fc27e79cSmrg		;;
1154659607e0Smrg	tx39)
1155659607e0Smrg		basic_machine=mipstx39-unknown
1156659607e0Smrg		;;
1157659607e0Smrg	tx39el)
1158659607e0Smrg		basic_machine=mipstx39el-unknown
1159659607e0Smrg		;;
1160659607e0Smrg	toad1)
1161659607e0Smrg		basic_machine=pdp10-xkl
1162659607e0Smrg		os=-tops20
1163659607e0Smrg		;;
1164659607e0Smrg	tower | tower-32)
1165659607e0Smrg		basic_machine=m68k-ncr
1166659607e0Smrg		;;
1167659607e0Smrg	tpf)
1168659607e0Smrg		basic_machine=s390x-ibm
1169659607e0Smrg		os=-tpf
1170659607e0Smrg		;;
1171659607e0Smrg	udi29k)
1172659607e0Smrg		basic_machine=a29k-amd
1173659607e0Smrg		os=-udi
1174659607e0Smrg		;;
1175659607e0Smrg	ultra3)
1176659607e0Smrg		basic_machine=a29k-nyu
1177659607e0Smrg		os=-sym1
1178659607e0Smrg		;;
1179659607e0Smrg	v810 | necv810)
1180659607e0Smrg		basic_machine=v810-nec
1181659607e0Smrg		os=-none
1182659607e0Smrg		;;
1183659607e0Smrg	vaxv)
1184659607e0Smrg		basic_machine=vax-dec
1185659607e0Smrg		os=-sysv
1186659607e0Smrg		;;
1187659607e0Smrg	vms)
1188659607e0Smrg		basic_machine=vax-dec
1189659607e0Smrg		os=-vms
1190659607e0Smrg		;;
1191659607e0Smrg	vpp*|vx|vx-*)
1192659607e0Smrg		basic_machine=f301-fujitsu
1193659607e0Smrg		;;
1194659607e0Smrg	vxworks960)
1195659607e0Smrg		basic_machine=i960-wrs
1196659607e0Smrg		os=-vxworks
1197659607e0Smrg		;;
1198659607e0Smrg	vxworks68)
1199659607e0Smrg		basic_machine=m68k-wrs
1200659607e0Smrg		os=-vxworks
1201659607e0Smrg		;;
1202659607e0Smrg	vxworks29k)
1203659607e0Smrg		basic_machine=a29k-wrs
1204659607e0Smrg		os=-vxworks
1205659607e0Smrg		;;
1206659607e0Smrg	w65*)
1207659607e0Smrg		basic_machine=w65-wdc
1208659607e0Smrg		os=-none
1209659607e0Smrg		;;
1210659607e0Smrg	w89k-*)
1211659607e0Smrg		basic_machine=hppa1.1-winbond
1212659607e0Smrg		os=-proelf
1213659607e0Smrg		;;
1214659607e0Smrg	xbox)
1215659607e0Smrg		basic_machine=i686-pc
1216659607e0Smrg		os=-mingw32
1217659607e0Smrg		;;
1218659607e0Smrg	xps | xps100)
1219659607e0Smrg		basic_machine=xps100-honeywell
1220659607e0Smrg		;;
1221a73597f9Smrg	xscale-* | xscalee[bl]-*)
1222a73597f9Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223a73597f9Smrg		;;
1224659607e0Smrg	ymp)
1225659607e0Smrg		basic_machine=ymp-cray
1226659607e0Smrg		os=-unicos
1227659607e0Smrg		;;
1228659607e0Smrg	z8k-*-coff)
1229659607e0Smrg		basic_machine=z8k-unknown
1230659607e0Smrg		os=-sim
1231659607e0Smrg		;;
1232b73be646Smrg	z80-*-coff)
1233b73be646Smrg		basic_machine=z80-unknown
1234b73be646Smrg		os=-sim
1235b73be646Smrg		;;
1236659607e0Smrg	none)
1237659607e0Smrg		basic_machine=none-none
1238659607e0Smrg		os=-none
1239659607e0Smrg		;;
1240659607e0Smrg
1241659607e0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1242659607e0Smrg# some cases the only manufacturer, in others, it is the most popular.
1243659607e0Smrg	w89k)
1244659607e0Smrg		basic_machine=hppa1.1-winbond
1245659607e0Smrg		;;
1246659607e0Smrg	op50n)
1247659607e0Smrg		basic_machine=hppa1.1-oki
1248659607e0Smrg		;;
1249659607e0Smrg	op60c)
1250659607e0Smrg		basic_machine=hppa1.1-oki
1251659607e0Smrg		;;
1252659607e0Smrg	romp)
1253659607e0Smrg		basic_machine=romp-ibm
1254659607e0Smrg		;;
1255659607e0Smrg	mmix)
1256659607e0Smrg		basic_machine=mmix-knuth
1257659607e0Smrg		;;
1258659607e0Smrg	rs6000)
1259659607e0Smrg		basic_machine=rs6000-ibm
1260659607e0Smrg		;;
1261659607e0Smrg	vax)
1262659607e0Smrg		basic_machine=vax-dec
1263659607e0Smrg		;;
1264659607e0Smrg	pdp10)
1265659607e0Smrg		# there are many clones, so DEC is not a safe bet
1266659607e0Smrg		basic_machine=pdp10-unknown
1267659607e0Smrg		;;
1268659607e0Smrg	pdp11)
1269659607e0Smrg		basic_machine=pdp11-dec
1270659607e0Smrg		;;
1271659607e0Smrg	we32k)
1272659607e0Smrg		basic_machine=we32k-att
1273659607e0Smrg		;;
1274b73be646Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1275659607e0Smrg		basic_machine=sh-unknown
1276659607e0Smrg		;;
1277fc27e79cSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1278659607e0Smrg		basic_machine=sparc-sun
1279659607e0Smrg		;;
1280659607e0Smrg	cydra)
1281659607e0Smrg		basic_machine=cydra-cydrome
1282659607e0Smrg		;;
1283659607e0Smrg	orion)
1284659607e0Smrg		basic_machine=orion-highlevel
1285659607e0Smrg		;;
1286659607e0Smrg	orion105)
1287659607e0Smrg		basic_machine=clipper-highlevel
1288659607e0Smrg		;;
1289659607e0Smrg	mac | mpw | mac-mpw)
1290659607e0Smrg		basic_machine=m68k-apple
1291659607e0Smrg		;;
1292659607e0Smrg	pmac | pmac-mpw)
1293659607e0Smrg		basic_machine=powerpc-apple
1294659607e0Smrg		;;
1295659607e0Smrg	*-unknown)
1296659607e0Smrg		# Make sure to match an already-canonicalized machine name.
1297659607e0Smrg		;;
1298659607e0Smrg	*)
1299659607e0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1300659607e0Smrg		exit 1
1301659607e0Smrg		;;
1302659607e0Smrgesac
1303659607e0Smrg
1304659607e0Smrg# Here we canonicalize certain aliases for manufacturers.
1305659607e0Smrgcase $basic_machine in
1306659607e0Smrg	*-digital*)
1307659607e0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1308659607e0Smrg		;;
1309659607e0Smrg	*-commodore*)
1310659607e0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1311659607e0Smrg		;;
1312659607e0Smrg	*)
1313659607e0Smrg		;;
1314659607e0Smrgesac
1315659607e0Smrg
1316659607e0Smrg# Decode manufacturer-specific aliases for certain operating systems.
1317659607e0Smrg
1318659607e0Smrgif [ x"$os" != x"" ]
1319659607e0Smrgthen
1320659607e0Smrgcase $os in
1321a73597f9Smrg	# First match some system type aliases
1322a73597f9Smrg	# that might get confused with valid system types.
1323659607e0Smrg	# -solaris* is a basic system type, with this one exception.
1324a73597f9Smrg	-auroraux)
1325a73597f9Smrg		os=-auroraux
1326b73be646Smrg		;;
1327659607e0Smrg	-solaris1 | -solaris1.*)
1328659607e0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1329659607e0Smrg		;;
1330659607e0Smrg	-solaris)
1331659607e0Smrg		os=-solaris2
1332659607e0Smrg		;;
1333659607e0Smrg	-svr4*)
1334659607e0Smrg		os=-sysv4
1335659607e0Smrg		;;
1336659607e0Smrg	-unixware*)
1337659607e0Smrg		os=-sysv4.2uw
1338659607e0Smrg		;;
1339659607e0Smrg	-gnu/linux*)
1340659607e0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1341659607e0Smrg		;;
1342659607e0Smrg	# First accept the basic system types.
1343659607e0Smrg	# The portable systems comes first.
1344659607e0Smrg	# Each alternative MUST END IN A *, to match a version number.
1345659607e0Smrg	# -sysv* is not here because it comes later, after sysvr4.
1346659607e0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1347b73be646Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348b73be646Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349e4da38afSmrg	      | -sym* | -kopensolaris* \
1350659607e0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1351b73be646Smrg	      | -aos* | -aros* \
1352659607e0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1353659607e0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1354fc27e79cSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1355e4da38afSmrg	      | -openbsd* | -solidbsd* \
1356659607e0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1357659607e0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1358659607e0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1359659607e0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1360b73be646Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1361a73597f9Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362e4da38afSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1363e4da38afSmrg	      | -linux-newlib* | -linux-uclibc* \
1364659607e0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1365659607e0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1366659607e0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1367659607e0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1368659607e0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1369659607e0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1370659607e0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1371b73be646Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1372659607e0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1373659607e0Smrg		;;
1374659607e0Smrg	-qnx*)
1375659607e0Smrg		case $basic_machine in
1376659607e0Smrg		    x86-* | i*86-*)
1377659607e0Smrg			;;
1378659607e0Smrg		    *)
1379659607e0Smrg			os=-nto$os
1380659607e0Smrg			;;
1381659607e0Smrg		esac
1382659607e0Smrg		;;
1383659607e0Smrg	-nto-qnx*)
1384659607e0Smrg		;;
1385659607e0Smrg	-nto*)
1386659607e0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1387659607e0Smrg		;;
1388659607e0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1389659607e0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1390659607e0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1391659607e0Smrg		;;
1392659607e0Smrg	-mac*)
1393659607e0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1394659607e0Smrg		;;
1395659607e0Smrg	-linux-dietlibc)
1396659607e0Smrg		os=-linux-dietlibc
1397659607e0Smrg		;;
1398659607e0Smrg	-linux*)
1399659607e0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1400659607e0Smrg		;;
1401659607e0Smrg	-sunos5*)
1402659607e0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1403659607e0Smrg		;;
1404659607e0Smrg	-sunos6*)
1405659607e0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1406659607e0Smrg		;;
1407659607e0Smrg	-opened*)
1408659607e0Smrg		os=-openedition
1409659607e0Smrg		;;
1410a73597f9Smrg	-os400*)
1411659607e0Smrg		os=-os400
1412659607e0Smrg		;;
1413659607e0Smrg	-wince*)
1414659607e0Smrg		os=-wince
1415659607e0Smrg		;;
1416659607e0Smrg	-osfrose*)
1417659607e0Smrg		os=-osfrose
1418659607e0Smrg		;;
1419659607e0Smrg	-osf*)
1420659607e0Smrg		os=-osf
1421659607e0Smrg		;;
1422659607e0Smrg	-utek*)
1423659607e0Smrg		os=-bsd
1424659607e0Smrg		;;
1425659607e0Smrg	-dynix*)
1426659607e0Smrg		os=-bsd
1427659607e0Smrg		;;
1428659607e0Smrg	-acis*)
1429659607e0Smrg		os=-aos
1430659607e0Smrg		;;
1431659607e0Smrg	-atheos*)
1432659607e0Smrg		os=-atheos
1433659607e0Smrg		;;
1434659607e0Smrg	-syllable*)
1435659607e0Smrg		os=-syllable
1436659607e0Smrg		;;
1437659607e0Smrg	-386bsd)
1438659607e0Smrg		os=-bsd
1439659607e0Smrg		;;
1440659607e0Smrg	-ctix* | -uts*)
1441659607e0Smrg		os=-sysv
1442659607e0Smrg		;;
1443659607e0Smrg	-nova*)
1444659607e0Smrg		os=-rtmk-nova
1445659607e0Smrg		;;
1446659607e0Smrg	-ns2 )
1447659607e0Smrg		os=-nextstep2
1448659607e0Smrg		;;
1449659607e0Smrg	-nsk*)
1450659607e0Smrg		os=-nsk
1451659607e0Smrg		;;
1452659607e0Smrg	# Preserve the version number of sinix5.
1453659607e0Smrg	-sinix5.*)
1454659607e0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1455659607e0Smrg		;;
1456659607e0Smrg	-sinix*)
1457659607e0Smrg		os=-sysv4
1458659607e0Smrg		;;
1459a73597f9Smrg	-tpf*)
1460659607e0Smrg		os=-tpf
1461659607e0Smrg		;;
1462659607e0Smrg	-triton*)
1463659607e0Smrg		os=-sysv3
1464659607e0Smrg		;;
1465659607e0Smrg	-oss*)
1466659607e0Smrg		os=-sysv3
1467659607e0Smrg		;;
1468659607e0Smrg	-svr4)
1469659607e0Smrg		os=-sysv4
1470659607e0Smrg		;;
1471659607e0Smrg	-svr3)
1472659607e0Smrg		os=-sysv3
1473659607e0Smrg		;;
1474659607e0Smrg	-sysvr4)
1475659607e0Smrg		os=-sysv4
1476659607e0Smrg		;;
1477659607e0Smrg	# This must come after -sysvr4.
1478659607e0Smrg	-sysv*)
1479659607e0Smrg		;;
1480659607e0Smrg	-ose*)
1481659607e0Smrg		os=-ose
1482659607e0Smrg		;;
1483659607e0Smrg	-es1800*)
1484659607e0Smrg		os=-ose
1485659607e0Smrg		;;
1486659607e0Smrg	-xenix)
1487659607e0Smrg		os=-xenix
1488659607e0Smrg		;;
1489659607e0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1490659607e0Smrg		os=-mint
1491659607e0Smrg		;;
1492659607e0Smrg	-aros*)
1493659607e0Smrg		os=-aros
1494659607e0Smrg		;;
1495e4da38afSmrg	-kaos*)
1496e4da38afSmrg		os=-kaos
1497e4da38afSmrg		;;
1498659607e0Smrg	-zvmoe)
1499659607e0Smrg		os=-zvmoe
1500659607e0Smrg		;;
1501b73be646Smrg	-dicos*)
1502b73be646Smrg		os=-dicos
1503b73be646Smrg		;;
1504a73597f9Smrg	-nacl*)
1505a73597f9Smrg		;;
1506659607e0Smrg	-none)
1507659607e0Smrg		;;
1508659607e0Smrg	*)
1509659607e0Smrg		# Get rid of the `-' at the beginning of $os.
1510659607e0Smrg		os=`echo $os | sed 's/[^-]*-//'`
1511659607e0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1512659607e0Smrg		exit 1
1513659607e0Smrg		;;
1514659607e0Smrgesac
1515659607e0Smrgelse
1516659607e0Smrg
1517659607e0Smrg# Here we handle the default operating systems that come with various machines.
1518659607e0Smrg# The value should be what the vendor currently ships out the door with their
1519659607e0Smrg# machine or put another way, the most popular os provided with the machine.
1520659607e0Smrg
1521659607e0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1522659607e0Smrg# "-sun"), then you have to tell the case statement up towards the top
1523659607e0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1524659607e0Smrg# will signal an error saying that MANUFACTURER isn't an operating
1525659607e0Smrg# system, and we'll never get to this point.
1526659607e0Smrg
1527659607e0Smrgcase $basic_machine in
1528a73597f9Smrg	score-*)
1529fc27e79cSmrg		os=-elf
1530fc27e79cSmrg		;;
1531a73597f9Smrg	spu-*)
1532fc27e79cSmrg		os=-elf
1533fc27e79cSmrg		;;
1534659607e0Smrg	*-acorn)
1535659607e0Smrg		os=-riscix1.2
1536659607e0Smrg		;;
1537659607e0Smrg	arm*-rebel)
1538659607e0Smrg		os=-linux
1539659607e0Smrg		;;
1540659607e0Smrg	arm*-semi)
1541659607e0Smrg		os=-aout
1542659607e0Smrg		;;
1543a73597f9Smrg	c4x-* | tic4x-*)
1544a73597f9Smrg		os=-coff
1545a73597f9Smrg		;;
1546a73597f9Smrg	hexagon-*)
1547a73597f9Smrg		os=-elf
1548fc27e79cSmrg		;;
1549bd3a1963Smrg	tic54x-*)
1550bd3a1963Smrg		os=-coff
1551bd3a1963Smrg		;;
1552bd3a1963Smrg	tic55x-*)
1553bd3a1963Smrg		os=-coff
1554bd3a1963Smrg		;;
1555bd3a1963Smrg	tic6x-*)
1556bd3a1963Smrg		os=-coff
1557bd3a1963Smrg		;;
1558659607e0Smrg	# This must come before the *-dec entry.
1559659607e0Smrg	pdp10-*)
1560659607e0Smrg		os=-tops20
1561659607e0Smrg		;;
1562659607e0Smrg	pdp11-*)
1563659607e0Smrg		os=-none
1564659607e0Smrg		;;
1565659607e0Smrg	*-dec | vax-*)
1566659607e0Smrg		os=-ultrix4.2
1567659607e0Smrg		;;
1568659607e0Smrg	m68*-apollo)
1569659607e0Smrg		os=-domain
1570659607e0Smrg		;;
1571659607e0Smrg	i386-sun)
1572659607e0Smrg		os=-sunos4.0.2
1573659607e0Smrg		;;
1574659607e0Smrg	m68000-sun)
1575659607e0Smrg		os=-sunos3
1576659607e0Smrg		;;
1577659607e0Smrg	m68*-cisco)
1578659607e0Smrg		os=-aout
1579659607e0Smrg		;;
1580a73597f9Smrg	mep-*)
1581fc27e79cSmrg		os=-elf
1582fc27e79cSmrg		;;
1583659607e0Smrg	mips*-cisco)
1584659607e0Smrg		os=-elf
1585659607e0Smrg		;;
1586659607e0Smrg	mips*-*)
1587659607e0Smrg		os=-elf
1588659607e0Smrg		;;
1589659607e0Smrg	or32-*)
1590659607e0Smrg		os=-coff
1591659607e0Smrg		;;
1592659607e0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1593659607e0Smrg		os=-sysv3
1594659607e0Smrg		;;
1595659607e0Smrg	sparc-* | *-sun)
1596659607e0Smrg		os=-sunos4.1.1
1597659607e0Smrg		;;
1598659607e0Smrg	*-be)
1599659607e0Smrg		os=-beos
1600659607e0Smrg		;;
1601659607e0Smrg	*-haiku)
1602659607e0Smrg		os=-haiku
1603659607e0Smrg		;;
1604659607e0Smrg	*-ibm)
1605659607e0Smrg		os=-aix
1606659607e0Smrg		;;
1607a73597f9Smrg	*-knuth)
1608659607e0Smrg		os=-mmixware
1609659607e0Smrg		;;
1610659607e0Smrg	*-wec)
1611659607e0Smrg		os=-proelf
1612659607e0Smrg		;;
1613659607e0Smrg	*-winbond)
1614659607e0Smrg		os=-proelf
1615659607e0Smrg		;;
1616659607e0Smrg	*-oki)
1617659607e0Smrg		os=-proelf
1618659607e0Smrg		;;
1619659607e0Smrg	*-hp)
1620659607e0Smrg		os=-hpux
1621659607e0Smrg		;;
1622659607e0Smrg	*-hitachi)
1623659607e0Smrg		os=-hiux
1624659607e0Smrg		;;
1625659607e0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1626659607e0Smrg		os=-sysv
1627659607e0Smrg		;;
1628659607e0Smrg	*-cbm)
1629659607e0Smrg		os=-amigaos
1630659607e0Smrg		;;
1631659607e0Smrg	*-dg)
1632659607e0Smrg		os=-dgux
1633659607e0Smrg		;;
1634659607e0Smrg	*-dolphin)
1635659607e0Smrg		os=-sysv3
1636659607e0Smrg		;;
1637659607e0Smrg	m68k-ccur)
1638659607e0Smrg		os=-rtu
1639659607e0Smrg		;;
1640659607e0Smrg	m88k-omron*)
1641659607e0Smrg		os=-luna
1642659607e0Smrg		;;
1643659607e0Smrg	*-next )
1644659607e0Smrg		os=-nextstep
1645659607e0Smrg		;;
1646659607e0Smrg	*-sequent)
1647659607e0Smrg		os=-ptx
1648659607e0Smrg		;;
1649659607e0Smrg	*-crds)
1650659607e0Smrg		os=-unos
1651659607e0Smrg		;;
1652659607e0Smrg	*-ns)
1653659607e0Smrg		os=-genix
1654659607e0Smrg		;;
1655659607e0Smrg	i370-*)
1656659607e0Smrg		os=-mvs
1657659607e0Smrg		;;
1658659607e0Smrg	*-next)
1659659607e0Smrg		os=-nextstep3
1660659607e0Smrg		;;
1661659607e0Smrg	*-gould)
1662659607e0Smrg		os=-sysv
1663659607e0Smrg		;;
1664659607e0Smrg	*-highlevel)
1665659607e0Smrg		os=-bsd
1666659607e0Smrg		;;
1667659607e0Smrg	*-encore)
1668659607e0Smrg		os=-bsd
1669659607e0Smrg		;;
1670659607e0Smrg	*-sgi)
1671659607e0Smrg		os=-irix
1672659607e0Smrg		;;
1673659607e0Smrg	*-siemens)
1674659607e0Smrg		os=-sysv4
1675659607e0Smrg		;;
1676659607e0Smrg	*-masscomp)
1677659607e0Smrg		os=-rtu
1678659607e0Smrg		;;
1679659607e0Smrg	f30[01]-fujitsu | f700-fujitsu)
1680659607e0Smrg		os=-uxpv
1681659607e0Smrg		;;
1682659607e0Smrg	*-rom68k)
1683659607e0Smrg		os=-coff
1684659607e0Smrg		;;
1685659607e0Smrg	*-*bug)
1686659607e0Smrg		os=-coff
1687659607e0Smrg		;;
1688659607e0Smrg	*-apple)
1689659607e0Smrg		os=-macos
1690659607e0Smrg		;;
1691659607e0Smrg	*-atari*)
1692659607e0Smrg		os=-mint
1693659607e0Smrg		;;
1694659607e0Smrg	*)
1695659607e0Smrg		os=-none
1696659607e0Smrg		;;
1697659607e0Smrgesac
1698659607e0Smrgfi
1699659607e0Smrg
1700659607e0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1701659607e0Smrg# manufacturer.  We pick the logical manufacturer.
1702659607e0Smrgvendor=unknown
1703659607e0Smrgcase $basic_machine in
1704659607e0Smrg	*-unknown)
1705659607e0Smrg		case $os in
1706659607e0Smrg			-riscix*)
1707659607e0Smrg				vendor=acorn
1708659607e0Smrg				;;
1709659607e0Smrg			-sunos*)
1710659607e0Smrg				vendor=sun
1711659607e0Smrg				;;
1712b73be646Smrg			-cnk*|-aix*)
1713659607e0Smrg				vendor=ibm
1714659607e0Smrg				;;
1715659607e0Smrg			-beos*)
1716659607e0Smrg				vendor=be
1717659607e0Smrg				;;
1718659607e0Smrg			-hpux*)
1719659607e0Smrg				vendor=hp
1720659607e0Smrg				;;
1721659607e0Smrg			-mpeix*)
1722659607e0Smrg				vendor=hp
1723659607e0Smrg				;;
1724659607e0Smrg			-hiux*)
1725659607e0Smrg				vendor=hitachi
1726659607e0Smrg				;;
1727659607e0Smrg			-unos*)
1728659607e0Smrg				vendor=crds
1729659607e0Smrg				;;
1730659607e0Smrg			-dgux*)
1731659607e0Smrg				vendor=dg
1732659607e0Smrg				;;
1733659607e0Smrg			-luna*)
1734659607e0Smrg				vendor=omron
1735659607e0Smrg				;;
1736659607e0Smrg			-genix*)
1737659607e0Smrg				vendor=ns
1738659607e0Smrg				;;
1739659607e0Smrg			-mvs* | -opened*)
1740659607e0Smrg				vendor=ibm
1741659607e0Smrg				;;
1742659607e0Smrg			-os400*)
1743659607e0Smrg				vendor=ibm
1744659607e0Smrg				;;
1745659607e0Smrg			-ptx*)
1746659607e0Smrg				vendor=sequent
1747659607e0Smrg				;;
1748659607e0Smrg			-tpf*)
1749659607e0Smrg				vendor=ibm
1750659607e0Smrg				;;
1751659607e0Smrg			-vxsim* | -vxworks* | -windiss*)
1752659607e0Smrg				vendor=wrs
1753659607e0Smrg				;;
1754659607e0Smrg			-aux*)
1755659607e0Smrg				vendor=apple
1756659607e0Smrg				;;
1757659607e0Smrg			-hms*)
1758659607e0Smrg				vendor=hitachi
1759659607e0Smrg				;;
1760659607e0Smrg			-mpw* | -macos*)
1761659607e0Smrg				vendor=apple
1762659607e0Smrg				;;
1763659607e0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1764659607e0Smrg				vendor=atari
1765659607e0Smrg				;;
1766659607e0Smrg			-vos*)
1767659607e0Smrg				vendor=stratus
1768659607e0Smrg				;;
1769659607e0Smrg		esac
1770659607e0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1771659607e0Smrg		;;
1772659607e0Smrgesac
1773659607e0Smrg
1774659607e0Smrgecho $basic_machine$os
1775659607e0Smrgexit
1776659607e0Smrg
1777659607e0Smrg# Local variables:
1778659607e0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1779659607e0Smrg# time-stamp-start: "timestamp='"
1780659607e0Smrg# time-stamp-format: "%:y-%02m-%02d"
1781659607e0Smrg# time-stamp-end: "'"
1782659607e0Smrg# End:
1783