117683Spst#! /bin/sh
275107Sfenner# Configuration validation subroutine script.
3127664Sbms#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4276768Sdelphij#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5276768Sdelphij#   2011, 2012 Free Software Foundation, Inc.
675107Sfenner
7276768Sdelphijtimestamp='2012-04-18'
875107Sfenner
917683Spst# This file is (in principle) common to ALL GNU software.
1017683Spst# The presence of a machine in this file suggests that SOME GNU software
1126175Sfenner# can handle that machine.  It does not imply ALL GNU software can.
1217683Spst#
1317683Spst# This file is free software; you can redistribute it and/or modify
1417683Spst# it under the terms of the GNU General Public License as published by
1517683Spst# the Free Software Foundation; either version 2 of the License, or
1617683Spst# (at your option) any later version.
1717683Spst#
1817683Spst# This program is distributed in the hope that it will be useful,
1917683Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of
2017683Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2117683Spst# GNU General Public License for more details.
2217683Spst#
2317683Spst# You should have received a copy of the GNU General Public License
24276768Sdelphij# along with this program; if not, see <http://www.gnu.org/licenses/>.
25214518Srpaulo#
2617683Spst# As a special exception to the GNU General Public License, if you
2717683Spst# distribute this file as part of a program that contains a
2817683Spst# configuration script generated by Autoconf, you may include it under
2917683Spst# the same distribution terms that you use for the rest of that program.
3017683Spst
31214518Srpaulo
32127664Sbms# Please send patches to <config-patches@gnu.org>.  Submit a context
33214518Srpaulo# diff and a properly formatted GNU ChangeLog entry.
3475107Sfenner#
3517683Spst# Configuration subroutine to validate and canonicalize a configuration type.
3617683Spst# Supply the specified configuration type as an argument.
3717683Spst# If it is invalid, we print an error message on stderr and exit with code 1.
3817683Spst# Otherwise, we print the canonical config type on stdout and succeed.
3917683Spst
40214518Srpaulo# You can get the latest version of this script from:
41214518Srpaulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42214518Srpaulo
4317683Spst# This file is supposed to be the same for all GNU packages
4417683Spst# and recognize all the CPU types, system types and aliases
4517683Spst# that are meaningful with *any* GNU software.
4617683Spst# Each package is responsible for reporting which valid configurations
4717683Spst# it does not support.  The user should be able to distinguish
4817683Spst# a failure to support a valid configuration from a meaningless
4917683Spst# configuration.
5017683Spst
5117683Spst# The goal of this file is to map all the various variations of a given
5217683Spst# machine specification into a single specification in the form:
5317683Spst#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5426175Sfenner# or in some cases, the newer four-part form:
5526175Sfenner#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5617683Spst# It is wrong to echo any other type of specification.
5717683Spst
5875107Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
5917683Spst
6075107Sfennerusage="\
6175107SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS
6275107Sfenner       $0 [OPTION] ALIAS
6375107Sfenner
6475107SfennerCanonicalize a configuration name.
6575107Sfenner
6675107SfennerOperation modes:
6775107Sfenner  -h, --help         print this help, then exit
6875107Sfenner  -t, --time-stamp   print date of last modification, then exit
6975107Sfenner  -v, --version      print version number, then exit
7075107Sfenner
7175107SfennerReport bugs and patches to <config-patches@gnu.org>."
7275107Sfenner
7375107Sfennerversion="\
7475107SfennerGNU config.sub ($timestamp)
7575107Sfenner
76214518SrpauloCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77276768Sdelphij2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78276768SdelphijFree Software Foundation, Inc.
7975107Sfenner
8075107SfennerThis is free software; see the source for copying conditions.  There is NO
8175107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8275107Sfenner
8375107Sfennerhelp="
8475107SfennerTry \`$me --help' for more information."
8575107Sfenner
8675107Sfenner# Parse command line
8775107Sfennerwhile test $# -gt 0 ; do
8875107Sfenner  case $1 in
8975107Sfenner    --time-stamp | --time* | -t )
90214518Srpaulo       echo "$timestamp" ; exit ;;
9175107Sfenner    --version | -v )
92214518Srpaulo       echo "$version" ; exit ;;
9375107Sfenner    --help | --h* | -h )
94214518Srpaulo       echo "$usage"; exit ;;
9575107Sfenner    -- )     # Stop option processing
9675107Sfenner       shift; break ;;
9775107Sfenner    - )	# Use stdin as input.
9875107Sfenner       break ;;
9975107Sfenner    -* )
10075107Sfenner       echo "$me: invalid option $1$help"
10175107Sfenner       exit 1 ;;
10275107Sfenner
10375107Sfenner    *local*)
10475107Sfenner       # First pass through any local machine types.
10575107Sfenner       echo $1
106214518Srpaulo       exit ;;
10775107Sfenner
10875107Sfenner    * )
10975107Sfenner       break ;;
11075107Sfenner  esac
11175107Sfennerdone
11275107Sfenner
11375107Sfennercase $# in
11475107Sfenner 0) echo "$me: missing argument$help" >&2
11575107Sfenner    exit 1;;
11675107Sfenner 1) ;;
11775107Sfenner *) echo "$me: too many arguments$help" >&2
11875107Sfenner    exit 1;;
11917683Spstesac
12017683Spst
12126175Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12226175Sfenner# Here we must recognize all the valid KERNEL-OS combinations.
12326175Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12426175Sfennercase $maybe_os in
125276768Sdelphij  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126276768Sdelphij  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127276768Sdelphij  knetbsd*-gnu* | netbsd*-gnu* | \
128214518Srpaulo  kopensolaris*-gnu* | \
129214518Srpaulo  storm-chaos* | os2-emx* | rtmk-nova*)
13026175Sfenner    os=-$maybe_os
13126175Sfenner    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13226175Sfenner    ;;
133276768Sdelphij  android-linux)
134276768Sdelphij    os=-linux-android
135276768Sdelphij    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136276768Sdelphij    ;;
13726175Sfenner  *)
13826175Sfenner    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13926175Sfenner    if [ $basic_machine != $1 ]
14026175Sfenner    then os=`echo $1 | sed 's/.*-/-/'`
14126175Sfenner    else os=; fi
14226175Sfenner    ;;
14326175Sfenneresac
14417683Spst
14517683Spst### Let's recognize common machines as not being operating systems so
14617683Spst### that things like config.sub decstation-3100 work.  We also
14717683Spst### recognize some manufacturers as not being operating systems, so we
14817683Spst### can provide default operating systems below.
14917683Spstcase $os in
15017683Spst	-sun*os*)
15117683Spst		# Prevent following clause from handling this invalid input.
15217683Spst		;;
15317683Spst	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15417683Spst	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15517683Spst	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15617683Spst	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15717683Spst	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15826175Sfenner	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159214518Srpaulo	-apple | -axis | -knuth | -cray | -microblaze)
16017683Spst		os=
16117683Spst		basic_machine=$1
16217683Spst		;;
163276768Sdelphij	-bluegene*)
164276768Sdelphij		os=-cnk
165214518Srpaulo		;;
16675107Sfenner	-sim | -cisco | -oki | -wec | -winbond)
16775107Sfenner		os=
16875107Sfenner		basic_machine=$1
16975107Sfenner		;;
17075107Sfenner	-scout)
17175107Sfenner		;;
17275107Sfenner	-wrs)
17375107Sfenner		os=-vxworks
17475107Sfenner		basic_machine=$1
17575107Sfenner		;;
176127664Sbms	-chorusos*)
177127664Sbms		os=-chorusos
178127664Sbms		basic_machine=$1
179127664Sbms		;;
180276768Sdelphij	-chorusrdb)
181276768Sdelphij		os=-chorusrdb
182127664Sbms		basic_machine=$1
183276768Sdelphij		;;
18417683Spst	-hiux*)
18517683Spst		os=-hiuxwe2
18617683Spst		;;
187214518Srpaulo	-sco6)
188214518Srpaulo		os=-sco5v6
189214518Srpaulo		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190214518Srpaulo		;;
19126175Sfenner	-sco5)
19275107Sfenner		os=-sco3.2v5
19326175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19426175Sfenner		;;
19517683Spst	-sco4)
19617683Spst		os=-sco3.2v4
19726175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19817683Spst		;;
19917683Spst	-sco3.2.[4-9]*)
20017683Spst		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
20126175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20217683Spst		;;
20317683Spst	-sco3.2v[4-9]*)
20417683Spst		# Don't forget version if it is 3.2v4 or newer.
20526175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20617683Spst		;;
207214518Srpaulo	-sco5v6*)
208214518Srpaulo		# Don't forget version if it is 3.2v4 or newer.
209214518Srpaulo		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210214518Srpaulo		;;
21117683Spst	-sco*)
21217683Spst		os=-sco3.2v2
21326175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21417683Spst		;;
21575107Sfenner	-udk*)
21675107Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21775107Sfenner		;;
21817683Spst	-isc)
21917683Spst		os=-isc2.2
22026175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22117683Spst		;;
22217683Spst	-clix*)
22317683Spst		basic_machine=clipper-intergraph
22417683Spst		;;
22517683Spst	-isc*)
22626175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22717683Spst		;;
228276768Sdelphij	-lynx*178)
229276768Sdelphij		os=-lynxos178
230276768Sdelphij		;;
231276768Sdelphij	-lynx*5)
232276768Sdelphij		os=-lynxos5
233276768Sdelphij		;;
23417683Spst	-lynx*)
23517683Spst		os=-lynxos
23617683Spst		;;
23717683Spst	-ptx*)
23817683Spst		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23917683Spst		;;
24017683Spst	-windowsnt*)
24117683Spst		os=`echo $os | sed -e 's/windowsnt/winnt/'`
24217683Spst		;;
24326175Sfenner	-psos*)
24426175Sfenner		os=-psos
24526175Sfenner		;;
24675107Sfenner	-mint | -mint[0-9]*)
24775107Sfenner		basic_machine=m68k-atari
24875107Sfenner		os=-mint
24975107Sfenner		;;
25017683Spstesac
25117683Spst
25217683Spst# Decode aliases for certain CPU-COMPANY combinations.
25317683Spstcase $basic_machine in
25417683Spst	# Recognize the basic CPU types without company name.
25517683Spst	# Some are omitted here because they have special meanings below.
256127664Sbms	1750a | 580 \
257127664Sbms	| a29k \
258276768Sdelphij	| aarch64 | aarch64_be \
259127664Sbms	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260127664Sbms	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
261127664Sbms	| am33_2.0 \
262214518Srpaulo	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263276768Sdelphij        | be32 | be64 \
264214518Srpaulo	| bfin \
265127664Sbms	| c4x | clipper \
266127664Sbms	| d10v | d30v | dlx | dsp16xx \
267276768Sdelphij	| epiphany \
268214518Srpaulo	| fido | fr30 | frv \
269127664Sbms	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270276768Sdelphij	| hexagon \
271127664Sbms	| i370 | i860 | i960 | ia64 \
272127664Sbms	| ip2k | iq2000 \
273276768Sdelphij	| le32 | le64 \
274214518Srpaulo	| lm32 \
275214518Srpaulo	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276214518Srpaulo	| maxq | mb | microblaze | mcore | mep | metag \
277127664Sbms	| mips | mipsbe | mipseb | mipsel | mipsle \
278127664Sbms	| mips16 \
279127664Sbms	| mips64 | mips64el \
280214518Srpaulo	| mips64octeon | mips64octeonel \
281214518Srpaulo	| mips64orion | mips64orionel \
282214518Srpaulo	| mips64r5900 | mips64r5900el \
283127664Sbms	| mips64vr | mips64vrel \
284127664Sbms	| mips64vr4100 | mips64vr4100el \
285127664Sbms	| mips64vr4300 | mips64vr4300el \
286127664Sbms	| mips64vr5000 | mips64vr5000el \
287214518Srpaulo	| mips64vr5900 | mips64vr5900el \
288127664Sbms	| mipsisa32 | mipsisa32el \
289127664Sbms	| mipsisa32r2 | mipsisa32r2el \
290127664Sbms	| mipsisa64 | mipsisa64el \
291127664Sbms	| mipsisa64r2 | mipsisa64r2el \
292127664Sbms	| mipsisa64sb1 | mipsisa64sb1el \
293127664Sbms	| mipsisa64sr71k | mipsisa64sr71kel \
294127664Sbms	| mipstx39 | mipstx39el \
295127664Sbms	| mn10200 | mn10300 \
296214518Srpaulo	| moxie \
297214518Srpaulo	| mt \
298127664Sbms	| msp430 \
299276768Sdelphij	| nds32 | nds32le | nds32be \
300214518Srpaulo	| nios | nios2 \
301127664Sbms	| ns16k | ns32k \
302276768Sdelphij	| open8 \
303214518Srpaulo	| or32 \
304127664Sbms	| pdp10 | pdp11 | pj | pjl \
305276768Sdelphij	| powerpc | powerpc64 | powerpc64le | powerpcle \
306127664Sbms	| pyramid \
307276768Sdelphij	| rl78 | rx \
308214518Srpaulo	| score \
309214518Srpaulo	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310127664Sbms	| sh64 | sh64le \
311214518Srpaulo	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312214518Srpaulo	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313276768Sdelphij	| spu \
314276768Sdelphij	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315214518Srpaulo	| ubicom32 \
316276768Sdelphij	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317127664Sbms	| we32k \
318276768Sdelphij	| x86 | xc16x | xstormy16 | xtensa \
319214518Srpaulo	| z8k | z80)
32017683Spst		basic_machine=$basic_machine-unknown
32117683Spst		;;
322276768Sdelphij	c54x)
323276768Sdelphij		basic_machine=tic54x-unknown
324276768Sdelphij		;;
325276768Sdelphij	c55x)
326276768Sdelphij		basic_machine=tic55x-unknown
327276768Sdelphij		;;
328276768Sdelphij	c6x)
329276768Sdelphij		basic_machine=tic6x-unknown
330276768Sdelphij		;;
331276768Sdelphij	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
33275107Sfenner		basic_machine=$basic_machine-unknown
33375107Sfenner		os=-none
33475107Sfenner		;;
335127664Sbms	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33675107Sfenner		;;
337214518Srpaulo	ms1)
338214518Srpaulo		basic_machine=mt-unknown
339214518Srpaulo		;;
34075107Sfenner
341276768Sdelphij	strongarm | thumb | xscale)
342276768Sdelphij		basic_machine=arm-unknown
343276768Sdelphij		;;
344276768Sdelphij	xgate)
345276768Sdelphij		basic_machine=$basic_machine-unknown
346276768Sdelphij		os=-none
347276768Sdelphij		;;
348276768Sdelphij	xscaleeb)
349276768Sdelphij		basic_machine=armeb-unknown
350276768Sdelphij		;;
351276768Sdelphij
352276768Sdelphij	xscaleel)
353276768Sdelphij		basic_machine=armel-unknown
354276768Sdelphij		;;
355276768Sdelphij
35626175Sfenner	# We use `pc' rather than `unknown'
35726175Sfenner	# because (1) that's what they normally are, and
35826175Sfenner	# (2) the word "unknown" tends to confuse beginning users.
35998530Sfenner	i*86 | x86_64)
36026175Sfenner	  basic_machine=$basic_machine-pc
36126175Sfenner	  ;;
36217683Spst	# Object if more than one company name word.
36317683Spst	*-*-*)
36417683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36517683Spst		exit 1
36617683Spst		;;
36717683Spst	# Recognize the basic CPU types with company name.
368127664Sbms	580-* \
369127664Sbms	| a29k-* \
370276768Sdelphij	| aarch64-* | aarch64_be-* \
371127664Sbms	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372127664Sbms	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373127664Sbms	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374127664Sbms	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
375214518Srpaulo	| avr-* | avr32-* \
376276768Sdelphij	| be32-* | be64-* \
377214518Srpaulo	| bfin-* | bs2000-* \
378276768Sdelphij	| c[123]* | c30-* | [cjt]90-* | c4x-* \
379214518Srpaulo	| clipper-* | craynv-* | cydra-* \
380127664Sbms	| d10v-* | d30v-* | dlx-* \
381127664Sbms	| elxsi-* \
382214518Srpaulo	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383127664Sbms	| h8300-* | h8500-* \
384127664Sbms	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385276768Sdelphij	| hexagon-* \
386127664Sbms	| i*86-* | i860-* | i960-* | ia64-* \
387127664Sbms	| ip2k-* | iq2000-* \
388276768Sdelphij	| le32-* | le64-* \
389214518Srpaulo	| lm32-* \
390214518Srpaulo	| m32c-* | m32r-* | m32rle-* \
391127664Sbms	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392214518Srpaulo	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
393127664Sbms	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394127664Sbms	| mips16-* \
395127664Sbms	| mips64-* | mips64el-* \
396214518Srpaulo	| mips64octeon-* | mips64octeonel-* \
397214518Srpaulo	| mips64orion-* | mips64orionel-* \
398214518Srpaulo	| mips64r5900-* | mips64r5900el-* \
399127664Sbms	| mips64vr-* | mips64vrel-* \
400127664Sbms	| mips64vr4100-* | mips64vr4100el-* \
401127664Sbms	| mips64vr4300-* | mips64vr4300el-* \
402127664Sbms	| mips64vr5000-* | mips64vr5000el-* \
403214518Srpaulo	| mips64vr5900-* | mips64vr5900el-* \
404127664Sbms	| mipsisa32-* | mipsisa32el-* \
405127664Sbms	| mipsisa32r2-* | mipsisa32r2el-* \
406127664Sbms	| mipsisa64-* | mipsisa64el-* \
407127664Sbms	| mipsisa64r2-* | mipsisa64r2el-* \
408127664Sbms	| mipsisa64sb1-* | mipsisa64sb1el-* \
409127664Sbms	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410127664Sbms	| mipstx39-* | mipstx39el-* \
411214518Srpaulo	| mmix-* \
412214518Srpaulo	| mt-* \
413127664Sbms	| msp430-* \
414276768Sdelphij	| nds32-* | nds32le-* | nds32be-* \
415214518Srpaulo	| nios-* | nios2-* \
416214518Srpaulo	| none-* | np1-* | ns16k-* | ns32k-* \
417276768Sdelphij	| open8-* \
418127664Sbms	| orion-* \
419127664Sbms	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420276768Sdelphij	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421127664Sbms	| pyramid-* \
422276768Sdelphij	| rl78-* | romp-* | rs6000-* | rx-* \
423214518Srpaulo	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424127664Sbms	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425214518Srpaulo	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426214518Srpaulo	| sparclite-* \
427276768Sdelphij	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428276768Sdelphij	| tahoe-* \
429276768Sdelphij	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430276768Sdelphij	| tile*-* \
431127664Sbms	| tron-* \
432214518Srpaulo	| ubicom32-* \
433276768Sdelphij	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434276768Sdelphij	| vax-* \
435127664Sbms	| we32k-* \
436276768Sdelphij	| x86-* | x86_64-* | xc16x-* | xps100-* \
437214518Srpaulo	| xstormy16-* | xtensa*-* \
438127664Sbms	| ymp-* \
439214518Srpaulo	| z8k-* | z80-*)
44017683Spst		;;
441214518Srpaulo	# Recognize the basic CPU types without company name, with glob match.
442214518Srpaulo	xtensa*)
443214518Srpaulo		basic_machine=$basic_machine-unknown
444214518Srpaulo		;;
44517683Spst	# Recognize the various machine names and aliases which stand
44617683Spst	# for a CPU type and a company and sometimes even an OS.
44775107Sfenner	386bsd)
44875107Sfenner		basic_machine=i386-unknown
44975107Sfenner		os=-bsd
45075107Sfenner		;;
45117683Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45217683Spst		basic_machine=m68000-att
45317683Spst		;;
45417683Spst	3b*)
45517683Spst		basic_machine=we32k-att
45617683Spst		;;
45775107Sfenner	a29khif)
45875107Sfenner		basic_machine=a29k-amd
45975107Sfenner		os=-udi
46075107Sfenner		;;
461276768Sdelphij	abacus)
462214518Srpaulo		basic_machine=abacus-unknown
463214518Srpaulo		;;
46475107Sfenner	adobe68k)
46575107Sfenner		basic_machine=m68010-adobe
46675107Sfenner		os=-scout
46775107Sfenner		;;
46817683Spst	alliant | fx80)
46917683Spst		basic_machine=fx80-alliant
47017683Spst		;;
47117683Spst	altos | altos3068)
47217683Spst		basic_machine=m68k-altos
47317683Spst		;;
47417683Spst	am29k)
47517683Spst		basic_machine=a29k-none
47617683Spst		os=-bsd
47717683Spst		;;
478127664Sbms	amd64)
479127664Sbms		basic_machine=x86_64-pc
480127664Sbms		;;
481214518Srpaulo	amd64-*)
482214518Srpaulo		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483214518Srpaulo		;;
48417683Spst	amdahl)
48517683Spst		basic_machine=580-amdahl
48617683Spst		os=-sysv
48717683Spst		;;
48817683Spst	amiga | amiga-*)
48975107Sfenner		basic_machine=m68k-unknown
49017683Spst		;;
49175107Sfenner	amigaos | amigados)
49275107Sfenner		basic_machine=m68k-unknown
49375107Sfenner		os=-amigaos
49417683Spst		;;
49517683Spst	amigaunix | amix)
49675107Sfenner		basic_machine=m68k-unknown
49717683Spst		os=-sysv4
49817683Spst		;;
49917683Spst	apollo68)
50017683Spst		basic_machine=m68k-apollo
50117683Spst		os=-sysv
50217683Spst		;;
50375107Sfenner	apollo68bsd)
50475107Sfenner		basic_machine=m68k-apollo
50575107Sfenner		os=-bsd
50675107Sfenner		;;
507214518Srpaulo	aros)
508214518Srpaulo		basic_machine=i386-pc
509214518Srpaulo		os=-aros
510214518Srpaulo		;;
51126175Sfenner	aux)
51226175Sfenner		basic_machine=m68k-apple
51326175Sfenner		os=-aux
51426175Sfenner		;;
51517683Spst	balance)
51617683Spst		basic_machine=ns32k-sequent
51717683Spst		os=-dynix
51817683Spst		;;
519214518Srpaulo	blackfin)
520214518Srpaulo		basic_machine=bfin-unknown
521214518Srpaulo		os=-linux
522214518Srpaulo		;;
523214518Srpaulo	blackfin-*)
524214518Srpaulo		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525214518Srpaulo		os=-linux
526214518Srpaulo		;;
527214518Srpaulo	bluegene*)
528214518Srpaulo		basic_machine=powerpc-ibm
529214518Srpaulo		os=-cnk
530214518Srpaulo		;;
531276768Sdelphij	c54x-*)
532276768Sdelphij		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533276768Sdelphij		;;
534276768Sdelphij	c55x-*)
535276768Sdelphij		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536276768Sdelphij		;;
537276768Sdelphij	c6x-*)
538276768Sdelphij		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539276768Sdelphij		;;
540127664Sbms	c90)
541127664Sbms		basic_machine=c90-cray
542127664Sbms		os=-unicos
543127664Sbms		;;
544276768Sdelphij	cegcc)
545214518Srpaulo		basic_machine=arm-unknown
546214518Srpaulo		os=-cegcc
547214518Srpaulo		;;
54817683Spst	convex-c1)
54917683Spst		basic_machine=c1-convex
55017683Spst		os=-bsd
55117683Spst		;;
55217683Spst	convex-c2)
55317683Spst		basic_machine=c2-convex
55417683Spst		os=-bsd
55517683Spst		;;
55617683Spst	convex-c32)
55717683Spst		basic_machine=c32-convex
55817683Spst		os=-bsd
55917683Spst		;;
56017683Spst	convex-c34)
56117683Spst		basic_machine=c34-convex
56217683Spst		os=-bsd
56317683Spst		;;
56417683Spst	convex-c38)
56517683Spst		basic_machine=c38-convex
56617683Spst		os=-bsd
56717683Spst		;;
568127664Sbms	cray | j90)
569127664Sbms		basic_machine=j90-cray
57017683Spst		os=-unicos
57117683Spst		;;
572214518Srpaulo	craynv)
573214518Srpaulo		basic_machine=craynv-cray
574214518Srpaulo		os=-unicosmp
575214518Srpaulo		;;
576276768Sdelphij	cr16 | cr16-*)
577214518Srpaulo		basic_machine=cr16-unknown
578214518Srpaulo		os=-elf
579214518Srpaulo		;;
58017683Spst	crds | unos)
58117683Spst		basic_machine=m68k-crds
58217683Spst		;;
583214518Srpaulo	crisv32 | crisv32-* | etraxfs*)
584214518Srpaulo		basic_machine=crisv32-axis
585214518Srpaulo		;;
58675107Sfenner	cris | cris-* | etrax*)
58775107Sfenner		basic_machine=cris-axis
58875107Sfenner		;;
589214518Srpaulo	crx)
590214518Srpaulo		basic_machine=crx-unknown
591214518Srpaulo		os=-elf
592214518Srpaulo		;;
59317683Spst	da30 | da30-*)
59417683Spst		basic_machine=m68k-da30
59517683Spst		;;
59617683Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59717683Spst		basic_machine=mips-dec
59817683Spst		;;
599127664Sbms	decsystem10* | dec10*)
600127664Sbms		basic_machine=pdp10-dec
601127664Sbms		os=-tops10
602127664Sbms		;;
603127664Sbms	decsystem20* | dec20*)
604127664Sbms		basic_machine=pdp10-dec
605127664Sbms		os=-tops20
606127664Sbms		;;
60717683Spst	delta | 3300 | motorola-3300 | motorola-delta \
60817683Spst	      | 3300-motorola | delta-motorola)
60917683Spst		basic_machine=m68k-motorola
61017683Spst		;;
61117683Spst	delta88)
61217683Spst		basic_machine=m88k-motorola
61317683Spst		os=-sysv3
61417683Spst		;;
615214518Srpaulo	dicos)
616214518Srpaulo		basic_machine=i686-pc
617214518Srpaulo		os=-dicos
618214518Srpaulo		;;
619214518Srpaulo	djgpp)
620214518Srpaulo		basic_machine=i586-pc
621214518Srpaulo		os=-msdosdjgpp
622214518Srpaulo		;;
62317683Spst	dpx20 | dpx20-*)
62417683Spst		basic_machine=rs6000-bull
62517683Spst		os=-bosx
62617683Spst		;;
62717683Spst	dpx2* | dpx2*-bull)
62817683Spst		basic_machine=m68k-bull
62917683Spst		os=-sysv3
63017683Spst		;;
63117683Spst	ebmon29k)
63217683Spst		basic_machine=a29k-amd
63317683Spst		os=-ebmon
63417683Spst		;;
63517683Spst	elxsi)
63617683Spst		basic_machine=elxsi-elxsi
63717683Spst		os=-bsd
63817683Spst		;;
63917683Spst	encore | umax | mmax)
64017683Spst		basic_machine=ns32k-encore
64117683Spst		;;
64275107Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
64375107Sfenner		basic_machine=m68k-ericsson
64475107Sfenner		os=-ose
64575107Sfenner		;;
64617683Spst	fx2800)
64717683Spst		basic_machine=i860-alliant
64817683Spst		;;
64917683Spst	genix)
65017683Spst		basic_machine=ns32k-ns
65117683Spst		;;
65217683Spst	gmicro)
65317683Spst		basic_machine=tron-gmicro
65417683Spst		os=-sysv
65517683Spst		;;
65698530Sfenner	go32)
65798530Sfenner		basic_machine=i386-pc
65898530Sfenner		os=-go32
65998530Sfenner		;;
66017683Spst	h3050r* | hiux*)
66117683Spst		basic_machine=hppa1.1-hitachi
66217683Spst		os=-hiuxwe2
66317683Spst		;;
66417683Spst	h8300hms)
66517683Spst		basic_machine=h8300-hitachi
66617683Spst		os=-hms
66717683Spst		;;
66875107Sfenner	h8300xray)
66975107Sfenner		basic_machine=h8300-hitachi
67075107Sfenner		os=-xray
67175107Sfenner		;;
67275107Sfenner	h8500hms)
67375107Sfenner		basic_machine=h8500-hitachi
67475107Sfenner		os=-hms
67575107Sfenner		;;
67617683Spst	harris)
67717683Spst		basic_machine=m88k-harris
67817683Spst		os=-sysv3
67917683Spst		;;
68017683Spst	hp300-*)
68117683Spst		basic_machine=m68k-hp
68217683Spst		;;
68317683Spst	hp300bsd)
68417683Spst		basic_machine=m68k-hp
68517683Spst		os=-bsd
68617683Spst		;;
68717683Spst	hp300hpux)
68817683Spst		basic_machine=m68k-hp
68917683Spst		os=-hpux
69017683Spst		;;
69175107Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69275107Sfenner		basic_machine=hppa1.0-hp
69375107Sfenner		;;
69417683Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
69517683Spst		basic_machine=m68000-hp
69617683Spst		;;
69717683Spst	hp9k3[2-9][0-9])
69817683Spst		basic_machine=m68k-hp
69917683Spst		;;
70075107Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70175107Sfenner		basic_machine=hppa1.0-hp
70275107Sfenner		;;
70375107Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70417683Spst		basic_machine=hppa1.1-hp
70517683Spst		;;
70675107Sfenner	hp9k78[0-9] | hp78[0-9])
70775107Sfenner		# FIXME: really hppa2.0-hp
70875107Sfenner		basic_machine=hppa1.1-hp
70975107Sfenner		;;
71075107Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71175107Sfenner		# FIXME: really hppa2.0-hp
71275107Sfenner		basic_machine=hppa1.1-hp
71375107Sfenner		;;
71475107Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
71575107Sfenner		basic_machine=hppa1.1-hp
71675107Sfenner		;;
71717683Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71817683Spst		basic_machine=hppa1.0-hp
71917683Spst		;;
72026175Sfenner	hppa-next)
72126175Sfenner		os=-nextstep3
72226175Sfenner		;;
72375107Sfenner	hppaosf)
72475107Sfenner		basic_machine=hppa1.1-hp
72575107Sfenner		os=-osf
72675107Sfenner		;;
72775107Sfenner	hppro)
72875107Sfenner		basic_machine=hppa1.1-hp
72975107Sfenner		os=-proelf
73075107Sfenner		;;
73117683Spst	i370-ibm* | ibm*)
73217683Spst		basic_machine=i370-ibm
73317683Spst		;;
73498530Sfenner	i*86v32)
73526175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73617683Spst		os=-sysv32
73717683Spst		;;
73898530Sfenner	i*86v4*)
73926175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74017683Spst		os=-sysv4
74117683Spst		;;
74298530Sfenner	i*86v)
74326175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74417683Spst		os=-sysv
74517683Spst		;;
74698530Sfenner	i*86sol2)
74726175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74817683Spst		os=-solaris2
74917683Spst		;;
75075107Sfenner	i386mach)
75175107Sfenner		basic_machine=i386-mach
75275107Sfenner		os=-mach
75375107Sfenner		;;
75475107Sfenner	i386-vsta | vsta)
75575107Sfenner		basic_machine=i386-unknown
75675107Sfenner		os=-vsta
75775107Sfenner		;;
75817683Spst	iris | iris4d)
75917683Spst		basic_machine=mips-sgi
76017683Spst		case $os in
76117683Spst		    -irix*)
76217683Spst			;;
76317683Spst		    *)
76417683Spst			os=-irix4
76517683Spst			;;
76617683Spst		esac
76717683Spst		;;
76817683Spst	isi68 | isi)
76917683Spst		basic_machine=m68k-isi
77017683Spst		os=-sysv
77117683Spst		;;
772214518Srpaulo	m68knommu)
773214518Srpaulo		basic_machine=m68k-unknown
774214518Srpaulo		os=-linux
775214518Srpaulo		;;
776214518Srpaulo	m68knommu-*)
777214518Srpaulo		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778214518Srpaulo		os=-linux
779214518Srpaulo		;;
78017683Spst	m88k-omron*)
78117683Spst		basic_machine=m88k-omron
78217683Spst		;;
78317683Spst	magnum | m3230)
78417683Spst		basic_machine=mips-mips
78517683Spst		os=-sysv
78617683Spst		;;
78717683Spst	merlin)
78817683Spst		basic_machine=ns32k-utek
78917683Spst		os=-sysv
79017683Spst		;;
791276768Sdelphij	microblaze)
792214518Srpaulo		basic_machine=microblaze-xilinx
793214518Srpaulo		;;
79498530Sfenner	mingw32)
79598530Sfenner		basic_machine=i386-pc
79698530Sfenner		os=-mingw32
79798530Sfenner		;;
798214518Srpaulo	mingw32ce)
799214518Srpaulo		basic_machine=arm-unknown
800214518Srpaulo		os=-mingw32ce
801214518Srpaulo		;;
80217683Spst	miniframe)
80317683Spst		basic_machine=m68000-convergent
80417683Spst		;;
80575107Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
80675107Sfenner		basic_machine=m68k-atari
80775107Sfenner		os=-mint
80875107Sfenner		;;
80917683Spst	mips3*-*)
81017683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81117683Spst		;;
81217683Spst	mips3*)
81317683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81417683Spst		;;
81575107Sfenner	monitor)
81675107Sfenner		basic_machine=m68k-rom68k
81775107Sfenner		os=-coff
81875107Sfenner		;;
819127664Sbms	morphos)
820127664Sbms		basic_machine=powerpc-unknown
821127664Sbms		os=-morphos
822127664Sbms		;;
82375107Sfenner	msdos)
82498530Sfenner		basic_machine=i386-pc
82575107Sfenner		os=-msdos
82675107Sfenner		;;
827214518Srpaulo	ms1-*)
828214518Srpaulo		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
829214518Srpaulo		;;
830276768Sdelphij	msys)
831276768Sdelphij		basic_machine=i386-pc
832276768Sdelphij		os=-msys
833276768Sdelphij		;;
83475107Sfenner	mvs)
83575107Sfenner		basic_machine=i370-ibm
83675107Sfenner		os=-mvs
83775107Sfenner		;;
838276768Sdelphij	nacl)
839276768Sdelphij		basic_machine=le32-unknown
840276768Sdelphij		os=-nacl
841276768Sdelphij		;;
84217683Spst	ncr3000)
84317683Spst		basic_machine=i486-ncr
84417683Spst		os=-sysv4
84517683Spst		;;
84675107Sfenner	netbsd386)
84775107Sfenner		basic_machine=i386-unknown
84875107Sfenner		os=-netbsd
84975107Sfenner		;;
85075107Sfenner	netwinder)
85175107Sfenner		basic_machine=armv4l-rebel
85275107Sfenner		os=-linux
85375107Sfenner		;;
85417683Spst	news | news700 | news800 | news900)
85517683Spst		basic_machine=m68k-sony
85617683Spst		os=-newsos
85717683Spst		;;
85817683Spst	news1000)
85917683Spst		basic_machine=m68030-sony
86017683Spst		os=-newsos
86117683Spst		;;
86217683Spst	news-3600 | risc-news)
86317683Spst		basic_machine=mips-sony
86417683Spst		os=-newsos
86517683Spst		;;
86675107Sfenner	necv70)
86775107Sfenner		basic_machine=v70-nec
86875107Sfenner		os=-sysv
86975107Sfenner		;;
87017683Spst	next | m*-next )
87117683Spst		basic_machine=m68k-next
87217683Spst		case $os in
87317683Spst		    -nextstep* )
87417683Spst			;;
87517683Spst		    -ns2*)
87617683Spst		      os=-nextstep2
87717683Spst			;;
87817683Spst		    *)
87917683Spst		      os=-nextstep3
88017683Spst			;;
88117683Spst		esac
88217683Spst		;;
88317683Spst	nh3000)
88417683Spst		basic_machine=m68k-harris
88517683Spst		os=-cxux
88617683Spst		;;
88717683Spst	nh[45]000)
88817683Spst		basic_machine=m88k-harris
88917683Spst		os=-cxux
89017683Spst		;;
89117683Spst	nindy960)
89217683Spst		basic_machine=i960-intel
89317683Spst		os=-nindy
89417683Spst		;;
89575107Sfenner	mon960)
89675107Sfenner		basic_machine=i960-intel
89775107Sfenner		os=-mon960
89875107Sfenner		;;
89975107Sfenner	nonstopux)
90075107Sfenner		basic_machine=mips-compaq
90175107Sfenner		os=-nonstopux
90275107Sfenner		;;
90317683Spst	np1)
90417683Spst		basic_machine=np1-gould
90517683Spst		;;
906276768Sdelphij	neo-tandem)
907276768Sdelphij		basic_machine=neo-tandem
908276768Sdelphij		;;
909276768Sdelphij	nse-tandem)
910276768Sdelphij		basic_machine=nse-tandem
911276768Sdelphij		;;
91275107Sfenner	nsr-tandem)
91375107Sfenner		basic_machine=nsr-tandem
91475107Sfenner		;;
91575107Sfenner	op50n-* | op60c-*)
91675107Sfenner		basic_machine=hppa1.1-oki
91775107Sfenner		os=-proelf
91875107Sfenner		;;
919214518Srpaulo	openrisc | openrisc-*)
920127664Sbms		basic_machine=or32-unknown
921127664Sbms		;;
922127664Sbms	os400)
923127664Sbms		basic_machine=powerpc-ibm
924127664Sbms		os=-os400
925127664Sbms		;;
92675107Sfenner	OSE68000 | ose68000)
92775107Sfenner		basic_machine=m68000-ericsson
92875107Sfenner		os=-ose
92975107Sfenner		;;
93075107Sfenner	os68k)
93175107Sfenner		basic_machine=m68k-none
93275107Sfenner		os=-os68k
93375107Sfenner		;;
93417683Spst	pa-hitachi)
93517683Spst		basic_machine=hppa1.1-hitachi
93617683Spst		os=-hiuxwe2
93717683Spst		;;
93817683Spst	paragon)
93917683Spst		basic_machine=i860-intel
94017683Spst		os=-osf
94117683Spst		;;
942214518Srpaulo	parisc)
943214518Srpaulo		basic_machine=hppa-unknown
944214518Srpaulo		os=-linux
945214518Srpaulo		;;
946214518Srpaulo	parisc-*)
947214518Srpaulo		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
948214518Srpaulo		os=-linux
949214518Srpaulo		;;
95017683Spst	pbd)
95117683Spst		basic_machine=sparc-tti
95217683Spst		;;
95317683Spst	pbb)
95417683Spst		basic_machine=m68k-tti
95517683Spst		;;
956127664Sbms	pc532 | pc532-*)
95717683Spst		basic_machine=ns32k-pc532
95817683Spst		;;
959214518Srpaulo	pc98)
960214518Srpaulo		basic_machine=i386-pc
961214518Srpaulo		;;
962214518Srpaulo	pc98-*)
963214518Srpaulo		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
964214518Srpaulo		;;
965127664Sbms	pentium | p5 | k5 | k6 | nexgen | viac3)
96675107Sfenner		basic_machine=i586-pc
96717683Spst		;;
968127664Sbms	pentiumpro | p6 | 6x86 | athlon | athlon_*)
96975107Sfenner		basic_machine=i686-pc
97026175Sfenner		;;
971127664Sbms	pentiumii | pentium2 | pentiumiii | pentium3)
97275107Sfenner		basic_machine=i686-pc
97375107Sfenner		;;
974127664Sbms	pentium4)
975127664Sbms		basic_machine=i786-pc
976127664Sbms		;;
977127664Sbms	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
97817683Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
97917683Spst		;;
98075107Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98126175Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98226175Sfenner		;;
983127664Sbms	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98475107Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98517683Spst		;;
986127664Sbms	pentium4-*)
987127664Sbms		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
988127664Sbms		;;
98917683Spst	pn)
99017683Spst		basic_machine=pn-gould
99117683Spst		;;
99275107Sfenner	power)	basic_machine=power-ibm
99317683Spst		;;
994276768Sdelphij	ppc | ppcbe)	basic_machine=powerpc-unknown
995127664Sbms		;;
996276768Sdelphij	ppc-* | ppcbe-*)
997276768Sdelphij		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
99817683Spst		;;
99917683Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
100017683Spst		basic_machine=powerpcle-unknown
1001127664Sbms		;;
100217683Spst	ppcle-* | powerpclittle-*)
100317683Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100417683Spst		;;
1005127664Sbms	ppc64)	basic_machine=powerpc64-unknown
1006127664Sbms		;;
1007127664Sbms	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1008127664Sbms		;;
1009127664Sbms	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1010127664Sbms		basic_machine=powerpc64le-unknown
1011127664Sbms		;;
1012127664Sbms	ppc64le-* | powerpc64little-*)
1013127664Sbms		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1014127664Sbms		;;
101517683Spst	ps2)
101617683Spst		basic_machine=i386-ibm
101717683Spst		;;
101898530Sfenner	pw32)
101998530Sfenner		basic_machine=i586-unknown
102098530Sfenner		os=-pw32
102198530Sfenner		;;
1022214518Srpaulo	rdos)
1023214518Srpaulo		basic_machine=i386-pc
1024214518Srpaulo		os=-rdos
1025214518Srpaulo		;;
102675107Sfenner	rom68k)
102775107Sfenner		basic_machine=m68k-rom68k
102875107Sfenner		os=-coff
102975107Sfenner		;;
103017683Spst	rm[46]00)
103117683Spst		basic_machine=mips-siemens
103217683Spst		;;
103317683Spst	rtpc | rtpc-*)
103417683Spst		basic_machine=romp-ibm
103517683Spst		;;
1036127664Sbms	s390 | s390-*)
1037127664Sbms		basic_machine=s390-ibm
1038127664Sbms		;;
1039127664Sbms	s390x | s390x-*)
1040127664Sbms		basic_machine=s390x-ibm
1041127664Sbms		;;
104275107Sfenner	sa29200)
104375107Sfenner		basic_machine=a29k-amd
104475107Sfenner		os=-udi
104575107Sfenner		;;
1046127664Sbms	sb1)
1047127664Sbms		basic_machine=mipsisa64sb1-unknown
1048127664Sbms		;;
1049127664Sbms	sb1el)
1050127664Sbms		basic_machine=mipsisa64sb1el-unknown
1051127664Sbms		;;
1052214518Srpaulo	sde)
1053214518Srpaulo		basic_machine=mipsisa32-sde
1054214518Srpaulo		os=-elf
1055214518Srpaulo		;;
1056127664Sbms	sei)
1057127664Sbms		basic_machine=mips-sei
1058127664Sbms		os=-seiux
1059127664Sbms		;;
106017683Spst	sequent)
106117683Spst		basic_machine=i386-sequent
106217683Spst		;;
106317683Spst	sh)
106417683Spst		basic_machine=sh-hitachi
106517683Spst		os=-hms
106617683Spst		;;
1067214518Srpaulo	sh5el)
1068214518Srpaulo		basic_machine=sh5le-unknown
1069214518Srpaulo		;;
1070127664Sbms	sh64)
1071127664Sbms		basic_machine=sh64-unknown
1072127664Sbms		;;
1073127664Sbms	sparclite-wrs | simso-wrs)
107475107Sfenner		basic_machine=sparclite-wrs
107575107Sfenner		os=-vxworks
107675107Sfenner		;;
107717683Spst	sps7)
107817683Spst		basic_machine=m68k-bull
107917683Spst		os=-sysv2
108017683Spst		;;
108117683Spst	spur)
108217683Spst		basic_machine=spur-unknown
108317683Spst		;;
108475107Sfenner	st2000)
108575107Sfenner		basic_machine=m68k-tandem
108675107Sfenner		;;
108775107Sfenner	stratus)
108875107Sfenner		basic_machine=i860-stratus
108975107Sfenner		os=-sysv4
109075107Sfenner		;;
1091276768Sdelphij	strongarm-* | thumb-*)
1092276768Sdelphij		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093276768Sdelphij		;;
109417683Spst	sun2)
109517683Spst		basic_machine=m68000-sun
109617683Spst		;;
109717683Spst	sun2os3)
109817683Spst		basic_machine=m68000-sun
109917683Spst		os=-sunos3
110017683Spst		;;
110117683Spst	sun2os4)
110217683Spst		basic_machine=m68000-sun
110317683Spst		os=-sunos4
110417683Spst		;;
110517683Spst	sun3os3)
110617683Spst		basic_machine=m68k-sun
110717683Spst		os=-sunos3
110817683Spst		;;
110917683Spst	sun3os4)
111017683Spst		basic_machine=m68k-sun
111117683Spst		os=-sunos4
111217683Spst		;;
111317683Spst	sun4os3)
111417683Spst		basic_machine=sparc-sun
111517683Spst		os=-sunos3
111617683Spst		;;
111717683Spst	sun4os4)
111817683Spst		basic_machine=sparc-sun
111917683Spst		os=-sunos4
112017683Spst		;;
112117683Spst	sun4sol2)
112217683Spst		basic_machine=sparc-sun
112317683Spst		os=-solaris2
112417683Spst		;;
112517683Spst	sun3 | sun3-*)
112617683Spst		basic_machine=m68k-sun
112717683Spst		;;
112817683Spst	sun4)
112917683Spst		basic_machine=sparc-sun
113017683Spst		;;
113117683Spst	sun386 | sun386i | roadrunner)
113217683Spst		basic_machine=i386-sun
113317683Spst		;;
113475107Sfenner	sv1)
113575107Sfenner		basic_machine=sv1-cray
113675107Sfenner		os=-unicos
113775107Sfenner		;;
113817683Spst	symmetry)
113917683Spst		basic_machine=i386-sequent
114017683Spst		os=-dynix
114117683Spst		;;
114275107Sfenner	t3e)
1143127664Sbms		basic_machine=alphaev5-cray
114475107Sfenner		os=-unicos
114575107Sfenner		;;
1146127664Sbms	t90)
1147127664Sbms		basic_machine=t90-cray
1148127664Sbms		os=-unicos
1149127664Sbms		;;
1150214518Srpaulo	tile*)
1151276768Sdelphij		basic_machine=$basic_machine-unknown
1152214518Srpaulo		os=-linux-gnu
1153214518Srpaulo		;;
115475107Sfenner	tx39)
115575107Sfenner		basic_machine=mipstx39-unknown
115675107Sfenner		;;
115775107Sfenner	tx39el)
115875107Sfenner		basic_machine=mipstx39el-unknown
115975107Sfenner		;;
1160127664Sbms	toad1)
1161127664Sbms		basic_machine=pdp10-xkl
1162127664Sbms		os=-tops20
1163127664Sbms		;;
116417683Spst	tower | tower-32)
116517683Spst		basic_machine=m68k-ncr
116617683Spst		;;
1167127664Sbms	tpf)
1168127664Sbms		basic_machine=s390x-ibm
1169127664Sbms		os=-tpf
1170127664Sbms		;;
117117683Spst	udi29k)
117217683Spst		basic_machine=a29k-amd
117317683Spst		os=-udi
117417683Spst		;;
117517683Spst	ultra3)
117617683Spst		basic_machine=a29k-nyu
117717683Spst		os=-sym1
117817683Spst		;;
117975107Sfenner	v810 | necv810)
118075107Sfenner		basic_machine=v810-nec
118175107Sfenner		os=-none
118275107Sfenner		;;
118317683Spst	vaxv)
118417683Spst		basic_machine=vax-dec
118517683Spst		os=-sysv
118617683Spst		;;
118717683Spst	vms)
118817683Spst		basic_machine=vax-dec
118917683Spst		os=-vms
119017683Spst		;;
119175107Sfenner	vpp*|vx|vx-*)
1192127664Sbms		basic_machine=f301-fujitsu
1193127664Sbms		;;
119417683Spst	vxworks960)
119517683Spst		basic_machine=i960-wrs
119617683Spst		os=-vxworks
119717683Spst		;;
119817683Spst	vxworks68)
119917683Spst		basic_machine=m68k-wrs
120017683Spst		os=-vxworks
120117683Spst		;;
120217683Spst	vxworks29k)
120317683Spst		basic_machine=a29k-wrs
120417683Spst		os=-vxworks
120517683Spst		;;
120675107Sfenner	w65*)
120775107Sfenner		basic_machine=w65-wdc
120875107Sfenner		os=-none
120975107Sfenner		;;
121075107Sfenner	w89k-*)
121175107Sfenner		basic_machine=hppa1.1-winbond
121275107Sfenner		os=-proelf
121375107Sfenner		;;
1214214518Srpaulo	xbox)
1215214518Srpaulo		basic_machine=i686-pc
1216214518Srpaulo		os=-mingw32
1217214518Srpaulo		;;
1218127664Sbms	xps | xps100)
1219127664Sbms		basic_machine=xps100-honeywell
1220127664Sbms		;;
1221276768Sdelphij	xscale-* | xscalee[bl]-*)
1222276768Sdelphij		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223276768Sdelphij		;;
1224127664Sbms	ymp)
1225127664Sbms		basic_machine=ymp-cray
122617683Spst		os=-unicos
122717683Spst		;;
122875107Sfenner	z8k-*-coff)
122975107Sfenner		basic_machine=z8k-unknown
123075107Sfenner		os=-sim
123175107Sfenner		;;
1232214518Srpaulo	z80-*-coff)
1233214518Srpaulo		basic_machine=z80-unknown
1234214518Srpaulo		os=-sim
1235214518Srpaulo		;;
123617683Spst	none)
123717683Spst		basic_machine=none-none
123817683Spst		os=-none
123917683Spst		;;
124017683Spst
124117683Spst# Here we handle the default manufacturer of certain CPU types.  It is in
124217683Spst# some cases the only manufacturer, in others, it is the most popular.
124375107Sfenner	w89k)
124475107Sfenner		basic_machine=hppa1.1-winbond
124575107Sfenner		;;
124675107Sfenner	op50n)
124775107Sfenner		basic_machine=hppa1.1-oki
124875107Sfenner		;;
124975107Sfenner	op60c)
125075107Sfenner		basic_machine=hppa1.1-oki
125175107Sfenner		;;
125217683Spst	romp)
125317683Spst		basic_machine=romp-ibm
125417683Spst		;;
1255214518Srpaulo	mmix)
1256214518Srpaulo		basic_machine=mmix-knuth
1257214518Srpaulo		;;
125817683Spst	rs6000)
125917683Spst		basic_machine=rs6000-ibm
126017683Spst		;;
126117683Spst	vax)
126217683Spst		basic_machine=vax-dec
126317683Spst		;;
126498530Sfenner	pdp10)
126598530Sfenner		# there are many clones, so DEC is not a safe bet
126698530Sfenner		basic_machine=pdp10-unknown
126798530Sfenner		;;
126817683Spst	pdp11)
126917683Spst		basic_machine=pdp11-dec
127017683Spst		;;
127117683Spst	we32k)
127217683Spst		basic_machine=we32k-att
127317683Spst		;;
1274214518Srpaulo	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
127575107Sfenner		basic_machine=sh-unknown
127675107Sfenner		;;
1277214518Srpaulo	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
127817683Spst		basic_machine=sparc-sun
127917683Spst		;;
1280127664Sbms	cydra)
128117683Spst		basic_machine=cydra-cydrome
128217683Spst		;;
128317683Spst	orion)
128417683Spst		basic_machine=orion-highlevel
128517683Spst		;;
128617683Spst	orion105)
128717683Spst		basic_machine=clipper-highlevel
128817683Spst		;;
128975107Sfenner	mac | mpw | mac-mpw)
129075107Sfenner		basic_machine=m68k-apple
129175107Sfenner		;;
129275107Sfenner	pmac | pmac-mpw)
129375107Sfenner		basic_machine=powerpc-apple
129475107Sfenner		;;
129598530Sfenner	*-unknown)
129698530Sfenner		# Make sure to match an already-canonicalized machine name.
129798530Sfenner		;;
129817683Spst	*)
129917683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130017683Spst		exit 1
130117683Spst		;;
130217683Spstesac
130317683Spst
130417683Spst# Here we canonicalize certain aliases for manufacturers.
130517683Spstcase $basic_machine in
130617683Spst	*-digital*)
130717683Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
130817683Spst		;;
130917683Spst	*-commodore*)
131017683Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131117683Spst		;;
131217683Spst	*)
131317683Spst		;;
131417683Spstesac
131517683Spst
131617683Spst# Decode manufacturer-specific aliases for certain operating systems.
131717683Spst
131817683Spstif [ x"$os" != x"" ]
131917683Spstthen
132017683Spstcase $os in
1321276768Sdelphij	# First match some system type aliases
1322276768Sdelphij	# that might get confused with valid system types.
132317683Spst	# -solaris* is a basic system type, with this one exception.
1324276768Sdelphij	-auroraux)
1325276768Sdelphij		os=-auroraux
1326214518Srpaulo		;;
132717683Spst	-solaris1 | -solaris1.*)
132817683Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
132917683Spst		;;
133017683Spst	-solaris)
133117683Spst		os=-solaris2
133217683Spst		;;
133375107Sfenner	-svr4*)
133417683Spst		os=-sysv4
133517683Spst		;;
133675107Sfenner	-unixware*)
133775107Sfenner		os=-sysv4.2uw
133875107Sfenner		;;
133917683Spst	-gnu/linux*)
134026175Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134117683Spst		;;
134217683Spst	# First accept the basic system types.
134317683Spst	# The portable systems comes first.
134417683Spst	# Each alternative MUST END IN A *, to match a version number.
134517683Spst	# -sysv* is not here because it comes later, after sysvr4.
134617683Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1347214518Srpaulo	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348214518Srpaulo	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349214518Srpaulo	      | -sym* | -kopensolaris* \
135075107Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1351214518Srpaulo	      | -aos* | -aros* \
135226175Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
135326175Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1354214518Srpaulo	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1355214518Srpaulo	      | -openbsd* | -solidbsd* \
1356214518Srpaulo	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1357214518Srpaulo	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
135817683Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
135926175Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1360214518Srpaulo	      | -chorusos* | -chorusrdb* | -cegcc* \
1361276768Sdelphij	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362276768Sdelphij	      | -mingw32* | -linux-gnu* | -linux-android* \
1363276768Sdelphij	      | -linux-newlib* | -linux-uclibc* \
1364214518Srpaulo	      | -uxpv* | -beos* | -mpeix* | -udk* \
1365127664Sbms	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
136698530Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1367127664Sbms	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1368127664Sbms	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1369127664Sbms	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1370214518Srpaulo	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1371214518Srpaulo	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
137217683Spst	# Remember, each alternative MUST END IN *, to match a version number.
137317683Spst		;;
137475107Sfenner	-qnx*)
137575107Sfenner		case $basic_machine in
137698530Sfenner		    x86-* | i*86-*)
137775107Sfenner			;;
137875107Sfenner		    *)
137975107Sfenner			os=-nto$os
138075107Sfenner			;;
138175107Sfenner		esac
138275107Sfenner		;;
1383127664Sbms	-nto-qnx*)
1384127664Sbms		;;
138575107Sfenner	-nto*)
1386127664Sbms		os=`echo $os | sed -e 's|nto|nto-qnx|'`
138775107Sfenner		;;
138875107Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1389214518Srpaulo	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139075107Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139175107Sfenner		;;
139275107Sfenner	-mac*)
139375107Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
139475107Sfenner		;;
1395127664Sbms	-linux-dietlibc)
1396127664Sbms		os=-linux-dietlibc
1397127664Sbms		;;
139826175Sfenner	-linux*)
139926175Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140026175Sfenner		;;
140117683Spst	-sunos5*)
140217683Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
140317683Spst		;;
140417683Spst	-sunos6*)
140517683Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
140617683Spst		;;
140775107Sfenner	-opened*)
140875107Sfenner		os=-openedition
140975107Sfenner		;;
1410276768Sdelphij	-os400*)
1411127664Sbms		os=-os400
1412127664Sbms		;;
141375107Sfenner	-wince*)
141475107Sfenner		os=-wince
141575107Sfenner		;;
141617683Spst	-osfrose*)
141717683Spst		os=-osfrose
141817683Spst		;;
141917683Spst	-osf*)
142017683Spst		os=-osf
142117683Spst		;;
142217683Spst	-utek*)
142317683Spst		os=-bsd
142417683Spst		;;
142517683Spst	-dynix*)
142617683Spst		os=-bsd
142717683Spst		;;
142817683Spst	-acis*)
142917683Spst		os=-aos
143017683Spst		;;
1431127664Sbms	-atheos*)
1432127664Sbms		os=-atheos
1433127664Sbms		;;
1434214518Srpaulo	-syllable*)
1435214518Srpaulo		os=-syllable
1436214518Srpaulo		;;
143775107Sfenner	-386bsd)
143875107Sfenner		os=-bsd
143975107Sfenner		;;
144017683Spst	-ctix* | -uts*)
144117683Spst		os=-sysv
144217683Spst		;;
1443127664Sbms	-nova*)
1444127664Sbms		os=-rtmk-nova
1445127664Sbms		;;
144626175Sfenner	-ns2 )
1447127664Sbms		os=-nextstep2
144826175Sfenner		;;
144975107Sfenner	-nsk*)
145075107Sfenner		os=-nsk
145175107Sfenner		;;
145217683Spst	# Preserve the version number of sinix5.
145317683Spst	-sinix5.*)
145417683Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
145517683Spst		;;
145617683Spst	-sinix*)
145717683Spst		os=-sysv4
145817683Spst		;;
1459276768Sdelphij	-tpf*)
1460127664Sbms		os=-tpf
1461127664Sbms		;;
146217683Spst	-triton*)
146317683Spst		os=-sysv3
146417683Spst		;;
146517683Spst	-oss*)
146617683Spst		os=-sysv3
146717683Spst		;;
146817683Spst	-svr4)
146917683Spst		os=-sysv4
147017683Spst		;;
147117683Spst	-svr3)
147217683Spst		os=-sysv3
147317683Spst		;;
147417683Spst	-sysvr4)
147517683Spst		os=-sysv4
147617683Spst		;;
147717683Spst	# This must come after -sysvr4.
147817683Spst	-sysv*)
147917683Spst		;;
148075107Sfenner	-ose*)
148175107Sfenner		os=-ose
148275107Sfenner		;;
148375107Sfenner	-es1800*)
148475107Sfenner		os=-ose
148575107Sfenner		;;
148617683Spst	-xenix)
148717683Spst		os=-xenix
148817683Spst		;;
1489127664Sbms	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1490127664Sbms		os=-mint
149175107Sfenner		;;
1492127664Sbms	-aros*)
1493127664Sbms		os=-aros
1494127664Sbms		;;
1495127664Sbms	-kaos*)
1496127664Sbms		os=-kaos
1497127664Sbms		;;
1498214518Srpaulo	-zvmoe)
1499214518Srpaulo		os=-zvmoe
1500214518Srpaulo		;;
1501214518Srpaulo	-dicos*)
1502214518Srpaulo		os=-dicos
1503214518Srpaulo		;;
1504276768Sdelphij	-nacl*)
1505276768Sdelphij		;;
150617683Spst	-none)
150717683Spst		;;
150817683Spst	*)
150917683Spst		# Get rid of the `-' at the beginning of $os.
151017683Spst		os=`echo $os | sed 's/[^-]*-//'`
151117683Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151217683Spst		exit 1
151317683Spst		;;
151417683Spstesac
151517683Spstelse
151617683Spst
151717683Spst# Here we handle the default operating systems that come with various machines.
151817683Spst# The value should be what the vendor currently ships out the door with their
151917683Spst# machine or put another way, the most popular os provided with the machine.
152017683Spst
152117683Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
152217683Spst# "-sun"), then you have to tell the case statement up towards the top
152317683Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
152417683Spst# will signal an error saying that MANUFACTURER isn't an operating
152517683Spst# system, and we'll never get to this point.
152617683Spst
152717683Spstcase $basic_machine in
1528276768Sdelphij	score-*)
1529214518Srpaulo		os=-elf
1530214518Srpaulo		;;
1531276768Sdelphij	spu-*)
1532214518Srpaulo		os=-elf
1533214518Srpaulo		;;
153417683Spst	*-acorn)
153517683Spst		os=-riscix1.2
153617683Spst		;;
153775107Sfenner	arm*-rebel)
153875107Sfenner		os=-linux
153975107Sfenner		;;
154017683Spst	arm*-semi)
154117683Spst		os=-aout
154217683Spst		;;
1543276768Sdelphij	c4x-* | tic4x-*)
1544276768Sdelphij		os=-coff
1545214518Srpaulo		;;
1546276768Sdelphij	tic54x-*)
1547276768Sdelphij		os=-coff
1548276768Sdelphij		;;
1549276768Sdelphij	tic55x-*)
1550276768Sdelphij		os=-coff
1551276768Sdelphij		;;
1552276768Sdelphij	tic6x-*)
1553276768Sdelphij		os=-coff
1554276768Sdelphij		;;
1555127664Sbms	# This must come before the *-dec entry.
155698530Sfenner	pdp10-*)
155798530Sfenner		os=-tops20
155898530Sfenner		;;
1559127664Sbms	pdp11-*)
156017683Spst		os=-none
156117683Spst		;;
156217683Spst	*-dec | vax-*)
156317683Spst		os=-ultrix4.2
156417683Spst		;;
156517683Spst	m68*-apollo)
156617683Spst		os=-domain
156717683Spst		;;
156817683Spst	i386-sun)
156917683Spst		os=-sunos4.0.2
157017683Spst		;;
157117683Spst	m68000-sun)
157217683Spst		os=-sunos3
157317683Spst		;;
157475107Sfenner	m68*-cisco)
157575107Sfenner		os=-aout
157675107Sfenner		;;
1577276768Sdelphij	mep-*)
1578214518Srpaulo		os=-elf
1579214518Srpaulo		;;
158075107Sfenner	mips*-cisco)
158175107Sfenner		os=-elf
158275107Sfenner		;;
158375107Sfenner	mips*-*)
158475107Sfenner		os=-elf
158575107Sfenner		;;
1586127664Sbms	or32-*)
1587127664Sbms		os=-coff
1588127664Sbms		;;
158917683Spst	*-tti)	# must be before sparc entry or we get the wrong os.
159017683Spst		os=-sysv3
159117683Spst		;;
159217683Spst	sparc-* | *-sun)
159317683Spst		os=-sunos4.1.1
159417683Spst		;;
159575107Sfenner	*-be)
159675107Sfenner		os=-beos
159775107Sfenner		;;
1598214518Srpaulo	*-haiku)
1599214518Srpaulo		os=-haiku
1600214518Srpaulo		;;
160117683Spst	*-ibm)
160217683Spst		os=-aix
160317683Spst		;;
1604276768Sdelphij	*-knuth)
1605214518Srpaulo		os=-mmixware
1606214518Srpaulo		;;
160775107Sfenner	*-wec)
160875107Sfenner		os=-proelf
160975107Sfenner		;;
161075107Sfenner	*-winbond)
161175107Sfenner		os=-proelf
161275107Sfenner		;;
161375107Sfenner	*-oki)
161475107Sfenner		os=-proelf
161575107Sfenner		;;
161617683Spst	*-hp)
161717683Spst		os=-hpux
161817683Spst		;;
161917683Spst	*-hitachi)
162017683Spst		os=-hiux
162117683Spst		;;
162217683Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
162317683Spst		os=-sysv
162417683Spst		;;
162517683Spst	*-cbm)
162675107Sfenner		os=-amigaos
162717683Spst		;;
162817683Spst	*-dg)
162917683Spst		os=-dgux
163017683Spst		;;
163117683Spst	*-dolphin)
163217683Spst		os=-sysv3
163317683Spst		;;
163417683Spst	m68k-ccur)
163517683Spst		os=-rtu
163617683Spst		;;
163717683Spst	m88k-omron*)
163817683Spst		os=-luna
163917683Spst		;;
164026175Sfenner	*-next )
164126175Sfenner		os=-nextstep
164226175Sfenner		;;
164317683Spst	*-sequent)
164417683Spst		os=-ptx
164517683Spst		;;
164617683Spst	*-crds)
164717683Spst		os=-unos
164817683Spst		;;
164917683Spst	*-ns)
165017683Spst		os=-genix
165117683Spst		;;
165217683Spst	i370-*)
165317683Spst		os=-mvs
165417683Spst		;;
165517683Spst	*-next)
165617683Spst		os=-nextstep3
165717683Spst		;;
1658127664Sbms	*-gould)
165917683Spst		os=-sysv
166017683Spst		;;
1661127664Sbms	*-highlevel)
166217683Spst		os=-bsd
166317683Spst		;;
166417683Spst	*-encore)
166517683Spst		os=-bsd
166617683Spst		;;
1667127664Sbms	*-sgi)
166817683Spst		os=-irix
166917683Spst		;;
1670127664Sbms	*-siemens)
167117683Spst		os=-sysv4
167217683Spst		;;
167317683Spst	*-masscomp)
167417683Spst		os=-rtu
167517683Spst		;;
167698530Sfenner	f30[01]-fujitsu | f700-fujitsu)
167726175Sfenner		os=-uxpv
167826175Sfenner		;;
167975107Sfenner	*-rom68k)
168075107Sfenner		os=-coff
168175107Sfenner		;;
168275107Sfenner	*-*bug)
168375107Sfenner		os=-coff
168475107Sfenner		;;
168575107Sfenner	*-apple)
168675107Sfenner		os=-macos
168775107Sfenner		;;
168875107Sfenner	*-atari*)
168975107Sfenner		os=-mint
169075107Sfenner		;;
169117683Spst	*)
169217683Spst		os=-none
169317683Spst		;;
169417683Spstesac
169517683Spstfi
169617683Spst
169717683Spst# Here we handle the case where we know the os, and the CPU type, but not the
169817683Spst# manufacturer.  We pick the logical manufacturer.
169917683Spstvendor=unknown
170017683Spstcase $basic_machine in
170117683Spst	*-unknown)
170217683Spst		case $os in
170317683Spst			-riscix*)
170417683Spst				vendor=acorn
170517683Spst				;;
170617683Spst			-sunos*)
170717683Spst				vendor=sun
170817683Spst				;;
1709214518Srpaulo			-cnk*|-aix*)
171017683Spst				vendor=ibm
171117683Spst				;;
171275107Sfenner			-beos*)
171375107Sfenner				vendor=be
171475107Sfenner				;;
171517683Spst			-hpux*)
171617683Spst				vendor=hp
171717683Spst				;;
171875107Sfenner			-mpeix*)
171975107Sfenner				vendor=hp
172075107Sfenner				;;
172117683Spst			-hiux*)
172217683Spst				vendor=hitachi
172317683Spst				;;
172417683Spst			-unos*)
172517683Spst				vendor=crds
172617683Spst				;;
172717683Spst			-dgux*)
172817683Spst				vendor=dg
172917683Spst				;;
173017683Spst			-luna*)
173117683Spst				vendor=omron
173217683Spst				;;
173317683Spst			-genix*)
173417683Spst				vendor=ns
173517683Spst				;;
173675107Sfenner			-mvs* | -opened*)
173717683Spst				vendor=ibm
173817683Spst				;;
1739127664Sbms			-os400*)
1740127664Sbms				vendor=ibm
1741127664Sbms				;;
174217683Spst			-ptx*)
174317683Spst				vendor=sequent
174417683Spst				;;
1745127664Sbms			-tpf*)
1746127664Sbms				vendor=ibm
1747127664Sbms				;;
1748127664Sbms			-vxsim* | -vxworks* | -windiss*)
174917683Spst				vendor=wrs
175017683Spst				;;
175126175Sfenner			-aux*)
175226175Sfenner				vendor=apple
175326175Sfenner				;;
175475107Sfenner			-hms*)
175575107Sfenner				vendor=hitachi
175675107Sfenner				;;
175775107Sfenner			-mpw* | -macos*)
175875107Sfenner				vendor=apple
175975107Sfenner				;;
176098530Sfenner			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
176175107Sfenner				vendor=atari
176275107Sfenner				;;
1763127664Sbms			-vos*)
1764127664Sbms				vendor=stratus
1765127664Sbms				;;
176617683Spst		esac
176717683Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176817683Spst		;;
176917683Spstesac
177017683Spst
177117683Spstecho $basic_machine$os
1772214518Srpauloexit
177375107Sfenner
177475107Sfenner# Local variables:
177575107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
177675107Sfenner# time-stamp-start: "timestamp='"
177775107Sfenner# time-stamp-format: "%:y-%02m-%02d"
177875107Sfenner# time-stamp-end: "'"
177975107Sfenner# End:
1780