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