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