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