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