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