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