config.sub revision 5ffd6003
1145b7b3cSmrg#! /bin/sh
2145b7b3cSmrg# Configuration validation subroutine script.
3145b7b3cSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
45ffd6003Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5578741aaSmrg#   Free Software Foundation, Inc.
6145b7b3cSmrg
75ffd6003Smrgtimestamp='2010-01-22'
8145b7b3cSmrg
9145b7b3cSmrg# This file is (in principle) common to ALL GNU software.
10145b7b3cSmrg# The presence of a machine in this file suggests that SOME GNU software
11145b7b3cSmrg# can handle that machine.  It does not imply ALL GNU software can.
12145b7b3cSmrg#
13145b7b3cSmrg# This file is free software; you can redistribute it and/or modify
14145b7b3cSmrg# it under the terms of the GNU General Public License as published by
15145b7b3cSmrg# the Free Software Foundation; either version 2 of the License, or
16145b7b3cSmrg# (at your option) any later version.
17145b7b3cSmrg#
18145b7b3cSmrg# This program is distributed in the hope that it will be useful,
19145b7b3cSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20145b7b3cSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21145b7b3cSmrg# GNU General Public License for more details.
22145b7b3cSmrg#
23145b7b3cSmrg# You should have received a copy of the GNU General Public License
24145b7b3cSmrg# along with this program; if not, write to the Free Software
25145b7b3cSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26145b7b3cSmrg# 02110-1301, USA.
27145b7b3cSmrg#
28145b7b3cSmrg# As a special exception to the GNU General Public License, if you
29145b7b3cSmrg# distribute this file as part of a program that contains a
30145b7b3cSmrg# configuration script generated by Autoconf, you may include it under
31145b7b3cSmrg# the same distribution terms that you use for the rest of that program.
32145b7b3cSmrg
33145b7b3cSmrg
34145b7b3cSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
355ffd6003Smrg# diff and a properly formatted GNU ChangeLog entry.
36145b7b3cSmrg#
37145b7b3cSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38145b7b3cSmrg# Supply the specified configuration type as an argument.
39145b7b3cSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40145b7b3cSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41145b7b3cSmrg
425ffd6003Smrg# You can get the latest version of this script from:
435ffd6003Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
445ffd6003Smrg
45145b7b3cSmrg# This file is supposed to be the same for all GNU packages
46145b7b3cSmrg# and recognize all the CPU types, system types and aliases
47145b7b3cSmrg# that are meaningful with *any* GNU software.
48145b7b3cSmrg# Each package is responsible for reporting which valid configurations
49145b7b3cSmrg# it does not support.  The user should be able to distinguish
50145b7b3cSmrg# a failure to support a valid configuration from a meaningless
51145b7b3cSmrg# configuration.
52145b7b3cSmrg
53145b7b3cSmrg# The goal of this file is to map all the various variations of a given
54145b7b3cSmrg# machine specification into a single specification in the form:
55145b7b3cSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56145b7b3cSmrg# or in some cases, the newer four-part form:
57145b7b3cSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58145b7b3cSmrg# It is wrong to echo any other type of specification.
59145b7b3cSmrg
60145b7b3cSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61145b7b3cSmrg
62145b7b3cSmrgusage="\
63145b7b3cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64145b7b3cSmrg       $0 [OPTION] ALIAS
65145b7b3cSmrg
66145b7b3cSmrgCanonicalize a configuration name.
67145b7b3cSmrg
68145b7b3cSmrgOperation modes:
69145b7b3cSmrg  -h, --help         print this help, then exit
70145b7b3cSmrg  -t, --time-stamp   print date of last modification, then exit
71145b7b3cSmrg  -v, --version      print version number, then exit
72145b7b3cSmrg
73145b7b3cSmrgReport bugs and patches to <config-patches@gnu.org>."
74145b7b3cSmrg
75145b7b3cSmrgversion="\
76145b7b3cSmrgGNU config.sub ($timestamp)
77145b7b3cSmrg
785ffd6003SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
795ffd6003Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
805ffd6003SmrgSoftware Foundation, Inc.
81145b7b3cSmrg
82145b7b3cSmrgThis is free software; see the source for copying conditions.  There is NO
83145b7b3cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84145b7b3cSmrg
85145b7b3cSmrghelp="
86145b7b3cSmrgTry \`$me --help' for more information."
87145b7b3cSmrg
88145b7b3cSmrg# Parse command line
89145b7b3cSmrgwhile test $# -gt 0 ; do
90145b7b3cSmrg  case $1 in
91145b7b3cSmrg    --time-stamp | --time* | -t )
92145b7b3cSmrg       echo "$timestamp" ; exit ;;
93145b7b3cSmrg    --version | -v )
94145b7b3cSmrg       echo "$version" ; exit ;;
95145b7b3cSmrg    --help | --h* | -h )
96145b7b3cSmrg       echo "$usage"; exit ;;
97145b7b3cSmrg    -- )     # Stop option processing
98145b7b3cSmrg       shift; break ;;
99145b7b3cSmrg    - )	# Use stdin as input.
100145b7b3cSmrg       break ;;
101145b7b3cSmrg    -* )
102145b7b3cSmrg       echo "$me: invalid option $1$help"
103145b7b3cSmrg       exit 1 ;;
104145b7b3cSmrg
105145b7b3cSmrg    *local*)
106145b7b3cSmrg       # First pass through any local machine types.
107145b7b3cSmrg       echo $1
108145b7b3cSmrg       exit ;;
109145b7b3cSmrg
110145b7b3cSmrg    * )
111145b7b3cSmrg       break ;;
112145b7b3cSmrg  esac
113145b7b3cSmrgdone
114145b7b3cSmrg
115145b7b3cSmrgcase $# in
116145b7b3cSmrg 0) echo "$me: missing argument$help" >&2
117145b7b3cSmrg    exit 1;;
118145b7b3cSmrg 1) ;;
119145b7b3cSmrg *) echo "$me: too many arguments$help" >&2
120145b7b3cSmrg    exit 1;;
121145b7b3cSmrgesac
122145b7b3cSmrg
123145b7b3cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124145b7b3cSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125145b7b3cSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126145b7b3cSmrgcase $maybe_os in
127145b7b3cSmrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
128145b7b3cSmrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1295ffd6003Smrg  kopensolaris*-gnu* | \
130145b7b3cSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
131145b7b3cSmrg    os=-$maybe_os
132145b7b3cSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
133145b7b3cSmrg    ;;
134145b7b3cSmrg  *)
135145b7b3cSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136145b7b3cSmrg    if [ $basic_machine != $1 ]
137145b7b3cSmrg    then os=`echo $1 | sed 's/.*-/-/'`
138145b7b3cSmrg    else os=; fi
139145b7b3cSmrg    ;;
140145b7b3cSmrgesac
141145b7b3cSmrg
142145b7b3cSmrg### Let's recognize common machines as not being operating systems so
143145b7b3cSmrg### that things like config.sub decstation-3100 work.  We also
144145b7b3cSmrg### recognize some manufacturers as not being operating systems, so we
145145b7b3cSmrg### can provide default operating systems below.
146145b7b3cSmrgcase $os in
147145b7b3cSmrg	-sun*os*)
148145b7b3cSmrg		# Prevent following clause from handling this invalid input.
149145b7b3cSmrg		;;
150145b7b3cSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151145b7b3cSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152145b7b3cSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153145b7b3cSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154145b7b3cSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155145b7b3cSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1565ffd6003Smrg	-apple | -axis | -knuth | -cray | -microblaze)
157145b7b3cSmrg		os=
158145b7b3cSmrg		basic_machine=$1
159145b7b3cSmrg		;;
1605ffd6003Smrg        -bluegene*)
1615ffd6003Smrg	        os=-cnk
1625ffd6003Smrg		;;
163145b7b3cSmrg	-sim | -cisco | -oki | -wec | -winbond)
164145b7b3cSmrg		os=
165145b7b3cSmrg		basic_machine=$1
166145b7b3cSmrg		;;
167145b7b3cSmrg	-scout)
168145b7b3cSmrg		;;
169145b7b3cSmrg	-wrs)
170145b7b3cSmrg		os=-vxworks
171145b7b3cSmrg		basic_machine=$1
172145b7b3cSmrg		;;
173145b7b3cSmrg	-chorusos*)
174145b7b3cSmrg		os=-chorusos
175145b7b3cSmrg		basic_machine=$1
176145b7b3cSmrg		;;
177145b7b3cSmrg 	-chorusrdb)
178145b7b3cSmrg 		os=-chorusrdb
179145b7b3cSmrg		basic_machine=$1
180145b7b3cSmrg 		;;
181145b7b3cSmrg	-hiux*)
182145b7b3cSmrg		os=-hiuxwe2
183145b7b3cSmrg		;;
184145b7b3cSmrg	-sco6)
185145b7b3cSmrg		os=-sco5v6
186145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187145b7b3cSmrg		;;
188145b7b3cSmrg	-sco5)
189145b7b3cSmrg		os=-sco3.2v5
190145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191145b7b3cSmrg		;;
192145b7b3cSmrg	-sco4)
193145b7b3cSmrg		os=-sco3.2v4
194145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195145b7b3cSmrg		;;
196145b7b3cSmrg	-sco3.2.[4-9]*)
197145b7b3cSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199145b7b3cSmrg		;;
200145b7b3cSmrg	-sco3.2v[4-9]*)
201145b7b3cSmrg		# Don't forget version if it is 3.2v4 or newer.
202145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203145b7b3cSmrg		;;
204145b7b3cSmrg	-sco5v6*)
205145b7b3cSmrg		# Don't forget version if it is 3.2v4 or newer.
206145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207145b7b3cSmrg		;;
208145b7b3cSmrg	-sco*)
209145b7b3cSmrg		os=-sco3.2v2
210145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211145b7b3cSmrg		;;
212145b7b3cSmrg	-udk*)
213145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214145b7b3cSmrg		;;
215145b7b3cSmrg	-isc)
216145b7b3cSmrg		os=-isc2.2
217145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218145b7b3cSmrg		;;
219145b7b3cSmrg	-clix*)
220145b7b3cSmrg		basic_machine=clipper-intergraph
221145b7b3cSmrg		;;
222145b7b3cSmrg	-isc*)
223145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
224145b7b3cSmrg		;;
225145b7b3cSmrg	-lynx*)
226145b7b3cSmrg		os=-lynxos
227145b7b3cSmrg		;;
228145b7b3cSmrg	-ptx*)
229145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
230145b7b3cSmrg		;;
231145b7b3cSmrg	-windowsnt*)
232145b7b3cSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
233145b7b3cSmrg		;;
234145b7b3cSmrg	-psos*)
235145b7b3cSmrg		os=-psos
236145b7b3cSmrg		;;
237145b7b3cSmrg	-mint | -mint[0-9]*)
238145b7b3cSmrg		basic_machine=m68k-atari
239145b7b3cSmrg		os=-mint
240145b7b3cSmrg		;;
241145b7b3cSmrgesac
242145b7b3cSmrg
243145b7b3cSmrg# Decode aliases for certain CPU-COMPANY combinations.
244145b7b3cSmrgcase $basic_machine in
245145b7b3cSmrg	# Recognize the basic CPU types without company name.
246145b7b3cSmrg	# Some are omitted here because they have special meanings below.
247145b7b3cSmrg	1750a | 580 \
248145b7b3cSmrg	| a29k \
249145b7b3cSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
250145b7b3cSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
251145b7b3cSmrg	| am33_2.0 \
252578741aaSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
253145b7b3cSmrg	| bfin \
254145b7b3cSmrg	| c4x | clipper \
255145b7b3cSmrg	| d10v | d30v | dlx | dsp16xx \
256578741aaSmrg	| fido | fr30 | frv \
257145b7b3cSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
258145b7b3cSmrg	| i370 | i860 | i960 | ia64 \
259145b7b3cSmrg	| ip2k | iq2000 \
2605ffd6003Smrg	| lm32 \
261578741aaSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2625ffd6003Smrg	| maxq | mb | microblaze | mcore | mep | metag \
263145b7b3cSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
264145b7b3cSmrg	| mips16 \
265145b7b3cSmrg	| mips64 | mips64el \
2665ffd6003Smrg	| mips64octeon | mips64octeonel \
267145b7b3cSmrg	| mips64orion | mips64orionel \
2685ffd6003Smrg	| mips64r5900 | mips64r5900el \
2695ffd6003Smrg	| mips64vr | mips64vrel \
270145b7b3cSmrg	| mips64vr4100 | mips64vr4100el \
271145b7b3cSmrg	| mips64vr4300 | mips64vr4300el \
272145b7b3cSmrg	| mips64vr5000 | mips64vr5000el \
273145b7b3cSmrg	| mips64vr5900 | mips64vr5900el \
274145b7b3cSmrg	| mipsisa32 | mipsisa32el \
275145b7b3cSmrg	| mipsisa32r2 | mipsisa32r2el \
276145b7b3cSmrg	| mipsisa64 | mipsisa64el \
277145b7b3cSmrg	| mipsisa64r2 | mipsisa64r2el \
278145b7b3cSmrg	| mipsisa64sb1 | mipsisa64sb1el \
279145b7b3cSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
280145b7b3cSmrg	| mipstx39 | mipstx39el \
281145b7b3cSmrg	| mn10200 | mn10300 \
2825ffd6003Smrg	| moxie \
283145b7b3cSmrg	| mt \
284145b7b3cSmrg	| msp430 \
285578741aaSmrg	| nios | nios2 \
286145b7b3cSmrg	| ns16k | ns32k \
287145b7b3cSmrg	| or32 \
288145b7b3cSmrg	| pdp10 | pdp11 | pj | pjl \
289145b7b3cSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
290145b7b3cSmrg	| pyramid \
2915ffd6003Smrg	| rx \
292578741aaSmrg	| score \
2935ffd6003Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
294145b7b3cSmrg	| sh64 | sh64le \
295578741aaSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
296578741aaSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
297578741aaSmrg	| spu | strongarm \
298145b7b3cSmrg	| tahoe | thumb | tic4x | tic80 | tron \
2995ffd6003Smrg	| ubicom32 \
300145b7b3cSmrg	| v850 | v850e \
301145b7b3cSmrg	| we32k \
302578741aaSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3035ffd6003Smrg	| z8k | z80)
304145b7b3cSmrg		basic_machine=$basic_machine-unknown
305145b7b3cSmrg		;;
3065ffd6003Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
307145b7b3cSmrg		# Motorola 68HC11/12.
308145b7b3cSmrg		basic_machine=$basic_machine-unknown
309145b7b3cSmrg		os=-none
310145b7b3cSmrg		;;
311145b7b3cSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
312145b7b3cSmrg		;;
313145b7b3cSmrg	ms1)
314145b7b3cSmrg		basic_machine=mt-unknown
315145b7b3cSmrg		;;
316145b7b3cSmrg
317145b7b3cSmrg	# We use `pc' rather than `unknown'
318145b7b3cSmrg	# because (1) that's what they normally are, and
319145b7b3cSmrg	# (2) the word "unknown" tends to confuse beginning users.
320145b7b3cSmrg	i*86 | x86_64)
321145b7b3cSmrg	  basic_machine=$basic_machine-pc
322145b7b3cSmrg	  ;;
323145b7b3cSmrg	# Object if more than one company name word.
324145b7b3cSmrg	*-*-*)
325145b7b3cSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
326145b7b3cSmrg		exit 1
327145b7b3cSmrg		;;
328145b7b3cSmrg	# Recognize the basic CPU types with company name.
329145b7b3cSmrg	580-* \
330145b7b3cSmrg	| a29k-* \
331145b7b3cSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
332145b7b3cSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
333145b7b3cSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
334145b7b3cSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
335578741aaSmrg	| avr-* | avr32-* \
336145b7b3cSmrg	| bfin-* | bs2000-* \
337145b7b3cSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
338145b7b3cSmrg	| clipper-* | craynv-* | cydra-* \
339145b7b3cSmrg	| d10v-* | d30v-* | dlx-* \
340145b7b3cSmrg	| elxsi-* \
341578741aaSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
342145b7b3cSmrg	| h8300-* | h8500-* \
343145b7b3cSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
344145b7b3cSmrg	| i*86-* | i860-* | i960-* | ia64-* \
345145b7b3cSmrg	| ip2k-* | iq2000-* \
3465ffd6003Smrg	| lm32-* \
347578741aaSmrg	| m32c-* | m32r-* | m32rle-* \
348145b7b3cSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3495ffd6003Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
350145b7b3cSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
351145b7b3cSmrg	| mips16-* \
352145b7b3cSmrg	| mips64-* | mips64el-* \
3535ffd6003Smrg	| mips64octeon-* | mips64octeonel-* \
354145b7b3cSmrg	| mips64orion-* | mips64orionel-* \
3555ffd6003Smrg	| mips64r5900-* | mips64r5900el-* \
3565ffd6003Smrg	| mips64vr-* | mips64vrel-* \
357145b7b3cSmrg	| mips64vr4100-* | mips64vr4100el-* \
358145b7b3cSmrg	| mips64vr4300-* | mips64vr4300el-* \
359145b7b3cSmrg	| mips64vr5000-* | mips64vr5000el-* \
360145b7b3cSmrg	| mips64vr5900-* | mips64vr5900el-* \
361145b7b3cSmrg	| mipsisa32-* | mipsisa32el-* \
362145b7b3cSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
363145b7b3cSmrg	| mipsisa64-* | mipsisa64el-* \
364145b7b3cSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
365145b7b3cSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
366145b7b3cSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
367145b7b3cSmrg	| mipstx39-* | mipstx39el-* \
368145b7b3cSmrg	| mmix-* \
369145b7b3cSmrg	| mt-* \
370145b7b3cSmrg	| msp430-* \
371578741aaSmrg	| nios-* | nios2-* \
372145b7b3cSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
373145b7b3cSmrg	| orion-* \
374145b7b3cSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
375145b7b3cSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
376145b7b3cSmrg	| pyramid-* \
3775ffd6003Smrg	| romp-* | rs6000-* | rx-* \
3785ffd6003Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
379145b7b3cSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
380578741aaSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
381145b7b3cSmrg	| sparclite-* \
382578741aaSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
383145b7b3cSmrg	| tahoe-* | thumb-* \
384145b7b3cSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3855ffd6003Smrg	| tile-* | tilegx-* \
386145b7b3cSmrg	| tron-* \
3875ffd6003Smrg	| ubicom32-* \
388145b7b3cSmrg	| v850-* | v850e-* | vax-* \
389145b7b3cSmrg	| we32k-* \
390578741aaSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
391578741aaSmrg	| xstormy16-* | xtensa*-* \
392145b7b3cSmrg	| ymp-* \
3935ffd6003Smrg	| z8k-* | z80-*)
394145b7b3cSmrg		;;
395578741aaSmrg	# Recognize the basic CPU types without company name, with glob match.
396578741aaSmrg	xtensa*)
397578741aaSmrg		basic_machine=$basic_machine-unknown
398145b7b3cSmrg		;;
399145b7b3cSmrg	# Recognize the various machine names and aliases which stand
400145b7b3cSmrg	# for a CPU type and a company and sometimes even an OS.
401145b7b3cSmrg	386bsd)
402145b7b3cSmrg		basic_machine=i386-unknown
403145b7b3cSmrg		os=-bsd
404145b7b3cSmrg		;;
405145b7b3cSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
406145b7b3cSmrg		basic_machine=m68000-att
407145b7b3cSmrg		;;
408145b7b3cSmrg	3b*)
409145b7b3cSmrg		basic_machine=we32k-att
410145b7b3cSmrg		;;
411145b7b3cSmrg	a29khif)
412145b7b3cSmrg		basic_machine=a29k-amd
413145b7b3cSmrg		os=-udi
414145b7b3cSmrg		;;
415145b7b3cSmrg    	abacus)
416145b7b3cSmrg		basic_machine=abacus-unknown
417145b7b3cSmrg		;;
418145b7b3cSmrg	adobe68k)
419145b7b3cSmrg		basic_machine=m68010-adobe
420145b7b3cSmrg		os=-scout
421145b7b3cSmrg		;;
422145b7b3cSmrg	alliant | fx80)
423145b7b3cSmrg		basic_machine=fx80-alliant
424145b7b3cSmrg		;;
425145b7b3cSmrg	altos | altos3068)
426145b7b3cSmrg		basic_machine=m68k-altos
427145b7b3cSmrg		;;
428145b7b3cSmrg	am29k)
429145b7b3cSmrg		basic_machine=a29k-none
430145b7b3cSmrg		os=-bsd
431145b7b3cSmrg		;;
432145b7b3cSmrg	amd64)
433145b7b3cSmrg		basic_machine=x86_64-pc
434145b7b3cSmrg		;;
435145b7b3cSmrg	amd64-*)
436145b7b3cSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
437145b7b3cSmrg		;;
438145b7b3cSmrg	amdahl)
439145b7b3cSmrg		basic_machine=580-amdahl
440145b7b3cSmrg		os=-sysv
441145b7b3cSmrg		;;
442145b7b3cSmrg	amiga | amiga-*)
443145b7b3cSmrg		basic_machine=m68k-unknown
444145b7b3cSmrg		;;
445145b7b3cSmrg	amigaos | amigados)
446145b7b3cSmrg		basic_machine=m68k-unknown
447145b7b3cSmrg		os=-amigaos
448145b7b3cSmrg		;;
449145b7b3cSmrg	amigaunix | amix)
450145b7b3cSmrg		basic_machine=m68k-unknown
451145b7b3cSmrg		os=-sysv4
452145b7b3cSmrg		;;
453145b7b3cSmrg	apollo68)
454145b7b3cSmrg		basic_machine=m68k-apollo
455145b7b3cSmrg		os=-sysv
456145b7b3cSmrg		;;
457145b7b3cSmrg	apollo68bsd)
458145b7b3cSmrg		basic_machine=m68k-apollo
459145b7b3cSmrg		os=-bsd
460145b7b3cSmrg		;;
4615ffd6003Smrg	aros)
4625ffd6003Smrg		basic_machine=i386-pc
4635ffd6003Smrg		os=-aros
4645ffd6003Smrg		;;
465145b7b3cSmrg	aux)
466145b7b3cSmrg		basic_machine=m68k-apple
467145b7b3cSmrg		os=-aux
468145b7b3cSmrg		;;
469145b7b3cSmrg	balance)
470145b7b3cSmrg		basic_machine=ns32k-sequent
471145b7b3cSmrg		os=-dynix
472145b7b3cSmrg		;;
473578741aaSmrg	blackfin)
474578741aaSmrg		basic_machine=bfin-unknown
475578741aaSmrg		os=-linux
476578741aaSmrg		;;
477578741aaSmrg	blackfin-*)
478578741aaSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
479578741aaSmrg		os=-linux
480578741aaSmrg		;;
4815ffd6003Smrg	bluegene*)
4825ffd6003Smrg		basic_machine=powerpc-ibm
4835ffd6003Smrg		os=-cnk
4845ffd6003Smrg		;;
485145b7b3cSmrg	c90)
486145b7b3cSmrg		basic_machine=c90-cray
487145b7b3cSmrg		os=-unicos
488145b7b3cSmrg		;;
4895ffd6003Smrg        cegcc)
4905ffd6003Smrg		basic_machine=arm-unknown
4915ffd6003Smrg		os=-cegcc
4925ffd6003Smrg		;;
493145b7b3cSmrg	convex-c1)
494145b7b3cSmrg		basic_machine=c1-convex
495145b7b3cSmrg		os=-bsd
496145b7b3cSmrg		;;
497145b7b3cSmrg	convex-c2)
498145b7b3cSmrg		basic_machine=c2-convex
499145b7b3cSmrg		os=-bsd
500145b7b3cSmrg		;;
501145b7b3cSmrg	convex-c32)
502145b7b3cSmrg		basic_machine=c32-convex
503145b7b3cSmrg		os=-bsd
504145b7b3cSmrg		;;
505145b7b3cSmrg	convex-c34)
506145b7b3cSmrg		basic_machine=c34-convex
507145b7b3cSmrg		os=-bsd
508145b7b3cSmrg		;;
509145b7b3cSmrg	convex-c38)
510145b7b3cSmrg		basic_machine=c38-convex
511145b7b3cSmrg		os=-bsd
512145b7b3cSmrg		;;
513145b7b3cSmrg	cray | j90)
514145b7b3cSmrg		basic_machine=j90-cray
515145b7b3cSmrg		os=-unicos
516145b7b3cSmrg		;;
517145b7b3cSmrg	craynv)
518145b7b3cSmrg		basic_machine=craynv-cray
519145b7b3cSmrg		os=-unicosmp
520145b7b3cSmrg		;;
521578741aaSmrg	cr16)
522578741aaSmrg		basic_machine=cr16-unknown
523145b7b3cSmrg		os=-elf
524145b7b3cSmrg		;;
525145b7b3cSmrg	crds | unos)
526145b7b3cSmrg		basic_machine=m68k-crds
527145b7b3cSmrg		;;
528145b7b3cSmrg	crisv32 | crisv32-* | etraxfs*)
529145b7b3cSmrg		basic_machine=crisv32-axis
530145b7b3cSmrg		;;
531145b7b3cSmrg	cris | cris-* | etrax*)
532145b7b3cSmrg		basic_machine=cris-axis
533145b7b3cSmrg		;;
534145b7b3cSmrg	crx)
535145b7b3cSmrg		basic_machine=crx-unknown
536145b7b3cSmrg		os=-elf
537145b7b3cSmrg		;;
538145b7b3cSmrg	da30 | da30-*)
539145b7b3cSmrg		basic_machine=m68k-da30
540145b7b3cSmrg		;;
541145b7b3cSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
542145b7b3cSmrg		basic_machine=mips-dec
543145b7b3cSmrg		;;
544145b7b3cSmrg	decsystem10* | dec10*)
545145b7b3cSmrg		basic_machine=pdp10-dec
546145b7b3cSmrg		os=-tops10
547145b7b3cSmrg		;;
548145b7b3cSmrg	decsystem20* | dec20*)
549145b7b3cSmrg		basic_machine=pdp10-dec
550145b7b3cSmrg		os=-tops20
551145b7b3cSmrg		;;
552145b7b3cSmrg	delta | 3300 | motorola-3300 | motorola-delta \
553145b7b3cSmrg	      | 3300-motorola | delta-motorola)
554145b7b3cSmrg		basic_machine=m68k-motorola
555145b7b3cSmrg		;;
556145b7b3cSmrg	delta88)
557145b7b3cSmrg		basic_machine=m88k-motorola
558145b7b3cSmrg		os=-sysv3
559145b7b3cSmrg		;;
5605ffd6003Smrg	dicos)
5615ffd6003Smrg		basic_machine=i686-pc
5625ffd6003Smrg		os=-dicos
5635ffd6003Smrg		;;
564145b7b3cSmrg	djgpp)
565145b7b3cSmrg		basic_machine=i586-pc
566145b7b3cSmrg		os=-msdosdjgpp
567145b7b3cSmrg		;;
568145b7b3cSmrg	dpx20 | dpx20-*)
569145b7b3cSmrg		basic_machine=rs6000-bull
570145b7b3cSmrg		os=-bosx
571145b7b3cSmrg		;;
572145b7b3cSmrg	dpx2* | dpx2*-bull)
573145b7b3cSmrg		basic_machine=m68k-bull
574145b7b3cSmrg		os=-sysv3
575145b7b3cSmrg		;;
576145b7b3cSmrg	ebmon29k)
577145b7b3cSmrg		basic_machine=a29k-amd
578145b7b3cSmrg		os=-ebmon
579145b7b3cSmrg		;;
580145b7b3cSmrg	elxsi)
581145b7b3cSmrg		basic_machine=elxsi-elxsi
582145b7b3cSmrg		os=-bsd
583145b7b3cSmrg		;;
584145b7b3cSmrg	encore | umax | mmax)
585145b7b3cSmrg		basic_machine=ns32k-encore
586145b7b3cSmrg		;;
587145b7b3cSmrg	es1800 | OSE68k | ose68k | ose | OSE)
588145b7b3cSmrg		basic_machine=m68k-ericsson
589145b7b3cSmrg		os=-ose
590145b7b3cSmrg		;;
591145b7b3cSmrg	fx2800)
592145b7b3cSmrg		basic_machine=i860-alliant
593145b7b3cSmrg		;;
594145b7b3cSmrg	genix)
595145b7b3cSmrg		basic_machine=ns32k-ns
596145b7b3cSmrg		;;
597145b7b3cSmrg	gmicro)
598145b7b3cSmrg		basic_machine=tron-gmicro
599145b7b3cSmrg		os=-sysv
600145b7b3cSmrg		;;
601145b7b3cSmrg	go32)
602145b7b3cSmrg		basic_machine=i386-pc
603145b7b3cSmrg		os=-go32
604145b7b3cSmrg		;;
605145b7b3cSmrg	h3050r* | hiux*)
606145b7b3cSmrg		basic_machine=hppa1.1-hitachi
607145b7b3cSmrg		os=-hiuxwe2
608145b7b3cSmrg		;;
609145b7b3cSmrg	h8300hms)
610145b7b3cSmrg		basic_machine=h8300-hitachi
611145b7b3cSmrg		os=-hms
612145b7b3cSmrg		;;
613145b7b3cSmrg	h8300xray)
614145b7b3cSmrg		basic_machine=h8300-hitachi
615145b7b3cSmrg		os=-xray
616145b7b3cSmrg		;;
617145b7b3cSmrg	h8500hms)
618145b7b3cSmrg		basic_machine=h8500-hitachi
619145b7b3cSmrg		os=-hms
620145b7b3cSmrg		;;
621145b7b3cSmrg	harris)
622145b7b3cSmrg		basic_machine=m88k-harris
623145b7b3cSmrg		os=-sysv3
624145b7b3cSmrg		;;
625145b7b3cSmrg	hp300-*)
626145b7b3cSmrg		basic_machine=m68k-hp
627145b7b3cSmrg		;;
628145b7b3cSmrg	hp300bsd)
629145b7b3cSmrg		basic_machine=m68k-hp
630145b7b3cSmrg		os=-bsd
631145b7b3cSmrg		;;
632145b7b3cSmrg	hp300hpux)
633145b7b3cSmrg		basic_machine=m68k-hp
634145b7b3cSmrg		os=-hpux
635145b7b3cSmrg		;;
636145b7b3cSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
637145b7b3cSmrg		basic_machine=hppa1.0-hp
638145b7b3cSmrg		;;
639145b7b3cSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
640145b7b3cSmrg		basic_machine=m68000-hp
641145b7b3cSmrg		;;
642145b7b3cSmrg	hp9k3[2-9][0-9])
643145b7b3cSmrg		basic_machine=m68k-hp
644145b7b3cSmrg		;;
645145b7b3cSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
646145b7b3cSmrg		basic_machine=hppa1.0-hp
647145b7b3cSmrg		;;
648145b7b3cSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
649145b7b3cSmrg		basic_machine=hppa1.1-hp
650145b7b3cSmrg		;;
651145b7b3cSmrg	hp9k78[0-9] | hp78[0-9])
652145b7b3cSmrg		# FIXME: really hppa2.0-hp
653145b7b3cSmrg		basic_machine=hppa1.1-hp
654145b7b3cSmrg		;;
655145b7b3cSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
656145b7b3cSmrg		# FIXME: really hppa2.0-hp
657145b7b3cSmrg		basic_machine=hppa1.1-hp
658145b7b3cSmrg		;;
659145b7b3cSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
660145b7b3cSmrg		basic_machine=hppa1.1-hp
661145b7b3cSmrg		;;
662145b7b3cSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
663145b7b3cSmrg		basic_machine=hppa1.0-hp
664145b7b3cSmrg		;;
665145b7b3cSmrg	hppa-next)
666145b7b3cSmrg		os=-nextstep3
667145b7b3cSmrg		;;
668145b7b3cSmrg	hppaosf)
669145b7b3cSmrg		basic_machine=hppa1.1-hp
670145b7b3cSmrg		os=-osf
671145b7b3cSmrg		;;
672145b7b3cSmrg	hppro)
673145b7b3cSmrg		basic_machine=hppa1.1-hp
674145b7b3cSmrg		os=-proelf
675145b7b3cSmrg		;;
676145b7b3cSmrg	i370-ibm* | ibm*)
677145b7b3cSmrg		basic_machine=i370-ibm
678145b7b3cSmrg		;;
679145b7b3cSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
680145b7b3cSmrg	i*86v32)
681145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
682145b7b3cSmrg		os=-sysv32
683145b7b3cSmrg		;;
684145b7b3cSmrg	i*86v4*)
685145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
686145b7b3cSmrg		os=-sysv4
687145b7b3cSmrg		;;
688145b7b3cSmrg	i*86v)
689145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
690145b7b3cSmrg		os=-sysv
691145b7b3cSmrg		;;
692145b7b3cSmrg	i*86sol2)
693145b7b3cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
694145b7b3cSmrg		os=-solaris2
695145b7b3cSmrg		;;
696145b7b3cSmrg	i386mach)
697145b7b3cSmrg		basic_machine=i386-mach
698145b7b3cSmrg		os=-mach
699145b7b3cSmrg		;;
700145b7b3cSmrg	i386-vsta | vsta)
701145b7b3cSmrg		basic_machine=i386-unknown
702145b7b3cSmrg		os=-vsta
703145b7b3cSmrg		;;
704145b7b3cSmrg	iris | iris4d)
705145b7b3cSmrg		basic_machine=mips-sgi
706145b7b3cSmrg		case $os in
707145b7b3cSmrg		    -irix*)
708145b7b3cSmrg			;;
709145b7b3cSmrg		    *)
710145b7b3cSmrg			os=-irix4
711145b7b3cSmrg			;;
712145b7b3cSmrg		esac
713145b7b3cSmrg		;;
714145b7b3cSmrg	isi68 | isi)
715145b7b3cSmrg		basic_machine=m68k-isi
716145b7b3cSmrg		os=-sysv
717145b7b3cSmrg		;;
718578741aaSmrg	m68knommu)
719578741aaSmrg		basic_machine=m68k-unknown
720578741aaSmrg		os=-linux
721578741aaSmrg		;;
722578741aaSmrg	m68knommu-*)
723578741aaSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
724578741aaSmrg		os=-linux
725578741aaSmrg		;;
726145b7b3cSmrg	m88k-omron*)
727145b7b3cSmrg		basic_machine=m88k-omron
728145b7b3cSmrg		;;
729145b7b3cSmrg	magnum | m3230)
730145b7b3cSmrg		basic_machine=mips-mips
731145b7b3cSmrg		os=-sysv
732145b7b3cSmrg		;;
733145b7b3cSmrg	merlin)
734145b7b3cSmrg		basic_machine=ns32k-utek
735145b7b3cSmrg		os=-sysv
736145b7b3cSmrg		;;
7375ffd6003Smrg        microblaze)
7385ffd6003Smrg		basic_machine=microblaze-xilinx
7395ffd6003Smrg		;;
740145b7b3cSmrg	mingw32)
741145b7b3cSmrg		basic_machine=i386-pc
742145b7b3cSmrg		os=-mingw32
743145b7b3cSmrg		;;
744578741aaSmrg	mingw32ce)
745578741aaSmrg		basic_machine=arm-unknown
746578741aaSmrg		os=-mingw32ce
747578741aaSmrg		;;
748145b7b3cSmrg	miniframe)
749145b7b3cSmrg		basic_machine=m68000-convergent
750145b7b3cSmrg		;;
751145b7b3cSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
752145b7b3cSmrg		basic_machine=m68k-atari
753145b7b3cSmrg		os=-mint
754145b7b3cSmrg		;;
755145b7b3cSmrg	mips3*-*)
756145b7b3cSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
757145b7b3cSmrg		;;
758145b7b3cSmrg	mips3*)
759145b7b3cSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
760145b7b3cSmrg		;;
761145b7b3cSmrg	monitor)
762145b7b3cSmrg		basic_machine=m68k-rom68k
763145b7b3cSmrg		os=-coff
764145b7b3cSmrg		;;
765145b7b3cSmrg	morphos)
766145b7b3cSmrg		basic_machine=powerpc-unknown
767145b7b3cSmrg		os=-morphos
768145b7b3cSmrg		;;
769145b7b3cSmrg	msdos)
770145b7b3cSmrg		basic_machine=i386-pc
771145b7b3cSmrg		os=-msdos
772145b7b3cSmrg		;;
773145b7b3cSmrg	ms1-*)
774145b7b3cSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
775145b7b3cSmrg		;;
776145b7b3cSmrg	mvs)
777145b7b3cSmrg		basic_machine=i370-ibm
778145b7b3cSmrg		os=-mvs
779145b7b3cSmrg		;;
780145b7b3cSmrg	ncr3000)
781145b7b3cSmrg		basic_machine=i486-ncr
782145b7b3cSmrg		os=-sysv4
783145b7b3cSmrg		;;
784145b7b3cSmrg	netbsd386)
785145b7b3cSmrg		basic_machine=i386-unknown
786145b7b3cSmrg		os=-netbsd
787145b7b3cSmrg		;;
788145b7b3cSmrg	netwinder)
789145b7b3cSmrg		basic_machine=armv4l-rebel
790145b7b3cSmrg		os=-linux
791145b7b3cSmrg		;;
792145b7b3cSmrg	news | news700 | news800 | news900)
793145b7b3cSmrg		basic_machine=m68k-sony
794145b7b3cSmrg		os=-newsos
795145b7b3cSmrg		;;
796145b7b3cSmrg	news1000)
797145b7b3cSmrg		basic_machine=m68030-sony
798145b7b3cSmrg		os=-newsos
799145b7b3cSmrg		;;
800145b7b3cSmrg	news-3600 | risc-news)
801145b7b3cSmrg		basic_machine=mips-sony
802145b7b3cSmrg		os=-newsos
803145b7b3cSmrg		;;
804145b7b3cSmrg	necv70)
805145b7b3cSmrg		basic_machine=v70-nec
806145b7b3cSmrg		os=-sysv
807145b7b3cSmrg		;;
808145b7b3cSmrg	next | m*-next )
809145b7b3cSmrg		basic_machine=m68k-next
810145b7b3cSmrg		case $os in
811145b7b3cSmrg		    -nextstep* )
812145b7b3cSmrg			;;
813145b7b3cSmrg		    -ns2*)
814145b7b3cSmrg		      os=-nextstep2
815145b7b3cSmrg			;;
816145b7b3cSmrg		    *)
817145b7b3cSmrg		      os=-nextstep3
818145b7b3cSmrg			;;
819145b7b3cSmrg		esac
820145b7b3cSmrg		;;
821145b7b3cSmrg	nh3000)
822145b7b3cSmrg		basic_machine=m68k-harris
823145b7b3cSmrg		os=-cxux
824145b7b3cSmrg		;;
825145b7b3cSmrg	nh[45]000)
826145b7b3cSmrg		basic_machine=m88k-harris
827145b7b3cSmrg		os=-cxux
828145b7b3cSmrg		;;
829145b7b3cSmrg	nindy960)
830145b7b3cSmrg		basic_machine=i960-intel
831145b7b3cSmrg		os=-nindy
832145b7b3cSmrg		;;
833145b7b3cSmrg	mon960)
834145b7b3cSmrg		basic_machine=i960-intel
835145b7b3cSmrg		os=-mon960
836145b7b3cSmrg		;;
837145b7b3cSmrg	nonstopux)
838145b7b3cSmrg		basic_machine=mips-compaq
839145b7b3cSmrg		os=-nonstopux
840145b7b3cSmrg		;;
841145b7b3cSmrg	np1)
842145b7b3cSmrg		basic_machine=np1-gould
843145b7b3cSmrg		;;
844145b7b3cSmrg	nsr-tandem)
845145b7b3cSmrg		basic_machine=nsr-tandem
846145b7b3cSmrg		;;
847145b7b3cSmrg	op50n-* | op60c-*)
848145b7b3cSmrg		basic_machine=hppa1.1-oki
849145b7b3cSmrg		os=-proelf
850145b7b3cSmrg		;;
851145b7b3cSmrg	openrisc | openrisc-*)
852145b7b3cSmrg		basic_machine=or32-unknown
853145b7b3cSmrg		;;
854145b7b3cSmrg	os400)
855145b7b3cSmrg		basic_machine=powerpc-ibm
856145b7b3cSmrg		os=-os400
857145b7b3cSmrg		;;
858145b7b3cSmrg	OSE68000 | ose68000)
859145b7b3cSmrg		basic_machine=m68000-ericsson
860145b7b3cSmrg		os=-ose
861145b7b3cSmrg		;;
862145b7b3cSmrg	os68k)
863145b7b3cSmrg		basic_machine=m68k-none
864145b7b3cSmrg		os=-os68k
865145b7b3cSmrg		;;
866145b7b3cSmrg	pa-hitachi)
867145b7b3cSmrg		basic_machine=hppa1.1-hitachi
868145b7b3cSmrg		os=-hiuxwe2
869145b7b3cSmrg		;;
870145b7b3cSmrg	paragon)
871145b7b3cSmrg		basic_machine=i860-intel
872145b7b3cSmrg		os=-osf
873145b7b3cSmrg		;;
874578741aaSmrg	parisc)
875578741aaSmrg		basic_machine=hppa-unknown
876578741aaSmrg		os=-linux
877578741aaSmrg		;;
878578741aaSmrg	parisc-*)
879578741aaSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
880578741aaSmrg		os=-linux
881578741aaSmrg		;;
882145b7b3cSmrg	pbd)
883145b7b3cSmrg		basic_machine=sparc-tti
884145b7b3cSmrg		;;
885145b7b3cSmrg	pbb)
886145b7b3cSmrg		basic_machine=m68k-tti
887145b7b3cSmrg		;;
888145b7b3cSmrg	pc532 | pc532-*)
889145b7b3cSmrg		basic_machine=ns32k-pc532
890145b7b3cSmrg		;;
891578741aaSmrg	pc98)
892578741aaSmrg		basic_machine=i386-pc
893578741aaSmrg		;;
894578741aaSmrg	pc98-*)
895578741aaSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
896578741aaSmrg		;;
897145b7b3cSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
898145b7b3cSmrg		basic_machine=i586-pc
899145b7b3cSmrg		;;
900145b7b3cSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
901145b7b3cSmrg		basic_machine=i686-pc
902145b7b3cSmrg		;;
903145b7b3cSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
904145b7b3cSmrg		basic_machine=i686-pc
905145b7b3cSmrg		;;
906145b7b3cSmrg	pentium4)
907145b7b3cSmrg		basic_machine=i786-pc
908145b7b3cSmrg		;;
909145b7b3cSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
910145b7b3cSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
911145b7b3cSmrg		;;
912145b7b3cSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
913145b7b3cSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
914145b7b3cSmrg		;;
915145b7b3cSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
916145b7b3cSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
917145b7b3cSmrg		;;
918145b7b3cSmrg	pentium4-*)
919145b7b3cSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
920145b7b3cSmrg		;;
921145b7b3cSmrg	pn)
922145b7b3cSmrg		basic_machine=pn-gould
923145b7b3cSmrg		;;
924145b7b3cSmrg	power)	basic_machine=power-ibm
925145b7b3cSmrg		;;
926145b7b3cSmrg	ppc)	basic_machine=powerpc-unknown
927145b7b3cSmrg		;;
928145b7b3cSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
929145b7b3cSmrg		;;
930145b7b3cSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
931145b7b3cSmrg		basic_machine=powerpcle-unknown
932145b7b3cSmrg		;;
933145b7b3cSmrg	ppcle-* | powerpclittle-*)
934145b7b3cSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
935145b7b3cSmrg		;;
936145b7b3cSmrg	ppc64)	basic_machine=powerpc64-unknown
937145b7b3cSmrg		;;
938145b7b3cSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
939145b7b3cSmrg		;;
940145b7b3cSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
941145b7b3cSmrg		basic_machine=powerpc64le-unknown
942145b7b3cSmrg		;;
943145b7b3cSmrg	ppc64le-* | powerpc64little-*)
944145b7b3cSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
945145b7b3cSmrg		;;
946145b7b3cSmrg	ps2)
947145b7b3cSmrg		basic_machine=i386-ibm
948145b7b3cSmrg		;;
949145b7b3cSmrg	pw32)
950145b7b3cSmrg		basic_machine=i586-unknown
951145b7b3cSmrg		os=-pw32
952145b7b3cSmrg		;;
953145b7b3cSmrg	rdos)
954145b7b3cSmrg		basic_machine=i386-pc
955145b7b3cSmrg		os=-rdos
956145b7b3cSmrg		;;
957145b7b3cSmrg	rom68k)
958145b7b3cSmrg		basic_machine=m68k-rom68k
959145b7b3cSmrg		os=-coff
960145b7b3cSmrg		;;
961145b7b3cSmrg	rm[46]00)
962145b7b3cSmrg		basic_machine=mips-siemens
963145b7b3cSmrg		;;
964145b7b3cSmrg	rtpc | rtpc-*)
965145b7b3cSmrg		basic_machine=romp-ibm
966145b7b3cSmrg		;;
967145b7b3cSmrg	s390 | s390-*)
968145b7b3cSmrg		basic_machine=s390-ibm
969145b7b3cSmrg		;;
970145b7b3cSmrg	s390x | s390x-*)
971145b7b3cSmrg		basic_machine=s390x-ibm
972145b7b3cSmrg		;;
973145b7b3cSmrg	sa29200)
974145b7b3cSmrg		basic_machine=a29k-amd
975145b7b3cSmrg		os=-udi
976145b7b3cSmrg		;;
977145b7b3cSmrg	sb1)
978145b7b3cSmrg		basic_machine=mipsisa64sb1-unknown
979145b7b3cSmrg		;;
980145b7b3cSmrg	sb1el)
981145b7b3cSmrg		basic_machine=mipsisa64sb1el-unknown
982145b7b3cSmrg		;;
983578741aaSmrg	sde)
984578741aaSmrg		basic_machine=mipsisa32-sde
985578741aaSmrg		os=-elf
986578741aaSmrg		;;
987145b7b3cSmrg	sei)
988145b7b3cSmrg		basic_machine=mips-sei
989145b7b3cSmrg		os=-seiux
990145b7b3cSmrg		;;
991145b7b3cSmrg	sequent)
992145b7b3cSmrg		basic_machine=i386-sequent
993145b7b3cSmrg		;;
994145b7b3cSmrg	sh)
995145b7b3cSmrg		basic_machine=sh-hitachi
996145b7b3cSmrg		os=-hms
997145b7b3cSmrg		;;
998578741aaSmrg	sh5el)
999578741aaSmrg		basic_machine=sh5le-unknown
1000578741aaSmrg		;;
1001145b7b3cSmrg	sh64)
1002145b7b3cSmrg		basic_machine=sh64-unknown
1003145b7b3cSmrg		;;
1004145b7b3cSmrg	sparclite-wrs | simso-wrs)
1005145b7b3cSmrg		basic_machine=sparclite-wrs
1006145b7b3cSmrg		os=-vxworks
1007145b7b3cSmrg		;;
1008145b7b3cSmrg	sps7)
1009145b7b3cSmrg		basic_machine=m68k-bull
1010145b7b3cSmrg		os=-sysv2
1011145b7b3cSmrg		;;
1012145b7b3cSmrg	spur)
1013145b7b3cSmrg		basic_machine=spur-unknown
1014145b7b3cSmrg		;;
1015145b7b3cSmrg	st2000)
1016145b7b3cSmrg		basic_machine=m68k-tandem
1017145b7b3cSmrg		;;
1018145b7b3cSmrg	stratus)
1019145b7b3cSmrg		basic_machine=i860-stratus
1020145b7b3cSmrg		os=-sysv4
1021145b7b3cSmrg		;;
1022145b7b3cSmrg	sun2)
1023145b7b3cSmrg		basic_machine=m68000-sun
1024145b7b3cSmrg		;;
1025145b7b3cSmrg	sun2os3)
1026145b7b3cSmrg		basic_machine=m68000-sun
1027145b7b3cSmrg		os=-sunos3
1028145b7b3cSmrg		;;
1029145b7b3cSmrg	sun2os4)
1030145b7b3cSmrg		basic_machine=m68000-sun
1031145b7b3cSmrg		os=-sunos4
1032145b7b3cSmrg		;;
1033145b7b3cSmrg	sun3os3)
1034145b7b3cSmrg		basic_machine=m68k-sun
1035145b7b3cSmrg		os=-sunos3
1036145b7b3cSmrg		;;
1037145b7b3cSmrg	sun3os4)
1038145b7b3cSmrg		basic_machine=m68k-sun
1039145b7b3cSmrg		os=-sunos4
1040145b7b3cSmrg		;;
1041145b7b3cSmrg	sun4os3)
1042145b7b3cSmrg		basic_machine=sparc-sun
1043145b7b3cSmrg		os=-sunos3
1044145b7b3cSmrg		;;
1045145b7b3cSmrg	sun4os4)
1046145b7b3cSmrg		basic_machine=sparc-sun
1047145b7b3cSmrg		os=-sunos4
1048145b7b3cSmrg		;;
1049145b7b3cSmrg	sun4sol2)
1050145b7b3cSmrg		basic_machine=sparc-sun
1051145b7b3cSmrg		os=-solaris2
1052145b7b3cSmrg		;;
1053145b7b3cSmrg	sun3 | sun3-*)
1054145b7b3cSmrg		basic_machine=m68k-sun
1055145b7b3cSmrg		;;
1056145b7b3cSmrg	sun4)
1057145b7b3cSmrg		basic_machine=sparc-sun
1058145b7b3cSmrg		;;
1059145b7b3cSmrg	sun386 | sun386i | roadrunner)
1060145b7b3cSmrg		basic_machine=i386-sun
1061145b7b3cSmrg		;;
1062145b7b3cSmrg	sv1)
1063145b7b3cSmrg		basic_machine=sv1-cray
1064145b7b3cSmrg		os=-unicos
1065145b7b3cSmrg		;;
1066145b7b3cSmrg	symmetry)
1067145b7b3cSmrg		basic_machine=i386-sequent
1068145b7b3cSmrg		os=-dynix
1069145b7b3cSmrg		;;
1070145b7b3cSmrg	t3e)
1071145b7b3cSmrg		basic_machine=alphaev5-cray
1072145b7b3cSmrg		os=-unicos
1073145b7b3cSmrg		;;
1074145b7b3cSmrg	t90)
1075145b7b3cSmrg		basic_machine=t90-cray
1076145b7b3cSmrg		os=-unicos
1077145b7b3cSmrg		;;
1078145b7b3cSmrg	tic54x | c54x*)
1079145b7b3cSmrg		basic_machine=tic54x-unknown
1080145b7b3cSmrg		os=-coff
1081145b7b3cSmrg		;;
1082145b7b3cSmrg	tic55x | c55x*)
1083145b7b3cSmrg		basic_machine=tic55x-unknown
1084145b7b3cSmrg		os=-coff
1085145b7b3cSmrg		;;
1086145b7b3cSmrg	tic6x | c6x*)
1087145b7b3cSmrg		basic_machine=tic6x-unknown
1088145b7b3cSmrg		os=-coff
1089145b7b3cSmrg		;;
10905ffd6003Smrg        # This must be matched before tile*.
10915ffd6003Smrg        tilegx*)
10925ffd6003Smrg		basic_machine=tilegx-unknown
10935ffd6003Smrg		os=-linux-gnu
10945ffd6003Smrg		;;
1095578741aaSmrg	tile*)
1096578741aaSmrg		basic_machine=tile-unknown
1097578741aaSmrg		os=-linux-gnu
1098578741aaSmrg		;;
1099145b7b3cSmrg	tx39)
1100145b7b3cSmrg		basic_machine=mipstx39-unknown
1101145b7b3cSmrg		;;
1102145b7b3cSmrg	tx39el)
1103145b7b3cSmrg		basic_machine=mipstx39el-unknown
1104145b7b3cSmrg		;;
1105145b7b3cSmrg	toad1)
1106145b7b3cSmrg		basic_machine=pdp10-xkl
1107145b7b3cSmrg		os=-tops20
1108145b7b3cSmrg		;;
1109145b7b3cSmrg	tower | tower-32)
1110145b7b3cSmrg		basic_machine=m68k-ncr
1111145b7b3cSmrg		;;
1112145b7b3cSmrg	tpf)
1113145b7b3cSmrg		basic_machine=s390x-ibm
1114145b7b3cSmrg		os=-tpf
1115145b7b3cSmrg		;;
1116145b7b3cSmrg	udi29k)
1117145b7b3cSmrg		basic_machine=a29k-amd
1118145b7b3cSmrg		os=-udi
1119145b7b3cSmrg		;;
1120145b7b3cSmrg	ultra3)
1121145b7b3cSmrg		basic_machine=a29k-nyu
1122145b7b3cSmrg		os=-sym1
1123145b7b3cSmrg		;;
1124145b7b3cSmrg	v810 | necv810)
1125145b7b3cSmrg		basic_machine=v810-nec
1126145b7b3cSmrg		os=-none
1127145b7b3cSmrg		;;
1128145b7b3cSmrg	vaxv)
1129145b7b3cSmrg		basic_machine=vax-dec
1130145b7b3cSmrg		os=-sysv
1131145b7b3cSmrg		;;
1132145b7b3cSmrg	vms)
1133145b7b3cSmrg		basic_machine=vax-dec
1134145b7b3cSmrg		os=-vms
1135145b7b3cSmrg		;;
1136145b7b3cSmrg	vpp*|vx|vx-*)
1137145b7b3cSmrg		basic_machine=f301-fujitsu
1138145b7b3cSmrg		;;
1139145b7b3cSmrg	vxworks960)
1140145b7b3cSmrg		basic_machine=i960-wrs
1141145b7b3cSmrg		os=-vxworks
1142145b7b3cSmrg		;;
1143145b7b3cSmrg	vxworks68)
1144145b7b3cSmrg		basic_machine=m68k-wrs
1145145b7b3cSmrg		os=-vxworks
1146145b7b3cSmrg		;;
1147145b7b3cSmrg	vxworks29k)
1148145b7b3cSmrg		basic_machine=a29k-wrs
1149145b7b3cSmrg		os=-vxworks
1150145b7b3cSmrg		;;
1151145b7b3cSmrg	w65*)
1152145b7b3cSmrg		basic_machine=w65-wdc
1153145b7b3cSmrg		os=-none
1154145b7b3cSmrg		;;
1155145b7b3cSmrg	w89k-*)
1156145b7b3cSmrg		basic_machine=hppa1.1-winbond
1157145b7b3cSmrg		os=-proelf
1158145b7b3cSmrg		;;
1159145b7b3cSmrg	xbox)
1160145b7b3cSmrg		basic_machine=i686-pc
1161145b7b3cSmrg		os=-mingw32
1162145b7b3cSmrg		;;
1163145b7b3cSmrg	xps | xps100)
1164145b7b3cSmrg		basic_machine=xps100-honeywell
1165145b7b3cSmrg		;;
1166145b7b3cSmrg	ymp)
1167145b7b3cSmrg		basic_machine=ymp-cray
1168145b7b3cSmrg		os=-unicos
1169145b7b3cSmrg		;;
1170145b7b3cSmrg	z8k-*-coff)
1171145b7b3cSmrg		basic_machine=z8k-unknown
1172145b7b3cSmrg		os=-sim
1173145b7b3cSmrg		;;
11745ffd6003Smrg	z80-*-coff)
11755ffd6003Smrg		basic_machine=z80-unknown
11765ffd6003Smrg		os=-sim
11775ffd6003Smrg		;;
1178145b7b3cSmrg	none)
1179145b7b3cSmrg		basic_machine=none-none
1180145b7b3cSmrg		os=-none
1181145b7b3cSmrg		;;
1182145b7b3cSmrg
1183145b7b3cSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1184145b7b3cSmrg# some cases the only manufacturer, in others, it is the most popular.
1185145b7b3cSmrg	w89k)
1186145b7b3cSmrg		basic_machine=hppa1.1-winbond
1187145b7b3cSmrg		;;
1188145b7b3cSmrg	op50n)
1189145b7b3cSmrg		basic_machine=hppa1.1-oki
1190145b7b3cSmrg		;;
1191145b7b3cSmrg	op60c)
1192145b7b3cSmrg		basic_machine=hppa1.1-oki
1193145b7b3cSmrg		;;
1194145b7b3cSmrg	romp)
1195145b7b3cSmrg		basic_machine=romp-ibm
1196145b7b3cSmrg		;;
1197145b7b3cSmrg	mmix)
1198145b7b3cSmrg		basic_machine=mmix-knuth
1199145b7b3cSmrg		;;
1200145b7b3cSmrg	rs6000)
1201145b7b3cSmrg		basic_machine=rs6000-ibm
1202145b7b3cSmrg		;;
1203145b7b3cSmrg	vax)
1204145b7b3cSmrg		basic_machine=vax-dec
1205145b7b3cSmrg		;;
1206145b7b3cSmrg	pdp10)
1207145b7b3cSmrg		# there are many clones, so DEC is not a safe bet
1208145b7b3cSmrg		basic_machine=pdp10-unknown
1209145b7b3cSmrg		;;
1210145b7b3cSmrg	pdp11)
1211145b7b3cSmrg		basic_machine=pdp11-dec
1212145b7b3cSmrg		;;
1213145b7b3cSmrg	we32k)
1214145b7b3cSmrg		basic_machine=we32k-att
1215145b7b3cSmrg		;;
12165ffd6003Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1217145b7b3cSmrg		basic_machine=sh-unknown
1218145b7b3cSmrg		;;
1219578741aaSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1220145b7b3cSmrg		basic_machine=sparc-sun
1221145b7b3cSmrg		;;
1222145b7b3cSmrg	cydra)
1223145b7b3cSmrg		basic_machine=cydra-cydrome
1224145b7b3cSmrg		;;
1225145b7b3cSmrg	orion)
1226145b7b3cSmrg		basic_machine=orion-highlevel
1227145b7b3cSmrg		;;
1228145b7b3cSmrg	orion105)
1229145b7b3cSmrg		basic_machine=clipper-highlevel
1230145b7b3cSmrg		;;
1231145b7b3cSmrg	mac | mpw | mac-mpw)
1232145b7b3cSmrg		basic_machine=m68k-apple
1233145b7b3cSmrg		;;
1234145b7b3cSmrg	pmac | pmac-mpw)
1235145b7b3cSmrg		basic_machine=powerpc-apple
1236145b7b3cSmrg		;;
1237145b7b3cSmrg	*-unknown)
1238145b7b3cSmrg		# Make sure to match an already-canonicalized machine name.
1239145b7b3cSmrg		;;
1240145b7b3cSmrg	*)
1241145b7b3cSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1242145b7b3cSmrg		exit 1
1243145b7b3cSmrg		;;
1244145b7b3cSmrgesac
1245145b7b3cSmrg
1246145b7b3cSmrg# Here we canonicalize certain aliases for manufacturers.
1247145b7b3cSmrgcase $basic_machine in
1248145b7b3cSmrg	*-digital*)
1249145b7b3cSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1250145b7b3cSmrg		;;
1251145b7b3cSmrg	*-commodore*)
1252145b7b3cSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1253145b7b3cSmrg		;;
1254145b7b3cSmrg	*)
1255145b7b3cSmrg		;;
1256145b7b3cSmrgesac
1257145b7b3cSmrg
1258145b7b3cSmrg# Decode manufacturer-specific aliases for certain operating systems.
1259145b7b3cSmrg
1260145b7b3cSmrgif [ x"$os" != x"" ]
1261145b7b3cSmrgthen
1262145b7b3cSmrgcase $os in
1263145b7b3cSmrg        # First match some system type aliases
1264145b7b3cSmrg        # that might get confused with valid system types.
1265145b7b3cSmrg	# -solaris* is a basic system type, with this one exception.
12665ffd6003Smrg        -auroraux)
12675ffd6003Smrg	        os=-auroraux
12685ffd6003Smrg		;;
1269145b7b3cSmrg	-solaris1 | -solaris1.*)
1270145b7b3cSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1271145b7b3cSmrg		;;
1272145b7b3cSmrg	-solaris)
1273145b7b3cSmrg		os=-solaris2
1274145b7b3cSmrg		;;
1275145b7b3cSmrg	-svr4*)
1276145b7b3cSmrg		os=-sysv4
1277145b7b3cSmrg		;;
1278145b7b3cSmrg	-unixware*)
1279145b7b3cSmrg		os=-sysv4.2uw
1280145b7b3cSmrg		;;
1281145b7b3cSmrg	-gnu/linux*)
1282145b7b3cSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1283145b7b3cSmrg		;;
1284145b7b3cSmrg	# First accept the basic system types.
1285145b7b3cSmrg	# The portable systems comes first.
1286145b7b3cSmrg	# Each alternative MUST END IN A *, to match a version number.
1287145b7b3cSmrg	# -sysv* is not here because it comes later, after sysvr4.
1288145b7b3cSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12895ffd6003Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
12905ffd6003Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
12915ffd6003Smrg	      | -sym* | -kopensolaris* \
1292145b7b3cSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12935ffd6003Smrg	      | -aos* | -aros* \
1294145b7b3cSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1295145b7b3cSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1296578741aaSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1297578741aaSmrg	      | -openbsd* | -solidbsd* \
1298145b7b3cSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1299145b7b3cSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1300145b7b3cSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1301145b7b3cSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13025ffd6003Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1303145b7b3cSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1304145b7b3cSmrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1305145b7b3cSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1306145b7b3cSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1307145b7b3cSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1308145b7b3cSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1309145b7b3cSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1310145b7b3cSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1311145b7b3cSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13125ffd6003Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1313145b7b3cSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1314145b7b3cSmrg		;;
1315145b7b3cSmrg	-qnx*)
1316145b7b3cSmrg		case $basic_machine in
1317145b7b3cSmrg		    x86-* | i*86-*)
1318145b7b3cSmrg			;;
1319145b7b3cSmrg		    *)
1320145b7b3cSmrg			os=-nto$os
1321145b7b3cSmrg			;;
1322145b7b3cSmrg		esac
1323145b7b3cSmrg		;;
1324145b7b3cSmrg	-nto-qnx*)
1325145b7b3cSmrg		;;
1326145b7b3cSmrg	-nto*)
1327145b7b3cSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1328145b7b3cSmrg		;;
1329145b7b3cSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1330145b7b3cSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1331145b7b3cSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1332145b7b3cSmrg		;;
1333145b7b3cSmrg	-mac*)
1334145b7b3cSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1335145b7b3cSmrg		;;
1336145b7b3cSmrg	-linux-dietlibc)
1337145b7b3cSmrg		os=-linux-dietlibc
1338145b7b3cSmrg		;;
1339145b7b3cSmrg	-linux*)
1340145b7b3cSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1341145b7b3cSmrg		;;
1342145b7b3cSmrg	-sunos5*)
1343145b7b3cSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1344145b7b3cSmrg		;;
1345145b7b3cSmrg	-sunos6*)
1346145b7b3cSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1347145b7b3cSmrg		;;
1348145b7b3cSmrg	-opened*)
1349145b7b3cSmrg		os=-openedition
1350145b7b3cSmrg		;;
1351145b7b3cSmrg        -os400*)
1352145b7b3cSmrg		os=-os400
1353145b7b3cSmrg		;;
1354145b7b3cSmrg	-wince*)
1355145b7b3cSmrg		os=-wince
1356145b7b3cSmrg		;;
1357145b7b3cSmrg	-osfrose*)
1358145b7b3cSmrg		os=-osfrose
1359145b7b3cSmrg		;;
1360145b7b3cSmrg	-osf*)
1361145b7b3cSmrg		os=-osf
1362145b7b3cSmrg		;;
1363145b7b3cSmrg	-utek*)
1364145b7b3cSmrg		os=-bsd
1365145b7b3cSmrg		;;
1366145b7b3cSmrg	-dynix*)
1367145b7b3cSmrg		os=-bsd
1368145b7b3cSmrg		;;
1369145b7b3cSmrg	-acis*)
1370145b7b3cSmrg		os=-aos
1371145b7b3cSmrg		;;
1372145b7b3cSmrg	-atheos*)
1373145b7b3cSmrg		os=-atheos
1374145b7b3cSmrg		;;
1375145b7b3cSmrg	-syllable*)
1376145b7b3cSmrg		os=-syllable
1377145b7b3cSmrg		;;
1378145b7b3cSmrg	-386bsd)
1379145b7b3cSmrg		os=-bsd
1380145b7b3cSmrg		;;
1381145b7b3cSmrg	-ctix* | -uts*)
1382145b7b3cSmrg		os=-sysv
1383145b7b3cSmrg		;;
1384145b7b3cSmrg	-nova*)
1385145b7b3cSmrg		os=-rtmk-nova
1386145b7b3cSmrg		;;
1387145b7b3cSmrg	-ns2 )
1388145b7b3cSmrg		os=-nextstep2
1389145b7b3cSmrg		;;
1390145b7b3cSmrg	-nsk*)
1391145b7b3cSmrg		os=-nsk
1392145b7b3cSmrg		;;
1393145b7b3cSmrg	# Preserve the version number of sinix5.
1394145b7b3cSmrg	-sinix5.*)
1395145b7b3cSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1396145b7b3cSmrg		;;
1397145b7b3cSmrg	-sinix*)
1398145b7b3cSmrg		os=-sysv4
1399145b7b3cSmrg		;;
1400145b7b3cSmrg        -tpf*)
1401145b7b3cSmrg		os=-tpf
1402145b7b3cSmrg		;;
1403145b7b3cSmrg	-triton*)
1404145b7b3cSmrg		os=-sysv3
1405145b7b3cSmrg		;;
1406145b7b3cSmrg	-oss*)
1407145b7b3cSmrg		os=-sysv3
1408145b7b3cSmrg		;;
1409145b7b3cSmrg	-svr4)
1410145b7b3cSmrg		os=-sysv4
1411145b7b3cSmrg		;;
1412145b7b3cSmrg	-svr3)
1413145b7b3cSmrg		os=-sysv3
1414145b7b3cSmrg		;;
1415145b7b3cSmrg	-sysvr4)
1416145b7b3cSmrg		os=-sysv4
1417145b7b3cSmrg		;;
1418145b7b3cSmrg	# This must come after -sysvr4.
1419145b7b3cSmrg	-sysv*)
1420145b7b3cSmrg		;;
1421145b7b3cSmrg	-ose*)
1422145b7b3cSmrg		os=-ose
1423145b7b3cSmrg		;;
1424145b7b3cSmrg	-es1800*)
1425145b7b3cSmrg		os=-ose
1426145b7b3cSmrg		;;
1427145b7b3cSmrg	-xenix)
1428145b7b3cSmrg		os=-xenix
1429145b7b3cSmrg		;;
1430145b7b3cSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1431145b7b3cSmrg		os=-mint
1432145b7b3cSmrg		;;
1433145b7b3cSmrg	-aros*)
1434145b7b3cSmrg		os=-aros
1435145b7b3cSmrg		;;
1436145b7b3cSmrg	-kaos*)
1437145b7b3cSmrg		os=-kaos
1438145b7b3cSmrg		;;
1439145b7b3cSmrg	-zvmoe)
1440145b7b3cSmrg		os=-zvmoe
1441145b7b3cSmrg		;;
14425ffd6003Smrg	-dicos*)
14435ffd6003Smrg		os=-dicos
14445ffd6003Smrg		;;
14455ffd6003Smrg        -nacl*)
14465ffd6003Smrg	        ;;
1447145b7b3cSmrg	-none)
1448145b7b3cSmrg		;;
1449145b7b3cSmrg	*)
1450145b7b3cSmrg		# Get rid of the `-' at the beginning of $os.
1451145b7b3cSmrg		os=`echo $os | sed 's/[^-]*-//'`
1452145b7b3cSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1453145b7b3cSmrg		exit 1
1454145b7b3cSmrg		;;
1455145b7b3cSmrgesac
1456145b7b3cSmrgelse
1457145b7b3cSmrg
1458145b7b3cSmrg# Here we handle the default operating systems that come with various machines.
1459145b7b3cSmrg# The value should be what the vendor currently ships out the door with their
1460145b7b3cSmrg# machine or put another way, the most popular os provided with the machine.
1461145b7b3cSmrg
1462145b7b3cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1463145b7b3cSmrg# "-sun"), then you have to tell the case statement up towards the top
1464145b7b3cSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1465145b7b3cSmrg# will signal an error saying that MANUFACTURER isn't an operating
1466145b7b3cSmrg# system, and we'll never get to this point.
1467145b7b3cSmrg
1468145b7b3cSmrgcase $basic_machine in
1469578741aaSmrg        score-*)
1470578741aaSmrg		os=-elf
1471578741aaSmrg		;;
1472578741aaSmrg        spu-*)
1473578741aaSmrg		os=-elf
1474578741aaSmrg		;;
1475145b7b3cSmrg	*-acorn)
1476145b7b3cSmrg		os=-riscix1.2
1477145b7b3cSmrg		;;
1478145b7b3cSmrg	arm*-rebel)
1479145b7b3cSmrg		os=-linux
1480145b7b3cSmrg		;;
1481145b7b3cSmrg	arm*-semi)
1482145b7b3cSmrg		os=-aout
1483145b7b3cSmrg		;;
1484578741aaSmrg        c4x-* | tic4x-*)
1485578741aaSmrg        	os=-coff
1486578741aaSmrg		;;
1487145b7b3cSmrg	# This must come before the *-dec entry.
1488145b7b3cSmrg	pdp10-*)
1489145b7b3cSmrg		os=-tops20
1490145b7b3cSmrg		;;
1491145b7b3cSmrg	pdp11-*)
1492145b7b3cSmrg		os=-none
1493145b7b3cSmrg		;;
1494145b7b3cSmrg	*-dec | vax-*)
1495145b7b3cSmrg		os=-ultrix4.2
1496145b7b3cSmrg		;;
1497145b7b3cSmrg	m68*-apollo)
1498145b7b3cSmrg		os=-domain
1499145b7b3cSmrg		;;
1500145b7b3cSmrg	i386-sun)
1501145b7b3cSmrg		os=-sunos4.0.2
1502145b7b3cSmrg		;;
1503145b7b3cSmrg	m68000-sun)
1504145b7b3cSmrg		os=-sunos3
1505145b7b3cSmrg		# This also exists in the configure program, but was not the
1506145b7b3cSmrg		# default.
1507145b7b3cSmrg		# os=-sunos4
1508145b7b3cSmrg		;;
1509145b7b3cSmrg	m68*-cisco)
1510145b7b3cSmrg		os=-aout
1511145b7b3cSmrg		;;
1512578741aaSmrg        mep-*)
1513578741aaSmrg		os=-elf
1514578741aaSmrg		;;
1515145b7b3cSmrg	mips*-cisco)
1516145b7b3cSmrg		os=-elf
1517145b7b3cSmrg		;;
1518145b7b3cSmrg	mips*-*)
1519145b7b3cSmrg		os=-elf
1520145b7b3cSmrg		;;
1521145b7b3cSmrg	or32-*)
1522145b7b3cSmrg		os=-coff
1523145b7b3cSmrg		;;
1524145b7b3cSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1525145b7b3cSmrg		os=-sysv3
1526145b7b3cSmrg		;;
1527145b7b3cSmrg	sparc-* | *-sun)
1528145b7b3cSmrg		os=-sunos4.1.1
1529145b7b3cSmrg		;;
1530145b7b3cSmrg	*-be)
1531145b7b3cSmrg		os=-beos
1532145b7b3cSmrg		;;
1533145b7b3cSmrg	*-haiku)
1534145b7b3cSmrg		os=-haiku
1535145b7b3cSmrg		;;
1536145b7b3cSmrg	*-ibm)
1537145b7b3cSmrg		os=-aix
1538145b7b3cSmrg		;;
1539145b7b3cSmrg    	*-knuth)
1540145b7b3cSmrg		os=-mmixware
1541145b7b3cSmrg		;;
1542145b7b3cSmrg	*-wec)
1543145b7b3cSmrg		os=-proelf
1544145b7b3cSmrg		;;
1545145b7b3cSmrg	*-winbond)
1546145b7b3cSmrg		os=-proelf
1547145b7b3cSmrg		;;
1548145b7b3cSmrg	*-oki)
1549145b7b3cSmrg		os=-proelf
1550145b7b3cSmrg		;;
1551145b7b3cSmrg	*-hp)
1552145b7b3cSmrg		os=-hpux
1553145b7b3cSmrg		;;
1554145b7b3cSmrg	*-hitachi)
1555145b7b3cSmrg		os=-hiux
1556145b7b3cSmrg		;;
1557145b7b3cSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1558145b7b3cSmrg		os=-sysv
1559145b7b3cSmrg		;;
1560145b7b3cSmrg	*-cbm)
1561145b7b3cSmrg		os=-amigaos
1562145b7b3cSmrg		;;
1563145b7b3cSmrg	*-dg)
1564145b7b3cSmrg		os=-dgux
1565145b7b3cSmrg		;;
1566145b7b3cSmrg	*-dolphin)
1567145b7b3cSmrg		os=-sysv3
1568145b7b3cSmrg		;;
1569145b7b3cSmrg	m68k-ccur)
1570145b7b3cSmrg		os=-rtu
1571145b7b3cSmrg		;;
1572145b7b3cSmrg	m88k-omron*)
1573145b7b3cSmrg		os=-luna
1574145b7b3cSmrg		;;
1575145b7b3cSmrg	*-next )
1576145b7b3cSmrg		os=-nextstep
1577145b7b3cSmrg		;;
1578145b7b3cSmrg	*-sequent)
1579145b7b3cSmrg		os=-ptx
1580145b7b3cSmrg		;;
1581145b7b3cSmrg	*-crds)
1582145b7b3cSmrg		os=-unos
1583145b7b3cSmrg		;;
1584145b7b3cSmrg	*-ns)
1585145b7b3cSmrg		os=-genix
1586145b7b3cSmrg		;;
1587145b7b3cSmrg	i370-*)
1588145b7b3cSmrg		os=-mvs
1589145b7b3cSmrg		;;
1590145b7b3cSmrg	*-next)
1591145b7b3cSmrg		os=-nextstep3
1592145b7b3cSmrg		;;
1593145b7b3cSmrg	*-gould)
1594145b7b3cSmrg		os=-sysv
1595145b7b3cSmrg		;;
1596145b7b3cSmrg	*-highlevel)
1597145b7b3cSmrg		os=-bsd
1598145b7b3cSmrg		;;
1599145b7b3cSmrg	*-encore)
1600145b7b3cSmrg		os=-bsd
1601145b7b3cSmrg		;;
1602145b7b3cSmrg	*-sgi)
1603145b7b3cSmrg		os=-irix
1604145b7b3cSmrg		;;
1605145b7b3cSmrg	*-siemens)
1606145b7b3cSmrg		os=-sysv4
1607145b7b3cSmrg		;;
1608145b7b3cSmrg	*-masscomp)
1609145b7b3cSmrg		os=-rtu
1610145b7b3cSmrg		;;
1611145b7b3cSmrg	f30[01]-fujitsu | f700-fujitsu)
1612145b7b3cSmrg		os=-uxpv
1613145b7b3cSmrg		;;
1614145b7b3cSmrg	*-rom68k)
1615145b7b3cSmrg		os=-coff
1616145b7b3cSmrg		;;
1617145b7b3cSmrg	*-*bug)
1618145b7b3cSmrg		os=-coff
1619145b7b3cSmrg		;;
1620145b7b3cSmrg	*-apple)
1621145b7b3cSmrg		os=-macos
1622145b7b3cSmrg		;;
1623145b7b3cSmrg	*-atari*)
1624145b7b3cSmrg		os=-mint
1625145b7b3cSmrg		;;
1626145b7b3cSmrg	*)
1627145b7b3cSmrg		os=-none
1628145b7b3cSmrg		;;
1629145b7b3cSmrgesac
1630145b7b3cSmrgfi
1631145b7b3cSmrg
1632145b7b3cSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1633145b7b3cSmrg# manufacturer.  We pick the logical manufacturer.
1634145b7b3cSmrgvendor=unknown
1635145b7b3cSmrgcase $basic_machine in
1636145b7b3cSmrg	*-unknown)
1637145b7b3cSmrg		case $os in
1638145b7b3cSmrg			-riscix*)
1639145b7b3cSmrg				vendor=acorn
1640145b7b3cSmrg				;;
1641145b7b3cSmrg			-sunos*)
1642145b7b3cSmrg				vendor=sun
1643145b7b3cSmrg				;;
16445ffd6003Smrg			-cnk*|-aix*)
1645145b7b3cSmrg				vendor=ibm
1646145b7b3cSmrg				;;
1647145b7b3cSmrg			-beos*)
1648145b7b3cSmrg				vendor=be
1649145b7b3cSmrg				;;
1650145b7b3cSmrg			-hpux*)
1651145b7b3cSmrg				vendor=hp
1652145b7b3cSmrg				;;
1653145b7b3cSmrg			-mpeix*)
1654145b7b3cSmrg				vendor=hp
1655145b7b3cSmrg				;;
1656145b7b3cSmrg			-hiux*)
1657145b7b3cSmrg				vendor=hitachi
1658145b7b3cSmrg				;;
1659145b7b3cSmrg			-unos*)
1660145b7b3cSmrg				vendor=crds
1661145b7b3cSmrg				;;
1662145b7b3cSmrg			-dgux*)
1663145b7b3cSmrg				vendor=dg
1664145b7b3cSmrg				;;
1665145b7b3cSmrg			-luna*)
1666145b7b3cSmrg				vendor=omron
1667145b7b3cSmrg				;;
1668145b7b3cSmrg			-genix*)
1669145b7b3cSmrg				vendor=ns
1670145b7b3cSmrg				;;
1671145b7b3cSmrg			-mvs* | -opened*)
1672145b7b3cSmrg				vendor=ibm
1673145b7b3cSmrg				;;
1674145b7b3cSmrg			-os400*)
1675145b7b3cSmrg				vendor=ibm
1676145b7b3cSmrg				;;
1677145b7b3cSmrg			-ptx*)
1678145b7b3cSmrg				vendor=sequent
1679145b7b3cSmrg				;;
1680145b7b3cSmrg			-tpf*)
1681145b7b3cSmrg				vendor=ibm
1682145b7b3cSmrg				;;
1683145b7b3cSmrg			-vxsim* | -vxworks* | -windiss*)
1684145b7b3cSmrg				vendor=wrs
1685145b7b3cSmrg				;;
1686145b7b3cSmrg			-aux*)
1687145b7b3cSmrg				vendor=apple
1688145b7b3cSmrg				;;
1689145b7b3cSmrg			-hms*)
1690145b7b3cSmrg				vendor=hitachi
1691145b7b3cSmrg				;;
1692145b7b3cSmrg			-mpw* | -macos*)
1693145b7b3cSmrg				vendor=apple
1694145b7b3cSmrg				;;
1695145b7b3cSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1696145b7b3cSmrg				vendor=atari
1697145b7b3cSmrg				;;
1698145b7b3cSmrg			-vos*)
1699145b7b3cSmrg				vendor=stratus
1700145b7b3cSmrg				;;
1701145b7b3cSmrg		esac
1702145b7b3cSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1703145b7b3cSmrg		;;
1704145b7b3cSmrgesac
1705145b7b3cSmrg
1706145b7b3cSmrgecho $basic_machine$os
1707145b7b3cSmrgexit
1708145b7b3cSmrg
1709145b7b3cSmrg# Local variables:
1710145b7b3cSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1711145b7b3cSmrg# time-stamp-start: "timestamp='"
1712145b7b3cSmrg# time-stamp-format: "%:y-%02m-%02d"
1713145b7b3cSmrg# time-stamp-end: "'"
1714145b7b3cSmrg# End:
1715