config.sub revision 3e51e026
1943345d3Smrg#! /bin/sh
2943345d3Smrg# Configuration validation subroutine script.
3943345d3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
43e51e026Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
53e51e026Smrg#   2011, 2012 Free Software Foundation, Inc.
6943345d3Smrg
73e51e026Smrgtimestamp='2012-01-01'
8943345d3Smrg
9943345d3Smrg# This file is (in principle) common to ALL GNU software.
10943345d3Smrg# The presence of a machine in this file suggests that SOME GNU software
11943345d3Smrg# can handle that machine.  It does not imply ALL GNU software can.
12943345d3Smrg#
13943345d3Smrg# This file is free software; you can redistribute it and/or modify
14943345d3Smrg# it under the terms of the GNU General Public License as published by
15943345d3Smrg# the Free Software Foundation; either version 2 of the License, or
16943345d3Smrg# (at your option) any later version.
17943345d3Smrg#
18943345d3Smrg# This program is distributed in the hope that it will be useful,
19943345d3Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20943345d3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21943345d3Smrg# GNU General Public License for more details.
22943345d3Smrg#
23943345d3Smrg# You should have received a copy of the GNU General Public License
24943345d3Smrg# along with this program; if not, write to the Free Software
25f67b85aaSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26f67b85aaSmrg# 02110-1301, USA.
27f67b85aaSmrg#
28943345d3Smrg# As a special exception to the GNU General Public License, if you
29943345d3Smrg# distribute this file as part of a program that contains a
30943345d3Smrg# configuration script generated by Autoconf, you may include it under
31943345d3Smrg# the same distribution terms that you use for the rest of that program.
32943345d3Smrg
33f67b85aaSmrg
34943345d3Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35a7b590b3Smrg# diff and a properly formatted GNU ChangeLog entry.
36943345d3Smrg#
37943345d3Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38943345d3Smrg# Supply the specified configuration type as an argument.
39943345d3Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40943345d3Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41943345d3Smrg
42a7b590b3Smrg# You can get the latest version of this script from:
43a7b590b3Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44a7b590b3Smrg
45943345d3Smrg# This file is supposed to be the same for all GNU packages
46943345d3Smrg# and recognize all the CPU types, system types and aliases
47943345d3Smrg# that are meaningful with *any* GNU software.
48943345d3Smrg# Each package is responsible for reporting which valid configurations
49943345d3Smrg# it does not support.  The user should be able to distinguish
50943345d3Smrg# a failure to support a valid configuration from a meaningless
51943345d3Smrg# configuration.
52943345d3Smrg
53943345d3Smrg# The goal of this file is to map all the various variations of a given
54943345d3Smrg# machine specification into a single specification in the form:
55943345d3Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56943345d3Smrg# or in some cases, the newer four-part form:
57943345d3Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58943345d3Smrg# It is wrong to echo any other type of specification.
59943345d3Smrg
60943345d3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61943345d3Smrg
62943345d3Smrgusage="\
63943345d3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64943345d3Smrg       $0 [OPTION] ALIAS
65943345d3Smrg
66943345d3SmrgCanonicalize a configuration name.
67943345d3Smrg
68943345d3SmrgOperation modes:
69943345d3Smrg  -h, --help         print this help, then exit
70943345d3Smrg  -t, --time-stamp   print date of last modification, then exit
71943345d3Smrg  -v, --version      print version number, then exit
72943345d3Smrg
73943345d3SmrgReport bugs and patches to <config-patches@gnu.org>."
74943345d3Smrg
75943345d3Smrgversion="\
76943345d3SmrgGNU config.sub ($timestamp)
77943345d3Smrg
783e51e026SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
793e51e026Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
803e51e026SmrgFree Software Foundation, Inc.
81943345d3Smrg
82943345d3SmrgThis is free software; see the source for copying conditions.  There is NO
83943345d3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84943345d3Smrg
85943345d3Smrghelp="
86943345d3SmrgTry \`$me --help' for more information."
87943345d3Smrg
88943345d3Smrg# Parse command line
89943345d3Smrgwhile test $# -gt 0 ; do
90943345d3Smrg  case $1 in
91943345d3Smrg    --time-stamp | --time* | -t )
92f67b85aaSmrg       echo "$timestamp" ; exit ;;
93943345d3Smrg    --version | -v )
94f67b85aaSmrg       echo "$version" ; exit ;;
95943345d3Smrg    --help | --h* | -h )
96f67b85aaSmrg       echo "$usage"; exit ;;
97943345d3Smrg    -- )     # Stop option processing
98943345d3Smrg       shift; break ;;
99943345d3Smrg    - )	# Use stdin as input.
100943345d3Smrg       break ;;
101943345d3Smrg    -* )
102943345d3Smrg       echo "$me: invalid option $1$help"
103943345d3Smrg       exit 1 ;;
104943345d3Smrg
105943345d3Smrg    *local*)
106943345d3Smrg       # First pass through any local machine types.
107943345d3Smrg       echo $1
108f67b85aaSmrg       exit ;;
109943345d3Smrg
110943345d3Smrg    * )
111943345d3Smrg       break ;;
112943345d3Smrg  esac
113943345d3Smrgdone
114943345d3Smrg
115943345d3Smrgcase $# in
116943345d3Smrg 0) echo "$me: missing argument$help" >&2
117943345d3Smrg    exit 1;;
118943345d3Smrg 1) ;;
119943345d3Smrg *) echo "$me: too many arguments$help" >&2
120943345d3Smrg    exit 1;;
121943345d3Smrgesac
122943345d3Smrg
123943345d3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124943345d3Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125943345d3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126943345d3Smrgcase $maybe_os in
1273e51e026Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1283e51e026Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1293e51e026Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130a7b590b3Smrg  kopensolaris*-gnu* | \
131f67b85aaSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
132943345d3Smrg    os=-$maybe_os
133943345d3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134943345d3Smrg    ;;
135943345d3Smrg  *)
136943345d3Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137943345d3Smrg    if [ $basic_machine != $1 ]
138943345d3Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139943345d3Smrg    else os=; fi
140943345d3Smrg    ;;
141943345d3Smrgesac
142943345d3Smrg
143943345d3Smrg### Let's recognize common machines as not being operating systems so
144943345d3Smrg### that things like config.sub decstation-3100 work.  We also
145943345d3Smrg### recognize some manufacturers as not being operating systems, so we
146943345d3Smrg### can provide default operating systems below.
147943345d3Smrgcase $os in
148943345d3Smrg	-sun*os*)
149943345d3Smrg		# Prevent following clause from handling this invalid input.
150943345d3Smrg		;;
151943345d3Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152943345d3Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153943345d3Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154943345d3Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155943345d3Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156943345d3Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157a7b590b3Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158943345d3Smrg		os=
159943345d3Smrg		basic_machine=$1
160943345d3Smrg		;;
1613e51e026Smrg	-bluegene*)
1623e51e026Smrg		os=-cnk
163a7b590b3Smrg		;;
164943345d3Smrg	-sim | -cisco | -oki | -wec | -winbond)
165943345d3Smrg		os=
166943345d3Smrg		basic_machine=$1
167943345d3Smrg		;;
168943345d3Smrg	-scout)
169943345d3Smrg		;;
170943345d3Smrg	-wrs)
171943345d3Smrg		os=-vxworks
172943345d3Smrg		basic_machine=$1
173943345d3Smrg		;;
174943345d3Smrg	-chorusos*)
175943345d3Smrg		os=-chorusos
176943345d3Smrg		basic_machine=$1
177943345d3Smrg		;;
1783e51e026Smrg	-chorusrdb)
1793e51e026Smrg		os=-chorusrdb
180943345d3Smrg		basic_machine=$1
1813e51e026Smrg		;;
182943345d3Smrg	-hiux*)
183943345d3Smrg		os=-hiuxwe2
184943345d3Smrg		;;
185f67b85aaSmrg	-sco6)
186f67b85aaSmrg		os=-sco5v6
187f67b85aaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188f67b85aaSmrg		;;
189943345d3Smrg	-sco5)
190943345d3Smrg		os=-sco3.2v5
191943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192943345d3Smrg		;;
193943345d3Smrg	-sco4)
194943345d3Smrg		os=-sco3.2v4
195943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196943345d3Smrg		;;
197943345d3Smrg	-sco3.2.[4-9]*)
198943345d3Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200943345d3Smrg		;;
201943345d3Smrg	-sco3.2v[4-9]*)
202943345d3Smrg		# Don't forget version if it is 3.2v4 or newer.
203943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204943345d3Smrg		;;
205f67b85aaSmrg	-sco5v6*)
206f67b85aaSmrg		# Don't forget version if it is 3.2v4 or newer.
207f67b85aaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208f67b85aaSmrg		;;
209943345d3Smrg	-sco*)
210943345d3Smrg		os=-sco3.2v2
211943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212943345d3Smrg		;;
213943345d3Smrg	-udk*)
214943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215943345d3Smrg		;;
216943345d3Smrg	-isc)
217943345d3Smrg		os=-isc2.2
218943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219943345d3Smrg		;;
220943345d3Smrg	-clix*)
221943345d3Smrg		basic_machine=clipper-intergraph
222943345d3Smrg		;;
223943345d3Smrg	-isc*)
224943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225943345d3Smrg		;;
226943345d3Smrg	-lynx*)
227943345d3Smrg		os=-lynxos
228943345d3Smrg		;;
229943345d3Smrg	-ptx*)
230943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231943345d3Smrg		;;
232943345d3Smrg	-windowsnt*)
233943345d3Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234943345d3Smrg		;;
235943345d3Smrg	-psos*)
236943345d3Smrg		os=-psos
237943345d3Smrg		;;
238943345d3Smrg	-mint | -mint[0-9]*)
239943345d3Smrg		basic_machine=m68k-atari
240943345d3Smrg		os=-mint
241943345d3Smrg		;;
242943345d3Smrgesac
243943345d3Smrg
244943345d3Smrg# Decode aliases for certain CPU-COMPANY combinations.
245943345d3Smrgcase $basic_machine in
246943345d3Smrg	# Recognize the basic CPU types without company name.
247943345d3Smrg	# Some are omitted here because they have special meanings below.
248943345d3Smrg	1750a | 580 \
249943345d3Smrg	| a29k \
250943345d3Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251943345d3Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252f67b85aaSmrg	| am33_2.0 \
253f67b85aaSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2543e51e026Smrg        | be32 | be64 \
255f67b85aaSmrg	| bfin \
256943345d3Smrg	| c4x | clipper \
257943345d3Smrg	| d10v | d30v | dlx | dsp16xx \
2583e51e026Smrg	| epiphany \
2595e695a52Smrg	| fido | fr30 | frv \
260943345d3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2613e51e026Smrg	| hexagon \
262943345d3Smrg	| i370 | i860 | i960 | ia64 \
263f67b85aaSmrg	| ip2k | iq2000 \
2643e51e026Smrg	| le32 | le64 \
265a7b590b3Smrg	| lm32 \
266f67b85aaSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267a7b590b3Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268943345d3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269943345d3Smrg	| mips16 \
270943345d3Smrg	| mips64 | mips64el \
271a7b590b3Smrg	| mips64octeon | mips64octeonel \
272943345d3Smrg	| mips64orion | mips64orionel \
273a7b590b3Smrg	| mips64r5900 | mips64r5900el \
274a7b590b3Smrg	| mips64vr | mips64vrel \
275943345d3Smrg	| mips64vr4100 | mips64vr4100el \
276943345d3Smrg	| mips64vr4300 | mips64vr4300el \
277943345d3Smrg	| mips64vr5000 | mips64vr5000el \
278f67b85aaSmrg	| mips64vr5900 | mips64vr5900el \
279943345d3Smrg	| mipsisa32 | mipsisa32el \
280943345d3Smrg	| mipsisa32r2 | mipsisa32r2el \
281943345d3Smrg	| mipsisa64 | mipsisa64el \
282f67b85aaSmrg	| mipsisa64r2 | mipsisa64r2el \
283943345d3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
284943345d3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
285943345d3Smrg	| mipstx39 | mipstx39el \
286943345d3Smrg	| mn10200 | mn10300 \
287a7b590b3Smrg	| moxie \
288f67b85aaSmrg	| mt \
289943345d3Smrg	| msp430 \
2903e51e026Smrg	| nds32 | nds32le | nds32be \
291f67b85aaSmrg	| nios | nios2 \
292943345d3Smrg	| ns16k | ns32k \
2933e51e026Smrg	| open8 \
294f67b85aaSmrg	| or32 \
295943345d3Smrg	| pdp10 | pdp11 | pj | pjl \
2963e51e026Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297943345d3Smrg	| pyramid \
2983e51e026Smrg	| rl78 | rx \
299f67b85aaSmrg	| score \
300a7b590b3Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301943345d3Smrg	| sh64 | sh64le \
302f67b85aaSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303f67b85aaSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3043e51e026Smrg	| spu \
3053e51e026Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306a7b590b3Smrg	| ubicom32 \
3073e51e026Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308943345d3Smrg	| we32k \
3093e51e026Smrg	| x86 | xc16x | xstormy16 | xtensa \
310a7b590b3Smrg	| z8k | z80)
311943345d3Smrg		basic_machine=$basic_machine-unknown
312943345d3Smrg		;;
3133e51e026Smrg	c54x)
3143e51e026Smrg		basic_machine=tic54x-unknown
3153e51e026Smrg		;;
3163e51e026Smrg	c55x)
3173e51e026Smrg		basic_machine=tic55x-unknown
3183e51e026Smrg		;;
3193e51e026Smrg	c6x)
3203e51e026Smrg		basic_machine=tic6x-unknown
3213e51e026Smrg		;;
322a7b590b3Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323943345d3Smrg		basic_machine=$basic_machine-unknown
324943345d3Smrg		os=-none
325943345d3Smrg		;;
326943345d3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
327943345d3Smrg		;;
328f67b85aaSmrg	ms1)
329f67b85aaSmrg		basic_machine=mt-unknown
330f67b85aaSmrg		;;
331943345d3Smrg
3323e51e026Smrg	strongarm | thumb | xscale)
3333e51e026Smrg		basic_machine=arm-unknown
3343e51e026Smrg		;;
3353e51e026Smrg
3363e51e026Smrg	xscaleeb)
3373e51e026Smrg		basic_machine=armeb-unknown
3383e51e026Smrg		;;
3393e51e026Smrg
3403e51e026Smrg	xscaleel)
3413e51e026Smrg		basic_machine=armel-unknown
3423e51e026Smrg		;;
3433e51e026Smrg
344943345d3Smrg	# We use `pc' rather than `unknown'
345943345d3Smrg	# because (1) that's what they normally are, and
346943345d3Smrg	# (2) the word "unknown" tends to confuse beginning users.
347943345d3Smrg	i*86 | x86_64)
348943345d3Smrg	  basic_machine=$basic_machine-pc
349943345d3Smrg	  ;;
350943345d3Smrg	# Object if more than one company name word.
351943345d3Smrg	*-*-*)
352943345d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
353943345d3Smrg		exit 1
354943345d3Smrg		;;
355943345d3Smrg	# Recognize the basic CPU types with company name.
356943345d3Smrg	580-* \
357943345d3Smrg	| a29k-* \
358943345d3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
359943345d3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
360943345d3Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
361943345d3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
362f67b85aaSmrg	| avr-* | avr32-* \
3633e51e026Smrg	| be32-* | be64-* \
364f67b85aaSmrg	| bfin-* | bs2000-* \
3653e51e026Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
366f67b85aaSmrg	| clipper-* | craynv-* | cydra-* \
367943345d3Smrg	| d10v-* | d30v-* | dlx-* \
368943345d3Smrg	| elxsi-* \
3695e695a52Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
370943345d3Smrg	| h8300-* | h8500-* \
371943345d3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3723e51e026Smrg	| hexagon-* \
373943345d3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
374f67b85aaSmrg	| ip2k-* | iq2000-* \
3753e51e026Smrg	| le32-* | le64-* \
376a7b590b3Smrg	| lm32-* \
377f67b85aaSmrg	| m32c-* | m32r-* | m32rle-* \
378943345d3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379a7b590b3Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
380943345d3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
381943345d3Smrg	| mips16-* \
382943345d3Smrg	| mips64-* | mips64el-* \
383a7b590b3Smrg	| mips64octeon-* | mips64octeonel-* \
384943345d3Smrg	| mips64orion-* | mips64orionel-* \
385a7b590b3Smrg	| mips64r5900-* | mips64r5900el-* \
386a7b590b3Smrg	| mips64vr-* | mips64vrel-* \
387943345d3Smrg	| mips64vr4100-* | mips64vr4100el-* \
388943345d3Smrg	| mips64vr4300-* | mips64vr4300el-* \
389943345d3Smrg	| mips64vr5000-* | mips64vr5000el-* \
390f67b85aaSmrg	| mips64vr5900-* | mips64vr5900el-* \
391943345d3Smrg	| mipsisa32-* | mipsisa32el-* \
392943345d3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
393943345d3Smrg	| mipsisa64-* | mipsisa64el-* \
394f67b85aaSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
395943345d3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
396943345d3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
397943345d3Smrg	| mipstx39-* | mipstx39el-* \
398f67b85aaSmrg	| mmix-* \
399f67b85aaSmrg	| mt-* \
400943345d3Smrg	| msp430-* \
4013e51e026Smrg	| nds32-* | nds32le-* | nds32be-* \
402f67b85aaSmrg	| nios-* | nios2-* \
403f67b85aaSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
4043e51e026Smrg	| open8-* \
405943345d3Smrg	| orion-* \
406943345d3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4073e51e026Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
408943345d3Smrg	| pyramid-* \
4093e51e026Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
410a7b590b3Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
411943345d3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
412f67b85aaSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
413f67b85aaSmrg	| sparclite-* \
4143e51e026Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4153e51e026Smrg	| tahoe-* \
4163e51e026Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4173e51e026Smrg	| tile*-* \
418943345d3Smrg	| tron-* \
419a7b590b3Smrg	| ubicom32-* \
4203e51e026Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4213e51e026Smrg	| vax-* \
422943345d3Smrg	| we32k-* \
4233e51e026Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4245e695a52Smrg	| xstormy16-* | xtensa*-* \
425943345d3Smrg	| ymp-* \
426a7b590b3Smrg	| z8k-* | z80-*)
427943345d3Smrg		;;
4285e695a52Smrg	# Recognize the basic CPU types without company name, with glob match.
4295e695a52Smrg	xtensa*)
4305e695a52Smrg		basic_machine=$basic_machine-unknown
4315e695a52Smrg		;;
432943345d3Smrg	# Recognize the various machine names and aliases which stand
433943345d3Smrg	# for a CPU type and a company and sometimes even an OS.
434943345d3Smrg	386bsd)
435943345d3Smrg		basic_machine=i386-unknown
436943345d3Smrg		os=-bsd
437943345d3Smrg		;;
438943345d3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
439943345d3Smrg		basic_machine=m68000-att
440943345d3Smrg		;;
441943345d3Smrg	3b*)
442943345d3Smrg		basic_machine=we32k-att
443943345d3Smrg		;;
444943345d3Smrg	a29khif)
445943345d3Smrg		basic_machine=a29k-amd
446943345d3Smrg		os=-udi
447943345d3Smrg		;;
4483e51e026Smrg	abacus)
449f67b85aaSmrg		basic_machine=abacus-unknown
450f67b85aaSmrg		;;
451943345d3Smrg	adobe68k)
452943345d3Smrg		basic_machine=m68010-adobe
453943345d3Smrg		os=-scout
454943345d3Smrg		;;
455943345d3Smrg	alliant | fx80)
456943345d3Smrg		basic_machine=fx80-alliant
457943345d3Smrg		;;
458943345d3Smrg	altos | altos3068)
459943345d3Smrg		basic_machine=m68k-altos
460943345d3Smrg		;;
461943345d3Smrg	am29k)
462943345d3Smrg		basic_machine=a29k-none
463943345d3Smrg		os=-bsd
464943345d3Smrg		;;
465943345d3Smrg	amd64)
466943345d3Smrg		basic_machine=x86_64-pc
467943345d3Smrg		;;
468f67b85aaSmrg	amd64-*)
469f67b85aaSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
470f67b85aaSmrg		;;
471943345d3Smrg	amdahl)
472943345d3Smrg		basic_machine=580-amdahl
473943345d3Smrg		os=-sysv
474943345d3Smrg		;;
475943345d3Smrg	amiga | amiga-*)
476943345d3Smrg		basic_machine=m68k-unknown
477943345d3Smrg		;;
478943345d3Smrg	amigaos | amigados)
479943345d3Smrg		basic_machine=m68k-unknown
480943345d3Smrg		os=-amigaos
481943345d3Smrg		;;
482943345d3Smrg	amigaunix | amix)
483943345d3Smrg		basic_machine=m68k-unknown
484943345d3Smrg		os=-sysv4
485943345d3Smrg		;;
486943345d3Smrg	apollo68)
487943345d3Smrg		basic_machine=m68k-apollo
488943345d3Smrg		os=-sysv
489943345d3Smrg		;;
490943345d3Smrg	apollo68bsd)
491943345d3Smrg		basic_machine=m68k-apollo
492943345d3Smrg		os=-bsd
493943345d3Smrg		;;
494a7b590b3Smrg	aros)
495a7b590b3Smrg		basic_machine=i386-pc
496a7b590b3Smrg		os=-aros
497a7b590b3Smrg		;;
498943345d3Smrg	aux)
499943345d3Smrg		basic_machine=m68k-apple
500943345d3Smrg		os=-aux
501943345d3Smrg		;;
502943345d3Smrg	balance)
503943345d3Smrg		basic_machine=ns32k-sequent
504943345d3Smrg		os=-dynix
505943345d3Smrg		;;
5065e695a52Smrg	blackfin)
5075e695a52Smrg		basic_machine=bfin-unknown
5085e695a52Smrg		os=-linux
5095e695a52Smrg		;;
5105e695a52Smrg	blackfin-*)
5115e695a52Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5125e695a52Smrg		os=-linux
5135e695a52Smrg		;;
514a7b590b3Smrg	bluegene*)
515a7b590b3Smrg		basic_machine=powerpc-ibm
516a7b590b3Smrg		os=-cnk
517a7b590b3Smrg		;;
5183e51e026Smrg	c54x-*)
5193e51e026Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5203e51e026Smrg		;;
5213e51e026Smrg	c55x-*)
5223e51e026Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5233e51e026Smrg		;;
5243e51e026Smrg	c6x-*)
5253e51e026Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5263e51e026Smrg		;;
527943345d3Smrg	c90)
528943345d3Smrg		basic_machine=c90-cray
529943345d3Smrg		os=-unicos
530943345d3Smrg		;;
5313e51e026Smrg	cegcc)
532a7b590b3Smrg		basic_machine=arm-unknown
533a7b590b3Smrg		os=-cegcc
534a7b590b3Smrg		;;
535943345d3Smrg	convex-c1)
536943345d3Smrg		basic_machine=c1-convex
537943345d3Smrg		os=-bsd
538943345d3Smrg		;;
539943345d3Smrg	convex-c2)
540943345d3Smrg		basic_machine=c2-convex
541943345d3Smrg		os=-bsd
542943345d3Smrg		;;
543943345d3Smrg	convex-c32)
544943345d3Smrg		basic_machine=c32-convex
545943345d3Smrg		os=-bsd
546943345d3Smrg		;;
547943345d3Smrg	convex-c34)
548943345d3Smrg		basic_machine=c34-convex
549943345d3Smrg		os=-bsd
550943345d3Smrg		;;
551943345d3Smrg	convex-c38)
552943345d3Smrg		basic_machine=c38-convex
553943345d3Smrg		os=-bsd
554943345d3Smrg		;;
555943345d3Smrg	cray | j90)
556943345d3Smrg		basic_machine=j90-cray
557943345d3Smrg		os=-unicos
558943345d3Smrg		;;
559f67b85aaSmrg	craynv)
560f67b85aaSmrg		basic_machine=craynv-cray
561f67b85aaSmrg		os=-unicosmp
562f67b85aaSmrg		;;
5633e51e026Smrg	cr16 | cr16-*)
5645e695a52Smrg		basic_machine=cr16-unknown
565f67b85aaSmrg		os=-elf
566f67b85aaSmrg		;;
567943345d3Smrg	crds | unos)
568943345d3Smrg		basic_machine=m68k-crds
569943345d3Smrg		;;
570f67b85aaSmrg	crisv32 | crisv32-* | etraxfs*)
571f67b85aaSmrg		basic_machine=crisv32-axis
572f67b85aaSmrg		;;
573943345d3Smrg	cris | cris-* | etrax*)
574943345d3Smrg		basic_machine=cris-axis
575943345d3Smrg		;;
576f67b85aaSmrg	crx)
577f67b85aaSmrg		basic_machine=crx-unknown
578f67b85aaSmrg		os=-elf
579f67b85aaSmrg		;;
580943345d3Smrg	da30 | da30-*)
581943345d3Smrg		basic_machine=m68k-da30
582943345d3Smrg		;;
583943345d3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
584943345d3Smrg		basic_machine=mips-dec
585943345d3Smrg		;;
586943345d3Smrg	decsystem10* | dec10*)
587943345d3Smrg		basic_machine=pdp10-dec
588943345d3Smrg		os=-tops10
589943345d3Smrg		;;
590943345d3Smrg	decsystem20* | dec20*)
591943345d3Smrg		basic_machine=pdp10-dec
592943345d3Smrg		os=-tops20
593943345d3Smrg		;;
594943345d3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
595943345d3Smrg	      | 3300-motorola | delta-motorola)
596943345d3Smrg		basic_machine=m68k-motorola
597943345d3Smrg		;;
598943345d3Smrg	delta88)
599943345d3Smrg		basic_machine=m88k-motorola
600943345d3Smrg		os=-sysv3
601943345d3Smrg		;;
602a7b590b3Smrg	dicos)
603a7b590b3Smrg		basic_machine=i686-pc
604a7b590b3Smrg		os=-dicos
605a7b590b3Smrg		;;
606f67b85aaSmrg	djgpp)
607f67b85aaSmrg		basic_machine=i586-pc
608f67b85aaSmrg		os=-msdosdjgpp
609f67b85aaSmrg		;;
610943345d3Smrg	dpx20 | dpx20-*)
611943345d3Smrg		basic_machine=rs6000-bull
612943345d3Smrg		os=-bosx
613943345d3Smrg		;;
614943345d3Smrg	dpx2* | dpx2*-bull)
615943345d3Smrg		basic_machine=m68k-bull
616943345d3Smrg		os=-sysv3
617943345d3Smrg		;;
618943345d3Smrg	ebmon29k)
619943345d3Smrg		basic_machine=a29k-amd
620943345d3Smrg		os=-ebmon
621943345d3Smrg		;;
622943345d3Smrg	elxsi)
623943345d3Smrg		basic_machine=elxsi-elxsi
624943345d3Smrg		os=-bsd
625943345d3Smrg		;;
626943345d3Smrg	encore | umax | mmax)
627943345d3Smrg		basic_machine=ns32k-encore
628943345d3Smrg		;;
629943345d3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
630943345d3Smrg		basic_machine=m68k-ericsson
631943345d3Smrg		os=-ose
632943345d3Smrg		;;
633943345d3Smrg	fx2800)
634943345d3Smrg		basic_machine=i860-alliant
635943345d3Smrg		;;
636943345d3Smrg	genix)
637943345d3Smrg		basic_machine=ns32k-ns
638943345d3Smrg		;;
639943345d3Smrg	gmicro)
640943345d3Smrg		basic_machine=tron-gmicro
641943345d3Smrg		os=-sysv
642943345d3Smrg		;;
643943345d3Smrg	go32)
644943345d3Smrg		basic_machine=i386-pc
645943345d3Smrg		os=-go32
646943345d3Smrg		;;
647943345d3Smrg	h3050r* | hiux*)
648943345d3Smrg		basic_machine=hppa1.1-hitachi
649943345d3Smrg		os=-hiuxwe2
650943345d3Smrg		;;
651943345d3Smrg	h8300hms)
652943345d3Smrg		basic_machine=h8300-hitachi
653943345d3Smrg		os=-hms
654943345d3Smrg		;;
655943345d3Smrg	h8300xray)
656943345d3Smrg		basic_machine=h8300-hitachi
657943345d3Smrg		os=-xray
658943345d3Smrg		;;
659943345d3Smrg	h8500hms)
660943345d3Smrg		basic_machine=h8500-hitachi
661943345d3Smrg		os=-hms
662943345d3Smrg		;;
663943345d3Smrg	harris)
664943345d3Smrg		basic_machine=m88k-harris
665943345d3Smrg		os=-sysv3
666943345d3Smrg		;;
667943345d3Smrg	hp300-*)
668943345d3Smrg		basic_machine=m68k-hp
669943345d3Smrg		;;
670943345d3Smrg	hp300bsd)
671943345d3Smrg		basic_machine=m68k-hp
672943345d3Smrg		os=-bsd
673943345d3Smrg		;;
674943345d3Smrg	hp300hpux)
675943345d3Smrg		basic_machine=m68k-hp
676943345d3Smrg		os=-hpux
677943345d3Smrg		;;
678943345d3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
679943345d3Smrg		basic_machine=hppa1.0-hp
680943345d3Smrg		;;
681943345d3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
682943345d3Smrg		basic_machine=m68000-hp
683943345d3Smrg		;;
684943345d3Smrg	hp9k3[2-9][0-9])
685943345d3Smrg		basic_machine=m68k-hp
686943345d3Smrg		;;
687943345d3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
688943345d3Smrg		basic_machine=hppa1.0-hp
689943345d3Smrg		;;
690943345d3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
691943345d3Smrg		basic_machine=hppa1.1-hp
692943345d3Smrg		;;
693943345d3Smrg	hp9k78[0-9] | hp78[0-9])
694943345d3Smrg		# FIXME: really hppa2.0-hp
695943345d3Smrg		basic_machine=hppa1.1-hp
696943345d3Smrg		;;
697943345d3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
698943345d3Smrg		# FIXME: really hppa2.0-hp
699943345d3Smrg		basic_machine=hppa1.1-hp
700943345d3Smrg		;;
701943345d3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
702943345d3Smrg		basic_machine=hppa1.1-hp
703943345d3Smrg		;;
704943345d3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
705943345d3Smrg		basic_machine=hppa1.0-hp
706943345d3Smrg		;;
707943345d3Smrg	hppa-next)
708943345d3Smrg		os=-nextstep3
709943345d3Smrg		;;
710943345d3Smrg	hppaosf)
711943345d3Smrg		basic_machine=hppa1.1-hp
712943345d3Smrg		os=-osf
713943345d3Smrg		;;
714943345d3Smrg	hppro)
715943345d3Smrg		basic_machine=hppa1.1-hp
716943345d3Smrg		os=-proelf
717943345d3Smrg		;;
718943345d3Smrg	i370-ibm* | ibm*)
719943345d3Smrg		basic_machine=i370-ibm
720943345d3Smrg		;;
721943345d3Smrg	i*86v32)
722943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
723943345d3Smrg		os=-sysv32
724943345d3Smrg		;;
725943345d3Smrg	i*86v4*)
726943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727943345d3Smrg		os=-sysv4
728943345d3Smrg		;;
729943345d3Smrg	i*86v)
730943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731943345d3Smrg		os=-sysv
732943345d3Smrg		;;
733943345d3Smrg	i*86sol2)
734943345d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735943345d3Smrg		os=-solaris2
736943345d3Smrg		;;
737943345d3Smrg	i386mach)
738943345d3Smrg		basic_machine=i386-mach
739943345d3Smrg		os=-mach
740943345d3Smrg		;;
741943345d3Smrg	i386-vsta | vsta)
742943345d3Smrg		basic_machine=i386-unknown
743943345d3Smrg		os=-vsta
744943345d3Smrg		;;
745943345d3Smrg	iris | iris4d)
746943345d3Smrg		basic_machine=mips-sgi
747943345d3Smrg		case $os in
748943345d3Smrg		    -irix*)
749943345d3Smrg			;;
750943345d3Smrg		    *)
751943345d3Smrg			os=-irix4
752943345d3Smrg			;;
753943345d3Smrg		esac
754943345d3Smrg		;;
755943345d3Smrg	isi68 | isi)
756943345d3Smrg		basic_machine=m68k-isi
757943345d3Smrg		os=-sysv
758943345d3Smrg		;;
7595e695a52Smrg	m68knommu)
7605e695a52Smrg		basic_machine=m68k-unknown
7615e695a52Smrg		os=-linux
7625e695a52Smrg		;;
7635e695a52Smrg	m68knommu-*)
7645e695a52Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7655e695a52Smrg		os=-linux
7665e695a52Smrg		;;
767943345d3Smrg	m88k-omron*)
768943345d3Smrg		basic_machine=m88k-omron
769943345d3Smrg		;;
770943345d3Smrg	magnum | m3230)
771943345d3Smrg		basic_machine=mips-mips
772943345d3Smrg		os=-sysv
773943345d3Smrg		;;
774943345d3Smrg	merlin)
775943345d3Smrg		basic_machine=ns32k-utek
776943345d3Smrg		os=-sysv
777943345d3Smrg		;;
7783e51e026Smrg	microblaze)
779a7b590b3Smrg		basic_machine=microblaze-xilinx
780a7b590b3Smrg		;;
781943345d3Smrg	mingw32)
782943345d3Smrg		basic_machine=i386-pc
783943345d3Smrg		os=-mingw32
784943345d3Smrg		;;
7855e695a52Smrg	mingw32ce)
7865e695a52Smrg		basic_machine=arm-unknown
7875e695a52Smrg		os=-mingw32ce
7885e695a52Smrg		;;
789943345d3Smrg	miniframe)
790943345d3Smrg		basic_machine=m68000-convergent
791943345d3Smrg		;;
792943345d3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
793943345d3Smrg		basic_machine=m68k-atari
794943345d3Smrg		os=-mint
795943345d3Smrg		;;
796943345d3Smrg	mips3*-*)
797943345d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
798943345d3Smrg		;;
799943345d3Smrg	mips3*)
800943345d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
801943345d3Smrg		;;
802943345d3Smrg	monitor)
803943345d3Smrg		basic_machine=m68k-rom68k
804943345d3Smrg		os=-coff
805943345d3Smrg		;;
806943345d3Smrg	morphos)
807943345d3Smrg		basic_machine=powerpc-unknown
808943345d3Smrg		os=-morphos
809943345d3Smrg		;;
810943345d3Smrg	msdos)
811943345d3Smrg		basic_machine=i386-pc
812943345d3Smrg		os=-msdos
813943345d3Smrg		;;
814f67b85aaSmrg	ms1-*)
815f67b85aaSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
816f67b85aaSmrg		;;
8173e51e026Smrg	msys)
8183e51e026Smrg		basic_machine=i386-pc
8193e51e026Smrg		os=-msys
8203e51e026Smrg		;;
821943345d3Smrg	mvs)
822943345d3Smrg		basic_machine=i370-ibm
823943345d3Smrg		os=-mvs
824943345d3Smrg		;;
8253e51e026Smrg	nacl)
8263e51e026Smrg		basic_machine=le32-unknown
8273e51e026Smrg		os=-nacl
8283e51e026Smrg		;;
829943345d3Smrg	ncr3000)
830943345d3Smrg		basic_machine=i486-ncr
831943345d3Smrg		os=-sysv4
832943345d3Smrg		;;
833943345d3Smrg	netbsd386)
834943345d3Smrg		basic_machine=i386-unknown
835943345d3Smrg		os=-netbsd
836943345d3Smrg		;;
837943345d3Smrg	netwinder)
838943345d3Smrg		basic_machine=armv4l-rebel
839943345d3Smrg		os=-linux
840943345d3Smrg		;;
841943345d3Smrg	news | news700 | news800 | news900)
842943345d3Smrg		basic_machine=m68k-sony
843943345d3Smrg		os=-newsos
844943345d3Smrg		;;
845943345d3Smrg	news1000)
846943345d3Smrg		basic_machine=m68030-sony
847943345d3Smrg		os=-newsos
848943345d3Smrg		;;
849943345d3Smrg	news-3600 | risc-news)
850943345d3Smrg		basic_machine=mips-sony
851943345d3Smrg		os=-newsos
852943345d3Smrg		;;
853943345d3Smrg	necv70)
854943345d3Smrg		basic_machine=v70-nec
855943345d3Smrg		os=-sysv
856943345d3Smrg		;;
857943345d3Smrg	next | m*-next )
858943345d3Smrg		basic_machine=m68k-next
859943345d3Smrg		case $os in
860943345d3Smrg		    -nextstep* )
861943345d3Smrg			;;
862943345d3Smrg		    -ns2*)
863943345d3Smrg		      os=-nextstep2
864943345d3Smrg			;;
865943345d3Smrg		    *)
866943345d3Smrg		      os=-nextstep3
867943345d3Smrg			;;
868943345d3Smrg		esac
869943345d3Smrg		;;
870943345d3Smrg	nh3000)
871943345d3Smrg		basic_machine=m68k-harris
872943345d3Smrg		os=-cxux
873943345d3Smrg		;;
874943345d3Smrg	nh[45]000)
875943345d3Smrg		basic_machine=m88k-harris
876943345d3Smrg		os=-cxux
877943345d3Smrg		;;
878943345d3Smrg	nindy960)
879943345d3Smrg		basic_machine=i960-intel
880943345d3Smrg		os=-nindy
881943345d3Smrg		;;
882943345d3Smrg	mon960)
883943345d3Smrg		basic_machine=i960-intel
884943345d3Smrg		os=-mon960
885943345d3Smrg		;;
886943345d3Smrg	nonstopux)
887943345d3Smrg		basic_machine=mips-compaq
888943345d3Smrg		os=-nonstopux
889943345d3Smrg		;;
890943345d3Smrg	np1)
891943345d3Smrg		basic_machine=np1-gould
892943345d3Smrg		;;
8933e51e026Smrg	neo-tandem)
8943e51e026Smrg		basic_machine=neo-tandem
8953e51e026Smrg		;;
8963e51e026Smrg	nse-tandem)
8973e51e026Smrg		basic_machine=nse-tandem
8983e51e026Smrg		;;
899943345d3Smrg	nsr-tandem)
900943345d3Smrg		basic_machine=nsr-tandem
901943345d3Smrg		;;
902943345d3Smrg	op50n-* | op60c-*)
903943345d3Smrg		basic_machine=hppa1.1-oki
904943345d3Smrg		os=-proelf
905943345d3Smrg		;;
906f67b85aaSmrg	openrisc | openrisc-*)
907943345d3Smrg		basic_machine=or32-unknown
908f67b85aaSmrg		;;
909f67b85aaSmrg	os400)
910f67b85aaSmrg		basic_machine=powerpc-ibm
911f67b85aaSmrg		os=-os400
912943345d3Smrg		;;
913943345d3Smrg	OSE68000 | ose68000)
914943345d3Smrg		basic_machine=m68000-ericsson
915943345d3Smrg		os=-ose
916943345d3Smrg		;;
917943345d3Smrg	os68k)
918943345d3Smrg		basic_machine=m68k-none
919943345d3Smrg		os=-os68k
920943345d3Smrg		;;
921943345d3Smrg	pa-hitachi)
922943345d3Smrg		basic_machine=hppa1.1-hitachi
923943345d3Smrg		os=-hiuxwe2
924943345d3Smrg		;;
925943345d3Smrg	paragon)
926943345d3Smrg		basic_machine=i860-intel
927943345d3Smrg		os=-osf
928943345d3Smrg		;;
9295e695a52Smrg	parisc)
9305e695a52Smrg		basic_machine=hppa-unknown
9315e695a52Smrg		os=-linux
9325e695a52Smrg		;;
9335e695a52Smrg	parisc-*)
9345e695a52Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9355e695a52Smrg		os=-linux
9365e695a52Smrg		;;
937943345d3Smrg	pbd)
938943345d3Smrg		basic_machine=sparc-tti
939943345d3Smrg		;;
940943345d3Smrg	pbb)
941943345d3Smrg		basic_machine=m68k-tti
942943345d3Smrg		;;
943943345d3Smrg	pc532 | pc532-*)
944943345d3Smrg		basic_machine=ns32k-pc532
945943345d3Smrg		;;
946f67b85aaSmrg	pc98)
947f67b85aaSmrg		basic_machine=i386-pc
948f67b85aaSmrg		;;
949f67b85aaSmrg	pc98-*)
950f67b85aaSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
951f67b85aaSmrg		;;
952943345d3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
953943345d3Smrg		basic_machine=i586-pc
954943345d3Smrg		;;
955943345d3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
956943345d3Smrg		basic_machine=i686-pc
957943345d3Smrg		;;
958943345d3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
959943345d3Smrg		basic_machine=i686-pc
960943345d3Smrg		;;
961943345d3Smrg	pentium4)
962943345d3Smrg		basic_machine=i786-pc
963943345d3Smrg		;;
964943345d3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
965943345d3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
966943345d3Smrg		;;
967943345d3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
968943345d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
969943345d3Smrg		;;
970943345d3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
971943345d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
972943345d3Smrg		;;
973943345d3Smrg	pentium4-*)
974943345d3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
975943345d3Smrg		;;
976943345d3Smrg	pn)
977943345d3Smrg		basic_machine=pn-gould
978943345d3Smrg		;;
979943345d3Smrg	power)	basic_machine=power-ibm
980943345d3Smrg		;;
9813e51e026Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
982943345d3Smrg		;;
9833e51e026Smrg	ppc-* | ppcbe-*)
9843e51e026Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
985943345d3Smrg		;;
986943345d3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
987943345d3Smrg		basic_machine=powerpcle-unknown
988943345d3Smrg		;;
989943345d3Smrg	ppcle-* | powerpclittle-*)
990943345d3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
991943345d3Smrg		;;
992943345d3Smrg	ppc64)	basic_machine=powerpc64-unknown
993943345d3Smrg		;;
994943345d3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
995943345d3Smrg		;;
996943345d3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
997943345d3Smrg		basic_machine=powerpc64le-unknown
998943345d3Smrg		;;
999943345d3Smrg	ppc64le-* | powerpc64little-*)
1000943345d3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1001943345d3Smrg		;;
1002943345d3Smrg	ps2)
1003943345d3Smrg		basic_machine=i386-ibm
1004943345d3Smrg		;;
1005943345d3Smrg	pw32)
1006943345d3Smrg		basic_machine=i586-unknown
1007943345d3Smrg		os=-pw32
1008943345d3Smrg		;;
1009f67b85aaSmrg	rdos)
1010f67b85aaSmrg		basic_machine=i386-pc
1011f67b85aaSmrg		os=-rdos
1012f67b85aaSmrg		;;
1013943345d3Smrg	rom68k)
1014943345d3Smrg		basic_machine=m68k-rom68k
1015943345d3Smrg		os=-coff
1016943345d3Smrg		;;
1017943345d3Smrg	rm[46]00)
1018943345d3Smrg		basic_machine=mips-siemens
1019943345d3Smrg		;;
1020943345d3Smrg	rtpc | rtpc-*)
1021943345d3Smrg		basic_machine=romp-ibm
1022943345d3Smrg		;;
1023f67b85aaSmrg	s390 | s390-*)
1024f67b85aaSmrg		basic_machine=s390-ibm
1025f67b85aaSmrg		;;
1026f67b85aaSmrg	s390x | s390x-*)
1027f67b85aaSmrg		basic_machine=s390x-ibm
1028f67b85aaSmrg		;;
1029943345d3Smrg	sa29200)
1030943345d3Smrg		basic_machine=a29k-amd
1031943345d3Smrg		os=-udi
1032943345d3Smrg		;;
1033943345d3Smrg	sb1)
1034943345d3Smrg		basic_machine=mipsisa64sb1-unknown
1035943345d3Smrg		;;
1036943345d3Smrg	sb1el)
1037943345d3Smrg		basic_machine=mipsisa64sb1el-unknown
1038943345d3Smrg		;;
1039f67b85aaSmrg	sde)
1040f67b85aaSmrg		basic_machine=mipsisa32-sde
1041f67b85aaSmrg		os=-elf
1042f67b85aaSmrg		;;
1043943345d3Smrg	sei)
1044943345d3Smrg		basic_machine=mips-sei
1045943345d3Smrg		os=-seiux
1046943345d3Smrg		;;
1047943345d3Smrg	sequent)
1048943345d3Smrg		basic_machine=i386-sequent
1049943345d3Smrg		;;
1050943345d3Smrg	sh)
1051943345d3Smrg		basic_machine=sh-hitachi
1052943345d3Smrg		os=-hms
1053943345d3Smrg		;;
10545e695a52Smrg	sh5el)
10555e695a52Smrg		basic_machine=sh5le-unknown
10565e695a52Smrg		;;
1057943345d3Smrg	sh64)
1058943345d3Smrg		basic_machine=sh64-unknown
1059943345d3Smrg		;;
1060943345d3Smrg	sparclite-wrs | simso-wrs)
1061943345d3Smrg		basic_machine=sparclite-wrs
1062943345d3Smrg		os=-vxworks
1063943345d3Smrg		;;
1064943345d3Smrg	sps7)
1065943345d3Smrg		basic_machine=m68k-bull
1066943345d3Smrg		os=-sysv2
1067943345d3Smrg		;;
1068943345d3Smrg	spur)
1069943345d3Smrg		basic_machine=spur-unknown
1070943345d3Smrg		;;
1071943345d3Smrg	st2000)
1072943345d3Smrg		basic_machine=m68k-tandem
1073943345d3Smrg		;;
1074943345d3Smrg	stratus)
1075943345d3Smrg		basic_machine=i860-stratus
1076943345d3Smrg		os=-sysv4
1077943345d3Smrg		;;
10783e51e026Smrg	strongarm-* | thumb-*)
10793e51e026Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10803e51e026Smrg		;;
1081943345d3Smrg	sun2)
1082943345d3Smrg		basic_machine=m68000-sun
1083943345d3Smrg		;;
1084943345d3Smrg	sun2os3)
1085943345d3Smrg		basic_machine=m68000-sun
1086943345d3Smrg		os=-sunos3
1087943345d3Smrg		;;
1088943345d3Smrg	sun2os4)
1089943345d3Smrg		basic_machine=m68000-sun
1090943345d3Smrg		os=-sunos4
1091943345d3Smrg		;;
1092943345d3Smrg	sun3os3)
1093943345d3Smrg		basic_machine=m68k-sun
1094943345d3Smrg		os=-sunos3
1095943345d3Smrg		;;
1096943345d3Smrg	sun3os4)
1097943345d3Smrg		basic_machine=m68k-sun
1098943345d3Smrg		os=-sunos4
1099943345d3Smrg		;;
1100943345d3Smrg	sun4os3)
1101943345d3Smrg		basic_machine=sparc-sun
1102943345d3Smrg		os=-sunos3
1103943345d3Smrg		;;
1104943345d3Smrg	sun4os4)
1105943345d3Smrg		basic_machine=sparc-sun
1106943345d3Smrg		os=-sunos4
1107943345d3Smrg		;;
1108943345d3Smrg	sun4sol2)
1109943345d3Smrg		basic_machine=sparc-sun
1110943345d3Smrg		os=-solaris2
1111943345d3Smrg		;;
1112943345d3Smrg	sun3 | sun3-*)
1113943345d3Smrg		basic_machine=m68k-sun
1114943345d3Smrg		;;
1115943345d3Smrg	sun4)
1116943345d3Smrg		basic_machine=sparc-sun
1117943345d3Smrg		;;
1118943345d3Smrg	sun386 | sun386i | roadrunner)
1119943345d3Smrg		basic_machine=i386-sun
1120943345d3Smrg		;;
1121943345d3Smrg	sv1)
1122943345d3Smrg		basic_machine=sv1-cray
1123943345d3Smrg		os=-unicos
1124943345d3Smrg		;;
1125943345d3Smrg	symmetry)
1126943345d3Smrg		basic_machine=i386-sequent
1127943345d3Smrg		os=-dynix
1128943345d3Smrg		;;
1129943345d3Smrg	t3e)
1130943345d3Smrg		basic_machine=alphaev5-cray
1131943345d3Smrg		os=-unicos
1132943345d3Smrg		;;
1133943345d3Smrg	t90)
1134943345d3Smrg		basic_machine=t90-cray
1135943345d3Smrg		os=-unicos
1136943345d3Smrg		;;
11375e695a52Smrg	tile*)
11383e51e026Smrg		basic_machine=$basic_machine-unknown
11395e695a52Smrg		os=-linux-gnu
11405e695a52Smrg		;;
1141943345d3Smrg	tx39)
1142943345d3Smrg		basic_machine=mipstx39-unknown
1143943345d3Smrg		;;
1144943345d3Smrg	tx39el)
1145943345d3Smrg		basic_machine=mipstx39el-unknown
1146943345d3Smrg		;;
1147943345d3Smrg	toad1)
1148943345d3Smrg		basic_machine=pdp10-xkl
1149943345d3Smrg		os=-tops20
1150943345d3Smrg		;;
1151943345d3Smrg	tower | tower-32)
1152943345d3Smrg		basic_machine=m68k-ncr
1153943345d3Smrg		;;
1154f67b85aaSmrg	tpf)
1155f67b85aaSmrg		basic_machine=s390x-ibm
1156f67b85aaSmrg		os=-tpf
1157f67b85aaSmrg		;;
1158943345d3Smrg	udi29k)
1159943345d3Smrg		basic_machine=a29k-amd
1160943345d3Smrg		os=-udi
1161943345d3Smrg		;;
1162943345d3Smrg	ultra3)
1163943345d3Smrg		basic_machine=a29k-nyu
1164943345d3Smrg		os=-sym1
1165943345d3Smrg		;;
1166943345d3Smrg	v810 | necv810)
1167943345d3Smrg		basic_machine=v810-nec
1168943345d3Smrg		os=-none
1169943345d3Smrg		;;
1170943345d3Smrg	vaxv)
1171943345d3Smrg		basic_machine=vax-dec
1172943345d3Smrg		os=-sysv
1173943345d3Smrg		;;
1174943345d3Smrg	vms)
1175943345d3Smrg		basic_machine=vax-dec
1176943345d3Smrg		os=-vms
1177943345d3Smrg		;;
1178943345d3Smrg	vpp*|vx|vx-*)
1179943345d3Smrg		basic_machine=f301-fujitsu
1180943345d3Smrg		;;
1181943345d3Smrg	vxworks960)
1182943345d3Smrg		basic_machine=i960-wrs
1183943345d3Smrg		os=-vxworks
1184943345d3Smrg		;;
1185943345d3Smrg	vxworks68)
1186943345d3Smrg		basic_machine=m68k-wrs
1187943345d3Smrg		os=-vxworks
1188943345d3Smrg		;;
1189943345d3Smrg	vxworks29k)
1190943345d3Smrg		basic_machine=a29k-wrs
1191943345d3Smrg		os=-vxworks
1192943345d3Smrg		;;
1193943345d3Smrg	w65*)
1194943345d3Smrg		basic_machine=w65-wdc
1195943345d3Smrg		os=-none
1196943345d3Smrg		;;
1197943345d3Smrg	w89k-*)
1198943345d3Smrg		basic_machine=hppa1.1-winbond
1199943345d3Smrg		os=-proelf
1200943345d3Smrg		;;
1201f67b85aaSmrg	xbox)
1202f67b85aaSmrg		basic_machine=i686-pc
1203f67b85aaSmrg		os=-mingw32
1204f67b85aaSmrg		;;
1205943345d3Smrg	xps | xps100)
1206943345d3Smrg		basic_machine=xps100-honeywell
1207943345d3Smrg		;;
12083e51e026Smrg	xscale-* | xscalee[bl]-*)
12093e51e026Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12103e51e026Smrg		;;
1211943345d3Smrg	ymp)
1212943345d3Smrg		basic_machine=ymp-cray
1213943345d3Smrg		os=-unicos
1214943345d3Smrg		;;
1215943345d3Smrg	z8k-*-coff)
1216943345d3Smrg		basic_machine=z8k-unknown
1217943345d3Smrg		os=-sim
1218943345d3Smrg		;;
1219a7b590b3Smrg	z80-*-coff)
1220a7b590b3Smrg		basic_machine=z80-unknown
1221a7b590b3Smrg		os=-sim
1222a7b590b3Smrg		;;
1223943345d3Smrg	none)
1224943345d3Smrg		basic_machine=none-none
1225943345d3Smrg		os=-none
1226943345d3Smrg		;;
1227943345d3Smrg
1228943345d3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1229943345d3Smrg# some cases the only manufacturer, in others, it is the most popular.
1230943345d3Smrg	w89k)
1231943345d3Smrg		basic_machine=hppa1.1-winbond
1232943345d3Smrg		;;
1233943345d3Smrg	op50n)
1234943345d3Smrg		basic_machine=hppa1.1-oki
1235943345d3Smrg		;;
1236943345d3Smrg	op60c)
1237943345d3Smrg		basic_machine=hppa1.1-oki
1238943345d3Smrg		;;
1239943345d3Smrg	romp)
1240943345d3Smrg		basic_machine=romp-ibm
1241943345d3Smrg		;;
1242f67b85aaSmrg	mmix)
1243f67b85aaSmrg		basic_machine=mmix-knuth
1244f67b85aaSmrg		;;
1245943345d3Smrg	rs6000)
1246943345d3Smrg		basic_machine=rs6000-ibm
1247943345d3Smrg		;;
1248943345d3Smrg	vax)
1249943345d3Smrg		basic_machine=vax-dec
1250943345d3Smrg		;;
1251943345d3Smrg	pdp10)
1252943345d3Smrg		# there are many clones, so DEC is not a safe bet
1253943345d3Smrg		basic_machine=pdp10-unknown
1254943345d3Smrg		;;
1255943345d3Smrg	pdp11)
1256943345d3Smrg		basic_machine=pdp11-dec
1257943345d3Smrg		;;
1258943345d3Smrg	we32k)
1259943345d3Smrg		basic_machine=we32k-att
1260943345d3Smrg		;;
1261a7b590b3Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1262943345d3Smrg		basic_machine=sh-unknown
1263943345d3Smrg		;;
1264f67b85aaSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1265943345d3Smrg		basic_machine=sparc-sun
1266943345d3Smrg		;;
1267943345d3Smrg	cydra)
1268943345d3Smrg		basic_machine=cydra-cydrome
1269943345d3Smrg		;;
1270943345d3Smrg	orion)
1271943345d3Smrg		basic_machine=orion-highlevel
1272943345d3Smrg		;;
1273943345d3Smrg	orion105)
1274943345d3Smrg		basic_machine=clipper-highlevel
1275943345d3Smrg		;;
1276943345d3Smrg	mac | mpw | mac-mpw)
1277943345d3Smrg		basic_machine=m68k-apple
1278943345d3Smrg		;;
1279943345d3Smrg	pmac | pmac-mpw)
1280943345d3Smrg		basic_machine=powerpc-apple
1281943345d3Smrg		;;
1282943345d3Smrg	*-unknown)
1283943345d3Smrg		# Make sure to match an already-canonicalized machine name.
1284943345d3Smrg		;;
1285943345d3Smrg	*)
1286943345d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1287943345d3Smrg		exit 1
1288943345d3Smrg		;;
1289943345d3Smrgesac
1290943345d3Smrg
1291943345d3Smrg# Here we canonicalize certain aliases for manufacturers.
1292943345d3Smrgcase $basic_machine in
1293943345d3Smrg	*-digital*)
1294943345d3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1295943345d3Smrg		;;
1296943345d3Smrg	*-commodore*)
1297943345d3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1298943345d3Smrg		;;
1299943345d3Smrg	*)
1300943345d3Smrg		;;
1301943345d3Smrgesac
1302943345d3Smrg
1303943345d3Smrg# Decode manufacturer-specific aliases for certain operating systems.
1304943345d3Smrg
1305943345d3Smrgif [ x"$os" != x"" ]
1306943345d3Smrgthen
1307943345d3Smrgcase $os in
13083e51e026Smrg	# First match some system type aliases
13093e51e026Smrg	# that might get confused with valid system types.
1310943345d3Smrg	# -solaris* is a basic system type, with this one exception.
13113e51e026Smrg	-auroraux)
13123e51e026Smrg		os=-auroraux
1313a7b590b3Smrg		;;
1314943345d3Smrg	-solaris1 | -solaris1.*)
1315943345d3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1316943345d3Smrg		;;
1317943345d3Smrg	-solaris)
1318943345d3Smrg		os=-solaris2
1319943345d3Smrg		;;
1320943345d3Smrg	-svr4*)
1321943345d3Smrg		os=-sysv4
1322943345d3Smrg		;;
1323943345d3Smrg	-unixware*)
1324943345d3Smrg		os=-sysv4.2uw
1325943345d3Smrg		;;
1326943345d3Smrg	-gnu/linux*)
1327943345d3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1328943345d3Smrg		;;
1329943345d3Smrg	# First accept the basic system types.
1330943345d3Smrg	# The portable systems comes first.
1331943345d3Smrg	# Each alternative MUST END IN A *, to match a version number.
1332943345d3Smrg	# -sysv* is not here because it comes later, after sysvr4.
1333943345d3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334a7b590b3Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335a7b590b3Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336a7b590b3Smrg	      | -sym* | -kopensolaris* \
1337943345d3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338a7b590b3Smrg	      | -aos* | -aros* \
1339943345d3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1340943345d3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1341f67b85aaSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1342f67b85aaSmrg	      | -openbsd* | -solidbsd* \
1343f67b85aaSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1344f67b85aaSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1345943345d3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1346943345d3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347a7b590b3Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13483e51e026Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13493e51e026Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13503e51e026Smrg	      | -linux-newlib* | -linux-uclibc* \
1351f67b85aaSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1352943345d3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1353943345d3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1354943345d3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1355943345d3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1356943345d3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1357f67b85aaSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358a7b590b3Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1359943345d3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1360943345d3Smrg		;;
1361943345d3Smrg	-qnx*)
1362943345d3Smrg		case $basic_machine in
1363943345d3Smrg		    x86-* | i*86-*)
1364943345d3Smrg			;;
1365943345d3Smrg		    *)
1366943345d3Smrg			os=-nto$os
1367943345d3Smrg			;;
1368943345d3Smrg		esac
1369943345d3Smrg		;;
1370943345d3Smrg	-nto-qnx*)
1371943345d3Smrg		;;
1372943345d3Smrg	-nto*)
1373943345d3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1374943345d3Smrg		;;
1375943345d3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1376f67b85aaSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1377943345d3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1378943345d3Smrg		;;
1379943345d3Smrg	-mac*)
1380943345d3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1381943345d3Smrg		;;
1382f67b85aaSmrg	-linux-dietlibc)
1383f67b85aaSmrg		os=-linux-dietlibc
1384f67b85aaSmrg		;;
1385943345d3Smrg	-linux*)
1386943345d3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1387943345d3Smrg		;;
1388943345d3Smrg	-sunos5*)
1389943345d3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1390943345d3Smrg		;;
1391943345d3Smrg	-sunos6*)
1392943345d3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1393943345d3Smrg		;;
1394943345d3Smrg	-opened*)
1395943345d3Smrg		os=-openedition
1396943345d3Smrg		;;
13973e51e026Smrg	-os400*)
1398f67b85aaSmrg		os=-os400
1399f67b85aaSmrg		;;
1400943345d3Smrg	-wince*)
1401943345d3Smrg		os=-wince
1402943345d3Smrg		;;
1403943345d3Smrg	-osfrose*)
1404943345d3Smrg		os=-osfrose
1405943345d3Smrg		;;
1406943345d3Smrg	-osf*)
1407943345d3Smrg		os=-osf
1408943345d3Smrg		;;
1409943345d3Smrg	-utek*)
1410943345d3Smrg		os=-bsd
1411943345d3Smrg		;;
1412943345d3Smrg	-dynix*)
1413943345d3Smrg		os=-bsd
1414943345d3Smrg		;;
1415943345d3Smrg	-acis*)
1416943345d3Smrg		os=-aos
1417943345d3Smrg		;;
1418943345d3Smrg	-atheos*)
1419943345d3Smrg		os=-atheos
1420943345d3Smrg		;;
1421f67b85aaSmrg	-syllable*)
1422f67b85aaSmrg		os=-syllable
1423f67b85aaSmrg		;;
1424943345d3Smrg	-386bsd)
1425943345d3Smrg		os=-bsd
1426943345d3Smrg		;;
1427943345d3Smrg	-ctix* | -uts*)
1428943345d3Smrg		os=-sysv
1429943345d3Smrg		;;
1430943345d3Smrg	-nova*)
1431943345d3Smrg		os=-rtmk-nova
1432943345d3Smrg		;;
1433943345d3Smrg	-ns2 )
1434943345d3Smrg		os=-nextstep2
1435943345d3Smrg		;;
1436943345d3Smrg	-nsk*)
1437943345d3Smrg		os=-nsk
1438943345d3Smrg		;;
1439943345d3Smrg	# Preserve the version number of sinix5.
1440943345d3Smrg	-sinix5.*)
1441943345d3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1442943345d3Smrg		;;
1443943345d3Smrg	-sinix*)
1444943345d3Smrg		os=-sysv4
1445943345d3Smrg		;;
14463e51e026Smrg	-tpf*)
1447f67b85aaSmrg		os=-tpf
1448f67b85aaSmrg		;;
1449943345d3Smrg	-triton*)
1450943345d3Smrg		os=-sysv3
1451943345d3Smrg		;;
1452943345d3Smrg	-oss*)
1453943345d3Smrg		os=-sysv3
1454943345d3Smrg		;;
1455943345d3Smrg	-svr4)
1456943345d3Smrg		os=-sysv4
1457943345d3Smrg		;;
1458943345d3Smrg	-svr3)
1459943345d3Smrg		os=-sysv3
1460943345d3Smrg		;;
1461943345d3Smrg	-sysvr4)
1462943345d3Smrg		os=-sysv4
1463943345d3Smrg		;;
1464943345d3Smrg	# This must come after -sysvr4.
1465943345d3Smrg	-sysv*)
1466943345d3Smrg		;;
1467943345d3Smrg	-ose*)
1468943345d3Smrg		os=-ose
1469943345d3Smrg		;;
1470943345d3Smrg	-es1800*)
1471943345d3Smrg		os=-ose
1472943345d3Smrg		;;
1473943345d3Smrg	-xenix)
1474943345d3Smrg		os=-xenix
1475943345d3Smrg		;;
1476943345d3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1477943345d3Smrg		os=-mint
1478943345d3Smrg		;;
1479943345d3Smrg	-aros*)
1480943345d3Smrg		os=-aros
1481943345d3Smrg		;;
1482943345d3Smrg	-kaos*)
1483943345d3Smrg		os=-kaos
1484943345d3Smrg		;;
1485f67b85aaSmrg	-zvmoe)
1486f67b85aaSmrg		os=-zvmoe
1487f67b85aaSmrg		;;
1488a7b590b3Smrg	-dicos*)
1489a7b590b3Smrg		os=-dicos
1490a7b590b3Smrg		;;
14913e51e026Smrg	-nacl*)
14923e51e026Smrg		;;
1493943345d3Smrg	-none)
1494943345d3Smrg		;;
1495943345d3Smrg	*)
1496943345d3Smrg		# Get rid of the `-' at the beginning of $os.
1497943345d3Smrg		os=`echo $os | sed 's/[^-]*-//'`
1498943345d3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1499943345d3Smrg		exit 1
1500943345d3Smrg		;;
1501943345d3Smrgesac
1502943345d3Smrgelse
1503943345d3Smrg
1504943345d3Smrg# Here we handle the default operating systems that come with various machines.
1505943345d3Smrg# The value should be what the vendor currently ships out the door with their
1506943345d3Smrg# machine or put another way, the most popular os provided with the machine.
1507943345d3Smrg
1508943345d3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1509943345d3Smrg# "-sun"), then you have to tell the case statement up towards the top
1510943345d3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1511943345d3Smrg# will signal an error saying that MANUFACTURER isn't an operating
1512943345d3Smrg# system, and we'll never get to this point.
1513943345d3Smrg
1514943345d3Smrgcase $basic_machine in
15153e51e026Smrg	score-*)
1516f67b85aaSmrg		os=-elf
1517f67b85aaSmrg		;;
15183e51e026Smrg	spu-*)
1519f67b85aaSmrg		os=-elf
1520f67b85aaSmrg		;;
1521943345d3Smrg	*-acorn)
1522943345d3Smrg		os=-riscix1.2
1523943345d3Smrg		;;
1524943345d3Smrg	arm*-rebel)
1525943345d3Smrg		os=-linux
1526943345d3Smrg		;;
1527943345d3Smrg	arm*-semi)
1528943345d3Smrg		os=-aout
1529943345d3Smrg		;;
15303e51e026Smrg	c4x-* | tic4x-*)
15313e51e026Smrg		os=-coff
15323e51e026Smrg		;;
15333e51e026Smrg	tic54x-*)
15343e51e026Smrg		os=-coff
15353e51e026Smrg		;;
15363e51e026Smrg	tic55x-*)
15373e51e026Smrg		os=-coff
15383e51e026Smrg		;;
15393e51e026Smrg	tic6x-*)
15403e51e026Smrg		os=-coff
1541943345d3Smrg		;;
1542943345d3Smrg	# This must come before the *-dec entry.
1543943345d3Smrg	pdp10-*)
1544943345d3Smrg		os=-tops20
1545943345d3Smrg		;;
1546943345d3Smrg	pdp11-*)
1547943345d3Smrg		os=-none
1548943345d3Smrg		;;
1549943345d3Smrg	*-dec | vax-*)
1550943345d3Smrg		os=-ultrix4.2
1551943345d3Smrg		;;
1552943345d3Smrg	m68*-apollo)
1553943345d3Smrg		os=-domain
1554943345d3Smrg		;;
1555943345d3Smrg	i386-sun)
1556943345d3Smrg		os=-sunos4.0.2
1557943345d3Smrg		;;
1558943345d3Smrg	m68000-sun)
1559943345d3Smrg		os=-sunos3
1560943345d3Smrg		;;
1561943345d3Smrg	m68*-cisco)
1562943345d3Smrg		os=-aout
1563943345d3Smrg		;;
15643e51e026Smrg	mep-*)
15655e695a52Smrg		os=-elf
15665e695a52Smrg		;;
1567943345d3Smrg	mips*-cisco)
1568943345d3Smrg		os=-elf
1569943345d3Smrg		;;
1570943345d3Smrg	mips*-*)
1571943345d3Smrg		os=-elf
1572943345d3Smrg		;;
1573943345d3Smrg	or32-*)
1574943345d3Smrg		os=-coff
1575943345d3Smrg		;;
1576943345d3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1577943345d3Smrg		os=-sysv3
1578943345d3Smrg		;;
1579943345d3Smrg	sparc-* | *-sun)
1580943345d3Smrg		os=-sunos4.1.1
1581943345d3Smrg		;;
1582943345d3Smrg	*-be)
1583943345d3Smrg		os=-beos
1584943345d3Smrg		;;
1585f67b85aaSmrg	*-haiku)
1586f67b85aaSmrg		os=-haiku
1587f67b85aaSmrg		;;
1588943345d3Smrg	*-ibm)
1589943345d3Smrg		os=-aix
1590943345d3Smrg		;;
15913e51e026Smrg	*-knuth)
1592f67b85aaSmrg		os=-mmixware
1593f67b85aaSmrg		;;
1594943345d3Smrg	*-wec)
1595943345d3Smrg		os=-proelf
1596943345d3Smrg		;;
1597943345d3Smrg	*-winbond)
1598943345d3Smrg		os=-proelf
1599943345d3Smrg		;;
1600943345d3Smrg	*-oki)
1601943345d3Smrg		os=-proelf
1602943345d3Smrg		;;
1603943345d3Smrg	*-hp)
1604943345d3Smrg		os=-hpux
1605943345d3Smrg		;;
1606943345d3Smrg	*-hitachi)
1607943345d3Smrg		os=-hiux
1608943345d3Smrg		;;
1609943345d3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1610943345d3Smrg		os=-sysv
1611943345d3Smrg		;;
1612943345d3Smrg	*-cbm)
1613943345d3Smrg		os=-amigaos
1614943345d3Smrg		;;
1615943345d3Smrg	*-dg)
1616943345d3Smrg		os=-dgux
1617943345d3Smrg		;;
1618943345d3Smrg	*-dolphin)
1619943345d3Smrg		os=-sysv3
1620943345d3Smrg		;;
1621943345d3Smrg	m68k-ccur)
1622943345d3Smrg		os=-rtu
1623943345d3Smrg		;;
1624943345d3Smrg	m88k-omron*)
1625943345d3Smrg		os=-luna
1626943345d3Smrg		;;
1627943345d3Smrg	*-next )
1628943345d3Smrg		os=-nextstep
1629943345d3Smrg		;;
1630943345d3Smrg	*-sequent)
1631943345d3Smrg		os=-ptx
1632943345d3Smrg		;;
1633943345d3Smrg	*-crds)
1634943345d3Smrg		os=-unos
1635943345d3Smrg		;;
1636943345d3Smrg	*-ns)
1637943345d3Smrg		os=-genix
1638943345d3Smrg		;;
1639943345d3Smrg	i370-*)
1640943345d3Smrg		os=-mvs
1641943345d3Smrg		;;
1642943345d3Smrg	*-next)
1643943345d3Smrg		os=-nextstep3
1644943345d3Smrg		;;
1645943345d3Smrg	*-gould)
1646943345d3Smrg		os=-sysv
1647943345d3Smrg		;;
1648943345d3Smrg	*-highlevel)
1649943345d3Smrg		os=-bsd
1650943345d3Smrg		;;
1651943345d3Smrg	*-encore)
1652943345d3Smrg		os=-bsd
1653943345d3Smrg		;;
1654943345d3Smrg	*-sgi)
1655943345d3Smrg		os=-irix
1656943345d3Smrg		;;
1657943345d3Smrg	*-siemens)
1658943345d3Smrg		os=-sysv4
1659943345d3Smrg		;;
1660943345d3Smrg	*-masscomp)
1661943345d3Smrg		os=-rtu
1662943345d3Smrg		;;
1663943345d3Smrg	f30[01]-fujitsu | f700-fujitsu)
1664943345d3Smrg		os=-uxpv
1665943345d3Smrg		;;
1666943345d3Smrg	*-rom68k)
1667943345d3Smrg		os=-coff
1668943345d3Smrg		;;
1669943345d3Smrg	*-*bug)
1670943345d3Smrg		os=-coff
1671943345d3Smrg		;;
1672943345d3Smrg	*-apple)
1673943345d3Smrg		os=-macos
1674943345d3Smrg		;;
1675943345d3Smrg	*-atari*)
1676943345d3Smrg		os=-mint
1677943345d3Smrg		;;
1678943345d3Smrg	*)
1679943345d3Smrg		os=-none
1680943345d3Smrg		;;
1681943345d3Smrgesac
1682943345d3Smrgfi
1683943345d3Smrg
1684943345d3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1685943345d3Smrg# manufacturer.  We pick the logical manufacturer.
1686943345d3Smrgvendor=unknown
1687943345d3Smrgcase $basic_machine in
1688943345d3Smrg	*-unknown)
1689943345d3Smrg		case $os in
1690943345d3Smrg			-riscix*)
1691943345d3Smrg				vendor=acorn
1692943345d3Smrg				;;
1693943345d3Smrg			-sunos*)
1694943345d3Smrg				vendor=sun
1695943345d3Smrg				;;
1696a7b590b3Smrg			-cnk*|-aix*)
1697943345d3Smrg				vendor=ibm
1698943345d3Smrg				;;
1699943345d3Smrg			-beos*)
1700943345d3Smrg				vendor=be
1701943345d3Smrg				;;
1702943345d3Smrg			-hpux*)
1703943345d3Smrg				vendor=hp
1704943345d3Smrg				;;
1705943345d3Smrg			-mpeix*)
1706943345d3Smrg				vendor=hp
1707943345d3Smrg				;;
1708943345d3Smrg			-hiux*)
1709943345d3Smrg				vendor=hitachi
1710943345d3Smrg				;;
1711943345d3Smrg			-unos*)
1712943345d3Smrg				vendor=crds
1713943345d3Smrg				;;
1714943345d3Smrg			-dgux*)
1715943345d3Smrg				vendor=dg
1716943345d3Smrg				;;
1717943345d3Smrg			-luna*)
1718943345d3Smrg				vendor=omron
1719943345d3Smrg				;;
1720943345d3Smrg			-genix*)
1721943345d3Smrg				vendor=ns
1722943345d3Smrg				;;
1723943345d3Smrg			-mvs* | -opened*)
1724943345d3Smrg				vendor=ibm
1725943345d3Smrg				;;
1726f67b85aaSmrg			-os400*)
1727f67b85aaSmrg				vendor=ibm
1728f67b85aaSmrg				;;
1729943345d3Smrg			-ptx*)
1730943345d3Smrg				vendor=sequent
1731943345d3Smrg				;;
1732f67b85aaSmrg			-tpf*)
1733f67b85aaSmrg				vendor=ibm
1734f67b85aaSmrg				;;
1735943345d3Smrg			-vxsim* | -vxworks* | -windiss*)
1736943345d3Smrg				vendor=wrs
1737943345d3Smrg				;;
1738943345d3Smrg			-aux*)
1739943345d3Smrg				vendor=apple
1740943345d3Smrg				;;
1741943345d3Smrg			-hms*)
1742943345d3Smrg				vendor=hitachi
1743943345d3Smrg				;;
1744943345d3Smrg			-mpw* | -macos*)
1745943345d3Smrg				vendor=apple
1746943345d3Smrg				;;
1747943345d3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1748943345d3Smrg				vendor=atari
1749943345d3Smrg				;;
1750943345d3Smrg			-vos*)
1751943345d3Smrg				vendor=stratus
1752943345d3Smrg				;;
1753943345d3Smrg		esac
1754943345d3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1755943345d3Smrg		;;
1756943345d3Smrgesac
1757943345d3Smrg
1758943345d3Smrgecho $basic_machine$os
1759f67b85aaSmrgexit
1760943345d3Smrg
1761943345d3Smrg# Local variables:
1762943345d3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1763943345d3Smrg# time-stamp-start: "timestamp='"
1764943345d3Smrg# time-stamp-format: "%:y-%02m-%02d"
1765943345d3Smrg# time-stamp-end: "'"
1766943345d3Smrg# End:
1767