config.sub revision e96acad6
1dbbd9e4bSmacallan#! /bin/sh
2dbbd9e4bSmacallan# Configuration validation subroutine script.
3dbbd9e4bSmacallan#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4e96acad6Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5e96acad6Smrg#   2011, 2012 Free Software Foundation, Inc.
6dbbd9e4bSmacallan
7e96acad6Smrgtimestamp='2012-08-18'
8dbbd9e4bSmacallan
9dbbd9e4bSmacallan# This file is (in principle) common to ALL GNU software.
10dbbd9e4bSmacallan# The presence of a machine in this file suggests that SOME GNU software
11dbbd9e4bSmacallan# can handle that machine.  It does not imply ALL GNU software can.
12dbbd9e4bSmacallan#
13dbbd9e4bSmacallan# This file is free software; you can redistribute it and/or modify
14dbbd9e4bSmacallan# it under the terms of the GNU General Public License as published by
15dbbd9e4bSmacallan# the Free Software Foundation; either version 2 of the License, or
16dbbd9e4bSmacallan# (at your option) any later version.
17dbbd9e4bSmacallan#
18dbbd9e4bSmacallan# This program is distributed in the hope that it will be useful,
19dbbd9e4bSmacallan# but WITHOUT ANY WARRANTY; without even the implied warranty of
20dbbd9e4bSmacallan# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21dbbd9e4bSmacallan# GNU General Public License for more details.
22dbbd9e4bSmacallan#
23dbbd9e4bSmacallan# You should have received a copy of the GNU General Public License
24e96acad6Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
25dbbd9e4bSmacallan#
26dbbd9e4bSmacallan# As a special exception to the GNU General Public License, if you
27dbbd9e4bSmacallan# distribute this file as part of a program that contains a
28dbbd9e4bSmacallan# configuration script generated by Autoconf, you may include it under
29dbbd9e4bSmacallan# the same distribution terms that you use for the rest of that program.
30dbbd9e4bSmacallan
31dbbd9e4bSmacallan
32dbbd9e4bSmacallan# Please send patches to <config-patches@gnu.org>.  Submit a context
33e96acad6Smrg# diff and a properly formatted GNU ChangeLog entry.
34dbbd9e4bSmacallan#
35dbbd9e4bSmacallan# Configuration subroutine to validate and canonicalize a configuration type.
36dbbd9e4bSmacallan# Supply the specified configuration type as an argument.
37dbbd9e4bSmacallan# If it is invalid, we print an error message on stderr and exit with code 1.
38dbbd9e4bSmacallan# Otherwise, we print the canonical config type on stdout and succeed.
39dbbd9e4bSmacallan
40e96acad6Smrg# You can get the latest version of this script from:
41e96acad6Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42e96acad6Smrg
43dbbd9e4bSmacallan# This file is supposed to be the same for all GNU packages
44dbbd9e4bSmacallan# and recognize all the CPU types, system types and aliases
45dbbd9e4bSmacallan# that are meaningful with *any* GNU software.
46dbbd9e4bSmacallan# Each package is responsible for reporting which valid configurations
47dbbd9e4bSmacallan# it does not support.  The user should be able to distinguish
48dbbd9e4bSmacallan# a failure to support a valid configuration from a meaningless
49dbbd9e4bSmacallan# configuration.
50dbbd9e4bSmacallan
51dbbd9e4bSmacallan# The goal of this file is to map all the various variations of a given
52dbbd9e4bSmacallan# machine specification into a single specification in the form:
53dbbd9e4bSmacallan#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
54dbbd9e4bSmacallan# or in some cases, the newer four-part form:
55dbbd9e4bSmacallan#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
56dbbd9e4bSmacallan# It is wrong to echo any other type of specification.
57dbbd9e4bSmacallan
58dbbd9e4bSmacallanme=`echo "$0" | sed -e 's,.*/,,'`
59dbbd9e4bSmacallan
60dbbd9e4bSmacallanusage="\
61dbbd9e4bSmacallanUsage: $0 [OPTION] CPU-MFR-OPSYS
62dbbd9e4bSmacallan       $0 [OPTION] ALIAS
63dbbd9e4bSmacallan
64dbbd9e4bSmacallanCanonicalize a configuration name.
65dbbd9e4bSmacallan
66dbbd9e4bSmacallanOperation modes:
67dbbd9e4bSmacallan  -h, --help         print this help, then exit
68dbbd9e4bSmacallan  -t, --time-stamp   print date of last modification, then exit
69dbbd9e4bSmacallan  -v, --version      print version number, then exit
70dbbd9e4bSmacallan
71dbbd9e4bSmacallanReport bugs and patches to <config-patches@gnu.org>."
72dbbd9e4bSmacallan
73dbbd9e4bSmacallanversion="\
74dbbd9e4bSmacallanGNU config.sub ($timestamp)
75dbbd9e4bSmacallan
76e96acad6SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77e96acad6Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78e96acad6SmrgFree Software Foundation, Inc.
79dbbd9e4bSmacallan
80dbbd9e4bSmacallanThis is free software; see the source for copying conditions.  There is NO
81dbbd9e4bSmacallanwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
82dbbd9e4bSmacallan
83dbbd9e4bSmacallanhelp="
84dbbd9e4bSmacallanTry \`$me --help' for more information."
85dbbd9e4bSmacallan
86dbbd9e4bSmacallan# Parse command line
87dbbd9e4bSmacallanwhile test $# -gt 0 ; do
88dbbd9e4bSmacallan  case $1 in
89dbbd9e4bSmacallan    --time-stamp | --time* | -t )
90dbbd9e4bSmacallan       echo "$timestamp" ; exit ;;
91dbbd9e4bSmacallan    --version | -v )
92dbbd9e4bSmacallan       echo "$version" ; exit ;;
93dbbd9e4bSmacallan    --help | --h* | -h )
94dbbd9e4bSmacallan       echo "$usage"; exit ;;
95dbbd9e4bSmacallan    -- )     # Stop option processing
96dbbd9e4bSmacallan       shift; break ;;
97dbbd9e4bSmacallan    - )	# Use stdin as input.
98dbbd9e4bSmacallan       break ;;
99dbbd9e4bSmacallan    -* )
100dbbd9e4bSmacallan       echo "$me: invalid option $1$help"
101dbbd9e4bSmacallan       exit 1 ;;
102dbbd9e4bSmacallan
103dbbd9e4bSmacallan    *local*)
104dbbd9e4bSmacallan       # First pass through any local machine types.
105dbbd9e4bSmacallan       echo $1
106dbbd9e4bSmacallan       exit ;;
107dbbd9e4bSmacallan
108dbbd9e4bSmacallan    * )
109dbbd9e4bSmacallan       break ;;
110dbbd9e4bSmacallan  esac
111dbbd9e4bSmacallandone
112dbbd9e4bSmacallan
113dbbd9e4bSmacallancase $# in
114dbbd9e4bSmacallan 0) echo "$me: missing argument$help" >&2
115dbbd9e4bSmacallan    exit 1;;
116dbbd9e4bSmacallan 1) ;;
117dbbd9e4bSmacallan *) echo "$me: too many arguments$help" >&2
118dbbd9e4bSmacallan    exit 1;;
119dbbd9e4bSmacallanesac
120dbbd9e4bSmacallan
121dbbd9e4bSmacallan# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
122dbbd9e4bSmacallan# Here we must recognize all the valid KERNEL-OS combinations.
123dbbd9e4bSmacallanmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
124dbbd9e4bSmacallancase $maybe_os in
125e96acad6Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126e96acad6Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127e96acad6Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
128e96acad6Smrg  kopensolaris*-gnu* | \
129dbbd9e4bSmacallan  storm-chaos* | os2-emx* | rtmk-nova*)
130dbbd9e4bSmacallan    os=-$maybe_os
131dbbd9e4bSmacallan    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132dbbd9e4bSmacallan    ;;
133e96acad6Smrg  android-linux)
134e96acad6Smrg    os=-linux-android
135e96acad6Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136e96acad6Smrg    ;;
137dbbd9e4bSmacallan  *)
138dbbd9e4bSmacallan    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
139dbbd9e4bSmacallan    if [ $basic_machine != $1 ]
140dbbd9e4bSmacallan    then os=`echo $1 | sed 's/.*-/-/'`
141dbbd9e4bSmacallan    else os=; fi
142dbbd9e4bSmacallan    ;;
143dbbd9e4bSmacallanesac
144dbbd9e4bSmacallan
145dbbd9e4bSmacallan### Let's recognize common machines as not being operating systems so
146dbbd9e4bSmacallan### that things like config.sub decstation-3100 work.  We also
147dbbd9e4bSmacallan### recognize some manufacturers as not being operating systems, so we
148dbbd9e4bSmacallan### can provide default operating systems below.
149dbbd9e4bSmacallancase $os in
150dbbd9e4bSmacallan	-sun*os*)
151dbbd9e4bSmacallan		# Prevent following clause from handling this invalid input.
152dbbd9e4bSmacallan		;;
153dbbd9e4bSmacallan	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
154dbbd9e4bSmacallan	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
155dbbd9e4bSmacallan	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
156dbbd9e4bSmacallan	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
157dbbd9e4bSmacallan	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
158dbbd9e4bSmacallan	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159e96acad6Smrg	-apple | -axis | -knuth | -cray | -microblaze)
160dbbd9e4bSmacallan		os=
161dbbd9e4bSmacallan		basic_machine=$1
162dbbd9e4bSmacallan		;;
163e96acad6Smrg	-bluegene*)
164e96acad6Smrg		os=-cnk
165e96acad6Smrg		;;
166dbbd9e4bSmacallan	-sim | -cisco | -oki | -wec | -winbond)
167dbbd9e4bSmacallan		os=
168dbbd9e4bSmacallan		basic_machine=$1
169dbbd9e4bSmacallan		;;
170dbbd9e4bSmacallan	-scout)
171dbbd9e4bSmacallan		;;
172dbbd9e4bSmacallan	-wrs)
173dbbd9e4bSmacallan		os=-vxworks
174dbbd9e4bSmacallan		basic_machine=$1
175dbbd9e4bSmacallan		;;
176dbbd9e4bSmacallan	-chorusos*)
177dbbd9e4bSmacallan		os=-chorusos
178dbbd9e4bSmacallan		basic_machine=$1
179dbbd9e4bSmacallan		;;
180e96acad6Smrg	-chorusrdb)
181e96acad6Smrg		os=-chorusrdb
182dbbd9e4bSmacallan		basic_machine=$1
183e96acad6Smrg		;;
184dbbd9e4bSmacallan	-hiux*)
185dbbd9e4bSmacallan		os=-hiuxwe2
186dbbd9e4bSmacallan		;;
187dbbd9e4bSmacallan	-sco6)
188dbbd9e4bSmacallan		os=-sco5v6
189dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190dbbd9e4bSmacallan		;;
191dbbd9e4bSmacallan	-sco5)
192dbbd9e4bSmacallan		os=-sco3.2v5
193dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194dbbd9e4bSmacallan		;;
195dbbd9e4bSmacallan	-sco4)
196dbbd9e4bSmacallan		os=-sco3.2v4
197dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198dbbd9e4bSmacallan		;;
199dbbd9e4bSmacallan	-sco3.2.[4-9]*)
200dbbd9e4bSmacallan		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
201dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202dbbd9e4bSmacallan		;;
203dbbd9e4bSmacallan	-sco3.2v[4-9]*)
204dbbd9e4bSmacallan		# Don't forget version if it is 3.2v4 or newer.
205dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206dbbd9e4bSmacallan		;;
207dbbd9e4bSmacallan	-sco5v6*)
208dbbd9e4bSmacallan		# Don't forget version if it is 3.2v4 or newer.
209dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210dbbd9e4bSmacallan		;;
211dbbd9e4bSmacallan	-sco*)
212dbbd9e4bSmacallan		os=-sco3.2v2
213dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214dbbd9e4bSmacallan		;;
215dbbd9e4bSmacallan	-udk*)
216dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217dbbd9e4bSmacallan		;;
218dbbd9e4bSmacallan	-isc)
219dbbd9e4bSmacallan		os=-isc2.2
220dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
221dbbd9e4bSmacallan		;;
222dbbd9e4bSmacallan	-clix*)
223dbbd9e4bSmacallan		basic_machine=clipper-intergraph
224dbbd9e4bSmacallan		;;
225dbbd9e4bSmacallan	-isc*)
226dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
227dbbd9e4bSmacallan		;;
228e96acad6Smrg	-lynx*178)
229e96acad6Smrg		os=-lynxos178
230e96acad6Smrg		;;
231e96acad6Smrg	-lynx*5)
232e96acad6Smrg		os=-lynxos5
233e96acad6Smrg		;;
234dbbd9e4bSmacallan	-lynx*)
235dbbd9e4bSmacallan		os=-lynxos
236dbbd9e4bSmacallan		;;
237dbbd9e4bSmacallan	-ptx*)
238dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
239dbbd9e4bSmacallan		;;
240dbbd9e4bSmacallan	-windowsnt*)
241dbbd9e4bSmacallan		os=`echo $os | sed -e 's/windowsnt/winnt/'`
242dbbd9e4bSmacallan		;;
243dbbd9e4bSmacallan	-psos*)
244dbbd9e4bSmacallan		os=-psos
245dbbd9e4bSmacallan		;;
246dbbd9e4bSmacallan	-mint | -mint[0-9]*)
247dbbd9e4bSmacallan		basic_machine=m68k-atari
248dbbd9e4bSmacallan		os=-mint
249dbbd9e4bSmacallan		;;
250dbbd9e4bSmacallanesac
251dbbd9e4bSmacallan
252dbbd9e4bSmacallan# Decode aliases for certain CPU-COMPANY combinations.
253dbbd9e4bSmacallancase $basic_machine in
254dbbd9e4bSmacallan	# Recognize the basic CPU types without company name.
255dbbd9e4bSmacallan	# Some are omitted here because they have special meanings below.
256dbbd9e4bSmacallan	1750a | 580 \
257dbbd9e4bSmacallan	| a29k \
258e96acad6Smrg	| aarch64 | aarch64_be \
259dbbd9e4bSmacallan	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260dbbd9e4bSmacallan	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
261dbbd9e4bSmacallan	| am33_2.0 \
262dbbd9e4bSmacallan	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263e96acad6Smrg        | be32 | be64 \
264dbbd9e4bSmacallan	| bfin \
265dbbd9e4bSmacallan	| c4x | clipper \
266e96acad6Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
267e96acad6Smrg	| epiphany \
268dbbd9e4bSmacallan	| fido | fr30 | frv \
269dbbd9e4bSmacallan	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270e96acad6Smrg	| hexagon \
271dbbd9e4bSmacallan	| i370 | i860 | i960 | ia64 \
272dbbd9e4bSmacallan	| ip2k | iq2000 \
273e96acad6Smrg	| le32 | le64 \
274e96acad6Smrg	| lm32 \
275dbbd9e4bSmacallan	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276e96acad6Smrg	| maxq | mb | microblaze | mcore | mep | metag \
277dbbd9e4bSmacallan	| mips | mipsbe | mipseb | mipsel | mipsle \
278dbbd9e4bSmacallan	| mips16 \
279dbbd9e4bSmacallan	| mips64 | mips64el \
280e96acad6Smrg	| mips64octeon | mips64octeonel \
281dbbd9e4bSmacallan	| mips64orion | mips64orionel \
282e96acad6Smrg	| mips64r5900 | mips64r5900el \
283e96acad6Smrg	| mips64vr | mips64vrel \
284dbbd9e4bSmacallan	| mips64vr4100 | mips64vr4100el \
285dbbd9e4bSmacallan	| mips64vr4300 | mips64vr4300el \
286dbbd9e4bSmacallan	| mips64vr5000 | mips64vr5000el \
287dbbd9e4bSmacallan	| mips64vr5900 | mips64vr5900el \
288dbbd9e4bSmacallan	| mipsisa32 | mipsisa32el \
289dbbd9e4bSmacallan	| mipsisa32r2 | mipsisa32r2el \
290dbbd9e4bSmacallan	| mipsisa64 | mipsisa64el \
291dbbd9e4bSmacallan	| mipsisa64r2 | mipsisa64r2el \
292dbbd9e4bSmacallan	| mipsisa64sb1 | mipsisa64sb1el \
293dbbd9e4bSmacallan	| mipsisa64sr71k | mipsisa64sr71kel \
294dbbd9e4bSmacallan	| mipstx39 | mipstx39el \
295dbbd9e4bSmacallan	| mn10200 | mn10300 \
296e96acad6Smrg	| moxie \
297dbbd9e4bSmacallan	| mt \
298dbbd9e4bSmacallan	| msp430 \
299e96acad6Smrg	| nds32 | nds32le | nds32be \
300dbbd9e4bSmacallan	| nios | nios2 \
301dbbd9e4bSmacallan	| ns16k | ns32k \
302e96acad6Smrg	| open8 \
303dbbd9e4bSmacallan	| or32 \
304dbbd9e4bSmacallan	| pdp10 | pdp11 | pj | pjl \
305e96acad6Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
306dbbd9e4bSmacallan	| pyramid \
307e96acad6Smrg	| rl78 | rx \
308dbbd9e4bSmacallan	| score \
309e96acad6Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310dbbd9e4bSmacallan	| sh64 | sh64le \
311dbbd9e4bSmacallan	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312dbbd9e4bSmacallan	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313e96acad6Smrg	| spu \
314e96acad6Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315e96acad6Smrg	| ubicom32 \
316e96acad6Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317dbbd9e4bSmacallan	| we32k \
318e96acad6Smrg	| x86 | xc16x | xstormy16 | xtensa \
319e96acad6Smrg	| z8k | z80)
320dbbd9e4bSmacallan		basic_machine=$basic_machine-unknown
321dbbd9e4bSmacallan		;;
322e96acad6Smrg	c54x)
323e96acad6Smrg		basic_machine=tic54x-unknown
324e96acad6Smrg		;;
325e96acad6Smrg	c55x)
326e96acad6Smrg		basic_machine=tic55x-unknown
327e96acad6Smrg		;;
328e96acad6Smrg	c6x)
329e96acad6Smrg		basic_machine=tic6x-unknown
330e96acad6Smrg		;;
331e96acad6Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
332dbbd9e4bSmacallan		basic_machine=$basic_machine-unknown
333dbbd9e4bSmacallan		os=-none
334dbbd9e4bSmacallan		;;
335dbbd9e4bSmacallan	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
336dbbd9e4bSmacallan		;;
337dbbd9e4bSmacallan	ms1)
338dbbd9e4bSmacallan		basic_machine=mt-unknown
339dbbd9e4bSmacallan		;;
340dbbd9e4bSmacallan
341e96acad6Smrg	strongarm | thumb | xscale)
342e96acad6Smrg		basic_machine=arm-unknown
343e96acad6Smrg		;;
344e96acad6Smrg	xgate)
345e96acad6Smrg		basic_machine=$basic_machine-unknown
346e96acad6Smrg		os=-none
347e96acad6Smrg		;;
348e96acad6Smrg	xscaleeb)
349e96acad6Smrg		basic_machine=armeb-unknown
350e96acad6Smrg		;;
351e96acad6Smrg
352e96acad6Smrg	xscaleel)
353e96acad6Smrg		basic_machine=armel-unknown
354e96acad6Smrg		;;
355e96acad6Smrg
356dbbd9e4bSmacallan	# We use `pc' rather than `unknown'
357dbbd9e4bSmacallan	# because (1) that's what they normally are, and
358dbbd9e4bSmacallan	# (2) the word "unknown" tends to confuse beginning users.
359dbbd9e4bSmacallan	i*86 | x86_64)
360dbbd9e4bSmacallan	  basic_machine=$basic_machine-pc
361dbbd9e4bSmacallan	  ;;
362dbbd9e4bSmacallan	# Object if more than one company name word.
363dbbd9e4bSmacallan	*-*-*)
364dbbd9e4bSmacallan		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
365dbbd9e4bSmacallan		exit 1
366dbbd9e4bSmacallan		;;
367dbbd9e4bSmacallan	# Recognize the basic CPU types with company name.
368dbbd9e4bSmacallan	580-* \
369dbbd9e4bSmacallan	| a29k-* \
370e96acad6Smrg	| aarch64-* | aarch64_be-* \
371dbbd9e4bSmacallan	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372dbbd9e4bSmacallan	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373dbbd9e4bSmacallan	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374dbbd9e4bSmacallan	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
375dbbd9e4bSmacallan	| avr-* | avr32-* \
376e96acad6Smrg	| be32-* | be64-* \
377dbbd9e4bSmacallan	| bfin-* | bs2000-* \
378e96acad6Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
379dbbd9e4bSmacallan	| clipper-* | craynv-* | cydra-* \
380dbbd9e4bSmacallan	| d10v-* | d30v-* | dlx-* \
381dbbd9e4bSmacallan	| elxsi-* \
382dbbd9e4bSmacallan	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383dbbd9e4bSmacallan	| h8300-* | h8500-* \
384dbbd9e4bSmacallan	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385e96acad6Smrg	| hexagon-* \
386dbbd9e4bSmacallan	| i*86-* | i860-* | i960-* | ia64-* \
387dbbd9e4bSmacallan	| ip2k-* | iq2000-* \
388e96acad6Smrg	| le32-* | le64-* \
389e96acad6Smrg	| lm32-* \
390dbbd9e4bSmacallan	| m32c-* | m32r-* | m32rle-* \
391dbbd9e4bSmacallan	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392e96acad6Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
393dbbd9e4bSmacallan	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394dbbd9e4bSmacallan	| mips16-* \
395dbbd9e4bSmacallan	| mips64-* | mips64el-* \
396e96acad6Smrg	| mips64octeon-* | mips64octeonel-* \
397dbbd9e4bSmacallan	| mips64orion-* | mips64orionel-* \
398e96acad6Smrg	| mips64r5900-* | mips64r5900el-* \
399e96acad6Smrg	| mips64vr-* | mips64vrel-* \
400dbbd9e4bSmacallan	| mips64vr4100-* | mips64vr4100el-* \
401dbbd9e4bSmacallan	| mips64vr4300-* | mips64vr4300el-* \
402dbbd9e4bSmacallan	| mips64vr5000-* | mips64vr5000el-* \
403dbbd9e4bSmacallan	| mips64vr5900-* | mips64vr5900el-* \
404dbbd9e4bSmacallan	| mipsisa32-* | mipsisa32el-* \
405dbbd9e4bSmacallan	| mipsisa32r2-* | mipsisa32r2el-* \
406dbbd9e4bSmacallan	| mipsisa64-* | mipsisa64el-* \
407dbbd9e4bSmacallan	| mipsisa64r2-* | mipsisa64r2el-* \
408dbbd9e4bSmacallan	| mipsisa64sb1-* | mipsisa64sb1el-* \
409dbbd9e4bSmacallan	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410dbbd9e4bSmacallan	| mipstx39-* | mipstx39el-* \
411dbbd9e4bSmacallan	| mmix-* \
412dbbd9e4bSmacallan	| mt-* \
413dbbd9e4bSmacallan	| msp430-* \
414e96acad6Smrg	| nds32-* | nds32le-* | nds32be-* \
415dbbd9e4bSmacallan	| nios-* | nios2-* \
416dbbd9e4bSmacallan	| none-* | np1-* | ns16k-* | ns32k-* \
417e96acad6Smrg	| open8-* \
418dbbd9e4bSmacallan	| orion-* \
419dbbd9e4bSmacallan	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420e96acad6Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421dbbd9e4bSmacallan	| pyramid-* \
422e96acad6Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
423e96acad6Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424dbbd9e4bSmacallan	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425dbbd9e4bSmacallan	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426dbbd9e4bSmacallan	| sparclite-* \
427e96acad6Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428e96acad6Smrg	| tahoe-* \
429dbbd9e4bSmacallan	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430e96acad6Smrg	| tile*-* \
431dbbd9e4bSmacallan	| tron-* \
432e96acad6Smrg	| ubicom32-* \
433e96acad6Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434e96acad6Smrg	| vax-* \
435dbbd9e4bSmacallan	| we32k-* \
436e96acad6Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
437dbbd9e4bSmacallan	| xstormy16-* | xtensa*-* \
438dbbd9e4bSmacallan	| ymp-* \
439e96acad6Smrg	| z8k-* | z80-*)
440dbbd9e4bSmacallan		;;
441dbbd9e4bSmacallan	# Recognize the basic CPU types without company name, with glob match.
442dbbd9e4bSmacallan	xtensa*)
443dbbd9e4bSmacallan		basic_machine=$basic_machine-unknown
444dbbd9e4bSmacallan		;;
445dbbd9e4bSmacallan	# Recognize the various machine names and aliases which stand
446dbbd9e4bSmacallan	# for a CPU type and a company and sometimes even an OS.
447dbbd9e4bSmacallan	386bsd)
448dbbd9e4bSmacallan		basic_machine=i386-unknown
449dbbd9e4bSmacallan		os=-bsd
450dbbd9e4bSmacallan		;;
451dbbd9e4bSmacallan	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452dbbd9e4bSmacallan		basic_machine=m68000-att
453dbbd9e4bSmacallan		;;
454dbbd9e4bSmacallan	3b*)
455dbbd9e4bSmacallan		basic_machine=we32k-att
456dbbd9e4bSmacallan		;;
457dbbd9e4bSmacallan	a29khif)
458dbbd9e4bSmacallan		basic_machine=a29k-amd
459dbbd9e4bSmacallan		os=-udi
460dbbd9e4bSmacallan		;;
461e96acad6Smrg	abacus)
462dbbd9e4bSmacallan		basic_machine=abacus-unknown
463dbbd9e4bSmacallan		;;
464dbbd9e4bSmacallan	adobe68k)
465dbbd9e4bSmacallan		basic_machine=m68010-adobe
466dbbd9e4bSmacallan		os=-scout
467dbbd9e4bSmacallan		;;
468dbbd9e4bSmacallan	alliant | fx80)
469dbbd9e4bSmacallan		basic_machine=fx80-alliant
470dbbd9e4bSmacallan		;;
471dbbd9e4bSmacallan	altos | altos3068)
472dbbd9e4bSmacallan		basic_machine=m68k-altos
473dbbd9e4bSmacallan		;;
474dbbd9e4bSmacallan	am29k)
475dbbd9e4bSmacallan		basic_machine=a29k-none
476dbbd9e4bSmacallan		os=-bsd
477dbbd9e4bSmacallan		;;
478dbbd9e4bSmacallan	amd64)
479dbbd9e4bSmacallan		basic_machine=x86_64-pc
480dbbd9e4bSmacallan		;;
481dbbd9e4bSmacallan	amd64-*)
482dbbd9e4bSmacallan		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483dbbd9e4bSmacallan		;;
484dbbd9e4bSmacallan	amdahl)
485dbbd9e4bSmacallan		basic_machine=580-amdahl
486dbbd9e4bSmacallan		os=-sysv
487dbbd9e4bSmacallan		;;
488dbbd9e4bSmacallan	amiga | amiga-*)
489dbbd9e4bSmacallan		basic_machine=m68k-unknown
490dbbd9e4bSmacallan		;;
491dbbd9e4bSmacallan	amigaos | amigados)
492dbbd9e4bSmacallan		basic_machine=m68k-unknown
493dbbd9e4bSmacallan		os=-amigaos
494dbbd9e4bSmacallan		;;
495dbbd9e4bSmacallan	amigaunix | amix)
496dbbd9e4bSmacallan		basic_machine=m68k-unknown
497dbbd9e4bSmacallan		os=-sysv4
498dbbd9e4bSmacallan		;;
499dbbd9e4bSmacallan	apollo68)
500dbbd9e4bSmacallan		basic_machine=m68k-apollo
501dbbd9e4bSmacallan		os=-sysv
502dbbd9e4bSmacallan		;;
503dbbd9e4bSmacallan	apollo68bsd)
504dbbd9e4bSmacallan		basic_machine=m68k-apollo
505dbbd9e4bSmacallan		os=-bsd
506dbbd9e4bSmacallan		;;
507e96acad6Smrg	aros)
508e96acad6Smrg		basic_machine=i386-pc
509e96acad6Smrg		os=-aros
510e96acad6Smrg		;;
511dbbd9e4bSmacallan	aux)
512dbbd9e4bSmacallan		basic_machine=m68k-apple
513dbbd9e4bSmacallan		os=-aux
514dbbd9e4bSmacallan		;;
515dbbd9e4bSmacallan	balance)
516dbbd9e4bSmacallan		basic_machine=ns32k-sequent
517dbbd9e4bSmacallan		os=-dynix
518dbbd9e4bSmacallan		;;
519dbbd9e4bSmacallan	blackfin)
520dbbd9e4bSmacallan		basic_machine=bfin-unknown
521dbbd9e4bSmacallan		os=-linux
522dbbd9e4bSmacallan		;;
523dbbd9e4bSmacallan	blackfin-*)
524dbbd9e4bSmacallan		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525dbbd9e4bSmacallan		os=-linux
526dbbd9e4bSmacallan		;;
527e96acad6Smrg	bluegene*)
528e96acad6Smrg		basic_machine=powerpc-ibm
529e96acad6Smrg		os=-cnk
530e96acad6Smrg		;;
531e96acad6Smrg	c54x-*)
532e96acad6Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533e96acad6Smrg		;;
534e96acad6Smrg	c55x-*)
535e96acad6Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536e96acad6Smrg		;;
537e96acad6Smrg	c6x-*)
538e96acad6Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539e96acad6Smrg		;;
540dbbd9e4bSmacallan	c90)
541dbbd9e4bSmacallan		basic_machine=c90-cray
542dbbd9e4bSmacallan		os=-unicos
543dbbd9e4bSmacallan		;;
544e96acad6Smrg	cegcc)
545e96acad6Smrg		basic_machine=arm-unknown
546e96acad6Smrg		os=-cegcc
547e96acad6Smrg		;;
548dbbd9e4bSmacallan	convex-c1)
549dbbd9e4bSmacallan		basic_machine=c1-convex
550dbbd9e4bSmacallan		os=-bsd
551dbbd9e4bSmacallan		;;
552dbbd9e4bSmacallan	convex-c2)
553dbbd9e4bSmacallan		basic_machine=c2-convex
554dbbd9e4bSmacallan		os=-bsd
555dbbd9e4bSmacallan		;;
556dbbd9e4bSmacallan	convex-c32)
557dbbd9e4bSmacallan		basic_machine=c32-convex
558dbbd9e4bSmacallan		os=-bsd
559dbbd9e4bSmacallan		;;
560dbbd9e4bSmacallan	convex-c34)
561dbbd9e4bSmacallan		basic_machine=c34-convex
562dbbd9e4bSmacallan		os=-bsd
563dbbd9e4bSmacallan		;;
564dbbd9e4bSmacallan	convex-c38)
565dbbd9e4bSmacallan		basic_machine=c38-convex
566dbbd9e4bSmacallan		os=-bsd
567dbbd9e4bSmacallan		;;
568dbbd9e4bSmacallan	cray | j90)
569dbbd9e4bSmacallan		basic_machine=j90-cray
570dbbd9e4bSmacallan		os=-unicos
571dbbd9e4bSmacallan		;;
572dbbd9e4bSmacallan	craynv)
573dbbd9e4bSmacallan		basic_machine=craynv-cray
574dbbd9e4bSmacallan		os=-unicosmp
575dbbd9e4bSmacallan		;;
576e96acad6Smrg	cr16 | cr16-*)
577dbbd9e4bSmacallan		basic_machine=cr16-unknown
578dbbd9e4bSmacallan		os=-elf
579dbbd9e4bSmacallan		;;
580dbbd9e4bSmacallan	crds | unos)
581dbbd9e4bSmacallan		basic_machine=m68k-crds
582dbbd9e4bSmacallan		;;
583dbbd9e4bSmacallan	crisv32 | crisv32-* | etraxfs*)
584dbbd9e4bSmacallan		basic_machine=crisv32-axis
585dbbd9e4bSmacallan		;;
586dbbd9e4bSmacallan	cris | cris-* | etrax*)
587dbbd9e4bSmacallan		basic_machine=cris-axis
588dbbd9e4bSmacallan		;;
589dbbd9e4bSmacallan	crx)
590dbbd9e4bSmacallan		basic_machine=crx-unknown
591dbbd9e4bSmacallan		os=-elf
592dbbd9e4bSmacallan		;;
593dbbd9e4bSmacallan	da30 | da30-*)
594dbbd9e4bSmacallan		basic_machine=m68k-da30
595dbbd9e4bSmacallan		;;
596dbbd9e4bSmacallan	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597dbbd9e4bSmacallan		basic_machine=mips-dec
598dbbd9e4bSmacallan		;;
599dbbd9e4bSmacallan	decsystem10* | dec10*)
600dbbd9e4bSmacallan		basic_machine=pdp10-dec
601dbbd9e4bSmacallan		os=-tops10
602dbbd9e4bSmacallan		;;
603dbbd9e4bSmacallan	decsystem20* | dec20*)
604dbbd9e4bSmacallan		basic_machine=pdp10-dec
605dbbd9e4bSmacallan		os=-tops20
606dbbd9e4bSmacallan		;;
607dbbd9e4bSmacallan	delta | 3300 | motorola-3300 | motorola-delta \
608dbbd9e4bSmacallan	      | 3300-motorola | delta-motorola)
609dbbd9e4bSmacallan		basic_machine=m68k-motorola
610dbbd9e4bSmacallan		;;
611dbbd9e4bSmacallan	delta88)
612dbbd9e4bSmacallan		basic_machine=m88k-motorola
613dbbd9e4bSmacallan		os=-sysv3
614dbbd9e4bSmacallan		;;
615e96acad6Smrg	dicos)
616e96acad6Smrg		basic_machine=i686-pc
617e96acad6Smrg		os=-dicos
618e96acad6Smrg		;;
619dbbd9e4bSmacallan	djgpp)
620dbbd9e4bSmacallan		basic_machine=i586-pc
621dbbd9e4bSmacallan		os=-msdosdjgpp
622dbbd9e4bSmacallan		;;
623dbbd9e4bSmacallan	dpx20 | dpx20-*)
624dbbd9e4bSmacallan		basic_machine=rs6000-bull
625dbbd9e4bSmacallan		os=-bosx
626dbbd9e4bSmacallan		;;
627dbbd9e4bSmacallan	dpx2* | dpx2*-bull)
628dbbd9e4bSmacallan		basic_machine=m68k-bull
629dbbd9e4bSmacallan		os=-sysv3
630dbbd9e4bSmacallan		;;
631dbbd9e4bSmacallan	ebmon29k)
632dbbd9e4bSmacallan		basic_machine=a29k-amd
633dbbd9e4bSmacallan		os=-ebmon
634dbbd9e4bSmacallan		;;
635dbbd9e4bSmacallan	elxsi)
636dbbd9e4bSmacallan		basic_machine=elxsi-elxsi
637dbbd9e4bSmacallan		os=-bsd
638dbbd9e4bSmacallan		;;
639dbbd9e4bSmacallan	encore | umax | mmax)
640dbbd9e4bSmacallan		basic_machine=ns32k-encore
641dbbd9e4bSmacallan		;;
642dbbd9e4bSmacallan	es1800 | OSE68k | ose68k | ose | OSE)
643dbbd9e4bSmacallan		basic_machine=m68k-ericsson
644dbbd9e4bSmacallan		os=-ose
645dbbd9e4bSmacallan		;;
646dbbd9e4bSmacallan	fx2800)
647dbbd9e4bSmacallan		basic_machine=i860-alliant
648dbbd9e4bSmacallan		;;
649dbbd9e4bSmacallan	genix)
650dbbd9e4bSmacallan		basic_machine=ns32k-ns
651dbbd9e4bSmacallan		;;
652dbbd9e4bSmacallan	gmicro)
653dbbd9e4bSmacallan		basic_machine=tron-gmicro
654dbbd9e4bSmacallan		os=-sysv
655dbbd9e4bSmacallan		;;
656dbbd9e4bSmacallan	go32)
657dbbd9e4bSmacallan		basic_machine=i386-pc
658dbbd9e4bSmacallan		os=-go32
659dbbd9e4bSmacallan		;;
660dbbd9e4bSmacallan	h3050r* | hiux*)
661dbbd9e4bSmacallan		basic_machine=hppa1.1-hitachi
662dbbd9e4bSmacallan		os=-hiuxwe2
663dbbd9e4bSmacallan		;;
664dbbd9e4bSmacallan	h8300hms)
665dbbd9e4bSmacallan		basic_machine=h8300-hitachi
666dbbd9e4bSmacallan		os=-hms
667dbbd9e4bSmacallan		;;
668dbbd9e4bSmacallan	h8300xray)
669dbbd9e4bSmacallan		basic_machine=h8300-hitachi
670dbbd9e4bSmacallan		os=-xray
671dbbd9e4bSmacallan		;;
672dbbd9e4bSmacallan	h8500hms)
673dbbd9e4bSmacallan		basic_machine=h8500-hitachi
674dbbd9e4bSmacallan		os=-hms
675dbbd9e4bSmacallan		;;
676dbbd9e4bSmacallan	harris)
677dbbd9e4bSmacallan		basic_machine=m88k-harris
678dbbd9e4bSmacallan		os=-sysv3
679dbbd9e4bSmacallan		;;
680dbbd9e4bSmacallan	hp300-*)
681dbbd9e4bSmacallan		basic_machine=m68k-hp
682dbbd9e4bSmacallan		;;
683dbbd9e4bSmacallan	hp300bsd)
684dbbd9e4bSmacallan		basic_machine=m68k-hp
685dbbd9e4bSmacallan		os=-bsd
686dbbd9e4bSmacallan		;;
687dbbd9e4bSmacallan	hp300hpux)
688dbbd9e4bSmacallan		basic_machine=m68k-hp
689dbbd9e4bSmacallan		os=-hpux
690dbbd9e4bSmacallan		;;
691dbbd9e4bSmacallan	hp3k9[0-9][0-9] | hp9[0-9][0-9])
692dbbd9e4bSmacallan		basic_machine=hppa1.0-hp
693dbbd9e4bSmacallan		;;
694dbbd9e4bSmacallan	hp9k2[0-9][0-9] | hp9k31[0-9])
695dbbd9e4bSmacallan		basic_machine=m68000-hp
696dbbd9e4bSmacallan		;;
697dbbd9e4bSmacallan	hp9k3[2-9][0-9])
698dbbd9e4bSmacallan		basic_machine=m68k-hp
699dbbd9e4bSmacallan		;;
700dbbd9e4bSmacallan	hp9k6[0-9][0-9] | hp6[0-9][0-9])
701dbbd9e4bSmacallan		basic_machine=hppa1.0-hp
702dbbd9e4bSmacallan		;;
703dbbd9e4bSmacallan	hp9k7[0-79][0-9] | hp7[0-79][0-9])
704dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
705dbbd9e4bSmacallan		;;
706dbbd9e4bSmacallan	hp9k78[0-9] | hp78[0-9])
707dbbd9e4bSmacallan		# FIXME: really hppa2.0-hp
708dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
709dbbd9e4bSmacallan		;;
710dbbd9e4bSmacallan	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711dbbd9e4bSmacallan		# FIXME: really hppa2.0-hp
712dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
713dbbd9e4bSmacallan		;;
714dbbd9e4bSmacallan	hp9k8[0-9][13679] | hp8[0-9][13679])
715dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
716dbbd9e4bSmacallan		;;
717dbbd9e4bSmacallan	hp9k8[0-9][0-9] | hp8[0-9][0-9])
718dbbd9e4bSmacallan		basic_machine=hppa1.0-hp
719dbbd9e4bSmacallan		;;
720dbbd9e4bSmacallan	hppa-next)
721dbbd9e4bSmacallan		os=-nextstep3
722dbbd9e4bSmacallan		;;
723dbbd9e4bSmacallan	hppaosf)
724dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
725dbbd9e4bSmacallan		os=-osf
726dbbd9e4bSmacallan		;;
727dbbd9e4bSmacallan	hppro)
728dbbd9e4bSmacallan		basic_machine=hppa1.1-hp
729dbbd9e4bSmacallan		os=-proelf
730dbbd9e4bSmacallan		;;
731dbbd9e4bSmacallan	i370-ibm* | ibm*)
732dbbd9e4bSmacallan		basic_machine=i370-ibm
733dbbd9e4bSmacallan		;;
734dbbd9e4bSmacallan	i*86v32)
735dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
736dbbd9e4bSmacallan		os=-sysv32
737dbbd9e4bSmacallan		;;
738dbbd9e4bSmacallan	i*86v4*)
739dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740dbbd9e4bSmacallan		os=-sysv4
741dbbd9e4bSmacallan		;;
742dbbd9e4bSmacallan	i*86v)
743dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744dbbd9e4bSmacallan		os=-sysv
745dbbd9e4bSmacallan		;;
746dbbd9e4bSmacallan	i*86sol2)
747dbbd9e4bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748dbbd9e4bSmacallan		os=-solaris2
749dbbd9e4bSmacallan		;;
750dbbd9e4bSmacallan	i386mach)
751dbbd9e4bSmacallan		basic_machine=i386-mach
752dbbd9e4bSmacallan		os=-mach
753dbbd9e4bSmacallan		;;
754dbbd9e4bSmacallan	i386-vsta | vsta)
755dbbd9e4bSmacallan		basic_machine=i386-unknown
756dbbd9e4bSmacallan		os=-vsta
757dbbd9e4bSmacallan		;;
758dbbd9e4bSmacallan	iris | iris4d)
759dbbd9e4bSmacallan		basic_machine=mips-sgi
760dbbd9e4bSmacallan		case $os in
761dbbd9e4bSmacallan		    -irix*)
762dbbd9e4bSmacallan			;;
763dbbd9e4bSmacallan		    *)
764dbbd9e4bSmacallan			os=-irix4
765dbbd9e4bSmacallan			;;
766dbbd9e4bSmacallan		esac
767dbbd9e4bSmacallan		;;
768dbbd9e4bSmacallan	isi68 | isi)
769dbbd9e4bSmacallan		basic_machine=m68k-isi
770dbbd9e4bSmacallan		os=-sysv
771dbbd9e4bSmacallan		;;
772dbbd9e4bSmacallan	m68knommu)
773dbbd9e4bSmacallan		basic_machine=m68k-unknown
774dbbd9e4bSmacallan		os=-linux
775dbbd9e4bSmacallan		;;
776dbbd9e4bSmacallan	m68knommu-*)
777dbbd9e4bSmacallan		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778dbbd9e4bSmacallan		os=-linux
779dbbd9e4bSmacallan		;;
780dbbd9e4bSmacallan	m88k-omron*)
781dbbd9e4bSmacallan		basic_machine=m88k-omron
782dbbd9e4bSmacallan		;;
783dbbd9e4bSmacallan	magnum | m3230)
784dbbd9e4bSmacallan		basic_machine=mips-mips
785dbbd9e4bSmacallan		os=-sysv
786dbbd9e4bSmacallan		;;
787dbbd9e4bSmacallan	merlin)
788dbbd9e4bSmacallan		basic_machine=ns32k-utek
789dbbd9e4bSmacallan		os=-sysv
790dbbd9e4bSmacallan		;;
791e96acad6Smrg	microblaze)
792e96acad6Smrg		basic_machine=microblaze-xilinx
793e96acad6Smrg		;;
794e96acad6Smrg	mingw64)
795e96acad6Smrg		basic_machine=x86_64-pc
796e96acad6Smrg		os=-mingw64
797e96acad6Smrg		;;
798dbbd9e4bSmacallan	mingw32)
799dbbd9e4bSmacallan		basic_machine=i386-pc
800dbbd9e4bSmacallan		os=-mingw32
801dbbd9e4bSmacallan		;;
802dbbd9e4bSmacallan	mingw32ce)
803dbbd9e4bSmacallan		basic_machine=arm-unknown
804dbbd9e4bSmacallan		os=-mingw32ce
805dbbd9e4bSmacallan		;;
806dbbd9e4bSmacallan	miniframe)
807dbbd9e4bSmacallan		basic_machine=m68000-convergent
808dbbd9e4bSmacallan		;;
809dbbd9e4bSmacallan	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
810dbbd9e4bSmacallan		basic_machine=m68k-atari
811dbbd9e4bSmacallan		os=-mint
812dbbd9e4bSmacallan		;;
813e96acad6Smrg	mipsEE* | ee | ps2)
814e96acad6Smrg		basic_machine=mips64r5900el-scei
815e96acad6Smrg		case $os in
816e96acad6Smrg		    -linux*)
817e96acad6Smrg			;;
818e96acad6Smrg		    *)
819e96acad6Smrg			os=-elf
820e96acad6Smrg			;;
821e96acad6Smrg		esac
822e96acad6Smrg		;;
823e96acad6Smrg	iop)
824e96acad6Smrg		basic_machine=mipsel-scei
825e96acad6Smrg		os=-irx
826e96acad6Smrg		;;
827e96acad6Smrg	dvp)
828e96acad6Smrg		basic_machine=dvp-scei
829e96acad6Smrg		os=-elf
830e96acad6Smrg		;;
831dbbd9e4bSmacallan	mips3*-*)
832dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
833dbbd9e4bSmacallan		;;
834dbbd9e4bSmacallan	mips3*)
835dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
836dbbd9e4bSmacallan		;;
837dbbd9e4bSmacallan	monitor)
838dbbd9e4bSmacallan		basic_machine=m68k-rom68k
839dbbd9e4bSmacallan		os=-coff
840dbbd9e4bSmacallan		;;
841dbbd9e4bSmacallan	morphos)
842dbbd9e4bSmacallan		basic_machine=powerpc-unknown
843dbbd9e4bSmacallan		os=-morphos
844dbbd9e4bSmacallan		;;
845dbbd9e4bSmacallan	msdos)
846dbbd9e4bSmacallan		basic_machine=i386-pc
847dbbd9e4bSmacallan		os=-msdos
848dbbd9e4bSmacallan		;;
849dbbd9e4bSmacallan	ms1-*)
850dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
851dbbd9e4bSmacallan		;;
852e96acad6Smrg	msys)
853e96acad6Smrg		basic_machine=i386-pc
854e96acad6Smrg		os=-msys
855e96acad6Smrg		;;
856dbbd9e4bSmacallan	mvs)
857dbbd9e4bSmacallan		basic_machine=i370-ibm
858dbbd9e4bSmacallan		os=-mvs
859dbbd9e4bSmacallan		;;
860e96acad6Smrg	nacl)
861e96acad6Smrg		basic_machine=le32-unknown
862e96acad6Smrg		os=-nacl
863e96acad6Smrg		;;
864dbbd9e4bSmacallan	ncr3000)
865dbbd9e4bSmacallan		basic_machine=i486-ncr
866dbbd9e4bSmacallan		os=-sysv4
867dbbd9e4bSmacallan		;;
868dbbd9e4bSmacallan	netbsd386)
869dbbd9e4bSmacallan		basic_machine=i386-unknown
870dbbd9e4bSmacallan		os=-netbsd
871dbbd9e4bSmacallan		;;
872dbbd9e4bSmacallan	netwinder)
873dbbd9e4bSmacallan		basic_machine=armv4l-rebel
874dbbd9e4bSmacallan		os=-linux
875dbbd9e4bSmacallan		;;
876dbbd9e4bSmacallan	news | news700 | news800 | news900)
877dbbd9e4bSmacallan		basic_machine=m68k-sony
878dbbd9e4bSmacallan		os=-newsos
879dbbd9e4bSmacallan		;;
880dbbd9e4bSmacallan	news1000)
881dbbd9e4bSmacallan		basic_machine=m68030-sony
882dbbd9e4bSmacallan		os=-newsos
883dbbd9e4bSmacallan		;;
884dbbd9e4bSmacallan	news-3600 | risc-news)
885dbbd9e4bSmacallan		basic_machine=mips-sony
886dbbd9e4bSmacallan		os=-newsos
887dbbd9e4bSmacallan		;;
888dbbd9e4bSmacallan	necv70)
889dbbd9e4bSmacallan		basic_machine=v70-nec
890dbbd9e4bSmacallan		os=-sysv
891dbbd9e4bSmacallan		;;
892dbbd9e4bSmacallan	next | m*-next )
893dbbd9e4bSmacallan		basic_machine=m68k-next
894dbbd9e4bSmacallan		case $os in
895dbbd9e4bSmacallan		    -nextstep* )
896dbbd9e4bSmacallan			;;
897dbbd9e4bSmacallan		    -ns2*)
898dbbd9e4bSmacallan		      os=-nextstep2
899dbbd9e4bSmacallan			;;
900dbbd9e4bSmacallan		    *)
901dbbd9e4bSmacallan		      os=-nextstep3
902dbbd9e4bSmacallan			;;
903dbbd9e4bSmacallan		esac
904dbbd9e4bSmacallan		;;
905dbbd9e4bSmacallan	nh3000)
906dbbd9e4bSmacallan		basic_machine=m68k-harris
907dbbd9e4bSmacallan		os=-cxux
908dbbd9e4bSmacallan		;;
909dbbd9e4bSmacallan	nh[45]000)
910dbbd9e4bSmacallan		basic_machine=m88k-harris
911dbbd9e4bSmacallan		os=-cxux
912dbbd9e4bSmacallan		;;
913dbbd9e4bSmacallan	nindy960)
914dbbd9e4bSmacallan		basic_machine=i960-intel
915dbbd9e4bSmacallan		os=-nindy
916dbbd9e4bSmacallan		;;
917dbbd9e4bSmacallan	mon960)
918dbbd9e4bSmacallan		basic_machine=i960-intel
919dbbd9e4bSmacallan		os=-mon960
920dbbd9e4bSmacallan		;;
921dbbd9e4bSmacallan	nonstopux)
922dbbd9e4bSmacallan		basic_machine=mips-compaq
923dbbd9e4bSmacallan		os=-nonstopux
924dbbd9e4bSmacallan		;;
925dbbd9e4bSmacallan	np1)
926dbbd9e4bSmacallan		basic_machine=np1-gould
927dbbd9e4bSmacallan		;;
928e96acad6Smrg	neo-tandem)
929e96acad6Smrg		basic_machine=neo-tandem
930e96acad6Smrg		;;
931e96acad6Smrg	nse-tandem)
932e96acad6Smrg		basic_machine=nse-tandem
933e96acad6Smrg		;;
934dbbd9e4bSmacallan	nsr-tandem)
935dbbd9e4bSmacallan		basic_machine=nsr-tandem
936dbbd9e4bSmacallan		;;
937dbbd9e4bSmacallan	op50n-* | op60c-*)
938dbbd9e4bSmacallan		basic_machine=hppa1.1-oki
939dbbd9e4bSmacallan		os=-proelf
940dbbd9e4bSmacallan		;;
941dbbd9e4bSmacallan	openrisc | openrisc-*)
942dbbd9e4bSmacallan		basic_machine=or32-unknown
943dbbd9e4bSmacallan		;;
944dbbd9e4bSmacallan	os400)
945dbbd9e4bSmacallan		basic_machine=powerpc-ibm
946dbbd9e4bSmacallan		os=-os400
947dbbd9e4bSmacallan		;;
948dbbd9e4bSmacallan	OSE68000 | ose68000)
949dbbd9e4bSmacallan		basic_machine=m68000-ericsson
950dbbd9e4bSmacallan		os=-ose
951dbbd9e4bSmacallan		;;
952dbbd9e4bSmacallan	os68k)
953dbbd9e4bSmacallan		basic_machine=m68k-none
954dbbd9e4bSmacallan		os=-os68k
955dbbd9e4bSmacallan		;;
956dbbd9e4bSmacallan	pa-hitachi)
957dbbd9e4bSmacallan		basic_machine=hppa1.1-hitachi
958dbbd9e4bSmacallan		os=-hiuxwe2
959dbbd9e4bSmacallan		;;
960dbbd9e4bSmacallan	paragon)
961dbbd9e4bSmacallan		basic_machine=i860-intel
962dbbd9e4bSmacallan		os=-osf
963dbbd9e4bSmacallan		;;
964dbbd9e4bSmacallan	parisc)
965dbbd9e4bSmacallan		basic_machine=hppa-unknown
966dbbd9e4bSmacallan		os=-linux
967dbbd9e4bSmacallan		;;
968dbbd9e4bSmacallan	parisc-*)
969dbbd9e4bSmacallan		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
970dbbd9e4bSmacallan		os=-linux
971dbbd9e4bSmacallan		;;
972dbbd9e4bSmacallan	pbd)
973dbbd9e4bSmacallan		basic_machine=sparc-tti
974dbbd9e4bSmacallan		;;
975dbbd9e4bSmacallan	pbb)
976dbbd9e4bSmacallan		basic_machine=m68k-tti
977dbbd9e4bSmacallan		;;
978dbbd9e4bSmacallan	pc532 | pc532-*)
979dbbd9e4bSmacallan		basic_machine=ns32k-pc532
980dbbd9e4bSmacallan		;;
981dbbd9e4bSmacallan	pc98)
982dbbd9e4bSmacallan		basic_machine=i386-pc
983dbbd9e4bSmacallan		;;
984dbbd9e4bSmacallan	pc98-*)
985dbbd9e4bSmacallan		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
986dbbd9e4bSmacallan		;;
987dbbd9e4bSmacallan	pentium | p5 | k5 | k6 | nexgen | viac3)
988dbbd9e4bSmacallan		basic_machine=i586-pc
989dbbd9e4bSmacallan		;;
990dbbd9e4bSmacallan	pentiumpro | p6 | 6x86 | athlon | athlon_*)
991dbbd9e4bSmacallan		basic_machine=i686-pc
992dbbd9e4bSmacallan		;;
993dbbd9e4bSmacallan	pentiumii | pentium2 | pentiumiii | pentium3)
994dbbd9e4bSmacallan		basic_machine=i686-pc
995dbbd9e4bSmacallan		;;
996dbbd9e4bSmacallan	pentium4)
997dbbd9e4bSmacallan		basic_machine=i786-pc
998dbbd9e4bSmacallan		;;
999dbbd9e4bSmacallan	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1000dbbd9e4bSmacallan		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1001dbbd9e4bSmacallan		;;
1002dbbd9e4bSmacallan	pentiumpro-* | p6-* | 6x86-* | athlon-*)
1003dbbd9e4bSmacallan		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1004dbbd9e4bSmacallan		;;
1005dbbd9e4bSmacallan	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1006dbbd9e4bSmacallan		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1007dbbd9e4bSmacallan		;;
1008dbbd9e4bSmacallan	pentium4-*)
1009dbbd9e4bSmacallan		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1010dbbd9e4bSmacallan		;;
1011dbbd9e4bSmacallan	pn)
1012dbbd9e4bSmacallan		basic_machine=pn-gould
1013dbbd9e4bSmacallan		;;
1014dbbd9e4bSmacallan	power)	basic_machine=power-ibm
1015dbbd9e4bSmacallan		;;
1016e96acad6Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
1017dbbd9e4bSmacallan		;;
1018e96acad6Smrg	ppc-* | ppcbe-*)
1019e96acad6Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1020dbbd9e4bSmacallan		;;
1021dbbd9e4bSmacallan	ppcle | powerpclittle | ppc-le | powerpc-little)
1022dbbd9e4bSmacallan		basic_machine=powerpcle-unknown
1023dbbd9e4bSmacallan		;;
1024dbbd9e4bSmacallan	ppcle-* | powerpclittle-*)
1025dbbd9e4bSmacallan		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1026dbbd9e4bSmacallan		;;
1027dbbd9e4bSmacallan	ppc64)	basic_machine=powerpc64-unknown
1028dbbd9e4bSmacallan		;;
1029dbbd9e4bSmacallan	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1030dbbd9e4bSmacallan		;;
1031dbbd9e4bSmacallan	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1032dbbd9e4bSmacallan		basic_machine=powerpc64le-unknown
1033dbbd9e4bSmacallan		;;
1034dbbd9e4bSmacallan	ppc64le-* | powerpc64little-*)
1035dbbd9e4bSmacallan		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1036dbbd9e4bSmacallan		;;
1037dbbd9e4bSmacallan	ps2)
1038dbbd9e4bSmacallan		basic_machine=i386-ibm
1039dbbd9e4bSmacallan		;;
1040dbbd9e4bSmacallan	pw32)
1041dbbd9e4bSmacallan		basic_machine=i586-unknown
1042dbbd9e4bSmacallan		os=-pw32
1043dbbd9e4bSmacallan		;;
1044dbbd9e4bSmacallan	rdos)
1045dbbd9e4bSmacallan		basic_machine=i386-pc
1046dbbd9e4bSmacallan		os=-rdos
1047dbbd9e4bSmacallan		;;
1048dbbd9e4bSmacallan	rom68k)
1049dbbd9e4bSmacallan		basic_machine=m68k-rom68k
1050dbbd9e4bSmacallan		os=-coff
1051dbbd9e4bSmacallan		;;
1052dbbd9e4bSmacallan	rm[46]00)
1053dbbd9e4bSmacallan		basic_machine=mips-siemens
1054dbbd9e4bSmacallan		;;
1055dbbd9e4bSmacallan	rtpc | rtpc-*)
1056dbbd9e4bSmacallan		basic_machine=romp-ibm
1057dbbd9e4bSmacallan		;;
1058dbbd9e4bSmacallan	s390 | s390-*)
1059dbbd9e4bSmacallan		basic_machine=s390-ibm
1060dbbd9e4bSmacallan		;;
1061dbbd9e4bSmacallan	s390x | s390x-*)
1062dbbd9e4bSmacallan		basic_machine=s390x-ibm
1063dbbd9e4bSmacallan		;;
1064dbbd9e4bSmacallan	sa29200)
1065dbbd9e4bSmacallan		basic_machine=a29k-amd
1066dbbd9e4bSmacallan		os=-udi
1067dbbd9e4bSmacallan		;;
1068dbbd9e4bSmacallan	sb1)
1069dbbd9e4bSmacallan		basic_machine=mipsisa64sb1-unknown
1070dbbd9e4bSmacallan		;;
1071dbbd9e4bSmacallan	sb1el)
1072dbbd9e4bSmacallan		basic_machine=mipsisa64sb1el-unknown
1073dbbd9e4bSmacallan		;;
1074dbbd9e4bSmacallan	sde)
1075dbbd9e4bSmacallan		basic_machine=mipsisa32-sde
1076dbbd9e4bSmacallan		os=-elf
1077dbbd9e4bSmacallan		;;
1078dbbd9e4bSmacallan	sei)
1079dbbd9e4bSmacallan		basic_machine=mips-sei
1080dbbd9e4bSmacallan		os=-seiux
1081dbbd9e4bSmacallan		;;
1082dbbd9e4bSmacallan	sequent)
1083dbbd9e4bSmacallan		basic_machine=i386-sequent
1084dbbd9e4bSmacallan		;;
1085dbbd9e4bSmacallan	sh)
1086dbbd9e4bSmacallan		basic_machine=sh-hitachi
1087dbbd9e4bSmacallan		os=-hms
1088dbbd9e4bSmacallan		;;
1089dbbd9e4bSmacallan	sh5el)
1090dbbd9e4bSmacallan		basic_machine=sh5le-unknown
1091dbbd9e4bSmacallan		;;
1092dbbd9e4bSmacallan	sh64)
1093dbbd9e4bSmacallan		basic_machine=sh64-unknown
1094dbbd9e4bSmacallan		;;
1095dbbd9e4bSmacallan	sparclite-wrs | simso-wrs)
1096dbbd9e4bSmacallan		basic_machine=sparclite-wrs
1097dbbd9e4bSmacallan		os=-vxworks
1098dbbd9e4bSmacallan		;;
1099dbbd9e4bSmacallan	sps7)
1100dbbd9e4bSmacallan		basic_machine=m68k-bull
1101dbbd9e4bSmacallan		os=-sysv2
1102dbbd9e4bSmacallan		;;
1103dbbd9e4bSmacallan	spur)
1104dbbd9e4bSmacallan		basic_machine=spur-unknown
1105dbbd9e4bSmacallan		;;
1106dbbd9e4bSmacallan	st2000)
1107dbbd9e4bSmacallan		basic_machine=m68k-tandem
1108dbbd9e4bSmacallan		;;
1109dbbd9e4bSmacallan	stratus)
1110dbbd9e4bSmacallan		basic_machine=i860-stratus
1111dbbd9e4bSmacallan		os=-sysv4
1112dbbd9e4bSmacallan		;;
1113e96acad6Smrg	strongarm-* | thumb-*)
1114e96acad6Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1115e96acad6Smrg		;;
1116dbbd9e4bSmacallan	sun2)
1117dbbd9e4bSmacallan		basic_machine=m68000-sun
1118dbbd9e4bSmacallan		;;
1119dbbd9e4bSmacallan	sun2os3)
1120dbbd9e4bSmacallan		basic_machine=m68000-sun
1121dbbd9e4bSmacallan		os=-sunos3
1122dbbd9e4bSmacallan		;;
1123dbbd9e4bSmacallan	sun2os4)
1124dbbd9e4bSmacallan		basic_machine=m68000-sun
1125dbbd9e4bSmacallan		os=-sunos4
1126dbbd9e4bSmacallan		;;
1127dbbd9e4bSmacallan	sun3os3)
1128dbbd9e4bSmacallan		basic_machine=m68k-sun
1129dbbd9e4bSmacallan		os=-sunos3
1130dbbd9e4bSmacallan		;;
1131dbbd9e4bSmacallan	sun3os4)
1132dbbd9e4bSmacallan		basic_machine=m68k-sun
1133dbbd9e4bSmacallan		os=-sunos4
1134dbbd9e4bSmacallan		;;
1135dbbd9e4bSmacallan	sun4os3)
1136dbbd9e4bSmacallan		basic_machine=sparc-sun
1137dbbd9e4bSmacallan		os=-sunos3
1138dbbd9e4bSmacallan		;;
1139dbbd9e4bSmacallan	sun4os4)
1140dbbd9e4bSmacallan		basic_machine=sparc-sun
1141dbbd9e4bSmacallan		os=-sunos4
1142dbbd9e4bSmacallan		;;
1143dbbd9e4bSmacallan	sun4sol2)
1144dbbd9e4bSmacallan		basic_machine=sparc-sun
1145dbbd9e4bSmacallan		os=-solaris2
1146dbbd9e4bSmacallan		;;
1147dbbd9e4bSmacallan	sun3 | sun3-*)
1148dbbd9e4bSmacallan		basic_machine=m68k-sun
1149dbbd9e4bSmacallan		;;
1150dbbd9e4bSmacallan	sun4)
1151dbbd9e4bSmacallan		basic_machine=sparc-sun
1152dbbd9e4bSmacallan		;;
1153dbbd9e4bSmacallan	sun386 | sun386i | roadrunner)
1154dbbd9e4bSmacallan		basic_machine=i386-sun
1155dbbd9e4bSmacallan		;;
1156dbbd9e4bSmacallan	sv1)
1157dbbd9e4bSmacallan		basic_machine=sv1-cray
1158dbbd9e4bSmacallan		os=-unicos
1159dbbd9e4bSmacallan		;;
1160dbbd9e4bSmacallan	symmetry)
1161dbbd9e4bSmacallan		basic_machine=i386-sequent
1162dbbd9e4bSmacallan		os=-dynix
1163dbbd9e4bSmacallan		;;
1164dbbd9e4bSmacallan	t3e)
1165dbbd9e4bSmacallan		basic_machine=alphaev5-cray
1166dbbd9e4bSmacallan		os=-unicos
1167dbbd9e4bSmacallan		;;
1168dbbd9e4bSmacallan	t90)
1169dbbd9e4bSmacallan		basic_machine=t90-cray
1170dbbd9e4bSmacallan		os=-unicos
1171dbbd9e4bSmacallan		;;
1172dbbd9e4bSmacallan	tile*)
1173e96acad6Smrg		basic_machine=$basic_machine-unknown
1174dbbd9e4bSmacallan		os=-linux-gnu
1175dbbd9e4bSmacallan		;;
1176dbbd9e4bSmacallan	tx39)
1177dbbd9e4bSmacallan		basic_machine=mipstx39-unknown
1178dbbd9e4bSmacallan		;;
1179dbbd9e4bSmacallan	tx39el)
1180dbbd9e4bSmacallan		basic_machine=mipstx39el-unknown
1181dbbd9e4bSmacallan		;;
1182dbbd9e4bSmacallan	toad1)
1183dbbd9e4bSmacallan		basic_machine=pdp10-xkl
1184dbbd9e4bSmacallan		os=-tops20
1185dbbd9e4bSmacallan		;;
1186dbbd9e4bSmacallan	tower | tower-32)
1187dbbd9e4bSmacallan		basic_machine=m68k-ncr
1188dbbd9e4bSmacallan		;;
1189dbbd9e4bSmacallan	tpf)
1190dbbd9e4bSmacallan		basic_machine=s390x-ibm
1191dbbd9e4bSmacallan		os=-tpf
1192dbbd9e4bSmacallan		;;
1193dbbd9e4bSmacallan	udi29k)
1194dbbd9e4bSmacallan		basic_machine=a29k-amd
1195dbbd9e4bSmacallan		os=-udi
1196dbbd9e4bSmacallan		;;
1197dbbd9e4bSmacallan	ultra3)
1198dbbd9e4bSmacallan		basic_machine=a29k-nyu
1199dbbd9e4bSmacallan		os=-sym1
1200dbbd9e4bSmacallan		;;
1201dbbd9e4bSmacallan	v810 | necv810)
1202dbbd9e4bSmacallan		basic_machine=v810-nec
1203dbbd9e4bSmacallan		os=-none
1204dbbd9e4bSmacallan		;;
1205dbbd9e4bSmacallan	vaxv)
1206dbbd9e4bSmacallan		basic_machine=vax-dec
1207dbbd9e4bSmacallan		os=-sysv
1208dbbd9e4bSmacallan		;;
1209dbbd9e4bSmacallan	vms)
1210dbbd9e4bSmacallan		basic_machine=vax-dec
1211dbbd9e4bSmacallan		os=-vms
1212dbbd9e4bSmacallan		;;
1213dbbd9e4bSmacallan	vpp*|vx|vx-*)
1214dbbd9e4bSmacallan		basic_machine=f301-fujitsu
1215dbbd9e4bSmacallan		;;
1216dbbd9e4bSmacallan	vxworks960)
1217dbbd9e4bSmacallan		basic_machine=i960-wrs
1218dbbd9e4bSmacallan		os=-vxworks
1219dbbd9e4bSmacallan		;;
1220dbbd9e4bSmacallan	vxworks68)
1221dbbd9e4bSmacallan		basic_machine=m68k-wrs
1222dbbd9e4bSmacallan		os=-vxworks
1223dbbd9e4bSmacallan		;;
1224dbbd9e4bSmacallan	vxworks29k)
1225dbbd9e4bSmacallan		basic_machine=a29k-wrs
1226dbbd9e4bSmacallan		os=-vxworks
1227dbbd9e4bSmacallan		;;
1228dbbd9e4bSmacallan	w65*)
1229dbbd9e4bSmacallan		basic_machine=w65-wdc
1230dbbd9e4bSmacallan		os=-none
1231dbbd9e4bSmacallan		;;
1232dbbd9e4bSmacallan	w89k-*)
1233dbbd9e4bSmacallan		basic_machine=hppa1.1-winbond
1234dbbd9e4bSmacallan		os=-proelf
1235dbbd9e4bSmacallan		;;
1236dbbd9e4bSmacallan	xbox)
1237dbbd9e4bSmacallan		basic_machine=i686-pc
1238dbbd9e4bSmacallan		os=-mingw32
1239dbbd9e4bSmacallan		;;
1240dbbd9e4bSmacallan	xps | xps100)
1241dbbd9e4bSmacallan		basic_machine=xps100-honeywell
1242dbbd9e4bSmacallan		;;
1243e96acad6Smrg	xscale-* | xscalee[bl]-*)
1244e96acad6Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1245e96acad6Smrg		;;
1246dbbd9e4bSmacallan	ymp)
1247dbbd9e4bSmacallan		basic_machine=ymp-cray
1248dbbd9e4bSmacallan		os=-unicos
1249dbbd9e4bSmacallan		;;
1250dbbd9e4bSmacallan	z8k-*-coff)
1251dbbd9e4bSmacallan		basic_machine=z8k-unknown
1252dbbd9e4bSmacallan		os=-sim
1253dbbd9e4bSmacallan		;;
1254e96acad6Smrg	z80-*-coff)
1255e96acad6Smrg		basic_machine=z80-unknown
1256e96acad6Smrg		os=-sim
1257e96acad6Smrg		;;
1258dbbd9e4bSmacallan	none)
1259dbbd9e4bSmacallan		basic_machine=none-none
1260dbbd9e4bSmacallan		os=-none
1261dbbd9e4bSmacallan		;;
1262dbbd9e4bSmacallan
1263dbbd9e4bSmacallan# Here we handle the default manufacturer of certain CPU types.  It is in
1264dbbd9e4bSmacallan# some cases the only manufacturer, in others, it is the most popular.
1265dbbd9e4bSmacallan	w89k)
1266dbbd9e4bSmacallan		basic_machine=hppa1.1-winbond
1267dbbd9e4bSmacallan		;;
1268dbbd9e4bSmacallan	op50n)
1269dbbd9e4bSmacallan		basic_machine=hppa1.1-oki
1270dbbd9e4bSmacallan		;;
1271dbbd9e4bSmacallan	op60c)
1272dbbd9e4bSmacallan		basic_machine=hppa1.1-oki
1273dbbd9e4bSmacallan		;;
1274dbbd9e4bSmacallan	romp)
1275dbbd9e4bSmacallan		basic_machine=romp-ibm
1276dbbd9e4bSmacallan		;;
1277dbbd9e4bSmacallan	mmix)
1278dbbd9e4bSmacallan		basic_machine=mmix-knuth
1279dbbd9e4bSmacallan		;;
1280dbbd9e4bSmacallan	rs6000)
1281dbbd9e4bSmacallan		basic_machine=rs6000-ibm
1282dbbd9e4bSmacallan		;;
1283dbbd9e4bSmacallan	vax)
1284dbbd9e4bSmacallan		basic_machine=vax-dec
1285dbbd9e4bSmacallan		;;
1286dbbd9e4bSmacallan	pdp10)
1287dbbd9e4bSmacallan		# there are many clones, so DEC is not a safe bet
1288dbbd9e4bSmacallan		basic_machine=pdp10-unknown
1289dbbd9e4bSmacallan		;;
1290dbbd9e4bSmacallan	pdp11)
1291dbbd9e4bSmacallan		basic_machine=pdp11-dec
1292dbbd9e4bSmacallan		;;
1293dbbd9e4bSmacallan	we32k)
1294dbbd9e4bSmacallan		basic_machine=we32k-att
1295dbbd9e4bSmacallan		;;
1296e96acad6Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1297dbbd9e4bSmacallan		basic_machine=sh-unknown
1298dbbd9e4bSmacallan		;;
1299dbbd9e4bSmacallan	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1300dbbd9e4bSmacallan		basic_machine=sparc-sun
1301dbbd9e4bSmacallan		;;
1302dbbd9e4bSmacallan	cydra)
1303dbbd9e4bSmacallan		basic_machine=cydra-cydrome
1304dbbd9e4bSmacallan		;;
1305dbbd9e4bSmacallan	orion)
1306dbbd9e4bSmacallan		basic_machine=orion-highlevel
1307dbbd9e4bSmacallan		;;
1308dbbd9e4bSmacallan	orion105)
1309dbbd9e4bSmacallan		basic_machine=clipper-highlevel
1310dbbd9e4bSmacallan		;;
1311dbbd9e4bSmacallan	mac | mpw | mac-mpw)
1312dbbd9e4bSmacallan		basic_machine=m68k-apple
1313dbbd9e4bSmacallan		;;
1314dbbd9e4bSmacallan	pmac | pmac-mpw)
1315dbbd9e4bSmacallan		basic_machine=powerpc-apple
1316dbbd9e4bSmacallan		;;
1317dbbd9e4bSmacallan	*-unknown)
1318dbbd9e4bSmacallan		# Make sure to match an already-canonicalized machine name.
1319dbbd9e4bSmacallan		;;
1320dbbd9e4bSmacallan	*)
1321dbbd9e4bSmacallan		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1322dbbd9e4bSmacallan		exit 1
1323dbbd9e4bSmacallan		;;
1324dbbd9e4bSmacallanesac
1325dbbd9e4bSmacallan
1326dbbd9e4bSmacallan# Here we canonicalize certain aliases for manufacturers.
1327dbbd9e4bSmacallancase $basic_machine in
1328dbbd9e4bSmacallan	*-digital*)
1329dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1330dbbd9e4bSmacallan		;;
1331dbbd9e4bSmacallan	*-commodore*)
1332dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1333dbbd9e4bSmacallan		;;
1334dbbd9e4bSmacallan	*)
1335dbbd9e4bSmacallan		;;
1336dbbd9e4bSmacallanesac
1337dbbd9e4bSmacallan
1338dbbd9e4bSmacallan# Decode manufacturer-specific aliases for certain operating systems.
1339dbbd9e4bSmacallan
1340dbbd9e4bSmacallanif [ x"$os" != x"" ]
1341dbbd9e4bSmacallanthen
1342dbbd9e4bSmacallancase $os in
1343e96acad6Smrg	# First match some system type aliases
1344e96acad6Smrg	# that might get confused with valid system types.
1345dbbd9e4bSmacallan	# -solaris* is a basic system type, with this one exception.
1346e96acad6Smrg	-auroraux)
1347e96acad6Smrg		os=-auroraux
1348e96acad6Smrg		;;
1349dbbd9e4bSmacallan	-solaris1 | -solaris1.*)
1350dbbd9e4bSmacallan		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1351dbbd9e4bSmacallan		;;
1352dbbd9e4bSmacallan	-solaris)
1353dbbd9e4bSmacallan		os=-solaris2
1354dbbd9e4bSmacallan		;;
1355dbbd9e4bSmacallan	-svr4*)
1356dbbd9e4bSmacallan		os=-sysv4
1357dbbd9e4bSmacallan		;;
1358dbbd9e4bSmacallan	-unixware*)
1359dbbd9e4bSmacallan		os=-sysv4.2uw
1360dbbd9e4bSmacallan		;;
1361dbbd9e4bSmacallan	-gnu/linux*)
1362dbbd9e4bSmacallan		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1363dbbd9e4bSmacallan		;;
1364dbbd9e4bSmacallan	# First accept the basic system types.
1365dbbd9e4bSmacallan	# The portable systems comes first.
1366dbbd9e4bSmacallan	# Each alternative MUST END IN A *, to match a version number.
1367dbbd9e4bSmacallan	# -sysv* is not here because it comes later, after sysvr4.
1368dbbd9e4bSmacallan	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1369e96acad6Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1370e96acad6Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1371e96acad6Smrg	      | -sym* | -kopensolaris* \
1372dbbd9e4bSmacallan	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1373e96acad6Smrg	      | -aos* | -aros* \
1374dbbd9e4bSmacallan	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1375dbbd9e4bSmacallan	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1376dbbd9e4bSmacallan	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1377e96acad6Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
1378dbbd9e4bSmacallan	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1379dbbd9e4bSmacallan	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1380dbbd9e4bSmacallan	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1381dbbd9e4bSmacallan	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1382e96acad6Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1383e96acad6Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1384e96acad6Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1385e96acad6Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1386dbbd9e4bSmacallan	      | -uxpv* | -beos* | -mpeix* | -udk* \
1387dbbd9e4bSmacallan	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1388dbbd9e4bSmacallan	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1389e96acad6Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
1390dbbd9e4bSmacallan	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1391dbbd9e4bSmacallan	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1392dbbd9e4bSmacallan	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1393e96acad6Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1394dbbd9e4bSmacallan	# Remember, each alternative MUST END IN *, to match a version number.
1395dbbd9e4bSmacallan		;;
1396dbbd9e4bSmacallan	-qnx*)
1397dbbd9e4bSmacallan		case $basic_machine in
1398dbbd9e4bSmacallan		    x86-* | i*86-*)
1399dbbd9e4bSmacallan			;;
1400dbbd9e4bSmacallan		    *)
1401dbbd9e4bSmacallan			os=-nto$os
1402dbbd9e4bSmacallan			;;
1403dbbd9e4bSmacallan		esac
1404dbbd9e4bSmacallan		;;
1405dbbd9e4bSmacallan	-nto-qnx*)
1406dbbd9e4bSmacallan		;;
1407dbbd9e4bSmacallan	-nto*)
1408dbbd9e4bSmacallan		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1409dbbd9e4bSmacallan		;;
1410dbbd9e4bSmacallan	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1411dbbd9e4bSmacallan	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1412dbbd9e4bSmacallan	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1413dbbd9e4bSmacallan		;;
1414dbbd9e4bSmacallan	-mac*)
1415dbbd9e4bSmacallan		os=`echo $os | sed -e 's|mac|macos|'`
1416dbbd9e4bSmacallan		;;
1417dbbd9e4bSmacallan	-linux-dietlibc)
1418dbbd9e4bSmacallan		os=-linux-dietlibc
1419dbbd9e4bSmacallan		;;
1420dbbd9e4bSmacallan	-linux*)
1421dbbd9e4bSmacallan		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1422dbbd9e4bSmacallan		;;
1423dbbd9e4bSmacallan	-sunos5*)
1424dbbd9e4bSmacallan		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1425dbbd9e4bSmacallan		;;
1426dbbd9e4bSmacallan	-sunos6*)
1427dbbd9e4bSmacallan		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1428dbbd9e4bSmacallan		;;
1429dbbd9e4bSmacallan	-opened*)
1430dbbd9e4bSmacallan		os=-openedition
1431dbbd9e4bSmacallan		;;
1432e96acad6Smrg	-os400*)
1433dbbd9e4bSmacallan		os=-os400
1434dbbd9e4bSmacallan		;;
1435dbbd9e4bSmacallan	-wince*)
1436dbbd9e4bSmacallan		os=-wince
1437dbbd9e4bSmacallan		;;
1438dbbd9e4bSmacallan	-osfrose*)
1439dbbd9e4bSmacallan		os=-osfrose
1440dbbd9e4bSmacallan		;;
1441dbbd9e4bSmacallan	-osf*)
1442dbbd9e4bSmacallan		os=-osf
1443dbbd9e4bSmacallan		;;
1444dbbd9e4bSmacallan	-utek*)
1445dbbd9e4bSmacallan		os=-bsd
1446dbbd9e4bSmacallan		;;
1447dbbd9e4bSmacallan	-dynix*)
1448dbbd9e4bSmacallan		os=-bsd
1449dbbd9e4bSmacallan		;;
1450dbbd9e4bSmacallan	-acis*)
1451dbbd9e4bSmacallan		os=-aos
1452dbbd9e4bSmacallan		;;
1453dbbd9e4bSmacallan	-atheos*)
1454dbbd9e4bSmacallan		os=-atheos
1455dbbd9e4bSmacallan		;;
1456dbbd9e4bSmacallan	-syllable*)
1457dbbd9e4bSmacallan		os=-syllable
1458dbbd9e4bSmacallan		;;
1459dbbd9e4bSmacallan	-386bsd)
1460dbbd9e4bSmacallan		os=-bsd
1461dbbd9e4bSmacallan		;;
1462dbbd9e4bSmacallan	-ctix* | -uts*)
1463dbbd9e4bSmacallan		os=-sysv
1464dbbd9e4bSmacallan		;;
1465dbbd9e4bSmacallan	-nova*)
1466dbbd9e4bSmacallan		os=-rtmk-nova
1467dbbd9e4bSmacallan		;;
1468dbbd9e4bSmacallan	-ns2 )
1469dbbd9e4bSmacallan		os=-nextstep2
1470dbbd9e4bSmacallan		;;
1471dbbd9e4bSmacallan	-nsk*)
1472dbbd9e4bSmacallan		os=-nsk
1473dbbd9e4bSmacallan		;;
1474dbbd9e4bSmacallan	# Preserve the version number of sinix5.
1475dbbd9e4bSmacallan	-sinix5.*)
1476dbbd9e4bSmacallan		os=`echo $os | sed -e 's|sinix|sysv|'`
1477dbbd9e4bSmacallan		;;
1478dbbd9e4bSmacallan	-sinix*)
1479dbbd9e4bSmacallan		os=-sysv4
1480dbbd9e4bSmacallan		;;
1481e96acad6Smrg	-tpf*)
1482dbbd9e4bSmacallan		os=-tpf
1483dbbd9e4bSmacallan		;;
1484dbbd9e4bSmacallan	-triton*)
1485dbbd9e4bSmacallan		os=-sysv3
1486dbbd9e4bSmacallan		;;
1487dbbd9e4bSmacallan	-oss*)
1488dbbd9e4bSmacallan		os=-sysv3
1489dbbd9e4bSmacallan		;;
1490dbbd9e4bSmacallan	-svr4)
1491dbbd9e4bSmacallan		os=-sysv4
1492dbbd9e4bSmacallan		;;
1493dbbd9e4bSmacallan	-svr3)
1494dbbd9e4bSmacallan		os=-sysv3
1495dbbd9e4bSmacallan		;;
1496dbbd9e4bSmacallan	-sysvr4)
1497dbbd9e4bSmacallan		os=-sysv4
1498dbbd9e4bSmacallan		;;
1499dbbd9e4bSmacallan	# This must come after -sysvr4.
1500dbbd9e4bSmacallan	-sysv*)
1501dbbd9e4bSmacallan		;;
1502dbbd9e4bSmacallan	-ose*)
1503dbbd9e4bSmacallan		os=-ose
1504dbbd9e4bSmacallan		;;
1505dbbd9e4bSmacallan	-es1800*)
1506dbbd9e4bSmacallan		os=-ose
1507dbbd9e4bSmacallan		;;
1508dbbd9e4bSmacallan	-xenix)
1509dbbd9e4bSmacallan		os=-xenix
1510dbbd9e4bSmacallan		;;
1511dbbd9e4bSmacallan	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1512dbbd9e4bSmacallan		os=-mint
1513dbbd9e4bSmacallan		;;
1514dbbd9e4bSmacallan	-aros*)
1515dbbd9e4bSmacallan		os=-aros
1516dbbd9e4bSmacallan		;;
1517dbbd9e4bSmacallan	-kaos*)
1518dbbd9e4bSmacallan		os=-kaos
1519dbbd9e4bSmacallan		;;
1520dbbd9e4bSmacallan	-zvmoe)
1521dbbd9e4bSmacallan		os=-zvmoe
1522dbbd9e4bSmacallan		;;
1523e96acad6Smrg	-dicos*)
1524e96acad6Smrg		os=-dicos
1525e96acad6Smrg		;;
1526e96acad6Smrg	-nacl*)
1527e96acad6Smrg		;;
1528dbbd9e4bSmacallan	-none)
1529dbbd9e4bSmacallan		;;
1530dbbd9e4bSmacallan	*)
1531dbbd9e4bSmacallan		# Get rid of the `-' at the beginning of $os.
1532dbbd9e4bSmacallan		os=`echo $os | sed 's/[^-]*-//'`
1533dbbd9e4bSmacallan		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1534dbbd9e4bSmacallan		exit 1
1535dbbd9e4bSmacallan		;;
1536dbbd9e4bSmacallanesac
1537dbbd9e4bSmacallanelse
1538dbbd9e4bSmacallan
1539dbbd9e4bSmacallan# Here we handle the default operating systems that come with various machines.
1540dbbd9e4bSmacallan# The value should be what the vendor currently ships out the door with their
1541dbbd9e4bSmacallan# machine or put another way, the most popular os provided with the machine.
1542dbbd9e4bSmacallan
1543dbbd9e4bSmacallan# Note that if you're going to try to match "-MANUFACTURER" here (say,
1544dbbd9e4bSmacallan# "-sun"), then you have to tell the case statement up towards the top
1545dbbd9e4bSmacallan# that MANUFACTURER isn't an operating system.  Otherwise, code above
1546dbbd9e4bSmacallan# will signal an error saying that MANUFACTURER isn't an operating
1547dbbd9e4bSmacallan# system, and we'll never get to this point.
1548dbbd9e4bSmacallan
1549dbbd9e4bSmacallancase $basic_machine in
1550e96acad6Smrg	score-*)
1551dbbd9e4bSmacallan		os=-elf
1552dbbd9e4bSmacallan		;;
1553e96acad6Smrg	spu-*)
1554dbbd9e4bSmacallan		os=-elf
1555dbbd9e4bSmacallan		;;
1556dbbd9e4bSmacallan	*-acorn)
1557dbbd9e4bSmacallan		os=-riscix1.2
1558dbbd9e4bSmacallan		;;
1559dbbd9e4bSmacallan	arm*-rebel)
1560dbbd9e4bSmacallan		os=-linux
1561dbbd9e4bSmacallan		;;
1562dbbd9e4bSmacallan	arm*-semi)
1563dbbd9e4bSmacallan		os=-aout
1564dbbd9e4bSmacallan		;;
1565e96acad6Smrg	c4x-* | tic4x-*)
1566e96acad6Smrg		os=-coff
1567e96acad6Smrg		;;
1568e96acad6Smrg	hexagon-*)
1569e96acad6Smrg		os=-elf
1570e96acad6Smrg		;;
1571e96acad6Smrg	tic54x-*)
1572e96acad6Smrg		os=-coff
1573e96acad6Smrg		;;
1574e96acad6Smrg	tic55x-*)
1575e96acad6Smrg		os=-coff
1576e96acad6Smrg		;;
1577e96acad6Smrg	tic6x-*)
1578e96acad6Smrg		os=-coff
1579dbbd9e4bSmacallan		;;
1580dbbd9e4bSmacallan	# This must come before the *-dec entry.
1581dbbd9e4bSmacallan	pdp10-*)
1582dbbd9e4bSmacallan		os=-tops20
1583dbbd9e4bSmacallan		;;
1584dbbd9e4bSmacallan	pdp11-*)
1585dbbd9e4bSmacallan		os=-none
1586dbbd9e4bSmacallan		;;
1587dbbd9e4bSmacallan	*-dec | vax-*)
1588dbbd9e4bSmacallan		os=-ultrix4.2
1589dbbd9e4bSmacallan		;;
1590dbbd9e4bSmacallan	m68*-apollo)
1591dbbd9e4bSmacallan		os=-domain
1592dbbd9e4bSmacallan		;;
1593dbbd9e4bSmacallan	i386-sun)
1594dbbd9e4bSmacallan		os=-sunos4.0.2
1595dbbd9e4bSmacallan		;;
1596dbbd9e4bSmacallan	m68000-sun)
1597dbbd9e4bSmacallan		os=-sunos3
1598dbbd9e4bSmacallan		;;
1599dbbd9e4bSmacallan	m68*-cisco)
1600dbbd9e4bSmacallan		os=-aout
1601dbbd9e4bSmacallan		;;
1602e96acad6Smrg	mep-*)
1603dbbd9e4bSmacallan		os=-elf
1604dbbd9e4bSmacallan		;;
1605dbbd9e4bSmacallan	mips*-cisco)
1606dbbd9e4bSmacallan		os=-elf
1607dbbd9e4bSmacallan		;;
1608dbbd9e4bSmacallan	mips*-*)
1609dbbd9e4bSmacallan		os=-elf
1610dbbd9e4bSmacallan		;;
1611dbbd9e4bSmacallan	or32-*)
1612dbbd9e4bSmacallan		os=-coff
1613dbbd9e4bSmacallan		;;
1614dbbd9e4bSmacallan	*-tti)	# must be before sparc entry or we get the wrong os.
1615dbbd9e4bSmacallan		os=-sysv3
1616dbbd9e4bSmacallan		;;
1617dbbd9e4bSmacallan	sparc-* | *-sun)
1618dbbd9e4bSmacallan		os=-sunos4.1.1
1619dbbd9e4bSmacallan		;;
1620dbbd9e4bSmacallan	*-be)
1621dbbd9e4bSmacallan		os=-beos
1622dbbd9e4bSmacallan		;;
1623dbbd9e4bSmacallan	*-haiku)
1624dbbd9e4bSmacallan		os=-haiku
1625dbbd9e4bSmacallan		;;
1626dbbd9e4bSmacallan	*-ibm)
1627dbbd9e4bSmacallan		os=-aix
1628dbbd9e4bSmacallan		;;
1629e96acad6Smrg	*-knuth)
1630dbbd9e4bSmacallan		os=-mmixware
1631dbbd9e4bSmacallan		;;
1632dbbd9e4bSmacallan	*-wec)
1633dbbd9e4bSmacallan		os=-proelf
1634dbbd9e4bSmacallan		;;
1635dbbd9e4bSmacallan	*-winbond)
1636dbbd9e4bSmacallan		os=-proelf
1637dbbd9e4bSmacallan		;;
1638dbbd9e4bSmacallan	*-oki)
1639dbbd9e4bSmacallan		os=-proelf
1640dbbd9e4bSmacallan		;;
1641dbbd9e4bSmacallan	*-hp)
1642dbbd9e4bSmacallan		os=-hpux
1643dbbd9e4bSmacallan		;;
1644dbbd9e4bSmacallan	*-hitachi)
1645dbbd9e4bSmacallan		os=-hiux
1646dbbd9e4bSmacallan		;;
1647dbbd9e4bSmacallan	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1648dbbd9e4bSmacallan		os=-sysv
1649dbbd9e4bSmacallan		;;
1650dbbd9e4bSmacallan	*-cbm)
1651dbbd9e4bSmacallan		os=-amigaos
1652dbbd9e4bSmacallan		;;
1653dbbd9e4bSmacallan	*-dg)
1654dbbd9e4bSmacallan		os=-dgux
1655dbbd9e4bSmacallan		;;
1656dbbd9e4bSmacallan	*-dolphin)
1657dbbd9e4bSmacallan		os=-sysv3
1658dbbd9e4bSmacallan		;;
1659dbbd9e4bSmacallan	m68k-ccur)
1660dbbd9e4bSmacallan		os=-rtu
1661dbbd9e4bSmacallan		;;
1662dbbd9e4bSmacallan	m88k-omron*)
1663dbbd9e4bSmacallan		os=-luna
1664dbbd9e4bSmacallan		;;
1665dbbd9e4bSmacallan	*-next )
1666dbbd9e4bSmacallan		os=-nextstep
1667dbbd9e4bSmacallan		;;
1668dbbd9e4bSmacallan	*-sequent)
1669dbbd9e4bSmacallan		os=-ptx
1670dbbd9e4bSmacallan		;;
1671dbbd9e4bSmacallan	*-crds)
1672dbbd9e4bSmacallan		os=-unos
1673dbbd9e4bSmacallan		;;
1674dbbd9e4bSmacallan	*-ns)
1675dbbd9e4bSmacallan		os=-genix
1676dbbd9e4bSmacallan		;;
1677dbbd9e4bSmacallan	i370-*)
1678dbbd9e4bSmacallan		os=-mvs
1679dbbd9e4bSmacallan		;;
1680dbbd9e4bSmacallan	*-next)
1681dbbd9e4bSmacallan		os=-nextstep3
1682dbbd9e4bSmacallan		;;
1683dbbd9e4bSmacallan	*-gould)
1684dbbd9e4bSmacallan		os=-sysv
1685dbbd9e4bSmacallan		;;
1686dbbd9e4bSmacallan	*-highlevel)
1687dbbd9e4bSmacallan		os=-bsd
1688dbbd9e4bSmacallan		;;
1689dbbd9e4bSmacallan	*-encore)
1690dbbd9e4bSmacallan		os=-bsd
1691dbbd9e4bSmacallan		;;
1692dbbd9e4bSmacallan	*-sgi)
1693dbbd9e4bSmacallan		os=-irix
1694dbbd9e4bSmacallan		;;
1695dbbd9e4bSmacallan	*-siemens)
1696dbbd9e4bSmacallan		os=-sysv4
1697dbbd9e4bSmacallan		;;
1698dbbd9e4bSmacallan	*-masscomp)
1699dbbd9e4bSmacallan		os=-rtu
1700dbbd9e4bSmacallan		;;
1701dbbd9e4bSmacallan	f30[01]-fujitsu | f700-fujitsu)
1702dbbd9e4bSmacallan		os=-uxpv
1703dbbd9e4bSmacallan		;;
1704dbbd9e4bSmacallan	*-rom68k)
1705dbbd9e4bSmacallan		os=-coff
1706dbbd9e4bSmacallan		;;
1707dbbd9e4bSmacallan	*-*bug)
1708dbbd9e4bSmacallan		os=-coff
1709dbbd9e4bSmacallan		;;
1710dbbd9e4bSmacallan	*-apple)
1711dbbd9e4bSmacallan		os=-macos
1712dbbd9e4bSmacallan		;;
1713dbbd9e4bSmacallan	*-atari*)
1714dbbd9e4bSmacallan		os=-mint
1715dbbd9e4bSmacallan		;;
1716dbbd9e4bSmacallan	*)
1717dbbd9e4bSmacallan		os=-none
1718dbbd9e4bSmacallan		;;
1719dbbd9e4bSmacallanesac
1720dbbd9e4bSmacallanfi
1721dbbd9e4bSmacallan
1722dbbd9e4bSmacallan# Here we handle the case where we know the os, and the CPU type, but not the
1723dbbd9e4bSmacallan# manufacturer.  We pick the logical manufacturer.
1724dbbd9e4bSmacallanvendor=unknown
1725dbbd9e4bSmacallancase $basic_machine in
1726dbbd9e4bSmacallan	*-unknown)
1727dbbd9e4bSmacallan		case $os in
1728dbbd9e4bSmacallan			-riscix*)
1729dbbd9e4bSmacallan				vendor=acorn
1730dbbd9e4bSmacallan				;;
1731dbbd9e4bSmacallan			-sunos*)
1732dbbd9e4bSmacallan				vendor=sun
1733dbbd9e4bSmacallan				;;
1734e96acad6Smrg			-cnk*|-aix*)
1735dbbd9e4bSmacallan				vendor=ibm
1736dbbd9e4bSmacallan				;;
1737dbbd9e4bSmacallan			-beos*)
1738dbbd9e4bSmacallan				vendor=be
1739dbbd9e4bSmacallan				;;
1740dbbd9e4bSmacallan			-hpux*)
1741dbbd9e4bSmacallan				vendor=hp
1742dbbd9e4bSmacallan				;;
1743dbbd9e4bSmacallan			-mpeix*)
1744dbbd9e4bSmacallan				vendor=hp
1745dbbd9e4bSmacallan				;;
1746dbbd9e4bSmacallan			-hiux*)
1747dbbd9e4bSmacallan				vendor=hitachi
1748dbbd9e4bSmacallan				;;
1749dbbd9e4bSmacallan			-unos*)
1750dbbd9e4bSmacallan				vendor=crds
1751dbbd9e4bSmacallan				;;
1752dbbd9e4bSmacallan			-dgux*)
1753dbbd9e4bSmacallan				vendor=dg
1754dbbd9e4bSmacallan				;;
1755dbbd9e4bSmacallan			-luna*)
1756dbbd9e4bSmacallan				vendor=omron
1757dbbd9e4bSmacallan				;;
1758dbbd9e4bSmacallan			-genix*)
1759dbbd9e4bSmacallan				vendor=ns
1760dbbd9e4bSmacallan				;;
1761dbbd9e4bSmacallan			-mvs* | -opened*)
1762dbbd9e4bSmacallan				vendor=ibm
1763dbbd9e4bSmacallan				;;
1764dbbd9e4bSmacallan			-os400*)
1765dbbd9e4bSmacallan				vendor=ibm
1766dbbd9e4bSmacallan				;;
1767dbbd9e4bSmacallan			-ptx*)
1768dbbd9e4bSmacallan				vendor=sequent
1769dbbd9e4bSmacallan				;;
1770dbbd9e4bSmacallan			-tpf*)
1771dbbd9e4bSmacallan				vendor=ibm
1772dbbd9e4bSmacallan				;;
1773dbbd9e4bSmacallan			-vxsim* | -vxworks* | -windiss*)
1774dbbd9e4bSmacallan				vendor=wrs
1775dbbd9e4bSmacallan				;;
1776dbbd9e4bSmacallan			-aux*)
1777dbbd9e4bSmacallan				vendor=apple
1778dbbd9e4bSmacallan				;;
1779dbbd9e4bSmacallan			-hms*)
1780dbbd9e4bSmacallan				vendor=hitachi
1781dbbd9e4bSmacallan				;;
1782dbbd9e4bSmacallan			-mpw* | -macos*)
1783dbbd9e4bSmacallan				vendor=apple
1784dbbd9e4bSmacallan				;;
1785dbbd9e4bSmacallan			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1786dbbd9e4bSmacallan				vendor=atari
1787dbbd9e4bSmacallan				;;
1788dbbd9e4bSmacallan			-vos*)
1789dbbd9e4bSmacallan				vendor=stratus
1790dbbd9e4bSmacallan				;;
1791dbbd9e4bSmacallan		esac
1792dbbd9e4bSmacallan		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1793dbbd9e4bSmacallan		;;
1794dbbd9e4bSmacallanesac
1795dbbd9e4bSmacallan
1796dbbd9e4bSmacallanecho $basic_machine$os
1797dbbd9e4bSmacallanexit
1798dbbd9e4bSmacallan
1799dbbd9e4bSmacallan# Local variables:
1800dbbd9e4bSmacallan# eval: (add-hook 'write-file-hooks 'time-stamp)
1801dbbd9e4bSmacallan# time-stamp-start: "timestamp='"
1802dbbd9e4bSmacallan# time-stamp-format: "%:y-%02m-%02d"
1803dbbd9e4bSmacallan# time-stamp-end: "'"
1804dbbd9e4bSmacallan# End:
1805