config.sub revision 1b1389ee
1bccedf53Smrg#! /bin/sh
2bccedf53Smrg# Configuration validation subroutine script.
3bccedf53Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
41b1389eeSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
51b1389eeSmrg#   2011 Free Software Foundation, Inc.
6bccedf53Smrg
71b1389eeSmrgtimestamp='2011-11-11'
8bccedf53Smrg
9bccedf53Smrg# This file is (in principle) common to ALL GNU software.
10bccedf53Smrg# The presence of a machine in this file suggests that SOME GNU software
11bccedf53Smrg# can handle that machine.  It does not imply ALL GNU software can.
12bccedf53Smrg#
13bccedf53Smrg# This file is free software; you can redistribute it and/or modify
14bccedf53Smrg# it under the terms of the GNU General Public License as published by
15bccedf53Smrg# the Free Software Foundation; either version 2 of the License, or
16bccedf53Smrg# (at your option) any later version.
17bccedf53Smrg#
18bccedf53Smrg# This program is distributed in the hope that it will be useful,
19bccedf53Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20bccedf53Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21bccedf53Smrg# GNU General Public License for more details.
22bccedf53Smrg#
23bccedf53Smrg# You should have received a copy of the GNU General Public License
24bccedf53Smrg# along with this program; if not, write to the Free Software
257c5f6000Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
267c5f6000Smrg# 02110-1301, USA.
277c5f6000Smrg#
28bccedf53Smrg# As a special exception to the GNU General Public License, if you
29bccedf53Smrg# distribute this file as part of a program that contains a
30bccedf53Smrg# configuration script generated by Autoconf, you may include it under
31bccedf53Smrg# the same distribution terms that you use for the rest of that program.
32bccedf53Smrg
337c5f6000Smrg
34bccedf53Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35f7ada8ddSmrg# diff and a properly formatted GNU ChangeLog entry.
36bccedf53Smrg#
37bccedf53Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38bccedf53Smrg# Supply the specified configuration type as an argument.
39bccedf53Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40bccedf53Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41bccedf53Smrg
42f7ada8ddSmrg# You can get the latest version of this script from:
43f7ada8ddSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44f7ada8ddSmrg
45bccedf53Smrg# This file is supposed to be the same for all GNU packages
46bccedf53Smrg# and recognize all the CPU types, system types and aliases
47bccedf53Smrg# that are meaningful with *any* GNU software.
48bccedf53Smrg# Each package is responsible for reporting which valid configurations
49bccedf53Smrg# it does not support.  The user should be able to distinguish
50bccedf53Smrg# a failure to support a valid configuration from a meaningless
51bccedf53Smrg# configuration.
52bccedf53Smrg
53bccedf53Smrg# The goal of this file is to map all the various variations of a given
54bccedf53Smrg# machine specification into a single specification in the form:
55bccedf53Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56bccedf53Smrg# or in some cases, the newer four-part form:
57bccedf53Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58bccedf53Smrg# It is wrong to echo any other type of specification.
59bccedf53Smrg
60bccedf53Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61bccedf53Smrg
62bccedf53Smrgusage="\
63bccedf53SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64bccedf53Smrg       $0 [OPTION] ALIAS
65bccedf53Smrg
66bccedf53SmrgCanonicalize a configuration name.
67bccedf53Smrg
68bccedf53SmrgOperation modes:
69bccedf53Smrg  -h, --help         print this help, then exit
70bccedf53Smrg  -t, --time-stamp   print date of last modification, then exit
71bccedf53Smrg  -v, --version      print version number, then exit
72bccedf53Smrg
73bccedf53SmrgReport bugs and patches to <config-patches@gnu.org>."
74bccedf53Smrg
75bccedf53Smrgversion="\
76bccedf53SmrgGNU config.sub ($timestamp)
77bccedf53Smrg
78f7ada8ddSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
791b1389eeSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
80f7ada8ddSmrgSoftware Foundation, Inc.
81bccedf53Smrg
82bccedf53SmrgThis is free software; see the source for copying conditions.  There is NO
83bccedf53Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84bccedf53Smrg
85bccedf53Smrghelp="
86bccedf53SmrgTry \`$me --help' for more information."
87bccedf53Smrg
88bccedf53Smrg# Parse command line
89bccedf53Smrgwhile test $# -gt 0 ; do
90bccedf53Smrg  case $1 in
91bccedf53Smrg    --time-stamp | --time* | -t )
927c5f6000Smrg       echo "$timestamp" ; exit ;;
93bccedf53Smrg    --version | -v )
947c5f6000Smrg       echo "$version" ; exit ;;
95bccedf53Smrg    --help | --h* | -h )
967c5f6000Smrg       echo "$usage"; exit ;;
97bccedf53Smrg    -- )     # Stop option processing
98bccedf53Smrg       shift; break ;;
99bccedf53Smrg    - )	# Use stdin as input.
100bccedf53Smrg       break ;;
101bccedf53Smrg    -* )
102bccedf53Smrg       echo "$me: invalid option $1$help"
103bccedf53Smrg       exit 1 ;;
104bccedf53Smrg
105bccedf53Smrg    *local*)
106bccedf53Smrg       # First pass through any local machine types.
107bccedf53Smrg       echo $1
1087c5f6000Smrg       exit ;;
109bccedf53Smrg
110bccedf53Smrg    * )
111bccedf53Smrg       break ;;
112bccedf53Smrg  esac
113bccedf53Smrgdone
114bccedf53Smrg
115bccedf53Smrgcase $# in
116bccedf53Smrg 0) echo "$me: missing argument$help" >&2
117bccedf53Smrg    exit 1;;
118bccedf53Smrg 1) ;;
119bccedf53Smrg *) echo "$me: too many arguments$help" >&2
120bccedf53Smrg    exit 1;;
121bccedf53Smrgesac
122bccedf53Smrg
123bccedf53Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124bccedf53Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125bccedf53Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126bccedf53Smrgcase $maybe_os in
127f7ada8ddSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128f7ada8ddSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129f7ada8ddSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1307c5f6000Smrg  kopensolaris*-gnu* | \
1317c5f6000Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132bccedf53Smrg    os=-$maybe_os
133bccedf53Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134bccedf53Smrg    ;;
135bccedf53Smrg  *)
136bccedf53Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137bccedf53Smrg    if [ $basic_machine != $1 ]
138bccedf53Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139bccedf53Smrg    else os=; fi
140bccedf53Smrg    ;;
141bccedf53Smrgesac
142bccedf53Smrg
143bccedf53Smrg### Let's recognize common machines as not being operating systems so
144bccedf53Smrg### that things like config.sub decstation-3100 work.  We also
145bccedf53Smrg### recognize some manufacturers as not being operating systems, so we
146bccedf53Smrg### can provide default operating systems below.
147bccedf53Smrgcase $os in
148bccedf53Smrg	-sun*os*)
149bccedf53Smrg		# Prevent following clause from handling this invalid input.
150bccedf53Smrg		;;
151bccedf53Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152bccedf53Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153bccedf53Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154bccedf53Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155bccedf53Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156bccedf53Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157f7ada8ddSmrg	-apple | -axis | -knuth | -cray | -microblaze)
158bccedf53Smrg		os=
159bccedf53Smrg		basic_machine=$1
160bccedf53Smrg		;;
1611b1389eeSmrg	-bluegene*)
1621b1389eeSmrg		os=-cnk
163f7ada8ddSmrg		;;
164bccedf53Smrg	-sim | -cisco | -oki | -wec | -winbond)
165bccedf53Smrg		os=
166bccedf53Smrg		basic_machine=$1
167bccedf53Smrg		;;
168bccedf53Smrg	-scout)
169bccedf53Smrg		;;
170bccedf53Smrg	-wrs)
171bccedf53Smrg		os=-vxworks
172bccedf53Smrg		basic_machine=$1
173bccedf53Smrg		;;
174bccedf53Smrg	-chorusos*)
175bccedf53Smrg		os=-chorusos
176bccedf53Smrg		basic_machine=$1
177bccedf53Smrg		;;
1781b1389eeSmrg	-chorusrdb)
1791b1389eeSmrg		os=-chorusrdb
180bccedf53Smrg		basic_machine=$1
1811b1389eeSmrg		;;
182bccedf53Smrg	-hiux*)
183bccedf53Smrg		os=-hiuxwe2
184bccedf53Smrg		;;
1857c5f6000Smrg	-sco6)
1867c5f6000Smrg		os=-sco5v6
1877c5f6000Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1887c5f6000Smrg		;;
189bccedf53Smrg	-sco5)
190bccedf53Smrg		os=-sco3.2v5
191bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192bccedf53Smrg		;;
193bccedf53Smrg	-sco4)
194bccedf53Smrg		os=-sco3.2v4
195bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196bccedf53Smrg		;;
197bccedf53Smrg	-sco3.2.[4-9]*)
198bccedf53Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200bccedf53Smrg		;;
201bccedf53Smrg	-sco3.2v[4-9]*)
202bccedf53Smrg		# Don't forget version if it is 3.2v4 or newer.
203bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204bccedf53Smrg		;;
2057c5f6000Smrg	-sco5v6*)
2067c5f6000Smrg		# Don't forget version if it is 3.2v4 or newer.
2077c5f6000Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2087c5f6000Smrg		;;
209bccedf53Smrg	-sco*)
210bccedf53Smrg		os=-sco3.2v2
211bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212bccedf53Smrg		;;
213bccedf53Smrg	-udk*)
214bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215bccedf53Smrg		;;
216bccedf53Smrg	-isc)
217bccedf53Smrg		os=-isc2.2
218bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219bccedf53Smrg		;;
220bccedf53Smrg	-clix*)
221bccedf53Smrg		basic_machine=clipper-intergraph
222bccedf53Smrg		;;
223bccedf53Smrg	-isc*)
224bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225bccedf53Smrg		;;
226bccedf53Smrg	-lynx*)
227bccedf53Smrg		os=-lynxos
228bccedf53Smrg		;;
229bccedf53Smrg	-ptx*)
230bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231bccedf53Smrg		;;
232bccedf53Smrg	-windowsnt*)
233bccedf53Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234bccedf53Smrg		;;
235bccedf53Smrg	-psos*)
236bccedf53Smrg		os=-psos
237bccedf53Smrg		;;
238bccedf53Smrg	-mint | -mint[0-9]*)
239bccedf53Smrg		basic_machine=m68k-atari
240bccedf53Smrg		os=-mint
241bccedf53Smrg		;;
242bccedf53Smrgesac
243bccedf53Smrg
244bccedf53Smrg# Decode aliases for certain CPU-COMPANY combinations.
245bccedf53Smrgcase $basic_machine in
246bccedf53Smrg	# Recognize the basic CPU types without company name.
247bccedf53Smrg	# Some are omitted here because they have special meanings below.
248bccedf53Smrg	1750a | 580 \
249bccedf53Smrg	| a29k \
250bccedf53Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251bccedf53Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2527c5f6000Smrg	| am33_2.0 \
2537c5f6000Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2541b1389eeSmrg        | be32 | be64 \
2557c5f6000Smrg	| bfin \
256bccedf53Smrg	| c4x | clipper \
257bccedf53Smrg	| d10v | d30v | dlx | dsp16xx \
2581b1389eeSmrg	| epiphany \
2597c5f6000Smrg	| fido | fr30 | frv \
260bccedf53Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2611b1389eeSmrg	| hexagon \
262bccedf53Smrg	| i370 | i860 | i960 | ia64 \
2637c5f6000Smrg	| ip2k | iq2000 \
2641b1389eeSmrg	| le32 | le64 \
2657c5f6000Smrg	| lm32 \
2667c5f6000Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2677c5f6000Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268bccedf53Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269bccedf53Smrg	| mips16 \
270bccedf53Smrg	| mips64 | mips64el \
2717c5f6000Smrg	| mips64octeon | mips64octeonel \
272bccedf53Smrg	| mips64orion | mips64orionel \
2737c5f6000Smrg	| mips64r5900 | mips64r5900el \
2747c5f6000Smrg	| mips64vr | mips64vrel \
275bccedf53Smrg	| mips64vr4100 | mips64vr4100el \
276bccedf53Smrg	| mips64vr4300 | mips64vr4300el \
277bccedf53Smrg	| mips64vr5000 | mips64vr5000el \
2787c5f6000Smrg	| mips64vr5900 | mips64vr5900el \
279bccedf53Smrg	| mipsisa32 | mipsisa32el \
280bccedf53Smrg	| mipsisa32r2 | mipsisa32r2el \
281bccedf53Smrg	| mipsisa64 | mipsisa64el \
2827c5f6000Smrg	| mipsisa64r2 | mipsisa64r2el \
283bccedf53Smrg	| mipsisa64sb1 | mipsisa64sb1el \
284bccedf53Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
285bccedf53Smrg	| mipstx39 | mipstx39el \
286bccedf53Smrg	| mn10200 | mn10300 \
2877c5f6000Smrg	| moxie \
2887c5f6000Smrg	| mt \
289bccedf53Smrg	| msp430 \
290f7ada8ddSmrg	| nds32 | nds32le | nds32be \
2917c5f6000Smrg	| nios | nios2 \
292bccedf53Smrg	| ns16k | ns32k \
2931b1389eeSmrg	| open8 \
2947c5f6000Smrg	| or32 \
295bccedf53Smrg	| pdp10 | pdp11 | pj | pjl \
2961b1389eeSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297bccedf53Smrg	| pyramid \
2981b1389eeSmrg	| rl78 | rx \
2997c5f6000Smrg	| score \
3007c5f6000Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301bccedf53Smrg	| sh64 | sh64le \
3027c5f6000Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3037c5f6000Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3041b1389eeSmrg	| spu \
3051b1389eeSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306f7ada8ddSmrg	| ubicom32 \
3071b1389eeSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308bccedf53Smrg	| we32k \
3091b1389eeSmrg	| x86 | xc16x | xstormy16 | xtensa \
3107c5f6000Smrg	| z8k | z80)
311bccedf53Smrg		basic_machine=$basic_machine-unknown
312bccedf53Smrg		;;
313f7ada8ddSmrg	c54x)
314f7ada8ddSmrg		basic_machine=tic54x-unknown
315f7ada8ddSmrg		;;
316f7ada8ddSmrg	c55x)
317f7ada8ddSmrg		basic_machine=tic55x-unknown
318f7ada8ddSmrg		;;
319f7ada8ddSmrg	c6x)
320f7ada8ddSmrg		basic_machine=tic6x-unknown
321f7ada8ddSmrg		;;
322f7ada8ddSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323bccedf53Smrg		# Motorola 68HC11/12.
324bccedf53Smrg		basic_machine=$basic_machine-unknown
325bccedf53Smrg		os=-none
326bccedf53Smrg		;;
327bccedf53Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
328bccedf53Smrg		;;
3297c5f6000Smrg	ms1)
3307c5f6000Smrg		basic_machine=mt-unknown
3317c5f6000Smrg		;;
332bccedf53Smrg
3331b1389eeSmrg	strongarm | thumb | xscale)
3341b1389eeSmrg		basic_machine=arm-unknown
3351b1389eeSmrg		;;
3361b1389eeSmrg
3371b1389eeSmrg	xscaleeb)
3381b1389eeSmrg		basic_machine=armeb-unknown
3391b1389eeSmrg		;;
3401b1389eeSmrg
3411b1389eeSmrg	xscaleel)
3421b1389eeSmrg		basic_machine=armel-unknown
3431b1389eeSmrg		;;
3441b1389eeSmrg
345bccedf53Smrg	# We use `pc' rather than `unknown'
346bccedf53Smrg	# because (1) that's what they normally are, and
347bccedf53Smrg	# (2) the word "unknown" tends to confuse beginning users.
348bccedf53Smrg	i*86 | x86_64)
349bccedf53Smrg	  basic_machine=$basic_machine-pc
350bccedf53Smrg	  ;;
351bccedf53Smrg	# Object if more than one company name word.
352bccedf53Smrg	*-*-*)
353bccedf53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
354bccedf53Smrg		exit 1
355bccedf53Smrg		;;
356bccedf53Smrg	# Recognize the basic CPU types with company name.
357bccedf53Smrg	580-* \
358bccedf53Smrg	| a29k-* \
359bccedf53Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
360bccedf53Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
361bccedf53Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
362bccedf53Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3637c5f6000Smrg	| avr-* | avr32-* \
3641b1389eeSmrg	| be32-* | be64-* \
3657c5f6000Smrg	| bfin-* | bs2000-* \
366f7ada8ddSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3677c5f6000Smrg	| clipper-* | craynv-* | cydra-* \
368bccedf53Smrg	| d10v-* | d30v-* | dlx-* \
369bccedf53Smrg	| elxsi-* \
3707c5f6000Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
371bccedf53Smrg	| h8300-* | h8500-* \
372bccedf53Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3731b1389eeSmrg	| hexagon-* \
374bccedf53Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3757c5f6000Smrg	| ip2k-* | iq2000-* \
3761b1389eeSmrg	| le32-* | le64-* \
3777c5f6000Smrg	| lm32-* \
3787c5f6000Smrg	| m32c-* | m32r-* | m32rle-* \
379bccedf53Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
380f7ada8ddSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
381bccedf53Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
382bccedf53Smrg	| mips16-* \
383bccedf53Smrg	| mips64-* | mips64el-* \
3847c5f6000Smrg	| mips64octeon-* | mips64octeonel-* \
385bccedf53Smrg	| mips64orion-* | mips64orionel-* \
3867c5f6000Smrg	| mips64r5900-* | mips64r5900el-* \
3877c5f6000Smrg	| mips64vr-* | mips64vrel-* \
388bccedf53Smrg	| mips64vr4100-* | mips64vr4100el-* \
389bccedf53Smrg	| mips64vr4300-* | mips64vr4300el-* \
390bccedf53Smrg	| mips64vr5000-* | mips64vr5000el-* \
3917c5f6000Smrg	| mips64vr5900-* | mips64vr5900el-* \
392bccedf53Smrg	| mipsisa32-* | mipsisa32el-* \
393bccedf53Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
394bccedf53Smrg	| mipsisa64-* | mipsisa64el-* \
3957c5f6000Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
396bccedf53Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
397bccedf53Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
398bccedf53Smrg	| mipstx39-* | mipstx39el-* \
3997c5f6000Smrg	| mmix-* \
4007c5f6000Smrg	| mt-* \
401bccedf53Smrg	| msp430-* \
402f7ada8ddSmrg	| nds32-* | nds32le-* | nds32be-* \
4037c5f6000Smrg	| nios-* | nios2-* \
4047c5f6000Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4051b1389eeSmrg	| open8-* \
406bccedf53Smrg	| orion-* \
407bccedf53Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4081b1389eeSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
409bccedf53Smrg	| pyramid-* \
4101b1389eeSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4117c5f6000Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
412bccedf53Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4137c5f6000Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4147c5f6000Smrg	| sparclite-* \
4151b1389eeSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4161b1389eeSmrg	| tahoe-* \
417f7ada8ddSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4181b1389eeSmrg	| tile*-* \
419bccedf53Smrg	| tron-* \
420f7ada8ddSmrg	| ubicom32-* \
4211b1389eeSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4221b1389eeSmrg	| vax-* \
423bccedf53Smrg	| we32k-* \
4241b1389eeSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4257c5f6000Smrg	| xstormy16-* | xtensa*-* \
426bccedf53Smrg	| ymp-* \
4277c5f6000Smrg	| z8k-* | z80-*)
4287c5f6000Smrg		;;
4297c5f6000Smrg	# Recognize the basic CPU types without company name, with glob match.
4307c5f6000Smrg	xtensa*)
4317c5f6000Smrg		basic_machine=$basic_machine-unknown
432bccedf53Smrg		;;
433bccedf53Smrg	# Recognize the various machine names and aliases which stand
434bccedf53Smrg	# for a CPU type and a company and sometimes even an OS.
435bccedf53Smrg	386bsd)
436bccedf53Smrg		basic_machine=i386-unknown
437bccedf53Smrg		os=-bsd
438bccedf53Smrg		;;
439bccedf53Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
440bccedf53Smrg		basic_machine=m68000-att
441bccedf53Smrg		;;
442bccedf53Smrg	3b*)
443bccedf53Smrg		basic_machine=we32k-att
444bccedf53Smrg		;;
445bccedf53Smrg	a29khif)
446bccedf53Smrg		basic_machine=a29k-amd
447bccedf53Smrg		os=-udi
448bccedf53Smrg		;;
4491b1389eeSmrg	abacus)
4507c5f6000Smrg		basic_machine=abacus-unknown
4517c5f6000Smrg		;;
452bccedf53Smrg	adobe68k)
453bccedf53Smrg		basic_machine=m68010-adobe
454bccedf53Smrg		os=-scout
455bccedf53Smrg		;;
456bccedf53Smrg	alliant | fx80)
457bccedf53Smrg		basic_machine=fx80-alliant
458bccedf53Smrg		;;
459bccedf53Smrg	altos | altos3068)
460bccedf53Smrg		basic_machine=m68k-altos
461bccedf53Smrg		;;
462bccedf53Smrg	am29k)
463bccedf53Smrg		basic_machine=a29k-none
464bccedf53Smrg		os=-bsd
465bccedf53Smrg		;;
466bccedf53Smrg	amd64)
467bccedf53Smrg		basic_machine=x86_64-pc
468bccedf53Smrg		;;
4697c5f6000Smrg	amd64-*)
4707c5f6000Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4717c5f6000Smrg		;;
472bccedf53Smrg	amdahl)
473bccedf53Smrg		basic_machine=580-amdahl
474bccedf53Smrg		os=-sysv
475bccedf53Smrg		;;
476bccedf53Smrg	amiga | amiga-*)
477bccedf53Smrg		basic_machine=m68k-unknown
478bccedf53Smrg		;;
479bccedf53Smrg	amigaos | amigados)
480bccedf53Smrg		basic_machine=m68k-unknown
481bccedf53Smrg		os=-amigaos
482bccedf53Smrg		;;
483bccedf53Smrg	amigaunix | amix)
484bccedf53Smrg		basic_machine=m68k-unknown
485bccedf53Smrg		os=-sysv4
486bccedf53Smrg		;;
487bccedf53Smrg	apollo68)
488bccedf53Smrg		basic_machine=m68k-apollo
489bccedf53Smrg		os=-sysv
490bccedf53Smrg		;;
491bccedf53Smrg	apollo68bsd)
492bccedf53Smrg		basic_machine=m68k-apollo
493bccedf53Smrg		os=-bsd
494bccedf53Smrg		;;
4957c5f6000Smrg	aros)
4967c5f6000Smrg		basic_machine=i386-pc
4977c5f6000Smrg		os=-aros
4987c5f6000Smrg		;;
499bccedf53Smrg	aux)
500bccedf53Smrg		basic_machine=m68k-apple
501bccedf53Smrg		os=-aux
502bccedf53Smrg		;;
503bccedf53Smrg	balance)
504bccedf53Smrg		basic_machine=ns32k-sequent
505bccedf53Smrg		os=-dynix
506bccedf53Smrg		;;
5077c5f6000Smrg	blackfin)
5087c5f6000Smrg		basic_machine=bfin-unknown
5097c5f6000Smrg		os=-linux
5107c5f6000Smrg		;;
5117c5f6000Smrg	blackfin-*)
5127c5f6000Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5137c5f6000Smrg		os=-linux
5147c5f6000Smrg		;;
515f7ada8ddSmrg	bluegene*)
516f7ada8ddSmrg		basic_machine=powerpc-ibm
517f7ada8ddSmrg		os=-cnk
518f7ada8ddSmrg		;;
519f7ada8ddSmrg	c54x-*)
520f7ada8ddSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
521f7ada8ddSmrg		;;
522f7ada8ddSmrg	c55x-*)
523f7ada8ddSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
524f7ada8ddSmrg		;;
525f7ada8ddSmrg	c6x-*)
526f7ada8ddSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
527f7ada8ddSmrg		;;
528bccedf53Smrg	c90)
529bccedf53Smrg		basic_machine=c90-cray
530bccedf53Smrg		os=-unicos
531bccedf53Smrg		;;
5321b1389eeSmrg	cegcc)
5337c5f6000Smrg		basic_machine=arm-unknown
5347c5f6000Smrg		os=-cegcc
5357c5f6000Smrg		;;
536bccedf53Smrg	convex-c1)
537bccedf53Smrg		basic_machine=c1-convex
538bccedf53Smrg		os=-bsd
539bccedf53Smrg		;;
540bccedf53Smrg	convex-c2)
541bccedf53Smrg		basic_machine=c2-convex
542bccedf53Smrg		os=-bsd
543bccedf53Smrg		;;
544bccedf53Smrg	convex-c32)
545bccedf53Smrg		basic_machine=c32-convex
546bccedf53Smrg		os=-bsd
547bccedf53Smrg		;;
548bccedf53Smrg	convex-c34)
549bccedf53Smrg		basic_machine=c34-convex
550bccedf53Smrg		os=-bsd
551bccedf53Smrg		;;
552bccedf53Smrg	convex-c38)
553bccedf53Smrg		basic_machine=c38-convex
554bccedf53Smrg		os=-bsd
555bccedf53Smrg		;;
556bccedf53Smrg	cray | j90)
557bccedf53Smrg		basic_machine=j90-cray
558bccedf53Smrg		os=-unicos
559bccedf53Smrg		;;
5607c5f6000Smrg	craynv)
5617c5f6000Smrg		basic_machine=craynv-cray
5627c5f6000Smrg		os=-unicosmp
5637c5f6000Smrg		;;
5641b1389eeSmrg	cr16 | cr16-*)
5657c5f6000Smrg		basic_machine=cr16-unknown
5667c5f6000Smrg		os=-elf
5677c5f6000Smrg		;;
568bccedf53Smrg	crds | unos)
569bccedf53Smrg		basic_machine=m68k-crds
570bccedf53Smrg		;;
5717c5f6000Smrg	crisv32 | crisv32-* | etraxfs*)
5727c5f6000Smrg		basic_machine=crisv32-axis
5737c5f6000Smrg		;;
574bccedf53Smrg	cris | cris-* | etrax*)
575bccedf53Smrg		basic_machine=cris-axis
576bccedf53Smrg		;;
5777c5f6000Smrg	crx)
5787c5f6000Smrg		basic_machine=crx-unknown
5797c5f6000Smrg		os=-elf
5807c5f6000Smrg		;;
581bccedf53Smrg	da30 | da30-*)
582bccedf53Smrg		basic_machine=m68k-da30
583bccedf53Smrg		;;
584bccedf53Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
585bccedf53Smrg		basic_machine=mips-dec
586bccedf53Smrg		;;
587bccedf53Smrg	decsystem10* | dec10*)
588bccedf53Smrg		basic_machine=pdp10-dec
589bccedf53Smrg		os=-tops10
590bccedf53Smrg		;;
591bccedf53Smrg	decsystem20* | dec20*)
592bccedf53Smrg		basic_machine=pdp10-dec
593bccedf53Smrg		os=-tops20
594bccedf53Smrg		;;
595bccedf53Smrg	delta | 3300 | motorola-3300 | motorola-delta \
596bccedf53Smrg	      | 3300-motorola | delta-motorola)
597bccedf53Smrg		basic_machine=m68k-motorola
598bccedf53Smrg		;;
599bccedf53Smrg	delta88)
600bccedf53Smrg		basic_machine=m88k-motorola
601bccedf53Smrg		os=-sysv3
602bccedf53Smrg		;;
6037c5f6000Smrg	dicos)
6047c5f6000Smrg		basic_machine=i686-pc
6057c5f6000Smrg		os=-dicos
6067c5f6000Smrg		;;
6077c5f6000Smrg	djgpp)
6087c5f6000Smrg		basic_machine=i586-pc
6097c5f6000Smrg		os=-msdosdjgpp
6107c5f6000Smrg		;;
611bccedf53Smrg	dpx20 | dpx20-*)
612bccedf53Smrg		basic_machine=rs6000-bull
613bccedf53Smrg		os=-bosx
614bccedf53Smrg		;;
615bccedf53Smrg	dpx2* | dpx2*-bull)
616bccedf53Smrg		basic_machine=m68k-bull
617bccedf53Smrg		os=-sysv3
618bccedf53Smrg		;;
619bccedf53Smrg	ebmon29k)
620bccedf53Smrg		basic_machine=a29k-amd
621bccedf53Smrg		os=-ebmon
622bccedf53Smrg		;;
623bccedf53Smrg	elxsi)
624bccedf53Smrg		basic_machine=elxsi-elxsi
625bccedf53Smrg		os=-bsd
626bccedf53Smrg		;;
627bccedf53Smrg	encore | umax | mmax)
628bccedf53Smrg		basic_machine=ns32k-encore
629bccedf53Smrg		;;
630bccedf53Smrg	es1800 | OSE68k | ose68k | ose | OSE)
631bccedf53Smrg		basic_machine=m68k-ericsson
632bccedf53Smrg		os=-ose
633bccedf53Smrg		;;
634bccedf53Smrg	fx2800)
635bccedf53Smrg		basic_machine=i860-alliant
636bccedf53Smrg		;;
637bccedf53Smrg	genix)
638bccedf53Smrg		basic_machine=ns32k-ns
639bccedf53Smrg		;;
640bccedf53Smrg	gmicro)
641bccedf53Smrg		basic_machine=tron-gmicro
642bccedf53Smrg		os=-sysv
643bccedf53Smrg		;;
644bccedf53Smrg	go32)
645bccedf53Smrg		basic_machine=i386-pc
646bccedf53Smrg		os=-go32
647bccedf53Smrg		;;
648bccedf53Smrg	h3050r* | hiux*)
649bccedf53Smrg		basic_machine=hppa1.1-hitachi
650bccedf53Smrg		os=-hiuxwe2
651bccedf53Smrg		;;
652bccedf53Smrg	h8300hms)
653bccedf53Smrg		basic_machine=h8300-hitachi
654bccedf53Smrg		os=-hms
655bccedf53Smrg		;;
656bccedf53Smrg	h8300xray)
657bccedf53Smrg		basic_machine=h8300-hitachi
658bccedf53Smrg		os=-xray
659bccedf53Smrg		;;
660bccedf53Smrg	h8500hms)
661bccedf53Smrg		basic_machine=h8500-hitachi
662bccedf53Smrg		os=-hms
663bccedf53Smrg		;;
664bccedf53Smrg	harris)
665bccedf53Smrg		basic_machine=m88k-harris
666bccedf53Smrg		os=-sysv3
667bccedf53Smrg		;;
668bccedf53Smrg	hp300-*)
669bccedf53Smrg		basic_machine=m68k-hp
670bccedf53Smrg		;;
671bccedf53Smrg	hp300bsd)
672bccedf53Smrg		basic_machine=m68k-hp
673bccedf53Smrg		os=-bsd
674bccedf53Smrg		;;
675bccedf53Smrg	hp300hpux)
676bccedf53Smrg		basic_machine=m68k-hp
677bccedf53Smrg		os=-hpux
678bccedf53Smrg		;;
679bccedf53Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
680bccedf53Smrg		basic_machine=hppa1.0-hp
681bccedf53Smrg		;;
682bccedf53Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
683bccedf53Smrg		basic_machine=m68000-hp
684bccedf53Smrg		;;
685bccedf53Smrg	hp9k3[2-9][0-9])
686bccedf53Smrg		basic_machine=m68k-hp
687bccedf53Smrg		;;
688bccedf53Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
689bccedf53Smrg		basic_machine=hppa1.0-hp
690bccedf53Smrg		;;
691bccedf53Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
692bccedf53Smrg		basic_machine=hppa1.1-hp
693bccedf53Smrg		;;
694bccedf53Smrg	hp9k78[0-9] | hp78[0-9])
695bccedf53Smrg		# FIXME: really hppa2.0-hp
696bccedf53Smrg		basic_machine=hppa1.1-hp
697bccedf53Smrg		;;
698bccedf53Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
699bccedf53Smrg		# FIXME: really hppa2.0-hp
700bccedf53Smrg		basic_machine=hppa1.1-hp
701bccedf53Smrg		;;
702bccedf53Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
703bccedf53Smrg		basic_machine=hppa1.1-hp
704bccedf53Smrg		;;
705bccedf53Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
706bccedf53Smrg		basic_machine=hppa1.0-hp
707bccedf53Smrg		;;
708bccedf53Smrg	hppa-next)
709bccedf53Smrg		os=-nextstep3
710bccedf53Smrg		;;
711bccedf53Smrg	hppaosf)
712bccedf53Smrg		basic_machine=hppa1.1-hp
713bccedf53Smrg		os=-osf
714bccedf53Smrg		;;
715bccedf53Smrg	hppro)
716bccedf53Smrg		basic_machine=hppa1.1-hp
717bccedf53Smrg		os=-proelf
718bccedf53Smrg		;;
719bccedf53Smrg	i370-ibm* | ibm*)
720bccedf53Smrg		basic_machine=i370-ibm
721bccedf53Smrg		;;
722bccedf53Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
723bccedf53Smrg	i*86v32)
724bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725bccedf53Smrg		os=-sysv32
726bccedf53Smrg		;;
727bccedf53Smrg	i*86v4*)
728bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
729bccedf53Smrg		os=-sysv4
730bccedf53Smrg		;;
731bccedf53Smrg	i*86v)
732bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
733bccedf53Smrg		os=-sysv
734bccedf53Smrg		;;
735bccedf53Smrg	i*86sol2)
736bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
737bccedf53Smrg		os=-solaris2
738bccedf53Smrg		;;
739bccedf53Smrg	i386mach)
740bccedf53Smrg		basic_machine=i386-mach
741bccedf53Smrg		os=-mach
742bccedf53Smrg		;;
743bccedf53Smrg	i386-vsta | vsta)
744bccedf53Smrg		basic_machine=i386-unknown
745bccedf53Smrg		os=-vsta
746bccedf53Smrg		;;
747bccedf53Smrg	iris | iris4d)
748bccedf53Smrg		basic_machine=mips-sgi
749bccedf53Smrg		case $os in
750bccedf53Smrg		    -irix*)
751bccedf53Smrg			;;
752bccedf53Smrg		    *)
753bccedf53Smrg			os=-irix4
754bccedf53Smrg			;;
755bccedf53Smrg		esac
756bccedf53Smrg		;;
757bccedf53Smrg	isi68 | isi)
758bccedf53Smrg		basic_machine=m68k-isi
759bccedf53Smrg		os=-sysv
760bccedf53Smrg		;;
7617c5f6000Smrg	m68knommu)
7627c5f6000Smrg		basic_machine=m68k-unknown
7637c5f6000Smrg		os=-linux
7647c5f6000Smrg		;;
7657c5f6000Smrg	m68knommu-*)
7667c5f6000Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7677c5f6000Smrg		os=-linux
7687c5f6000Smrg		;;
769bccedf53Smrg	m88k-omron*)
770bccedf53Smrg		basic_machine=m88k-omron
771bccedf53Smrg		;;
772bccedf53Smrg	magnum | m3230)
773bccedf53Smrg		basic_machine=mips-mips
774bccedf53Smrg		os=-sysv
775bccedf53Smrg		;;
776bccedf53Smrg	merlin)
777bccedf53Smrg		basic_machine=ns32k-utek
778bccedf53Smrg		os=-sysv
779bccedf53Smrg		;;
7801b1389eeSmrg	microblaze)
781f7ada8ddSmrg		basic_machine=microblaze-xilinx
782f7ada8ddSmrg		;;
783bccedf53Smrg	mingw32)
784bccedf53Smrg		basic_machine=i386-pc
785bccedf53Smrg		os=-mingw32
786bccedf53Smrg		;;
7877c5f6000Smrg	mingw32ce)
7887c5f6000Smrg		basic_machine=arm-unknown
7897c5f6000Smrg		os=-mingw32ce
7907c5f6000Smrg		;;
791bccedf53Smrg	miniframe)
792bccedf53Smrg		basic_machine=m68000-convergent
793bccedf53Smrg		;;
794bccedf53Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
795bccedf53Smrg		basic_machine=m68k-atari
796bccedf53Smrg		os=-mint
797bccedf53Smrg		;;
798bccedf53Smrg	mips3*-*)
799bccedf53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
800bccedf53Smrg		;;
801bccedf53Smrg	mips3*)
802bccedf53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
803bccedf53Smrg		;;
804bccedf53Smrg	monitor)
805bccedf53Smrg		basic_machine=m68k-rom68k
806bccedf53Smrg		os=-coff
807bccedf53Smrg		;;
808bccedf53Smrg	morphos)
809bccedf53Smrg		basic_machine=powerpc-unknown
810bccedf53Smrg		os=-morphos
811bccedf53Smrg		;;
812bccedf53Smrg	msdos)
813bccedf53Smrg		basic_machine=i386-pc
814bccedf53Smrg		os=-msdos
815bccedf53Smrg		;;
8167c5f6000Smrg	ms1-*)
8177c5f6000Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8187c5f6000Smrg		;;
8191b1389eeSmrg	msys)
8201b1389eeSmrg		basic_machine=i386-pc
8211b1389eeSmrg		os=-msys
8221b1389eeSmrg		;;
823bccedf53Smrg	mvs)
824bccedf53Smrg		basic_machine=i370-ibm
825bccedf53Smrg		os=-mvs
826bccedf53Smrg		;;
8271b1389eeSmrg	nacl)
8281b1389eeSmrg		basic_machine=le32-unknown
8291b1389eeSmrg		os=-nacl
8301b1389eeSmrg		;;
831bccedf53Smrg	ncr3000)
832bccedf53Smrg		basic_machine=i486-ncr
833bccedf53Smrg		os=-sysv4
834bccedf53Smrg		;;
835bccedf53Smrg	netbsd386)
836bccedf53Smrg		basic_machine=i386-unknown
837bccedf53Smrg		os=-netbsd
838bccedf53Smrg		;;
839bccedf53Smrg	netwinder)
840bccedf53Smrg		basic_machine=armv4l-rebel
841bccedf53Smrg		os=-linux
842bccedf53Smrg		;;
843bccedf53Smrg	news | news700 | news800 | news900)
844bccedf53Smrg		basic_machine=m68k-sony
845bccedf53Smrg		os=-newsos
846bccedf53Smrg		;;
847bccedf53Smrg	news1000)
848bccedf53Smrg		basic_machine=m68030-sony
849bccedf53Smrg		os=-newsos
850bccedf53Smrg		;;
851bccedf53Smrg	news-3600 | risc-news)
852bccedf53Smrg		basic_machine=mips-sony
853bccedf53Smrg		os=-newsos
854bccedf53Smrg		;;
855bccedf53Smrg	necv70)
856bccedf53Smrg		basic_machine=v70-nec
857bccedf53Smrg		os=-sysv
858bccedf53Smrg		;;
859bccedf53Smrg	next | m*-next )
860bccedf53Smrg		basic_machine=m68k-next
861bccedf53Smrg		case $os in
862bccedf53Smrg		    -nextstep* )
863bccedf53Smrg			;;
864bccedf53Smrg		    -ns2*)
865bccedf53Smrg		      os=-nextstep2
866bccedf53Smrg			;;
867bccedf53Smrg		    *)
868bccedf53Smrg		      os=-nextstep3
869bccedf53Smrg			;;
870bccedf53Smrg		esac
871bccedf53Smrg		;;
872bccedf53Smrg	nh3000)
873bccedf53Smrg		basic_machine=m68k-harris
874bccedf53Smrg		os=-cxux
875bccedf53Smrg		;;
876bccedf53Smrg	nh[45]000)
877bccedf53Smrg		basic_machine=m88k-harris
878bccedf53Smrg		os=-cxux
879bccedf53Smrg		;;
880bccedf53Smrg	nindy960)
881bccedf53Smrg		basic_machine=i960-intel
882bccedf53Smrg		os=-nindy
883bccedf53Smrg		;;
884bccedf53Smrg	mon960)
885bccedf53Smrg		basic_machine=i960-intel
886bccedf53Smrg		os=-mon960
887bccedf53Smrg		;;
888bccedf53Smrg	nonstopux)
889bccedf53Smrg		basic_machine=mips-compaq
890bccedf53Smrg		os=-nonstopux
891bccedf53Smrg		;;
892bccedf53Smrg	np1)
893bccedf53Smrg		basic_machine=np1-gould
894bccedf53Smrg		;;
8951b1389eeSmrg	neo-tandem)
896f7ada8ddSmrg		basic_machine=neo-tandem
897f7ada8ddSmrg		;;
8981b1389eeSmrg	nse-tandem)
899f7ada8ddSmrg		basic_machine=nse-tandem
900f7ada8ddSmrg		;;
901bccedf53Smrg	nsr-tandem)
902bccedf53Smrg		basic_machine=nsr-tandem
903bccedf53Smrg		;;
904bccedf53Smrg	op50n-* | op60c-*)
905bccedf53Smrg		basic_machine=hppa1.1-oki
906bccedf53Smrg		os=-proelf
907bccedf53Smrg		;;
9087c5f6000Smrg	openrisc | openrisc-*)
909bccedf53Smrg		basic_machine=or32-unknown
9107c5f6000Smrg		;;
9117c5f6000Smrg	os400)
9127c5f6000Smrg		basic_machine=powerpc-ibm
9137c5f6000Smrg		os=-os400
914bccedf53Smrg		;;
915bccedf53Smrg	OSE68000 | ose68000)
916bccedf53Smrg		basic_machine=m68000-ericsson
917bccedf53Smrg		os=-ose
918bccedf53Smrg		;;
919bccedf53Smrg	os68k)
920bccedf53Smrg		basic_machine=m68k-none
921bccedf53Smrg		os=-os68k
922bccedf53Smrg		;;
923bccedf53Smrg	pa-hitachi)
924bccedf53Smrg		basic_machine=hppa1.1-hitachi
925bccedf53Smrg		os=-hiuxwe2
926bccedf53Smrg		;;
927bccedf53Smrg	paragon)
928bccedf53Smrg		basic_machine=i860-intel
929bccedf53Smrg		os=-osf
930bccedf53Smrg		;;
9317c5f6000Smrg	parisc)
9327c5f6000Smrg		basic_machine=hppa-unknown
9337c5f6000Smrg		os=-linux
9347c5f6000Smrg		;;
9357c5f6000Smrg	parisc-*)
9367c5f6000Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9377c5f6000Smrg		os=-linux
9387c5f6000Smrg		;;
939bccedf53Smrg	pbd)
940bccedf53Smrg		basic_machine=sparc-tti
941bccedf53Smrg		;;
942bccedf53Smrg	pbb)
943bccedf53Smrg		basic_machine=m68k-tti
944bccedf53Smrg		;;
945bccedf53Smrg	pc532 | pc532-*)
946bccedf53Smrg		basic_machine=ns32k-pc532
947bccedf53Smrg		;;
9487c5f6000Smrg	pc98)
9497c5f6000Smrg		basic_machine=i386-pc
9507c5f6000Smrg		;;
9517c5f6000Smrg	pc98-*)
9527c5f6000Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9537c5f6000Smrg		;;
954bccedf53Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
955bccedf53Smrg		basic_machine=i586-pc
956bccedf53Smrg		;;
957bccedf53Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
958bccedf53Smrg		basic_machine=i686-pc
959bccedf53Smrg		;;
960bccedf53Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
961bccedf53Smrg		basic_machine=i686-pc
962bccedf53Smrg		;;
963bccedf53Smrg	pentium4)
964bccedf53Smrg		basic_machine=i786-pc
965bccedf53Smrg		;;
966bccedf53Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
967bccedf53Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
968bccedf53Smrg		;;
969bccedf53Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
970bccedf53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
971bccedf53Smrg		;;
972bccedf53Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
973bccedf53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
974bccedf53Smrg		;;
975bccedf53Smrg	pentium4-*)
976bccedf53Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
977bccedf53Smrg		;;
978bccedf53Smrg	pn)
979bccedf53Smrg		basic_machine=pn-gould
980bccedf53Smrg		;;
981bccedf53Smrg	power)	basic_machine=power-ibm
982bccedf53Smrg		;;
9831b1389eeSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
984bccedf53Smrg		;;
9851b1389eeSmrg	ppc-* | ppcbe-*)
9861b1389eeSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
987bccedf53Smrg		;;
988bccedf53Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
989bccedf53Smrg		basic_machine=powerpcle-unknown
990bccedf53Smrg		;;
991bccedf53Smrg	ppcle-* | powerpclittle-*)
992bccedf53Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
993bccedf53Smrg		;;
994bccedf53Smrg	ppc64)	basic_machine=powerpc64-unknown
995bccedf53Smrg		;;
996bccedf53Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
997bccedf53Smrg		;;
998bccedf53Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
999bccedf53Smrg		basic_machine=powerpc64le-unknown
1000bccedf53Smrg		;;
1001bccedf53Smrg	ppc64le-* | powerpc64little-*)
1002bccedf53Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1003bccedf53Smrg		;;
1004bccedf53Smrg	ps2)
1005bccedf53Smrg		basic_machine=i386-ibm
1006bccedf53Smrg		;;
1007bccedf53Smrg	pw32)
1008bccedf53Smrg		basic_machine=i586-unknown
1009bccedf53Smrg		os=-pw32
1010bccedf53Smrg		;;
10117c5f6000Smrg	rdos)
10127c5f6000Smrg		basic_machine=i386-pc
10137c5f6000Smrg		os=-rdos
10147c5f6000Smrg		;;
1015bccedf53Smrg	rom68k)
1016bccedf53Smrg		basic_machine=m68k-rom68k
1017bccedf53Smrg		os=-coff
1018bccedf53Smrg		;;
1019bccedf53Smrg	rm[46]00)
1020bccedf53Smrg		basic_machine=mips-siemens
1021bccedf53Smrg		;;
1022bccedf53Smrg	rtpc | rtpc-*)
1023bccedf53Smrg		basic_machine=romp-ibm
1024bccedf53Smrg		;;
10257c5f6000Smrg	s390 | s390-*)
10267c5f6000Smrg		basic_machine=s390-ibm
10277c5f6000Smrg		;;
10287c5f6000Smrg	s390x | s390x-*)
10297c5f6000Smrg		basic_machine=s390x-ibm
10307c5f6000Smrg		;;
1031bccedf53Smrg	sa29200)
1032bccedf53Smrg		basic_machine=a29k-amd
1033bccedf53Smrg		os=-udi
1034bccedf53Smrg		;;
1035bccedf53Smrg	sb1)
1036bccedf53Smrg		basic_machine=mipsisa64sb1-unknown
1037bccedf53Smrg		;;
1038bccedf53Smrg	sb1el)
1039bccedf53Smrg		basic_machine=mipsisa64sb1el-unknown
1040bccedf53Smrg		;;
10417c5f6000Smrg	sde)
10427c5f6000Smrg		basic_machine=mipsisa32-sde
10437c5f6000Smrg		os=-elf
10447c5f6000Smrg		;;
1045bccedf53Smrg	sei)
1046bccedf53Smrg		basic_machine=mips-sei
1047bccedf53Smrg		os=-seiux
1048bccedf53Smrg		;;
1049bccedf53Smrg	sequent)
1050bccedf53Smrg		basic_machine=i386-sequent
1051bccedf53Smrg		;;
1052bccedf53Smrg	sh)
1053bccedf53Smrg		basic_machine=sh-hitachi
1054bccedf53Smrg		os=-hms
1055bccedf53Smrg		;;
10567c5f6000Smrg	sh5el)
10577c5f6000Smrg		basic_machine=sh5le-unknown
10587c5f6000Smrg		;;
1059bccedf53Smrg	sh64)
1060bccedf53Smrg		basic_machine=sh64-unknown
1061bccedf53Smrg		;;
1062bccedf53Smrg	sparclite-wrs | simso-wrs)
1063bccedf53Smrg		basic_machine=sparclite-wrs
1064bccedf53Smrg		os=-vxworks
1065bccedf53Smrg		;;
1066bccedf53Smrg	sps7)
1067bccedf53Smrg		basic_machine=m68k-bull
1068bccedf53Smrg		os=-sysv2
1069bccedf53Smrg		;;
1070bccedf53Smrg	spur)
1071bccedf53Smrg		basic_machine=spur-unknown
1072bccedf53Smrg		;;
1073bccedf53Smrg	st2000)
1074bccedf53Smrg		basic_machine=m68k-tandem
1075bccedf53Smrg		;;
1076bccedf53Smrg	stratus)
1077bccedf53Smrg		basic_machine=i860-stratus
1078bccedf53Smrg		os=-sysv4
1079bccedf53Smrg		;;
10801b1389eeSmrg	strongarm-* | thumb-*)
10811b1389eeSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10821b1389eeSmrg		;;
1083bccedf53Smrg	sun2)
1084bccedf53Smrg		basic_machine=m68000-sun
1085bccedf53Smrg		;;
1086bccedf53Smrg	sun2os3)
1087bccedf53Smrg		basic_machine=m68000-sun
1088bccedf53Smrg		os=-sunos3
1089bccedf53Smrg		;;
1090bccedf53Smrg	sun2os4)
1091bccedf53Smrg		basic_machine=m68000-sun
1092bccedf53Smrg		os=-sunos4
1093bccedf53Smrg		;;
1094bccedf53Smrg	sun3os3)
1095bccedf53Smrg		basic_machine=m68k-sun
1096bccedf53Smrg		os=-sunos3
1097bccedf53Smrg		;;
1098bccedf53Smrg	sun3os4)
1099bccedf53Smrg		basic_machine=m68k-sun
1100bccedf53Smrg		os=-sunos4
1101bccedf53Smrg		;;
1102bccedf53Smrg	sun4os3)
1103bccedf53Smrg		basic_machine=sparc-sun
1104bccedf53Smrg		os=-sunos3
1105bccedf53Smrg		;;
1106bccedf53Smrg	sun4os4)
1107bccedf53Smrg		basic_machine=sparc-sun
1108bccedf53Smrg		os=-sunos4
1109bccedf53Smrg		;;
1110bccedf53Smrg	sun4sol2)
1111bccedf53Smrg		basic_machine=sparc-sun
1112bccedf53Smrg		os=-solaris2
1113bccedf53Smrg		;;
1114bccedf53Smrg	sun3 | sun3-*)
1115bccedf53Smrg		basic_machine=m68k-sun
1116bccedf53Smrg		;;
1117bccedf53Smrg	sun4)
1118bccedf53Smrg		basic_machine=sparc-sun
1119bccedf53Smrg		;;
1120bccedf53Smrg	sun386 | sun386i | roadrunner)
1121bccedf53Smrg		basic_machine=i386-sun
1122bccedf53Smrg		;;
1123bccedf53Smrg	sv1)
1124bccedf53Smrg		basic_machine=sv1-cray
1125bccedf53Smrg		os=-unicos
1126bccedf53Smrg		;;
1127bccedf53Smrg	symmetry)
1128bccedf53Smrg		basic_machine=i386-sequent
1129bccedf53Smrg		os=-dynix
1130bccedf53Smrg		;;
1131bccedf53Smrg	t3e)
1132bccedf53Smrg		basic_machine=alphaev5-cray
1133bccedf53Smrg		os=-unicos
1134bccedf53Smrg		;;
1135bccedf53Smrg	t90)
1136bccedf53Smrg		basic_machine=t90-cray
1137bccedf53Smrg		os=-unicos
1138bccedf53Smrg		;;
11397c5f6000Smrg	tile*)
11401b1389eeSmrg		basic_machine=$basic_machine-unknown
11417c5f6000Smrg		os=-linux-gnu
11427c5f6000Smrg		;;
1143bccedf53Smrg	tx39)
1144bccedf53Smrg		basic_machine=mipstx39-unknown
1145bccedf53Smrg		;;
1146bccedf53Smrg	tx39el)
1147bccedf53Smrg		basic_machine=mipstx39el-unknown
1148bccedf53Smrg		;;
1149bccedf53Smrg	toad1)
1150bccedf53Smrg		basic_machine=pdp10-xkl
1151bccedf53Smrg		os=-tops20
1152bccedf53Smrg		;;
1153bccedf53Smrg	tower | tower-32)
1154bccedf53Smrg		basic_machine=m68k-ncr
1155bccedf53Smrg		;;
11567c5f6000Smrg	tpf)
11577c5f6000Smrg		basic_machine=s390x-ibm
11587c5f6000Smrg		os=-tpf
11597c5f6000Smrg		;;
1160bccedf53Smrg	udi29k)
1161bccedf53Smrg		basic_machine=a29k-amd
1162bccedf53Smrg		os=-udi
1163bccedf53Smrg		;;
1164bccedf53Smrg	ultra3)
1165bccedf53Smrg		basic_machine=a29k-nyu
1166bccedf53Smrg		os=-sym1
1167bccedf53Smrg		;;
1168bccedf53Smrg	v810 | necv810)
1169bccedf53Smrg		basic_machine=v810-nec
1170bccedf53Smrg		os=-none
1171bccedf53Smrg		;;
1172bccedf53Smrg	vaxv)
1173bccedf53Smrg		basic_machine=vax-dec
1174bccedf53Smrg		os=-sysv
1175bccedf53Smrg		;;
1176bccedf53Smrg	vms)
1177bccedf53Smrg		basic_machine=vax-dec
1178bccedf53Smrg		os=-vms
1179bccedf53Smrg		;;
1180bccedf53Smrg	vpp*|vx|vx-*)
1181bccedf53Smrg		basic_machine=f301-fujitsu
1182bccedf53Smrg		;;
1183bccedf53Smrg	vxworks960)
1184bccedf53Smrg		basic_machine=i960-wrs
1185bccedf53Smrg		os=-vxworks
1186bccedf53Smrg		;;
1187bccedf53Smrg	vxworks68)
1188bccedf53Smrg		basic_machine=m68k-wrs
1189bccedf53Smrg		os=-vxworks
1190bccedf53Smrg		;;
1191bccedf53Smrg	vxworks29k)
1192bccedf53Smrg		basic_machine=a29k-wrs
1193bccedf53Smrg		os=-vxworks
1194bccedf53Smrg		;;
1195bccedf53Smrg	w65*)
1196bccedf53Smrg		basic_machine=w65-wdc
1197bccedf53Smrg		os=-none
1198bccedf53Smrg		;;
1199bccedf53Smrg	w89k-*)
1200bccedf53Smrg		basic_machine=hppa1.1-winbond
1201bccedf53Smrg		os=-proelf
1202bccedf53Smrg		;;
12037c5f6000Smrg	xbox)
12047c5f6000Smrg		basic_machine=i686-pc
12057c5f6000Smrg		os=-mingw32
12067c5f6000Smrg		;;
1207bccedf53Smrg	xps | xps100)
1208bccedf53Smrg		basic_machine=xps100-honeywell
1209bccedf53Smrg		;;
12101b1389eeSmrg	xscale-* | xscalee[bl]-*)
12111b1389eeSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12121b1389eeSmrg		;;
1213bccedf53Smrg	ymp)
1214bccedf53Smrg		basic_machine=ymp-cray
1215bccedf53Smrg		os=-unicos
1216bccedf53Smrg		;;
1217bccedf53Smrg	z8k-*-coff)
1218bccedf53Smrg		basic_machine=z8k-unknown
1219bccedf53Smrg		os=-sim
1220bccedf53Smrg		;;
12217c5f6000Smrg	z80-*-coff)
12227c5f6000Smrg		basic_machine=z80-unknown
12237c5f6000Smrg		os=-sim
12247c5f6000Smrg		;;
1225bccedf53Smrg	none)
1226bccedf53Smrg		basic_machine=none-none
1227bccedf53Smrg		os=-none
1228bccedf53Smrg		;;
1229bccedf53Smrg
1230bccedf53Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1231bccedf53Smrg# some cases the only manufacturer, in others, it is the most popular.
1232bccedf53Smrg	w89k)
1233bccedf53Smrg		basic_machine=hppa1.1-winbond
1234bccedf53Smrg		;;
1235bccedf53Smrg	op50n)
1236bccedf53Smrg		basic_machine=hppa1.1-oki
1237bccedf53Smrg		;;
1238bccedf53Smrg	op60c)
1239bccedf53Smrg		basic_machine=hppa1.1-oki
1240bccedf53Smrg		;;
1241bccedf53Smrg	romp)
1242bccedf53Smrg		basic_machine=romp-ibm
1243bccedf53Smrg		;;
12447c5f6000Smrg	mmix)
12457c5f6000Smrg		basic_machine=mmix-knuth
12467c5f6000Smrg		;;
1247bccedf53Smrg	rs6000)
1248bccedf53Smrg		basic_machine=rs6000-ibm
1249bccedf53Smrg		;;
1250bccedf53Smrg	vax)
1251bccedf53Smrg		basic_machine=vax-dec
1252bccedf53Smrg		;;
1253bccedf53Smrg	pdp10)
1254bccedf53Smrg		# there are many clones, so DEC is not a safe bet
1255bccedf53Smrg		basic_machine=pdp10-unknown
1256bccedf53Smrg		;;
1257bccedf53Smrg	pdp11)
1258bccedf53Smrg		basic_machine=pdp11-dec
1259bccedf53Smrg		;;
1260bccedf53Smrg	we32k)
1261bccedf53Smrg		basic_machine=we32k-att
1262bccedf53Smrg		;;
12637c5f6000Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1264bccedf53Smrg		basic_machine=sh-unknown
1265bccedf53Smrg		;;
12667c5f6000Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1267bccedf53Smrg		basic_machine=sparc-sun
1268bccedf53Smrg		;;
1269bccedf53Smrg	cydra)
1270bccedf53Smrg		basic_machine=cydra-cydrome
1271bccedf53Smrg		;;
1272bccedf53Smrg	orion)
1273bccedf53Smrg		basic_machine=orion-highlevel
1274bccedf53Smrg		;;
1275bccedf53Smrg	orion105)
1276bccedf53Smrg		basic_machine=clipper-highlevel
1277bccedf53Smrg		;;
1278bccedf53Smrg	mac | mpw | mac-mpw)
1279bccedf53Smrg		basic_machine=m68k-apple
1280bccedf53Smrg		;;
1281bccedf53Smrg	pmac | pmac-mpw)
1282bccedf53Smrg		basic_machine=powerpc-apple
1283bccedf53Smrg		;;
1284bccedf53Smrg	*-unknown)
1285bccedf53Smrg		# Make sure to match an already-canonicalized machine name.
1286bccedf53Smrg		;;
1287bccedf53Smrg	*)
1288bccedf53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1289bccedf53Smrg		exit 1
1290bccedf53Smrg		;;
1291bccedf53Smrgesac
1292bccedf53Smrg
1293bccedf53Smrg# Here we canonicalize certain aliases for manufacturers.
1294bccedf53Smrgcase $basic_machine in
1295bccedf53Smrg	*-digital*)
1296bccedf53Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1297bccedf53Smrg		;;
1298bccedf53Smrg	*-commodore*)
1299bccedf53Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1300bccedf53Smrg		;;
1301bccedf53Smrg	*)
1302bccedf53Smrg		;;
1303bccedf53Smrgesac
1304bccedf53Smrg
1305bccedf53Smrg# Decode manufacturer-specific aliases for certain operating systems.
1306bccedf53Smrg
1307bccedf53Smrgif [ x"$os" != x"" ]
1308bccedf53Smrgthen
1309bccedf53Smrgcase $os in
13101b1389eeSmrg	# First match some system type aliases
13111b1389eeSmrg	# that might get confused with valid system types.
1312bccedf53Smrg	# -solaris* is a basic system type, with this one exception.
13131b1389eeSmrg	-auroraux)
13141b1389eeSmrg		os=-auroraux
1315f7ada8ddSmrg		;;
1316bccedf53Smrg	-solaris1 | -solaris1.*)
1317bccedf53Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1318bccedf53Smrg		;;
1319bccedf53Smrg	-solaris)
1320bccedf53Smrg		os=-solaris2
1321bccedf53Smrg		;;
1322bccedf53Smrg	-svr4*)
1323bccedf53Smrg		os=-sysv4
1324bccedf53Smrg		;;
1325bccedf53Smrg	-unixware*)
1326bccedf53Smrg		os=-sysv4.2uw
1327bccedf53Smrg		;;
1328bccedf53Smrg	-gnu/linux*)
1329bccedf53Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1330bccedf53Smrg		;;
1331bccedf53Smrg	# First accept the basic system types.
1332bccedf53Smrg	# The portable systems comes first.
1333bccedf53Smrg	# Each alternative MUST END IN A *, to match a version number.
1334bccedf53Smrg	# -sysv* is not here because it comes later, after sysvr4.
1335bccedf53Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1336f7ada8ddSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1337f7ada8ddSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1338f7ada8ddSmrg	      | -sym* | -kopensolaris* \
1339bccedf53Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13407c5f6000Smrg	      | -aos* | -aros* \
1341bccedf53Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1342bccedf53Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13437c5f6000Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13447c5f6000Smrg	      | -openbsd* | -solidbsd* \
13457c5f6000Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13467c5f6000Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1347bccedf53Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1348bccedf53Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13497c5f6000Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13501b1389eeSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1351f7ada8ddSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1352f7ada8ddSmrg	      | -linux-newlib* | -linux-uclibc* \
13537c5f6000Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1354bccedf53Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1355bccedf53Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1356bccedf53Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1357bccedf53Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1358bccedf53Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13597c5f6000Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1360f7ada8ddSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1361bccedf53Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1362bccedf53Smrg		;;
1363bccedf53Smrg	-qnx*)
1364bccedf53Smrg		case $basic_machine in
1365bccedf53Smrg		    x86-* | i*86-*)
1366bccedf53Smrg			;;
1367bccedf53Smrg		    *)
1368bccedf53Smrg			os=-nto$os
1369bccedf53Smrg			;;
1370bccedf53Smrg		esac
1371bccedf53Smrg		;;
1372bccedf53Smrg	-nto-qnx*)
1373bccedf53Smrg		;;
1374bccedf53Smrg	-nto*)
1375bccedf53Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1376bccedf53Smrg		;;
1377bccedf53Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13787c5f6000Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1379bccedf53Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1380bccedf53Smrg		;;
1381bccedf53Smrg	-mac*)
1382bccedf53Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1383bccedf53Smrg		;;
13847c5f6000Smrg	-linux-dietlibc)
13857c5f6000Smrg		os=-linux-dietlibc
13867c5f6000Smrg		;;
1387bccedf53Smrg	-linux*)
1388bccedf53Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1389bccedf53Smrg		;;
1390bccedf53Smrg	-sunos5*)
1391bccedf53Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1392bccedf53Smrg		;;
1393bccedf53Smrg	-sunos6*)
1394bccedf53Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1395bccedf53Smrg		;;
1396bccedf53Smrg	-opened*)
1397bccedf53Smrg		os=-openedition
1398bccedf53Smrg		;;
13991b1389eeSmrg	-os400*)
14007c5f6000Smrg		os=-os400
14017c5f6000Smrg		;;
1402bccedf53Smrg	-wince*)
1403bccedf53Smrg		os=-wince
1404bccedf53Smrg		;;
1405bccedf53Smrg	-osfrose*)
1406bccedf53Smrg		os=-osfrose
1407bccedf53Smrg		;;
1408bccedf53Smrg	-osf*)
1409bccedf53Smrg		os=-osf
1410bccedf53Smrg		;;
1411bccedf53Smrg	-utek*)
1412bccedf53Smrg		os=-bsd
1413bccedf53Smrg		;;
1414bccedf53Smrg	-dynix*)
1415bccedf53Smrg		os=-bsd
1416bccedf53Smrg		;;
1417bccedf53Smrg	-acis*)
1418bccedf53Smrg		os=-aos
1419bccedf53Smrg		;;
1420bccedf53Smrg	-atheos*)
1421bccedf53Smrg		os=-atheos
1422bccedf53Smrg		;;
14237c5f6000Smrg	-syllable*)
14247c5f6000Smrg		os=-syllable
14257c5f6000Smrg		;;
1426bccedf53Smrg	-386bsd)
1427bccedf53Smrg		os=-bsd
1428bccedf53Smrg		;;
1429bccedf53Smrg	-ctix* | -uts*)
1430bccedf53Smrg		os=-sysv
1431bccedf53Smrg		;;
1432bccedf53Smrg	-nova*)
1433bccedf53Smrg		os=-rtmk-nova
1434bccedf53Smrg		;;
1435bccedf53Smrg	-ns2 )
1436bccedf53Smrg		os=-nextstep2
1437bccedf53Smrg		;;
1438bccedf53Smrg	-nsk*)
1439bccedf53Smrg		os=-nsk
1440bccedf53Smrg		;;
1441bccedf53Smrg	# Preserve the version number of sinix5.
1442bccedf53Smrg	-sinix5.*)
1443bccedf53Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1444bccedf53Smrg		;;
1445bccedf53Smrg	-sinix*)
1446bccedf53Smrg		os=-sysv4
1447bccedf53Smrg		;;
14481b1389eeSmrg	-tpf*)
14497c5f6000Smrg		os=-tpf
14507c5f6000Smrg		;;
1451bccedf53Smrg	-triton*)
1452bccedf53Smrg		os=-sysv3
1453bccedf53Smrg		;;
1454bccedf53Smrg	-oss*)
1455bccedf53Smrg		os=-sysv3
1456bccedf53Smrg		;;
1457bccedf53Smrg	-svr4)
1458bccedf53Smrg		os=-sysv4
1459bccedf53Smrg		;;
1460bccedf53Smrg	-svr3)
1461bccedf53Smrg		os=-sysv3
1462bccedf53Smrg		;;
1463bccedf53Smrg	-sysvr4)
1464bccedf53Smrg		os=-sysv4
1465bccedf53Smrg		;;
1466bccedf53Smrg	# This must come after -sysvr4.
1467bccedf53Smrg	-sysv*)
1468bccedf53Smrg		;;
1469bccedf53Smrg	-ose*)
1470bccedf53Smrg		os=-ose
1471bccedf53Smrg		;;
1472bccedf53Smrg	-es1800*)
1473bccedf53Smrg		os=-ose
1474bccedf53Smrg		;;
1475bccedf53Smrg	-xenix)
1476bccedf53Smrg		os=-xenix
1477bccedf53Smrg		;;
1478bccedf53Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1479bccedf53Smrg		os=-mint
1480bccedf53Smrg		;;
1481bccedf53Smrg	-aros*)
1482bccedf53Smrg		os=-aros
1483bccedf53Smrg		;;
1484bccedf53Smrg	-kaos*)
1485bccedf53Smrg		os=-kaos
1486bccedf53Smrg		;;
14877c5f6000Smrg	-zvmoe)
14887c5f6000Smrg		os=-zvmoe
14897c5f6000Smrg		;;
14907c5f6000Smrg	-dicos*)
14917c5f6000Smrg		os=-dicos
14927c5f6000Smrg		;;
14931b1389eeSmrg	-nacl*)
14941b1389eeSmrg		;;
1495bccedf53Smrg	-none)
1496bccedf53Smrg		;;
1497bccedf53Smrg	*)
1498bccedf53Smrg		# Get rid of the `-' at the beginning of $os.
1499bccedf53Smrg		os=`echo $os | sed 's/[^-]*-//'`
1500bccedf53Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1501bccedf53Smrg		exit 1
1502bccedf53Smrg		;;
1503bccedf53Smrgesac
1504bccedf53Smrgelse
1505bccedf53Smrg
1506bccedf53Smrg# Here we handle the default operating systems that come with various machines.
1507bccedf53Smrg# The value should be what the vendor currently ships out the door with their
1508bccedf53Smrg# machine or put another way, the most popular os provided with the machine.
1509bccedf53Smrg
1510bccedf53Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1511bccedf53Smrg# "-sun"), then you have to tell the case statement up towards the top
1512bccedf53Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1513bccedf53Smrg# will signal an error saying that MANUFACTURER isn't an operating
1514bccedf53Smrg# system, and we'll never get to this point.
1515bccedf53Smrg
1516bccedf53Smrgcase $basic_machine in
15171b1389eeSmrg	score-*)
15187c5f6000Smrg		os=-elf
15197c5f6000Smrg		;;
15201b1389eeSmrg	spu-*)
15217c5f6000Smrg		os=-elf
15227c5f6000Smrg		;;
1523bccedf53Smrg	*-acorn)
1524bccedf53Smrg		os=-riscix1.2
1525bccedf53Smrg		;;
1526bccedf53Smrg	arm*-rebel)
1527bccedf53Smrg		os=-linux
1528bccedf53Smrg		;;
1529bccedf53Smrg	arm*-semi)
1530bccedf53Smrg		os=-aout
1531bccedf53Smrg		;;
15321b1389eeSmrg	c4x-* | tic4x-*)
15331b1389eeSmrg		os=-coff
1534bccedf53Smrg		;;
1535f7ada8ddSmrg	tic54x-*)
1536f7ada8ddSmrg		os=-coff
1537f7ada8ddSmrg		;;
1538f7ada8ddSmrg	tic55x-*)
1539f7ada8ddSmrg		os=-coff
1540f7ada8ddSmrg		;;
1541f7ada8ddSmrg	tic6x-*)
1542f7ada8ddSmrg		os=-coff
1543f7ada8ddSmrg		;;
1544bccedf53Smrg	# This must come before the *-dec entry.
1545bccedf53Smrg	pdp10-*)
1546bccedf53Smrg		os=-tops20
1547bccedf53Smrg		;;
1548bccedf53Smrg	pdp11-*)
1549bccedf53Smrg		os=-none
1550bccedf53Smrg		;;
1551bccedf53Smrg	*-dec | vax-*)
1552bccedf53Smrg		os=-ultrix4.2
1553bccedf53Smrg		;;
1554bccedf53Smrg	m68*-apollo)
1555bccedf53Smrg		os=-domain
1556bccedf53Smrg		;;
1557bccedf53Smrg	i386-sun)
1558bccedf53Smrg		os=-sunos4.0.2
1559bccedf53Smrg		;;
1560bccedf53Smrg	m68000-sun)
1561bccedf53Smrg		os=-sunos3
1562bccedf53Smrg		# This also exists in the configure program, but was not the
1563bccedf53Smrg		# default.
1564bccedf53Smrg		# os=-sunos4
1565bccedf53Smrg		;;
1566bccedf53Smrg	m68*-cisco)
1567bccedf53Smrg		os=-aout
1568bccedf53Smrg		;;
15691b1389eeSmrg	mep-*)
15707c5f6000Smrg		os=-elf
15717c5f6000Smrg		;;
1572bccedf53Smrg	mips*-cisco)
1573bccedf53Smrg		os=-elf
1574bccedf53Smrg		;;
1575bccedf53Smrg	mips*-*)
1576bccedf53Smrg		os=-elf
1577bccedf53Smrg		;;
1578bccedf53Smrg	or32-*)
1579bccedf53Smrg		os=-coff
1580bccedf53Smrg		;;
1581bccedf53Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1582bccedf53Smrg		os=-sysv3
1583bccedf53Smrg		;;
1584bccedf53Smrg	sparc-* | *-sun)
1585bccedf53Smrg		os=-sunos4.1.1
1586bccedf53Smrg		;;
1587bccedf53Smrg	*-be)
1588bccedf53Smrg		os=-beos
1589bccedf53Smrg		;;
15907c5f6000Smrg	*-haiku)
15917c5f6000Smrg		os=-haiku
15927c5f6000Smrg		;;
1593bccedf53Smrg	*-ibm)
1594bccedf53Smrg		os=-aix
1595bccedf53Smrg		;;
15961b1389eeSmrg	*-knuth)
15977c5f6000Smrg		os=-mmixware
15987c5f6000Smrg		;;
1599bccedf53Smrg	*-wec)
1600bccedf53Smrg		os=-proelf
1601bccedf53Smrg		;;
1602bccedf53Smrg	*-winbond)
1603bccedf53Smrg		os=-proelf
1604bccedf53Smrg		;;
1605bccedf53Smrg	*-oki)
1606bccedf53Smrg		os=-proelf
1607bccedf53Smrg		;;
1608bccedf53Smrg	*-hp)
1609bccedf53Smrg		os=-hpux
1610bccedf53Smrg		;;
1611bccedf53Smrg	*-hitachi)
1612bccedf53Smrg		os=-hiux
1613bccedf53Smrg		;;
1614bccedf53Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1615bccedf53Smrg		os=-sysv
1616bccedf53Smrg		;;
1617bccedf53Smrg	*-cbm)
1618bccedf53Smrg		os=-amigaos
1619bccedf53Smrg		;;
1620bccedf53Smrg	*-dg)
1621bccedf53Smrg		os=-dgux
1622bccedf53Smrg		;;
1623bccedf53Smrg	*-dolphin)
1624bccedf53Smrg		os=-sysv3
1625bccedf53Smrg		;;
1626bccedf53Smrg	m68k-ccur)
1627bccedf53Smrg		os=-rtu
1628bccedf53Smrg		;;
1629bccedf53Smrg	m88k-omron*)
1630bccedf53Smrg		os=-luna
1631bccedf53Smrg		;;
1632bccedf53Smrg	*-next )
1633bccedf53Smrg		os=-nextstep
1634bccedf53Smrg		;;
1635bccedf53Smrg	*-sequent)
1636bccedf53Smrg		os=-ptx
1637bccedf53Smrg		;;
1638bccedf53Smrg	*-crds)
1639bccedf53Smrg		os=-unos
1640bccedf53Smrg		;;
1641bccedf53Smrg	*-ns)
1642bccedf53Smrg		os=-genix
1643bccedf53Smrg		;;
1644bccedf53Smrg	i370-*)
1645bccedf53Smrg		os=-mvs
1646bccedf53Smrg		;;
1647bccedf53Smrg	*-next)
1648bccedf53Smrg		os=-nextstep3
1649bccedf53Smrg		;;
1650bccedf53Smrg	*-gould)
1651bccedf53Smrg		os=-sysv
1652bccedf53Smrg		;;
1653bccedf53Smrg	*-highlevel)
1654bccedf53Smrg		os=-bsd
1655bccedf53Smrg		;;
1656bccedf53Smrg	*-encore)
1657bccedf53Smrg		os=-bsd
1658bccedf53Smrg		;;
1659bccedf53Smrg	*-sgi)
1660bccedf53Smrg		os=-irix
1661bccedf53Smrg		;;
1662bccedf53Smrg	*-siemens)
1663bccedf53Smrg		os=-sysv4
1664bccedf53Smrg		;;
1665bccedf53Smrg	*-masscomp)
1666bccedf53Smrg		os=-rtu
1667bccedf53Smrg		;;
1668bccedf53Smrg	f30[01]-fujitsu | f700-fujitsu)
1669bccedf53Smrg		os=-uxpv
1670bccedf53Smrg		;;
1671bccedf53Smrg	*-rom68k)
1672bccedf53Smrg		os=-coff
1673bccedf53Smrg		;;
1674bccedf53Smrg	*-*bug)
1675bccedf53Smrg		os=-coff
1676bccedf53Smrg		;;
1677bccedf53Smrg	*-apple)
1678bccedf53Smrg		os=-macos
1679bccedf53Smrg		;;
1680bccedf53Smrg	*-atari*)
1681bccedf53Smrg		os=-mint
1682bccedf53Smrg		;;
1683bccedf53Smrg	*)
1684bccedf53Smrg		os=-none
1685bccedf53Smrg		;;
1686bccedf53Smrgesac
1687bccedf53Smrgfi
1688bccedf53Smrg
1689bccedf53Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1690bccedf53Smrg# manufacturer.  We pick the logical manufacturer.
1691bccedf53Smrgvendor=unknown
1692bccedf53Smrgcase $basic_machine in
1693bccedf53Smrg	*-unknown)
1694bccedf53Smrg		case $os in
1695bccedf53Smrg			-riscix*)
1696bccedf53Smrg				vendor=acorn
1697bccedf53Smrg				;;
1698bccedf53Smrg			-sunos*)
1699bccedf53Smrg				vendor=sun
1700bccedf53Smrg				;;
1701f7ada8ddSmrg			-cnk*|-aix*)
1702bccedf53Smrg				vendor=ibm
1703bccedf53Smrg				;;
1704bccedf53Smrg			-beos*)
1705bccedf53Smrg				vendor=be
1706bccedf53Smrg				;;
1707bccedf53Smrg			-hpux*)
1708bccedf53Smrg				vendor=hp
1709bccedf53Smrg				;;
1710bccedf53Smrg			-mpeix*)
1711bccedf53Smrg				vendor=hp
1712bccedf53Smrg				;;
1713bccedf53Smrg			-hiux*)
1714bccedf53Smrg				vendor=hitachi
1715bccedf53Smrg				;;
1716bccedf53Smrg			-unos*)
1717bccedf53Smrg				vendor=crds
1718bccedf53Smrg				;;
1719bccedf53Smrg			-dgux*)
1720bccedf53Smrg				vendor=dg
1721bccedf53Smrg				;;
1722bccedf53Smrg			-luna*)
1723bccedf53Smrg				vendor=omron
1724bccedf53Smrg				;;
1725bccedf53Smrg			-genix*)
1726bccedf53Smrg				vendor=ns
1727bccedf53Smrg				;;
1728bccedf53Smrg			-mvs* | -opened*)
1729bccedf53Smrg				vendor=ibm
1730bccedf53Smrg				;;
17317c5f6000Smrg			-os400*)
17327c5f6000Smrg				vendor=ibm
17337c5f6000Smrg				;;
1734bccedf53Smrg			-ptx*)
1735bccedf53Smrg				vendor=sequent
1736bccedf53Smrg				;;
17377c5f6000Smrg			-tpf*)
17387c5f6000Smrg				vendor=ibm
17397c5f6000Smrg				;;
1740bccedf53Smrg			-vxsim* | -vxworks* | -windiss*)
1741bccedf53Smrg				vendor=wrs
1742bccedf53Smrg				;;
1743bccedf53Smrg			-aux*)
1744bccedf53Smrg				vendor=apple
1745bccedf53Smrg				;;
1746bccedf53Smrg			-hms*)
1747bccedf53Smrg				vendor=hitachi
1748bccedf53Smrg				;;
1749bccedf53Smrg			-mpw* | -macos*)
1750bccedf53Smrg				vendor=apple
1751bccedf53Smrg				;;
1752bccedf53Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1753bccedf53Smrg				vendor=atari
1754bccedf53Smrg				;;
1755bccedf53Smrg			-vos*)
1756bccedf53Smrg				vendor=stratus
1757bccedf53Smrg				;;
1758bccedf53Smrg		esac
1759bccedf53Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1760bccedf53Smrg		;;
1761bccedf53Smrgesac
1762bccedf53Smrg
1763bccedf53Smrgecho $basic_machine$os
17647c5f6000Smrgexit
1765bccedf53Smrg
1766bccedf53Smrg# Local variables:
1767bccedf53Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1768bccedf53Smrg# time-stamp-start: "timestamp='"
1769bccedf53Smrg# time-stamp-format: "%:y-%02m-%02d"
1770bccedf53Smrg# time-stamp-end: "'"
1771bccedf53Smrg# End:
1772