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