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