config.sub revision 276788
117680Spst#! /bin/sh
275115Sfenner# Configuration validation subroutine script.
3127668Sbms#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4276788Sdelphij#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5276788Sdelphij#   2011, 2012 Free Software Foundation, Inc.
675115Sfenner
7276788Sdelphijtimestamp='2012-04-18'
875115Sfenner
917680Spst# This file is (in principle) common to ALL GNU software.
1017680Spst# The presence of a machine in this file suggests that SOME GNU software
1126180Sfenner# can handle that machine.  It does not imply ALL GNU software can.
1217680Spst#
1317680Spst# This file is free software; you can redistribute it and/or modify
1417680Spst# it under the terms of the GNU General Public License as published by
1517680Spst# the Free Software Foundation; either version 2 of the License, or
1617680Spst# (at your option) any later version.
1717680Spst#
1817680Spst# This program is distributed in the hope that it will be useful,
1917680Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of
2017680Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2117680Spst# GNU General Public License for more details.
2217680Spst#
2317680Spst# You should have received a copy of the GNU General Public License
24276788Sdelphij# along with this program; if not, see <http://www.gnu.org/licenses/>.
25214478Srpaulo#
2617680Spst# As a special exception to the GNU General Public License, if you
2717680Spst# distribute this file as part of a program that contains a
2817680Spst# configuration script generated by Autoconf, you may include it under
2917680Spst# the same distribution terms that you use for the rest of that program.
3017680Spst
31214478Srpaulo
32127668Sbms# Please send patches to <config-patches@gnu.org>.  Submit a context
33214478Srpaulo# diff and a properly formatted GNU ChangeLog entry.
3475115Sfenner#
3517680Spst# Configuration subroutine to validate and canonicalize a configuration type.
3617680Spst# Supply the specified configuration type as an argument.
3717680Spst# If it is invalid, we print an error message on stderr and exit with code 1.
3817680Spst# Otherwise, we print the canonical config type on stdout and succeed.
3917680Spst
40214478Srpaulo# You can get the latest version of this script from:
41214478Srpaulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42214478Srpaulo
4317680Spst# This file is supposed to be the same for all GNU packages
4417680Spst# and recognize all the CPU types, system types and aliases
4517680Spst# that are meaningful with *any* GNU software.
4617680Spst# Each package is responsible for reporting which valid configurations
4717680Spst# it does not support.  The user should be able to distinguish
4817680Spst# a failure to support a valid configuration from a meaningless
4917680Spst# configuration.
5017680Spst
5117680Spst# The goal of this file is to map all the various variations of a given
5217680Spst# machine specification into a single specification in the form:
5317680Spst#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5426180Sfenner# or in some cases, the newer four-part form:
5526180Sfenner#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5617680Spst# It is wrong to echo any other type of specification.
5717680Spst
5875115Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
5917680Spst
6075115Sfennerusage="\
6175115SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS
6275115Sfenner       $0 [OPTION] ALIAS
6375115Sfenner
6475115SfennerCanonicalize a configuration name.
6575115Sfenner
6675115SfennerOperation modes:
6775115Sfenner  -h, --help         print this help, then exit
6875115Sfenner  -t, --time-stamp   print date of last modification, then exit
6975115Sfenner  -v, --version      print version number, then exit
7075115Sfenner
7175115SfennerReport bugs and patches to <config-patches@gnu.org>."
7275115Sfenner
7375115Sfennerversion="\
7475115SfennerGNU config.sub ($timestamp)
7575115Sfenner
76214478SrpauloCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77276788Sdelphij2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78276788SdelphijFree Software Foundation, Inc.
7975115Sfenner
8075115SfennerThis is free software; see the source for copying conditions.  There is NO
8175115Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8275115Sfenner
8375115Sfennerhelp="
8475115SfennerTry \`$me --help' for more information."
8575115Sfenner
8675115Sfenner# Parse command line
8775115Sfennerwhile test $# -gt 0 ; do
8875115Sfenner  case $1 in
8975115Sfenner    --time-stamp | --time* | -t )
90214478Srpaulo       echo "$timestamp" ; exit ;;
9175115Sfenner    --version | -v )
92214478Srpaulo       echo "$version" ; exit ;;
9375115Sfenner    --help | --h* | -h )
94214478Srpaulo       echo "$usage"; exit ;;
9575115Sfenner    -- )     # Stop option processing
9675115Sfenner       shift; break ;;
9775115Sfenner    - )	# Use stdin as input.
9875115Sfenner       break ;;
9975115Sfenner    -* )
10075115Sfenner       echo "$me: invalid option $1$help"
10175115Sfenner       exit 1 ;;
10275115Sfenner
10375115Sfenner    *local*)
10475115Sfenner       # First pass through any local machine types.
10575115Sfenner       echo $1
106214478Srpaulo       exit ;;
10775115Sfenner
10875115Sfenner    * )
10975115Sfenner       break ;;
11075115Sfenner  esac
11175115Sfennerdone
11275115Sfenner
11375115Sfennercase $# in
11475115Sfenner 0) echo "$me: missing argument$help" >&2
11575115Sfenner    exit 1;;
11675115Sfenner 1) ;;
11775115Sfenner *) echo "$me: too many arguments$help" >&2
11875115Sfenner    exit 1;;
11917680Spstesac
12017680Spst
12126180Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12226180Sfenner# Here we must recognize all the valid KERNEL-OS combinations.
12326180Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12426180Sfennercase $maybe_os in
125276788Sdelphij  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126276788Sdelphij  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127276788Sdelphij  knetbsd*-gnu* | netbsd*-gnu* | \
128214478Srpaulo  kopensolaris*-gnu* | \
129214478Srpaulo  storm-chaos* | os2-emx* | rtmk-nova*)
13026180Sfenner    os=-$maybe_os
13126180Sfenner    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13226180Sfenner    ;;
133276788Sdelphij  android-linux)
134276788Sdelphij    os=-linux-android
135276788Sdelphij    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136276788Sdelphij    ;;
13726180Sfenner  *)
13826180Sfenner    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13926180Sfenner    if [ $basic_machine != $1 ]
14026180Sfenner    then os=`echo $1 | sed 's/.*-/-/'`
14126180Sfenner    else os=; fi
14226180Sfenner    ;;
14326180Sfenneresac
14417680Spst
14517680Spst### Let's recognize common machines as not being operating systems so
14617680Spst### that things like config.sub decstation-3100 work.  We also
14717680Spst### recognize some manufacturers as not being operating systems, so we
14817680Spst### can provide default operating systems below.
14917680Spstcase $os in
15017680Spst	-sun*os*)
15117680Spst		# Prevent following clause from handling this invalid input.
15217680Spst		;;
15317680Spst	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15417680Spst	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15517680Spst	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15617680Spst	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15717680Spst	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15826180Sfenner	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159214478Srpaulo	-apple | -axis | -knuth | -cray | -microblaze)
16017680Spst		os=
16117680Spst		basic_machine=$1
16217680Spst		;;
163276788Sdelphij	-bluegene*)
164276788Sdelphij		os=-cnk
165214478Srpaulo		;;
16675115Sfenner	-sim | -cisco | -oki | -wec | -winbond)
16775115Sfenner		os=
16875115Sfenner		basic_machine=$1
16975115Sfenner		;;
17075115Sfenner	-scout)
17175115Sfenner		;;
17275115Sfenner	-wrs)
17375115Sfenner		os=-vxworks
17475115Sfenner		basic_machine=$1
17575115Sfenner		;;
176127668Sbms	-chorusos*)
177127668Sbms		os=-chorusos
178127668Sbms		basic_machine=$1
179127668Sbms		;;
180276788Sdelphij	-chorusrdb)
181276788Sdelphij		os=-chorusrdb
182127668Sbms		basic_machine=$1
183276788Sdelphij		;;
18417680Spst	-hiux*)
18517680Spst		os=-hiuxwe2
18617680Spst		;;
187214478Srpaulo	-sco6)
188214478Srpaulo		os=-sco5v6
189214478Srpaulo		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190214478Srpaulo		;;
19126180Sfenner	-sco5)
19275115Sfenner		os=-sco3.2v5
19326180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19426180Sfenner		;;
19517680Spst	-sco4)
19617680Spst		os=-sco3.2v4
19726180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19817680Spst		;;
19917680Spst	-sco3.2.[4-9]*)
20017680Spst		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
20126180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20217680Spst		;;
20317680Spst	-sco3.2v[4-9]*)
20417680Spst		# Don't forget version if it is 3.2v4 or newer.
20526180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20617680Spst		;;
207214478Srpaulo	-sco5v6*)
208214478Srpaulo		# Don't forget version if it is 3.2v4 or newer.
209214478Srpaulo		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210214478Srpaulo		;;
21117680Spst	-sco*)
21217680Spst		os=-sco3.2v2
21326180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21417680Spst		;;
21575115Sfenner	-udk*)
21675115Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21775115Sfenner		;;
21817680Spst	-isc)
21917680Spst		os=-isc2.2
22026180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22117680Spst		;;
22217680Spst	-clix*)
22317680Spst		basic_machine=clipper-intergraph
22417680Spst		;;
22517680Spst	-isc*)
22626180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22717680Spst		;;
228276788Sdelphij	-lynx*178)
229276788Sdelphij		os=-lynxos178
230276788Sdelphij		;;
231276788Sdelphij	-lynx*5)
232276788Sdelphij		os=-lynxos5
233276788Sdelphij		;;
23417680Spst	-lynx*)
23517680Spst		os=-lynxos
23617680Spst		;;
23717680Spst	-ptx*)
23817680Spst		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23917680Spst		;;
24017680Spst	-windowsnt*)
24117680Spst		os=`echo $os | sed -e 's/windowsnt/winnt/'`
24217680Spst		;;
24326180Sfenner	-psos*)
24426180Sfenner		os=-psos
24526180Sfenner		;;
24675115Sfenner	-mint | -mint[0-9]*)
24775115Sfenner		basic_machine=m68k-atari
24875115Sfenner		os=-mint
24975115Sfenner		;;
25017680Spstesac
25117680Spst
25217680Spst# Decode aliases for certain CPU-COMPANY combinations.
25317680Spstcase $basic_machine in
25417680Spst	# Recognize the basic CPU types without company name.
25517680Spst	# Some are omitted here because they have special meanings below.
256127668Sbms	1750a | 580 \
257127668Sbms	| a29k \
258276788Sdelphij	| aarch64 | aarch64_be \
259127668Sbms	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260127668Sbms	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
261127668Sbms	| am33_2.0 \
262214478Srpaulo	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263276788Sdelphij        | be32 | be64 \
264214478Srpaulo	| bfin \
265127668Sbms	| c4x | clipper \
266127668Sbms	| d10v | d30v | dlx | dsp16xx \
267276788Sdelphij	| epiphany \
268214478Srpaulo	| fido | fr30 | frv \
269127668Sbms	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270276788Sdelphij	| hexagon \
271127668Sbms	| i370 | i860 | i960 | ia64 \
272127668Sbms	| ip2k | iq2000 \
273276788Sdelphij	| le32 | le64 \
274214478Srpaulo	| lm32 \
275214478Srpaulo	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276214478Srpaulo	| maxq | mb | microblaze | mcore | mep | metag \
277127668Sbms	| mips | mipsbe | mipseb | mipsel | mipsle \
278127668Sbms	| mips16 \
279127668Sbms	| mips64 | mips64el \
280214478Srpaulo	| mips64octeon | mips64octeonel \
281214478Srpaulo	| mips64orion | mips64orionel \
282214478Srpaulo	| mips64r5900 | mips64r5900el \
283127668Sbms	| mips64vr | mips64vrel \
284127668Sbms	| mips64vr4100 | mips64vr4100el \
285127668Sbms	| mips64vr4300 | mips64vr4300el \
286127668Sbms	| mips64vr5000 | mips64vr5000el \
287214478Srpaulo	| mips64vr5900 | mips64vr5900el \
288127668Sbms	| mipsisa32 | mipsisa32el \
289127668Sbms	| mipsisa32r2 | mipsisa32r2el \
290127668Sbms	| mipsisa64 | mipsisa64el \
291127668Sbms	| mipsisa64r2 | mipsisa64r2el \
292127668Sbms	| mipsisa64sb1 | mipsisa64sb1el \
293127668Sbms	| mipsisa64sr71k | mipsisa64sr71kel \
294127668Sbms	| mipstx39 | mipstx39el \
295127668Sbms	| mn10200 | mn10300 \
296214478Srpaulo	| moxie \
297214478Srpaulo	| mt \
298127668Sbms	| msp430 \
299276788Sdelphij	| nds32 | nds32le | nds32be \
300214478Srpaulo	| nios | nios2 \
301127668Sbms	| ns16k | ns32k \
302276788Sdelphij	| open8 \
303214478Srpaulo	| or32 \
304127668Sbms	| pdp10 | pdp11 | pj | pjl \
305276788Sdelphij	| powerpc | powerpc64 | powerpc64le | powerpcle \
306127668Sbms	| pyramid \
307276788Sdelphij	| rl78 | rx \
308214478Srpaulo	| score \
309214478Srpaulo	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310127668Sbms	| sh64 | sh64le \
311214478Srpaulo	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312214478Srpaulo	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313276788Sdelphij	| spu \
314276788Sdelphij	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315214478Srpaulo	| ubicom32 \
316276788Sdelphij	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317127668Sbms	| we32k \
318276788Sdelphij	| x86 | xc16x | xstormy16 | xtensa \
319214478Srpaulo	| z8k | z80)
32017680Spst		basic_machine=$basic_machine-unknown
32117680Spst		;;
322276788Sdelphij	c54x)
323276788Sdelphij		basic_machine=tic54x-unknown
324276788Sdelphij		;;
325276788Sdelphij	c55x)
326276788Sdelphij		basic_machine=tic55x-unknown
327276788Sdelphij		;;
328276788Sdelphij	c6x)
329276788Sdelphij		basic_machine=tic6x-unknown
330276788Sdelphij		;;
331276788Sdelphij	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
33275115Sfenner		basic_machine=$basic_machine-unknown
33375115Sfenner		os=-none
33475115Sfenner		;;
335127668Sbms	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33675115Sfenner		;;
337214478Srpaulo	ms1)
338214478Srpaulo		basic_machine=mt-unknown
339214478Srpaulo		;;
34075115Sfenner
341276788Sdelphij	strongarm | thumb | xscale)
342276788Sdelphij		basic_machine=arm-unknown
343276788Sdelphij		;;
344276788Sdelphij	xgate)
345276788Sdelphij		basic_machine=$basic_machine-unknown
346276788Sdelphij		os=-none
347276788Sdelphij		;;
348276788Sdelphij	xscaleeb)
349276788Sdelphij		basic_machine=armeb-unknown
350276788Sdelphij		;;
351276788Sdelphij
352276788Sdelphij	xscaleel)
353276788Sdelphij		basic_machine=armel-unknown
354276788Sdelphij		;;
355276788Sdelphij
35626180Sfenner	# We use `pc' rather than `unknown'
35726180Sfenner	# because (1) that's what they normally are, and
35826180Sfenner	# (2) the word "unknown" tends to confuse beginning users.
35998524Sfenner	i*86 | x86_64)
36026180Sfenner	  basic_machine=$basic_machine-pc
36126180Sfenner	  ;;
36217680Spst	# Object if more than one company name word.
36317680Spst	*-*-*)
36417680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36517680Spst		exit 1
36617680Spst		;;
36717680Spst	# Recognize the basic CPU types with company name.
368127668Sbms	580-* \
369127668Sbms	| a29k-* \
370276788Sdelphij	| aarch64-* | aarch64_be-* \
371127668Sbms	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372127668Sbms	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373127668Sbms	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374127668Sbms	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
375214478Srpaulo	| avr-* | avr32-* \
376276788Sdelphij	| be32-* | be64-* \
377214478Srpaulo	| bfin-* | bs2000-* \
378276788Sdelphij	| c[123]* | c30-* | [cjt]90-* | c4x-* \
379214478Srpaulo	| clipper-* | craynv-* | cydra-* \
380127668Sbms	| d10v-* | d30v-* | dlx-* \
381127668Sbms	| elxsi-* \
382214478Srpaulo	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383127668Sbms	| h8300-* | h8500-* \
384127668Sbms	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385276788Sdelphij	| hexagon-* \
386127668Sbms	| i*86-* | i860-* | i960-* | ia64-* \
387127668Sbms	| ip2k-* | iq2000-* \
388276788Sdelphij	| le32-* | le64-* \
389214478Srpaulo	| lm32-* \
390214478Srpaulo	| m32c-* | m32r-* | m32rle-* \
391127668Sbms	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392214478Srpaulo	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
393127668Sbms	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394127668Sbms	| mips16-* \
395127668Sbms	| mips64-* | mips64el-* \
396214478Srpaulo	| mips64octeon-* | mips64octeonel-* \
397214478Srpaulo	| mips64orion-* | mips64orionel-* \
398214478Srpaulo	| mips64r5900-* | mips64r5900el-* \
399127668Sbms	| mips64vr-* | mips64vrel-* \
400127668Sbms	| mips64vr4100-* | mips64vr4100el-* \
401127668Sbms	| mips64vr4300-* | mips64vr4300el-* \
402127668Sbms	| mips64vr5000-* | mips64vr5000el-* \
403214478Srpaulo	| mips64vr5900-* | mips64vr5900el-* \
404127668Sbms	| mipsisa32-* | mipsisa32el-* \
405127668Sbms	| mipsisa32r2-* | mipsisa32r2el-* \
406127668Sbms	| mipsisa64-* | mipsisa64el-* \
407127668Sbms	| mipsisa64r2-* | mipsisa64r2el-* \
408127668Sbms	| mipsisa64sb1-* | mipsisa64sb1el-* \
409127668Sbms	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410127668Sbms	| mipstx39-* | mipstx39el-* \
411214478Srpaulo	| mmix-* \
412214478Srpaulo	| mt-* \
413127668Sbms	| msp430-* \
414276788Sdelphij	| nds32-* | nds32le-* | nds32be-* \
415214478Srpaulo	| nios-* | nios2-* \
416214478Srpaulo	| none-* | np1-* | ns16k-* | ns32k-* \
417276788Sdelphij	| open8-* \
418127668Sbms	| orion-* \
419127668Sbms	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420276788Sdelphij	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421127668Sbms	| pyramid-* \
422276788Sdelphij	| rl78-* | romp-* | rs6000-* | rx-* \
423214478Srpaulo	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424127668Sbms	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425214478Srpaulo	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426214478Srpaulo	| sparclite-* \
427276788Sdelphij	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428276788Sdelphij	| tahoe-* \
429276788Sdelphij	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430276788Sdelphij	| tile*-* \
431127668Sbms	| tron-* \
432214478Srpaulo	| ubicom32-* \
433276788Sdelphij	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434276788Sdelphij	| vax-* \
435127668Sbms	| we32k-* \
436276788Sdelphij	| x86-* | x86_64-* | xc16x-* | xps100-* \
437214478Srpaulo	| xstormy16-* | xtensa*-* \
438127668Sbms	| ymp-* \
439214478Srpaulo	| z8k-* | z80-*)
44017680Spst		;;
441214478Srpaulo	# Recognize the basic CPU types without company name, with glob match.
442214478Srpaulo	xtensa*)
443214478Srpaulo		basic_machine=$basic_machine-unknown
444214478Srpaulo		;;
44517680Spst	# Recognize the various machine names and aliases which stand
44617680Spst	# for a CPU type and a company and sometimes even an OS.
44775115Sfenner	386bsd)
44875115Sfenner		basic_machine=i386-unknown
44975115Sfenner		os=-bsd
45075115Sfenner		;;
45117680Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45217680Spst		basic_machine=m68000-att
45317680Spst		;;
45417680Spst	3b*)
45517680Spst		basic_machine=we32k-att
45617680Spst		;;
45775115Sfenner	a29khif)
45875115Sfenner		basic_machine=a29k-amd
45975115Sfenner		os=-udi
46075115Sfenner		;;
461276788Sdelphij	abacus)
462214478Srpaulo		basic_machine=abacus-unknown
463214478Srpaulo		;;
46475115Sfenner	adobe68k)
46575115Sfenner		basic_machine=m68010-adobe
46675115Sfenner		os=-scout
46775115Sfenner		;;
46817680Spst	alliant | fx80)
46917680Spst		basic_machine=fx80-alliant
47017680Spst		;;
47117680Spst	altos | altos3068)
47217680Spst		basic_machine=m68k-altos
47317680Spst		;;
47417680Spst	am29k)
47517680Spst		basic_machine=a29k-none
47617680Spst		os=-bsd
47717680Spst		;;
478127668Sbms	amd64)
479127668Sbms		basic_machine=x86_64-pc
480127668Sbms		;;
481214478Srpaulo	amd64-*)
482214478Srpaulo		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483214478Srpaulo		;;
48417680Spst	amdahl)
48517680Spst		basic_machine=580-amdahl
48617680Spst		os=-sysv
48717680Spst		;;
48817680Spst	amiga | amiga-*)
48975115Sfenner		basic_machine=m68k-unknown
49017680Spst		;;
49175115Sfenner	amigaos | amigados)
49275115Sfenner		basic_machine=m68k-unknown
49375115Sfenner		os=-amigaos
49417680Spst		;;
49517680Spst	amigaunix | amix)
49675115Sfenner		basic_machine=m68k-unknown
49717680Spst		os=-sysv4
49817680Spst		;;
49917680Spst	apollo68)
50017680Spst		basic_machine=m68k-apollo
50117680Spst		os=-sysv
50217680Spst		;;
50375115Sfenner	apollo68bsd)
50475115Sfenner		basic_machine=m68k-apollo
50575115Sfenner		os=-bsd
50675115Sfenner		;;
507214478Srpaulo	aros)
508214478Srpaulo		basic_machine=i386-pc
509214478Srpaulo		os=-aros
510214478Srpaulo		;;
51126180Sfenner	aux)
51226180Sfenner		basic_machine=m68k-apple
51326180Sfenner		os=-aux
51426180Sfenner		;;
51517680Spst	balance)
51617680Spst		basic_machine=ns32k-sequent
51717680Spst		os=-dynix
51817680Spst		;;
519214478Srpaulo	blackfin)
520214478Srpaulo		basic_machine=bfin-unknown
521214478Srpaulo		os=-linux
522214478Srpaulo		;;
523214478Srpaulo	blackfin-*)
524214478Srpaulo		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525214478Srpaulo		os=-linux
526214478Srpaulo		;;
527214478Srpaulo	bluegene*)
528214478Srpaulo		basic_machine=powerpc-ibm
529214478Srpaulo		os=-cnk
530214478Srpaulo		;;
531276788Sdelphij	c54x-*)
532276788Sdelphij		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533276788Sdelphij		;;
534276788Sdelphij	c55x-*)
535276788Sdelphij		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536276788Sdelphij		;;
537276788Sdelphij	c6x-*)
538276788Sdelphij		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539276788Sdelphij		;;
540127668Sbms	c90)
541127668Sbms		basic_machine=c90-cray
542127668Sbms		os=-unicos
543127668Sbms		;;
544276788Sdelphij	cegcc)
545214478Srpaulo		basic_machine=arm-unknown
546214478Srpaulo		os=-cegcc
547214478Srpaulo		;;
54817680Spst	convex-c1)
54917680Spst		basic_machine=c1-convex
55017680Spst		os=-bsd
55117680Spst		;;
55217680Spst	convex-c2)
55317680Spst		basic_machine=c2-convex
55417680Spst		os=-bsd
55517680Spst		;;
55617680Spst	convex-c32)
55717680Spst		basic_machine=c32-convex
55817680Spst		os=-bsd
55917680Spst		;;
56017680Spst	convex-c34)
56117680Spst		basic_machine=c34-convex
56217680Spst		os=-bsd
56317680Spst		;;
56417680Spst	convex-c38)
56517680Spst		basic_machine=c38-convex
56617680Spst		os=-bsd
56717680Spst		;;
568127668Sbms	cray | j90)
569127668Sbms		basic_machine=j90-cray
57017680Spst		os=-unicos
57117680Spst		;;
572214478Srpaulo	craynv)
573214478Srpaulo		basic_machine=craynv-cray
574214478Srpaulo		os=-unicosmp
575214478Srpaulo		;;
576276788Sdelphij	cr16 | cr16-*)
577214478Srpaulo		basic_machine=cr16-unknown
578214478Srpaulo		os=-elf
579214478Srpaulo		;;
58017680Spst	crds | unos)
58117680Spst		basic_machine=m68k-crds
58217680Spst		;;
583214478Srpaulo	crisv32 | crisv32-* | etraxfs*)
584214478Srpaulo		basic_machine=crisv32-axis
585214478Srpaulo		;;
58675115Sfenner	cris | cris-* | etrax*)
58775115Sfenner		basic_machine=cris-axis
58875115Sfenner		;;
589214478Srpaulo	crx)
590214478Srpaulo		basic_machine=crx-unknown
591214478Srpaulo		os=-elf
592214478Srpaulo		;;
59317680Spst	da30 | da30-*)
59417680Spst		basic_machine=m68k-da30
59517680Spst		;;
59617680Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59717680Spst		basic_machine=mips-dec
59817680Spst		;;
599127668Sbms	decsystem10* | dec10*)
600127668Sbms		basic_machine=pdp10-dec
601127668Sbms		os=-tops10
602127668Sbms		;;
603127668Sbms	decsystem20* | dec20*)
604127668Sbms		basic_machine=pdp10-dec
605127668Sbms		os=-tops20
606127668Sbms		;;
60717680Spst	delta | 3300 | motorola-3300 | motorola-delta \
60817680Spst	      | 3300-motorola | delta-motorola)
60917680Spst		basic_machine=m68k-motorola
61017680Spst		;;
61117680Spst	delta88)
61217680Spst		basic_machine=m88k-motorola
61317680Spst		os=-sysv3
61417680Spst		;;
615214478Srpaulo	dicos)
616214478Srpaulo		basic_machine=i686-pc
617214478Srpaulo		os=-dicos
618214478Srpaulo		;;
619214478Srpaulo	djgpp)
620214478Srpaulo		basic_machine=i586-pc
621214478Srpaulo		os=-msdosdjgpp
622214478Srpaulo		;;
62317680Spst	dpx20 | dpx20-*)
62417680Spst		basic_machine=rs6000-bull
62517680Spst		os=-bosx
62617680Spst		;;
62717680Spst	dpx2* | dpx2*-bull)
62817680Spst		basic_machine=m68k-bull
62917680Spst		os=-sysv3
63017680Spst		;;
63117680Spst	ebmon29k)
63217680Spst		basic_machine=a29k-amd
63317680Spst		os=-ebmon
63417680Spst		;;
63517680Spst	elxsi)
63617680Spst		basic_machine=elxsi-elxsi
63717680Spst		os=-bsd
63817680Spst		;;
63917680Spst	encore | umax | mmax)
64017680Spst		basic_machine=ns32k-encore
64117680Spst		;;
64275115Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
64375115Sfenner		basic_machine=m68k-ericsson
64475115Sfenner		os=-ose
64575115Sfenner		;;
64617680Spst	fx2800)
64717680Spst		basic_machine=i860-alliant
64817680Spst		;;
64917680Spst	genix)
65017680Spst		basic_machine=ns32k-ns
65117680Spst		;;
65217680Spst	gmicro)
65317680Spst		basic_machine=tron-gmicro
65417680Spst		os=-sysv
65517680Spst		;;
65698524Sfenner	go32)
65798524Sfenner		basic_machine=i386-pc
65898524Sfenner		os=-go32
65998524Sfenner		;;
66017680Spst	h3050r* | hiux*)
66117680Spst		basic_machine=hppa1.1-hitachi
66217680Spst		os=-hiuxwe2
66317680Spst		;;
66417680Spst	h8300hms)
66517680Spst		basic_machine=h8300-hitachi
66617680Spst		os=-hms
66717680Spst		;;
66875115Sfenner	h8300xray)
66975115Sfenner		basic_machine=h8300-hitachi
67075115Sfenner		os=-xray
67175115Sfenner		;;
67275115Sfenner	h8500hms)
67375115Sfenner		basic_machine=h8500-hitachi
67475115Sfenner		os=-hms
67575115Sfenner		;;
67617680Spst	harris)
67717680Spst		basic_machine=m88k-harris
67817680Spst		os=-sysv3
67917680Spst		;;
68017680Spst	hp300-*)
68117680Spst		basic_machine=m68k-hp
68217680Spst		;;
68317680Spst	hp300bsd)
68417680Spst		basic_machine=m68k-hp
68517680Spst		os=-bsd
68617680Spst		;;
68717680Spst	hp300hpux)
68817680Spst		basic_machine=m68k-hp
68917680Spst		os=-hpux
69017680Spst		;;
69175115Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69275115Sfenner		basic_machine=hppa1.0-hp
69375115Sfenner		;;
69417680Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
69517680Spst		basic_machine=m68000-hp
69617680Spst		;;
69717680Spst	hp9k3[2-9][0-9])
69817680Spst		basic_machine=m68k-hp
69917680Spst		;;
70075115Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70175115Sfenner		basic_machine=hppa1.0-hp
70275115Sfenner		;;
70375115Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70417680Spst		basic_machine=hppa1.1-hp
70517680Spst		;;
70675115Sfenner	hp9k78[0-9] | hp78[0-9])
70775115Sfenner		# FIXME: really hppa2.0-hp
70875115Sfenner		basic_machine=hppa1.1-hp
70975115Sfenner		;;
71075115Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71175115Sfenner		# FIXME: really hppa2.0-hp
71275115Sfenner		basic_machine=hppa1.1-hp
71375115Sfenner		;;
71475115Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
71575115Sfenner		basic_machine=hppa1.1-hp
71675115Sfenner		;;
71717680Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71817680Spst		basic_machine=hppa1.0-hp
71917680Spst		;;
72026180Sfenner	hppa-next)
72126180Sfenner		os=-nextstep3
72226180Sfenner		;;
72375115Sfenner	hppaosf)
72475115Sfenner		basic_machine=hppa1.1-hp
72575115Sfenner		os=-osf
72675115Sfenner		;;
72775115Sfenner	hppro)
72875115Sfenner		basic_machine=hppa1.1-hp
72975115Sfenner		os=-proelf
73075115Sfenner		;;
73117680Spst	i370-ibm* | ibm*)
73217680Spst		basic_machine=i370-ibm
73317680Spst		;;
73498524Sfenner	i*86v32)
73526180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73617680Spst		os=-sysv32
73717680Spst		;;
73898524Sfenner	i*86v4*)
73926180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74017680Spst		os=-sysv4
74117680Spst		;;
74298524Sfenner	i*86v)
74326180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74417680Spst		os=-sysv
74517680Spst		;;
74698524Sfenner	i*86sol2)
74726180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74817680Spst		os=-solaris2
74917680Spst		;;
75075115Sfenner	i386mach)
75175115Sfenner		basic_machine=i386-mach
75275115Sfenner		os=-mach
75375115Sfenner		;;
75475115Sfenner	i386-vsta | vsta)
75575115Sfenner		basic_machine=i386-unknown
75675115Sfenner		os=-vsta
75775115Sfenner		;;
75817680Spst	iris | iris4d)
75917680Spst		basic_machine=mips-sgi
76017680Spst		case $os in
76117680Spst		    -irix*)
76217680Spst			;;
76317680Spst		    *)
76417680Spst			os=-irix4
76517680Spst			;;
76617680Spst		esac
76717680Spst		;;
76817680Spst	isi68 | isi)
76917680Spst		basic_machine=m68k-isi
77017680Spst		os=-sysv
77117680Spst		;;
772214478Srpaulo	m68knommu)
773214478Srpaulo		basic_machine=m68k-unknown
774214478Srpaulo		os=-linux
775214478Srpaulo		;;
776214478Srpaulo	m68knommu-*)
777214478Srpaulo		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778214478Srpaulo		os=-linux
779214478Srpaulo		;;
78017680Spst	m88k-omron*)
78117680Spst		basic_machine=m88k-omron
78217680Spst		;;
78317680Spst	magnum | m3230)
78417680Spst		basic_machine=mips-mips
78517680Spst		os=-sysv
78617680Spst		;;
78717680Spst	merlin)
78817680Spst		basic_machine=ns32k-utek
78917680Spst		os=-sysv
79017680Spst		;;
791276788Sdelphij	microblaze)
792214478Srpaulo		basic_machine=microblaze-xilinx
793214478Srpaulo		;;
79498524Sfenner	mingw32)
79598524Sfenner		basic_machine=i386-pc
79698524Sfenner		os=-mingw32
79798524Sfenner		;;
798214478Srpaulo	mingw32ce)
799214478Srpaulo		basic_machine=arm-unknown
800214478Srpaulo		os=-mingw32ce
801214478Srpaulo		;;
80217680Spst	miniframe)
80317680Spst		basic_machine=m68000-convergent
80417680Spst		;;
80575115Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
80675115Sfenner		basic_machine=m68k-atari
80775115Sfenner		os=-mint
80875115Sfenner		;;
80917680Spst	mips3*-*)
81017680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81117680Spst		;;
81217680Spst	mips3*)
81317680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81417680Spst		;;
81575115Sfenner	monitor)
81675115Sfenner		basic_machine=m68k-rom68k
81775115Sfenner		os=-coff
81875115Sfenner		;;
819127668Sbms	morphos)
820127668Sbms		basic_machine=powerpc-unknown
821127668Sbms		os=-morphos
822127668Sbms		;;
82375115Sfenner	msdos)
82498524Sfenner		basic_machine=i386-pc
82575115Sfenner		os=-msdos
82675115Sfenner		;;
827214478Srpaulo	ms1-*)
828214478Srpaulo		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
829214478Srpaulo		;;
830276788Sdelphij	msys)
831276788Sdelphij		basic_machine=i386-pc
832276788Sdelphij		os=-msys
833276788Sdelphij		;;
83475115Sfenner	mvs)
83575115Sfenner		basic_machine=i370-ibm
83675115Sfenner		os=-mvs
83775115Sfenner		;;
838276788Sdelphij	nacl)
839276788Sdelphij		basic_machine=le32-unknown
840276788Sdelphij		os=-nacl
841276788Sdelphij		;;
84217680Spst	ncr3000)
84317680Spst		basic_machine=i486-ncr
84417680Spst		os=-sysv4
84517680Spst		;;
84675115Sfenner	netbsd386)
84775115Sfenner		basic_machine=i386-unknown
84875115Sfenner		os=-netbsd
84975115Sfenner		;;
85075115Sfenner	netwinder)
85175115Sfenner		basic_machine=armv4l-rebel
85275115Sfenner		os=-linux
85375115Sfenner		;;
85417680Spst	news | news700 | news800 | news900)
85517680Spst		basic_machine=m68k-sony
85617680Spst		os=-newsos
85717680Spst		;;
85817680Spst	news1000)
85917680Spst		basic_machine=m68030-sony
86017680Spst		os=-newsos
86117680Spst		;;
86217680Spst	news-3600 | risc-news)
86317680Spst		basic_machine=mips-sony
86417680Spst		os=-newsos
86517680Spst		;;
86675115Sfenner	necv70)
86775115Sfenner		basic_machine=v70-nec
86875115Sfenner		os=-sysv
86975115Sfenner		;;
87017680Spst	next | m*-next )
87117680Spst		basic_machine=m68k-next
87217680Spst		case $os in
87317680Spst		    -nextstep* )
87417680Spst			;;
87517680Spst		    -ns2*)
87617680Spst		      os=-nextstep2
87717680Spst			;;
87817680Spst		    *)
87917680Spst		      os=-nextstep3
88017680Spst			;;
88117680Spst		esac
88217680Spst		;;
88317680Spst	nh3000)
88417680Spst		basic_machine=m68k-harris
88517680Spst		os=-cxux
88617680Spst		;;
88717680Spst	nh[45]000)
88817680Spst		basic_machine=m88k-harris
88917680Spst		os=-cxux
89017680Spst		;;
89117680Spst	nindy960)
89217680Spst		basic_machine=i960-intel
89317680Spst		os=-nindy
89417680Spst		;;
89575115Sfenner	mon960)
89675115Sfenner		basic_machine=i960-intel
89775115Sfenner		os=-mon960
89875115Sfenner		;;
89975115Sfenner	nonstopux)
90075115Sfenner		basic_machine=mips-compaq
90175115Sfenner		os=-nonstopux
90275115Sfenner		;;
90317680Spst	np1)
90417680Spst		basic_machine=np1-gould
90517680Spst		;;
906276788Sdelphij	neo-tandem)
907276788Sdelphij		basic_machine=neo-tandem
908276788Sdelphij		;;
909276788Sdelphij	nse-tandem)
910276788Sdelphij		basic_machine=nse-tandem
911276788Sdelphij		;;
91275115Sfenner	nsr-tandem)
91375115Sfenner		basic_machine=nsr-tandem
91475115Sfenner		;;
91575115Sfenner	op50n-* | op60c-*)
91675115Sfenner		basic_machine=hppa1.1-oki
91775115Sfenner		os=-proelf
91875115Sfenner		;;
919214478Srpaulo	openrisc | openrisc-*)
920127668Sbms		basic_machine=or32-unknown
921127668Sbms		;;
922127668Sbms	os400)
923127668Sbms		basic_machine=powerpc-ibm
924127668Sbms		os=-os400
925127668Sbms		;;
92675115Sfenner	OSE68000 | ose68000)
92775115Sfenner		basic_machine=m68000-ericsson
92875115Sfenner		os=-ose
92975115Sfenner		;;
93075115Sfenner	os68k)
93175115Sfenner		basic_machine=m68k-none
93275115Sfenner		os=-os68k
93375115Sfenner		;;
93417680Spst	pa-hitachi)
93517680Spst		basic_machine=hppa1.1-hitachi
93617680Spst		os=-hiuxwe2
93717680Spst		;;
93817680Spst	paragon)
93917680Spst		basic_machine=i860-intel
94017680Spst		os=-osf
94117680Spst		;;
942214478Srpaulo	parisc)
943214478Srpaulo		basic_machine=hppa-unknown
944214478Srpaulo		os=-linux
945214478Srpaulo		;;
946214478Srpaulo	parisc-*)
947214478Srpaulo		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
948214478Srpaulo		os=-linux
949214478Srpaulo		;;
95017680Spst	pbd)
95117680Spst		basic_machine=sparc-tti
95217680Spst		;;
95317680Spst	pbb)
95417680Spst		basic_machine=m68k-tti
95517680Spst		;;
956127668Sbms	pc532 | pc532-*)
95717680Spst		basic_machine=ns32k-pc532
95817680Spst		;;
959214478Srpaulo	pc98)
960214478Srpaulo		basic_machine=i386-pc
961214478Srpaulo		;;
962214478Srpaulo	pc98-*)
963214478Srpaulo		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
964214478Srpaulo		;;
965127668Sbms	pentium | p5 | k5 | k6 | nexgen | viac3)
96675115Sfenner		basic_machine=i586-pc
96717680Spst		;;
968127668Sbms	pentiumpro | p6 | 6x86 | athlon | athlon_*)
96975115Sfenner		basic_machine=i686-pc
97026180Sfenner		;;
971127668Sbms	pentiumii | pentium2 | pentiumiii | pentium3)
97275115Sfenner		basic_machine=i686-pc
97375115Sfenner		;;
974127668Sbms	pentium4)
975127668Sbms		basic_machine=i786-pc
976127668Sbms		;;
977127668Sbms	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
97817680Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
97917680Spst		;;
98075115Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98126180Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98226180Sfenner		;;
983127668Sbms	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98475115Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98517680Spst		;;
986127668Sbms	pentium4-*)
987127668Sbms		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
988127668Sbms		;;
98917680Spst	pn)
99017680Spst		basic_machine=pn-gould
99117680Spst		;;
99275115Sfenner	power)	basic_machine=power-ibm
99317680Spst		;;
994276788Sdelphij	ppc | ppcbe)	basic_machine=powerpc-unknown
995127668Sbms		;;
996276788Sdelphij	ppc-* | ppcbe-*)
997276788Sdelphij		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
99817680Spst		;;
99917680Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
100017680Spst		basic_machine=powerpcle-unknown
1001127668Sbms		;;
100217680Spst	ppcle-* | powerpclittle-*)
100317680Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100417680Spst		;;
1005127668Sbms	ppc64)	basic_machine=powerpc64-unknown
1006127668Sbms		;;
1007127668Sbms	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1008127668Sbms		;;
1009127668Sbms	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1010127668Sbms		basic_machine=powerpc64le-unknown
1011127668Sbms		;;
1012127668Sbms	ppc64le-* | powerpc64little-*)
1013127668Sbms		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1014127668Sbms		;;
101517680Spst	ps2)
101617680Spst		basic_machine=i386-ibm
101717680Spst		;;
101898524Sfenner	pw32)
101998524Sfenner		basic_machine=i586-unknown
102098524Sfenner		os=-pw32
102198524Sfenner		;;
1022214478Srpaulo	rdos)
1023214478Srpaulo		basic_machine=i386-pc
1024214478Srpaulo		os=-rdos
1025214478Srpaulo		;;
102675115Sfenner	rom68k)
102775115Sfenner		basic_machine=m68k-rom68k
102875115Sfenner		os=-coff
102975115Sfenner		;;
103017680Spst	rm[46]00)
103117680Spst		basic_machine=mips-siemens
103217680Spst		;;
103317680Spst	rtpc | rtpc-*)
103417680Spst		basic_machine=romp-ibm
103517680Spst		;;
1036127668Sbms	s390 | s390-*)
1037127668Sbms		basic_machine=s390-ibm
1038127668Sbms		;;
1039127668Sbms	s390x | s390x-*)
1040127668Sbms		basic_machine=s390x-ibm
1041127668Sbms		;;
104275115Sfenner	sa29200)
104375115Sfenner		basic_machine=a29k-amd
104475115Sfenner		os=-udi
104575115Sfenner		;;
1046127668Sbms	sb1)
1047127668Sbms		basic_machine=mipsisa64sb1-unknown
1048127668Sbms		;;
1049127668Sbms	sb1el)
1050127668Sbms		basic_machine=mipsisa64sb1el-unknown
1051127668Sbms		;;
1052214478Srpaulo	sde)
1053214478Srpaulo		basic_machine=mipsisa32-sde
1054214478Srpaulo		os=-elf
1055214478Srpaulo		;;
1056127668Sbms	sei)
1057127668Sbms		basic_machine=mips-sei
1058127668Sbms		os=-seiux
1059127668Sbms		;;
106017680Spst	sequent)
106117680Spst		basic_machine=i386-sequent
106217680Spst		;;
106317680Spst	sh)
106417680Spst		basic_machine=sh-hitachi
106517680Spst		os=-hms
106617680Spst		;;
1067214478Srpaulo	sh5el)
1068214478Srpaulo		basic_machine=sh5le-unknown
1069214478Srpaulo		;;
1070127668Sbms	sh64)
1071127668Sbms		basic_machine=sh64-unknown
1072127668Sbms		;;
1073127668Sbms	sparclite-wrs | simso-wrs)
107475115Sfenner		basic_machine=sparclite-wrs
107575115Sfenner		os=-vxworks
107675115Sfenner		;;
107717680Spst	sps7)
107817680Spst		basic_machine=m68k-bull
107917680Spst		os=-sysv2
108017680Spst		;;
108117680Spst	spur)
108217680Spst		basic_machine=spur-unknown
108317680Spst		;;
108475115Sfenner	st2000)
108575115Sfenner		basic_machine=m68k-tandem
108675115Sfenner		;;
108775115Sfenner	stratus)
108875115Sfenner		basic_machine=i860-stratus
108975115Sfenner		os=-sysv4
109075115Sfenner		;;
1091276788Sdelphij	strongarm-* | thumb-*)
1092276788Sdelphij		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093276788Sdelphij		;;
109417680Spst	sun2)
109517680Spst		basic_machine=m68000-sun
109617680Spst		;;
109717680Spst	sun2os3)
109817680Spst		basic_machine=m68000-sun
109917680Spst		os=-sunos3
110017680Spst		;;
110117680Spst	sun2os4)
110217680Spst		basic_machine=m68000-sun
110317680Spst		os=-sunos4
110417680Spst		;;
110517680Spst	sun3os3)
110617680Spst		basic_machine=m68k-sun
110717680Spst		os=-sunos3
110817680Spst		;;
110917680Spst	sun3os4)
111017680Spst		basic_machine=m68k-sun
111117680Spst		os=-sunos4
111217680Spst		;;
111317680Spst	sun4os3)
111417680Spst		basic_machine=sparc-sun
111517680Spst		os=-sunos3
111617680Spst		;;
111717680Spst	sun4os4)
111817680Spst		basic_machine=sparc-sun
111917680Spst		os=-sunos4
112017680Spst		;;
112117680Spst	sun4sol2)
112217680Spst		basic_machine=sparc-sun
112317680Spst		os=-solaris2
112417680Spst		;;
112517680Spst	sun3 | sun3-*)
112617680Spst		basic_machine=m68k-sun
112717680Spst		;;
112817680Spst	sun4)
112917680Spst		basic_machine=sparc-sun
113017680Spst		;;
113117680Spst	sun386 | sun386i | roadrunner)
113217680Spst		basic_machine=i386-sun
113317680Spst		;;
113475115Sfenner	sv1)
113575115Sfenner		basic_machine=sv1-cray
113675115Sfenner		os=-unicos
113775115Sfenner		;;
113817680Spst	symmetry)
113917680Spst		basic_machine=i386-sequent
114017680Spst		os=-dynix
114117680Spst		;;
114275115Sfenner	t3e)
1143127668Sbms		basic_machine=alphaev5-cray
114475115Sfenner		os=-unicos
114575115Sfenner		;;
1146127668Sbms	t90)
1147127668Sbms		basic_machine=t90-cray
1148127668Sbms		os=-unicos
1149127668Sbms		;;
1150214478Srpaulo	tile*)
1151276788Sdelphij		basic_machine=$basic_machine-unknown
1152214478Srpaulo		os=-linux-gnu
1153214478Srpaulo		;;
115475115Sfenner	tx39)
115575115Sfenner		basic_machine=mipstx39-unknown
115675115Sfenner		;;
115775115Sfenner	tx39el)
115875115Sfenner		basic_machine=mipstx39el-unknown
115975115Sfenner		;;
1160127668Sbms	toad1)
1161127668Sbms		basic_machine=pdp10-xkl
1162127668Sbms		os=-tops20
1163127668Sbms		;;
116417680Spst	tower | tower-32)
116517680Spst		basic_machine=m68k-ncr
116617680Spst		;;
1167127668Sbms	tpf)
1168127668Sbms		basic_machine=s390x-ibm
1169127668Sbms		os=-tpf
1170127668Sbms		;;
117117680Spst	udi29k)
117217680Spst		basic_machine=a29k-amd
117317680Spst		os=-udi
117417680Spst		;;
117517680Spst	ultra3)
117617680Spst		basic_machine=a29k-nyu
117717680Spst		os=-sym1
117817680Spst		;;
117975115Sfenner	v810 | necv810)
118075115Sfenner		basic_machine=v810-nec
118175115Sfenner		os=-none
118275115Sfenner		;;
118317680Spst	vaxv)
118417680Spst		basic_machine=vax-dec
118517680Spst		os=-sysv
118617680Spst		;;
118717680Spst	vms)
118817680Spst		basic_machine=vax-dec
118917680Spst		os=-vms
119017680Spst		;;
119175115Sfenner	vpp*|vx|vx-*)
1192127668Sbms		basic_machine=f301-fujitsu
1193127668Sbms		;;
119417680Spst	vxworks960)
119517680Spst		basic_machine=i960-wrs
119617680Spst		os=-vxworks
119717680Spst		;;
119817680Spst	vxworks68)
119917680Spst		basic_machine=m68k-wrs
120017680Spst		os=-vxworks
120117680Spst		;;
120217680Spst	vxworks29k)
120317680Spst		basic_machine=a29k-wrs
120417680Spst		os=-vxworks
120517680Spst		;;
120675115Sfenner	w65*)
120775115Sfenner		basic_machine=w65-wdc
120875115Sfenner		os=-none
120975115Sfenner		;;
121075115Sfenner	w89k-*)
121175115Sfenner		basic_machine=hppa1.1-winbond
121275115Sfenner		os=-proelf
121375115Sfenner		;;
1214214478Srpaulo	xbox)
1215214478Srpaulo		basic_machine=i686-pc
1216214478Srpaulo		os=-mingw32
1217214478Srpaulo		;;
1218127668Sbms	xps | xps100)
1219127668Sbms		basic_machine=xps100-honeywell
1220127668Sbms		;;
1221276788Sdelphij	xscale-* | xscalee[bl]-*)
1222276788Sdelphij		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223276788Sdelphij		;;
1224127668Sbms	ymp)
1225127668Sbms		basic_machine=ymp-cray
122617680Spst		os=-unicos
122717680Spst		;;
122875115Sfenner	z8k-*-coff)
122975115Sfenner		basic_machine=z8k-unknown
123075115Sfenner		os=-sim
123175115Sfenner		;;
1232214478Srpaulo	z80-*-coff)
1233214478Srpaulo		basic_machine=z80-unknown
1234214478Srpaulo		os=-sim
1235214478Srpaulo		;;
123617680Spst	none)
123717680Spst		basic_machine=none-none
123817680Spst		os=-none
123917680Spst		;;
124017680Spst
124117680Spst# Here we handle the default manufacturer of certain CPU types.  It is in
124217680Spst# some cases the only manufacturer, in others, it is the most popular.
124375115Sfenner	w89k)
124475115Sfenner		basic_machine=hppa1.1-winbond
124575115Sfenner		;;
124675115Sfenner	op50n)
124775115Sfenner		basic_machine=hppa1.1-oki
124875115Sfenner		;;
124975115Sfenner	op60c)
125075115Sfenner		basic_machine=hppa1.1-oki
125175115Sfenner		;;
125217680Spst	romp)
125317680Spst		basic_machine=romp-ibm
125417680Spst		;;
1255214478Srpaulo	mmix)
1256214478Srpaulo		basic_machine=mmix-knuth
1257214478Srpaulo		;;
125817680Spst	rs6000)
125917680Spst		basic_machine=rs6000-ibm
126017680Spst		;;
126117680Spst	vax)
126217680Spst		basic_machine=vax-dec
126317680Spst		;;
126498524Sfenner	pdp10)
126598524Sfenner		# there are many clones, so DEC is not a safe bet
126698524Sfenner		basic_machine=pdp10-unknown
126798524Sfenner		;;
126817680Spst	pdp11)
126917680Spst		basic_machine=pdp11-dec
127017680Spst		;;
127117680Spst	we32k)
127217680Spst		basic_machine=we32k-att
127317680Spst		;;
1274214478Srpaulo	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
127575115Sfenner		basic_machine=sh-unknown
127675115Sfenner		;;
1277214478Srpaulo	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
127817680Spst		basic_machine=sparc-sun
127917680Spst		;;
1280127668Sbms	cydra)
128117680Spst		basic_machine=cydra-cydrome
128217680Spst		;;
128317680Spst	orion)
128417680Spst		basic_machine=orion-highlevel
128517680Spst		;;
128617680Spst	orion105)
128717680Spst		basic_machine=clipper-highlevel
128817680Spst		;;
128975115Sfenner	mac | mpw | mac-mpw)
129075115Sfenner		basic_machine=m68k-apple
129175115Sfenner		;;
129275115Sfenner	pmac | pmac-mpw)
129375115Sfenner		basic_machine=powerpc-apple
129475115Sfenner		;;
129598524Sfenner	*-unknown)
129698524Sfenner		# Make sure to match an already-canonicalized machine name.
129798524Sfenner		;;
129817680Spst	*)
129917680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130017680Spst		exit 1
130117680Spst		;;
130217680Spstesac
130317680Spst
130417680Spst# Here we canonicalize certain aliases for manufacturers.
130517680Spstcase $basic_machine in
130617680Spst	*-digital*)
130717680Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
130817680Spst		;;
130917680Spst	*-commodore*)
131017680Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131117680Spst		;;
131217680Spst	*)
131317680Spst		;;
131417680Spstesac
131517680Spst
131617680Spst# Decode manufacturer-specific aliases for certain operating systems.
131717680Spst
131817680Spstif [ x"$os" != x"" ]
131917680Spstthen
132017680Spstcase $os in
1321276788Sdelphij	# First match some system type aliases
1322276788Sdelphij	# that might get confused with valid system types.
132317680Spst	# -solaris* is a basic system type, with this one exception.
1324276788Sdelphij	-auroraux)
1325276788Sdelphij		os=-auroraux
1326214478Srpaulo		;;
132717680Spst	-solaris1 | -solaris1.*)
132817680Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
132917680Spst		;;
133017680Spst	-solaris)
133117680Spst		os=-solaris2
133217680Spst		;;
133375115Sfenner	-svr4*)
133417680Spst		os=-sysv4
133517680Spst		;;
133675115Sfenner	-unixware*)
133775115Sfenner		os=-sysv4.2uw
133875115Sfenner		;;
133917680Spst	-gnu/linux*)
134026180Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134117680Spst		;;
134217680Spst	# First accept the basic system types.
134317680Spst	# The portable systems comes first.
134417680Spst	# Each alternative MUST END IN A *, to match a version number.
134517680Spst	# -sysv* is not here because it comes later, after sysvr4.
134617680Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1347214478Srpaulo	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348214478Srpaulo	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349214478Srpaulo	      | -sym* | -kopensolaris* \
135075115Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1351214478Srpaulo	      | -aos* | -aros* \
135226180Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
135326180Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1354214478Srpaulo	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1355214478Srpaulo	      | -openbsd* | -solidbsd* \
1356214478Srpaulo	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1357214478Srpaulo	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
135817680Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
135926180Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1360214478Srpaulo	      | -chorusos* | -chorusrdb* | -cegcc* \
1361276788Sdelphij	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362276788Sdelphij	      | -mingw32* | -linux-gnu* | -linux-android* \
1363276788Sdelphij	      | -linux-newlib* | -linux-uclibc* \
1364214478Srpaulo	      | -uxpv* | -beos* | -mpeix* | -udk* \
1365127668Sbms	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
136698524Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1367127668Sbms	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1368127668Sbms	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1369127668Sbms	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1370214478Srpaulo	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1371214478Srpaulo	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
137217680Spst	# Remember, each alternative MUST END IN *, to match a version number.
137317680Spst		;;
137475115Sfenner	-qnx*)
137575115Sfenner		case $basic_machine in
137698524Sfenner		    x86-* | i*86-*)
137775115Sfenner			;;
137875115Sfenner		    *)
137975115Sfenner			os=-nto$os
138075115Sfenner			;;
138175115Sfenner		esac
138275115Sfenner		;;
1383127668Sbms	-nto-qnx*)
1384127668Sbms		;;
138575115Sfenner	-nto*)
1386127668Sbms		os=`echo $os | sed -e 's|nto|nto-qnx|'`
138775115Sfenner		;;
138875115Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1389214478Srpaulo	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139075115Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139175115Sfenner		;;
139275115Sfenner	-mac*)
139375115Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
139475115Sfenner		;;
1395127668Sbms	-linux-dietlibc)
1396127668Sbms		os=-linux-dietlibc
1397127668Sbms		;;
139826180Sfenner	-linux*)
139926180Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140026180Sfenner		;;
140117680Spst	-sunos5*)
140217680Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
140317680Spst		;;
140417680Spst	-sunos6*)
140517680Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
140617680Spst		;;
140775115Sfenner	-opened*)
140875115Sfenner		os=-openedition
140975115Sfenner		;;
1410276788Sdelphij	-os400*)
1411127668Sbms		os=-os400
1412127668Sbms		;;
141375115Sfenner	-wince*)
141475115Sfenner		os=-wince
141575115Sfenner		;;
141617680Spst	-osfrose*)
141717680Spst		os=-osfrose
141817680Spst		;;
141917680Spst	-osf*)
142017680Spst		os=-osf
142117680Spst		;;
142217680Spst	-utek*)
142317680Spst		os=-bsd
142417680Spst		;;
142517680Spst	-dynix*)
142617680Spst		os=-bsd
142717680Spst		;;
142817680Spst	-acis*)
142917680Spst		os=-aos
143017680Spst		;;
1431127668Sbms	-atheos*)
1432127668Sbms		os=-atheos
1433127668Sbms		;;
1434214478Srpaulo	-syllable*)
1435214478Srpaulo		os=-syllable
1436214478Srpaulo		;;
143775115Sfenner	-386bsd)
143875115Sfenner		os=-bsd
143975115Sfenner		;;
144017680Spst	-ctix* | -uts*)
144117680Spst		os=-sysv
144217680Spst		;;
1443127668Sbms	-nova*)
1444127668Sbms		os=-rtmk-nova
1445127668Sbms		;;
144626180Sfenner	-ns2 )
1447127668Sbms		os=-nextstep2
144826180Sfenner		;;
144975115Sfenner	-nsk*)
145075115Sfenner		os=-nsk
145175115Sfenner		;;
145217680Spst	# Preserve the version number of sinix5.
145317680Spst	-sinix5.*)
145417680Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
145517680Spst		;;
145617680Spst	-sinix*)
145717680Spst		os=-sysv4
145817680Spst		;;
1459276788Sdelphij	-tpf*)
1460127668Sbms		os=-tpf
1461127668Sbms		;;
146217680Spst	-triton*)
146317680Spst		os=-sysv3
146417680Spst		;;
146517680Spst	-oss*)
146617680Spst		os=-sysv3
146717680Spst		;;
146817680Spst	-svr4)
146917680Spst		os=-sysv4
147017680Spst		;;
147117680Spst	-svr3)
147217680Spst		os=-sysv3
147317680Spst		;;
147417680Spst	-sysvr4)
147517680Spst		os=-sysv4
147617680Spst		;;
147717680Spst	# This must come after -sysvr4.
147817680Spst	-sysv*)
147917680Spst		;;
148075115Sfenner	-ose*)
148175115Sfenner		os=-ose
148275115Sfenner		;;
148375115Sfenner	-es1800*)
148475115Sfenner		os=-ose
148575115Sfenner		;;
148617680Spst	-xenix)
148717680Spst		os=-xenix
148817680Spst		;;
1489127668Sbms	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1490127668Sbms		os=-mint
149175115Sfenner		;;
1492127668Sbms	-aros*)
1493127668Sbms		os=-aros
1494127668Sbms		;;
1495127668Sbms	-kaos*)
1496127668Sbms		os=-kaos
1497127668Sbms		;;
1498214478Srpaulo	-zvmoe)
1499214478Srpaulo		os=-zvmoe
1500214478Srpaulo		;;
1501214478Srpaulo	-dicos*)
1502214478Srpaulo		os=-dicos
1503214478Srpaulo		;;
1504276788Sdelphij	-nacl*)
1505276788Sdelphij		;;
150617680Spst	-none)
150717680Spst		;;
150817680Spst	*)
150917680Spst		# Get rid of the `-' at the beginning of $os.
151017680Spst		os=`echo $os | sed 's/[^-]*-//'`
151117680Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151217680Spst		exit 1
151317680Spst		;;
151417680Spstesac
151517680Spstelse
151617680Spst
151717680Spst# Here we handle the default operating systems that come with various machines.
151817680Spst# The value should be what the vendor currently ships out the door with their
151917680Spst# machine or put another way, the most popular os provided with the machine.
152017680Spst
152117680Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
152217680Spst# "-sun"), then you have to tell the case statement up towards the top
152317680Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
152417680Spst# will signal an error saying that MANUFACTURER isn't an operating
152517680Spst# system, and we'll never get to this point.
152617680Spst
152717680Spstcase $basic_machine in
1528276788Sdelphij	score-*)
1529214478Srpaulo		os=-elf
1530214478Srpaulo		;;
1531276788Sdelphij	spu-*)
1532214478Srpaulo		os=-elf
1533214478Srpaulo		;;
153417680Spst	*-acorn)
153517680Spst		os=-riscix1.2
153617680Spst		;;
153775115Sfenner	arm*-rebel)
153875115Sfenner		os=-linux
153975115Sfenner		;;
154017680Spst	arm*-semi)
154117680Spst		os=-aout
154217680Spst		;;
1543276788Sdelphij	c4x-* | tic4x-*)
1544276788Sdelphij		os=-coff
1545214478Srpaulo		;;
1546276788Sdelphij	tic54x-*)
1547276788Sdelphij		os=-coff
1548276788Sdelphij		;;
1549276788Sdelphij	tic55x-*)
1550276788Sdelphij		os=-coff
1551276788Sdelphij		;;
1552276788Sdelphij	tic6x-*)
1553276788Sdelphij		os=-coff
1554276788Sdelphij		;;
1555127668Sbms	# This must come before the *-dec entry.
155698524Sfenner	pdp10-*)
155798524Sfenner		os=-tops20
155898524Sfenner		;;
1559127668Sbms	pdp11-*)
156017680Spst		os=-none
156117680Spst		;;
156217680Spst	*-dec | vax-*)
156317680Spst		os=-ultrix4.2
156417680Spst		;;
156517680Spst	m68*-apollo)
156617680Spst		os=-domain
156717680Spst		;;
156817680Spst	i386-sun)
156917680Spst		os=-sunos4.0.2
157017680Spst		;;
157117680Spst	m68000-sun)
157217680Spst		os=-sunos3
157317680Spst		;;
157475115Sfenner	m68*-cisco)
157575115Sfenner		os=-aout
157675115Sfenner		;;
1577276788Sdelphij	mep-*)
1578214478Srpaulo		os=-elf
1579214478Srpaulo		;;
158075115Sfenner	mips*-cisco)
158175115Sfenner		os=-elf
158275115Sfenner		;;
158375115Sfenner	mips*-*)
158475115Sfenner		os=-elf
158575115Sfenner		;;
1586127668Sbms	or32-*)
1587127668Sbms		os=-coff
1588127668Sbms		;;
158917680Spst	*-tti)	# must be before sparc entry or we get the wrong os.
159017680Spst		os=-sysv3
159117680Spst		;;
159217680Spst	sparc-* | *-sun)
159317680Spst		os=-sunos4.1.1
159417680Spst		;;
159575115Sfenner	*-be)
159675115Sfenner		os=-beos
159775115Sfenner		;;
1598214478Srpaulo	*-haiku)
1599214478Srpaulo		os=-haiku
1600214478Srpaulo		;;
160117680Spst	*-ibm)
160217680Spst		os=-aix
160317680Spst		;;
1604276788Sdelphij	*-knuth)
1605214478Srpaulo		os=-mmixware
1606214478Srpaulo		;;
160775115Sfenner	*-wec)
160875115Sfenner		os=-proelf
160975115Sfenner		;;
161075115Sfenner	*-winbond)
161175115Sfenner		os=-proelf
161275115Sfenner		;;
161375115Sfenner	*-oki)
161475115Sfenner		os=-proelf
161575115Sfenner		;;
161617680Spst	*-hp)
161717680Spst		os=-hpux
161817680Spst		;;
161917680Spst	*-hitachi)
162017680Spst		os=-hiux
162117680Spst		;;
162217680Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
162317680Spst		os=-sysv
162417680Spst		;;
162517680Spst	*-cbm)
162675115Sfenner		os=-amigaos
162717680Spst		;;
162817680Spst	*-dg)
162917680Spst		os=-dgux
163017680Spst		;;
163117680Spst	*-dolphin)
163217680Spst		os=-sysv3
163317680Spst		;;
163417680Spst	m68k-ccur)
163517680Spst		os=-rtu
163617680Spst		;;
163717680Spst	m88k-omron*)
163817680Spst		os=-luna
163917680Spst		;;
164026180Sfenner	*-next )
164126180Sfenner		os=-nextstep
164226180Sfenner		;;
164317680Spst	*-sequent)
164417680Spst		os=-ptx
164517680Spst		;;
164617680Spst	*-crds)
164717680Spst		os=-unos
164817680Spst		;;
164917680Spst	*-ns)
165017680Spst		os=-genix
165117680Spst		;;
165217680Spst	i370-*)
165317680Spst		os=-mvs
165417680Spst		;;
165517680Spst	*-next)
165617680Spst		os=-nextstep3
165717680Spst		;;
1658127668Sbms	*-gould)
165917680Spst		os=-sysv
166017680Spst		;;
1661127668Sbms	*-highlevel)
166217680Spst		os=-bsd
166317680Spst		;;
166417680Spst	*-encore)
166517680Spst		os=-bsd
166617680Spst		;;
1667127668Sbms	*-sgi)
166817680Spst		os=-irix
166917680Spst		;;
1670127668Sbms	*-siemens)
167117680Spst		os=-sysv4
167217680Spst		;;
167317680Spst	*-masscomp)
167417680Spst		os=-rtu
167517680Spst		;;
167698524Sfenner	f30[01]-fujitsu | f700-fujitsu)
167726180Sfenner		os=-uxpv
167826180Sfenner		;;
167975115Sfenner	*-rom68k)
168075115Sfenner		os=-coff
168175115Sfenner		;;
168275115Sfenner	*-*bug)
168375115Sfenner		os=-coff
168475115Sfenner		;;
168575115Sfenner	*-apple)
168675115Sfenner		os=-macos
168775115Sfenner		;;
168875115Sfenner	*-atari*)
168975115Sfenner		os=-mint
169075115Sfenner		;;
169117680Spst	*)
169217680Spst		os=-none
169317680Spst		;;
169417680Spstesac
169517680Spstfi
169617680Spst
169717680Spst# Here we handle the case where we know the os, and the CPU type, but not the
169817680Spst# manufacturer.  We pick the logical manufacturer.
169917680Spstvendor=unknown
170017680Spstcase $basic_machine in
170117680Spst	*-unknown)
170217680Spst		case $os in
170317680Spst			-riscix*)
170417680Spst				vendor=acorn
170517680Spst				;;
170617680Spst			-sunos*)
170717680Spst				vendor=sun
170817680Spst				;;
1709214478Srpaulo			-cnk*|-aix*)
171017680Spst				vendor=ibm
171117680Spst				;;
171275115Sfenner			-beos*)
171375115Sfenner				vendor=be
171475115Sfenner				;;
171517680Spst			-hpux*)
171617680Spst				vendor=hp
171717680Spst				;;
171875115Sfenner			-mpeix*)
171975115Sfenner				vendor=hp
172075115Sfenner				;;
172117680Spst			-hiux*)
172217680Spst				vendor=hitachi
172317680Spst				;;
172417680Spst			-unos*)
172517680Spst				vendor=crds
172617680Spst				;;
172717680Spst			-dgux*)
172817680Spst				vendor=dg
172917680Spst				;;
173017680Spst			-luna*)
173117680Spst				vendor=omron
173217680Spst				;;
173317680Spst			-genix*)
173417680Spst				vendor=ns
173517680Spst				;;
173675115Sfenner			-mvs* | -opened*)
173717680Spst				vendor=ibm
173817680Spst				;;
1739127668Sbms			-os400*)
1740127668Sbms				vendor=ibm
1741127668Sbms				;;
174217680Spst			-ptx*)
174317680Spst				vendor=sequent
174417680Spst				;;
1745127668Sbms			-tpf*)
1746127668Sbms				vendor=ibm
1747127668Sbms				;;
1748127668Sbms			-vxsim* | -vxworks* | -windiss*)
174917680Spst				vendor=wrs
175017680Spst				;;
175126180Sfenner			-aux*)
175226180Sfenner				vendor=apple
175326180Sfenner				;;
175475115Sfenner			-hms*)
175575115Sfenner				vendor=hitachi
175675115Sfenner				;;
175775115Sfenner			-mpw* | -macos*)
175875115Sfenner				vendor=apple
175975115Sfenner				;;
176098524Sfenner			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
176175115Sfenner				vendor=atari
176275115Sfenner				;;
1763127668Sbms			-vos*)
1764127668Sbms				vendor=stratus
1765127668Sbms				;;
176617680Spst		esac
176717680Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176817680Spst		;;
176917680Spstesac
177017680Spst
177117680Spstecho $basic_machine$os
1772214478Srpauloexit
177375115Sfenner
177475115Sfenner# Local variables:
177575115Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
177675115Sfenner# time-stamp-start: "timestamp='"
177775115Sfenner# time-stamp-format: "%:y-%02m-%02d"
177875115Sfenner# time-stamp-end: "'"
177975115Sfenner# End:
1780