config.sub revision b4d38c65
115fb4814Smrg#! /bin/sh
215fb4814Smrg# Configuration validation subroutine script.
315fb4814Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4b4d38c65Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5b4d38c65Smrg#   2011, 2012 Free Software Foundation, Inc.
615fb4814Smrg
7b4d38c65Smrgtimestamp='2012-01-01'
815fb4814Smrg
915fb4814Smrg# This file is (in principle) common to ALL GNU software.
1015fb4814Smrg# The presence of a machine in this file suggests that SOME GNU software
1115fb4814Smrg# can handle that machine.  It does not imply ALL GNU software can.
1215fb4814Smrg#
1315fb4814Smrg# This file is free software; you can redistribute it and/or modify
1415fb4814Smrg# it under the terms of the GNU General Public License as published by
1515fb4814Smrg# the Free Software Foundation; either version 2 of the License, or
1615fb4814Smrg# (at your option) any later version.
1715fb4814Smrg#
1815fb4814Smrg# This program is distributed in the hope that it will be useful,
1915fb4814Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2015fb4814Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2115fb4814Smrg# GNU General Public License for more details.
2215fb4814Smrg#
2315fb4814Smrg# You should have received a copy of the GNU General Public License
2415fb4814Smrg# along with this program; if not, write to the Free Software
25de78e416Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26de78e416Smrg# 02110-1301, USA.
27de78e416Smrg#
2815fb4814Smrg# As a special exception to the GNU General Public License, if you
2915fb4814Smrg# distribute this file as part of a program that contains a
3015fb4814Smrg# configuration script generated by Autoconf, you may include it under
3115fb4814Smrg# the same distribution terms that you use for the rest of that program.
3215fb4814Smrg
33de78e416Smrg
3415fb4814Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b4d38c65Smrg# diff and a properly formatted GNU ChangeLog entry.
3615fb4814Smrg#
3715fb4814Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3815fb4814Smrg# Supply the specified configuration type as an argument.
3915fb4814Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4015fb4814Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4115fb4814Smrg
42b4d38c65Smrg# You can get the latest version of this script from:
43b4d38c65Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b4d38c65Smrg
4515fb4814Smrg# This file is supposed to be the same for all GNU packages
4615fb4814Smrg# and recognize all the CPU types, system types and aliases
4715fb4814Smrg# that are meaningful with *any* GNU software.
4815fb4814Smrg# Each package is responsible for reporting which valid configurations
4915fb4814Smrg# it does not support.  The user should be able to distinguish
5015fb4814Smrg# a failure to support a valid configuration from a meaningless
5115fb4814Smrg# configuration.
5215fb4814Smrg
5315fb4814Smrg# The goal of this file is to map all the various variations of a given
5415fb4814Smrg# machine specification into a single specification in the form:
5515fb4814Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5615fb4814Smrg# or in some cases, the newer four-part form:
5715fb4814Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5815fb4814Smrg# It is wrong to echo any other type of specification.
5915fb4814Smrg
6015fb4814Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6115fb4814Smrg
6215fb4814Smrgusage="\
6315fb4814SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6415fb4814Smrg       $0 [OPTION] ALIAS
6515fb4814Smrg
6615fb4814SmrgCanonicalize a configuration name.
6715fb4814Smrg
6815fb4814SmrgOperation modes:
6915fb4814Smrg  -h, --help         print this help, then exit
7015fb4814Smrg  -t, --time-stamp   print date of last modification, then exit
7115fb4814Smrg  -v, --version      print version number, then exit
7215fb4814Smrg
7315fb4814SmrgReport bugs and patches to <config-patches@gnu.org>."
7415fb4814Smrg
7515fb4814Smrgversion="\
7615fb4814SmrgGNU config.sub ($timestamp)
7715fb4814Smrg
78b4d38c65SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79b4d38c65Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80b534f209SmrgFree Software Foundation, Inc.
8115fb4814Smrg
8215fb4814SmrgThis is free software; see the source for copying conditions.  There is NO
8315fb4814Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8415fb4814Smrg
8515fb4814Smrghelp="
8615fb4814SmrgTry \`$me --help' for more information."
8715fb4814Smrg
8815fb4814Smrg# Parse command line
8915fb4814Smrgwhile test $# -gt 0 ; do
9015fb4814Smrg  case $1 in
9115fb4814Smrg    --time-stamp | --time* | -t )
92de78e416Smrg       echo "$timestamp" ; exit ;;
9315fb4814Smrg    --version | -v )
94de78e416Smrg       echo "$version" ; exit ;;
9515fb4814Smrg    --help | --h* | -h )
96de78e416Smrg       echo "$usage"; exit ;;
9715fb4814Smrg    -- )     # Stop option processing
9815fb4814Smrg       shift; break ;;
9915fb4814Smrg    - )	# Use stdin as input.
10015fb4814Smrg       break ;;
10115fb4814Smrg    -* )
10215fb4814Smrg       echo "$me: invalid option $1$help"
10315fb4814Smrg       exit 1 ;;
10415fb4814Smrg
10515fb4814Smrg    *local*)
10615fb4814Smrg       # First pass through any local machine types.
10715fb4814Smrg       echo $1
108de78e416Smrg       exit ;;
10915fb4814Smrg
11015fb4814Smrg    * )
11115fb4814Smrg       break ;;
11215fb4814Smrg  esac
11315fb4814Smrgdone
11415fb4814Smrg
11515fb4814Smrgcase $# in
11615fb4814Smrg 0) echo "$me: missing argument$help" >&2
11715fb4814Smrg    exit 1;;
11815fb4814Smrg 1) ;;
11915fb4814Smrg *) echo "$me: too many arguments$help" >&2
12015fb4814Smrg    exit 1;;
12115fb4814Smrgesac
12215fb4814Smrg
12315fb4814Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12415fb4814Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12515fb4814Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12615fb4814Smrgcase $maybe_os in
127b4d38c65Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128b4d38c65Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129b4d38c65Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b4d38c65Smrg  kopensolaris*-gnu* | \
131de78e416Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13215fb4814Smrg    os=-$maybe_os
13315fb4814Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13415fb4814Smrg    ;;
13515fb4814Smrg  *)
13615fb4814Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13715fb4814Smrg    if [ $basic_machine != $1 ]
13815fb4814Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13915fb4814Smrg    else os=; fi
14015fb4814Smrg    ;;
14115fb4814Smrgesac
14215fb4814Smrg
14315fb4814Smrg### Let's recognize common machines as not being operating systems so
14415fb4814Smrg### that things like config.sub decstation-3100 work.  We also
14515fb4814Smrg### recognize some manufacturers as not being operating systems, so we
14615fb4814Smrg### can provide default operating systems below.
14715fb4814Smrgcase $os in
14815fb4814Smrg	-sun*os*)
14915fb4814Smrg		# Prevent following clause from handling this invalid input.
15015fb4814Smrg		;;
15115fb4814Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15215fb4814Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15315fb4814Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15415fb4814Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15515fb4814Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15615fb4814Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b4d38c65Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15815fb4814Smrg		os=
15915fb4814Smrg		basic_machine=$1
16015fb4814Smrg		;;
161b4d38c65Smrg	-bluegene*)
162b4d38c65Smrg		os=-cnk
163b4d38c65Smrg		;;
16415fb4814Smrg	-sim | -cisco | -oki | -wec | -winbond)
16515fb4814Smrg		os=
16615fb4814Smrg		basic_machine=$1
16715fb4814Smrg		;;
16815fb4814Smrg	-scout)
16915fb4814Smrg		;;
17015fb4814Smrg	-wrs)
17115fb4814Smrg		os=-vxworks
17215fb4814Smrg		basic_machine=$1
17315fb4814Smrg		;;
17415fb4814Smrg	-chorusos*)
17515fb4814Smrg		os=-chorusos
17615fb4814Smrg		basic_machine=$1
17715fb4814Smrg		;;
178b4d38c65Smrg	-chorusrdb)
179b4d38c65Smrg		os=-chorusrdb
18015fb4814Smrg		basic_machine=$1
181b4d38c65Smrg		;;
18215fb4814Smrg	-hiux*)
18315fb4814Smrg		os=-hiuxwe2
18415fb4814Smrg		;;
185de78e416Smrg	-sco6)
186de78e416Smrg		os=-sco5v6
187de78e416Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188de78e416Smrg		;;
18915fb4814Smrg	-sco5)
19015fb4814Smrg		os=-sco3.2v5
19115fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19215fb4814Smrg		;;
19315fb4814Smrg	-sco4)
19415fb4814Smrg		os=-sco3.2v4
19515fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19615fb4814Smrg		;;
19715fb4814Smrg	-sco3.2.[4-9]*)
19815fb4814Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19915fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20015fb4814Smrg		;;
20115fb4814Smrg	-sco3.2v[4-9]*)
20215fb4814Smrg		# Don't forget version if it is 3.2v4 or newer.
20315fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20415fb4814Smrg		;;
205de78e416Smrg	-sco5v6*)
206de78e416Smrg		# Don't forget version if it is 3.2v4 or newer.
207de78e416Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208de78e416Smrg		;;
20915fb4814Smrg	-sco*)
21015fb4814Smrg		os=-sco3.2v2
21115fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21215fb4814Smrg		;;
21315fb4814Smrg	-udk*)
21415fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21515fb4814Smrg		;;
21615fb4814Smrg	-isc)
21715fb4814Smrg		os=-isc2.2
21815fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21915fb4814Smrg		;;
22015fb4814Smrg	-clix*)
22115fb4814Smrg		basic_machine=clipper-intergraph
22215fb4814Smrg		;;
22315fb4814Smrg	-isc*)
22415fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22515fb4814Smrg		;;
22615fb4814Smrg	-lynx*)
22715fb4814Smrg		os=-lynxos
22815fb4814Smrg		;;
22915fb4814Smrg	-ptx*)
23015fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23115fb4814Smrg		;;
23215fb4814Smrg	-windowsnt*)
23315fb4814Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23415fb4814Smrg		;;
23515fb4814Smrg	-psos*)
23615fb4814Smrg		os=-psos
23715fb4814Smrg		;;
23815fb4814Smrg	-mint | -mint[0-9]*)
23915fb4814Smrg		basic_machine=m68k-atari
24015fb4814Smrg		os=-mint
24115fb4814Smrg		;;
24215fb4814Smrgesac
24315fb4814Smrg
24415fb4814Smrg# Decode aliases for certain CPU-COMPANY combinations.
24515fb4814Smrgcase $basic_machine in
24615fb4814Smrg	# Recognize the basic CPU types without company name.
24715fb4814Smrg	# Some are omitted here because they have special meanings below.
24815fb4814Smrg	1750a | 580 \
24915fb4814Smrg	| a29k \
25015fb4814Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25115fb4814Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252de78e416Smrg	| am33_2.0 \
253de78e416Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254b4d38c65Smrg        | be32 | be64 \
255de78e416Smrg	| bfin \
25615fb4814Smrg	| c4x | clipper \
25715fb4814Smrg	| d10v | d30v | dlx | dsp16xx \
258b4d38c65Smrg	| epiphany \
259de78e416Smrg	| fido | fr30 | frv \
26015fb4814Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261b4d38c65Smrg	| hexagon \
26215fb4814Smrg	| i370 | i860 | i960 | ia64 \
263de78e416Smrg	| ip2k | iq2000 \
264b4d38c65Smrg	| le32 | le64 \
265b4d38c65Smrg	| lm32 \
266de78e416Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267b4d38c65Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26815fb4814Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26915fb4814Smrg	| mips16 \
27015fb4814Smrg	| mips64 | mips64el \
271b4d38c65Smrg	| mips64octeon | mips64octeonel \
272b534f209Smrg	| mips64orion | mips64orionel \
273b4d38c65Smrg	| mips64r5900 | mips64r5900el \
274b4d38c65Smrg	| mips64vr | mips64vrel \
27515fb4814Smrg	| mips64vr4100 | mips64vr4100el \
27615fb4814Smrg	| mips64vr4300 | mips64vr4300el \
27715fb4814Smrg	| mips64vr5000 | mips64vr5000el \
278de78e416Smrg	| mips64vr5900 | mips64vr5900el \
27915fb4814Smrg	| mipsisa32 | mipsisa32el \
28015fb4814Smrg	| mipsisa32r2 | mipsisa32r2el \
28115fb4814Smrg	| mipsisa64 | mipsisa64el \
282de78e416Smrg	| mipsisa64r2 | mipsisa64r2el \
28315fb4814Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28415fb4814Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28515fb4814Smrg	| mipstx39 | mipstx39el \
28615fb4814Smrg	| mn10200 | mn10300 \
287b4d38c65Smrg	| moxie \
288de78e416Smrg	| mt \
28915fb4814Smrg	| msp430 \
290b4d38c65Smrg	| nds32 | nds32le | nds32be \
291de78e416Smrg	| nios | nios2 \
29215fb4814Smrg	| ns16k | ns32k \
293b4d38c65Smrg	| open8 \
294de78e416Smrg	| or32 \
29515fb4814Smrg	| pdp10 | pdp11 | pj | pjl \
296b4d38c65Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29715fb4814Smrg	| pyramid \
298b4d38c65Smrg	| rl78 | rx \
299de78e416Smrg	| score \
300b4d38c65Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30115fb4814Smrg	| sh64 | sh64le \
302de78e416Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303de78e416Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304b4d38c65Smrg	| spu \
305b4d38c65Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306b4d38c65Smrg	| ubicom32 \
307b4d38c65Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30815fb4814Smrg	| we32k \
309b4d38c65Smrg	| x86 | xc16x | xstormy16 | xtensa \
310b4d38c65Smrg	| z8k | z80)
31115fb4814Smrg		basic_machine=$basic_machine-unknown
31215fb4814Smrg		;;
313b4d38c65Smrg	c54x)
314b4d38c65Smrg		basic_machine=tic54x-unknown
315b4d38c65Smrg		;;
316b4d38c65Smrg	c55x)
317b4d38c65Smrg		basic_machine=tic55x-unknown
318b4d38c65Smrg		;;
319b4d38c65Smrg	c6x)
320b4d38c65Smrg		basic_machine=tic6x-unknown
321b4d38c65Smrg		;;
322b4d38c65Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32315fb4814Smrg		basic_machine=$basic_machine-unknown
32415fb4814Smrg		os=-none
32515fb4814Smrg		;;
32615fb4814Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32715fb4814Smrg		;;
328de78e416Smrg	ms1)
329de78e416Smrg		basic_machine=mt-unknown
330de78e416Smrg		;;
33115fb4814Smrg
332b4d38c65Smrg	strongarm | thumb | xscale)
333b4d38c65Smrg		basic_machine=arm-unknown
334b4d38c65Smrg		;;
335b4d38c65Smrg
336b4d38c65Smrg	xscaleeb)
337b4d38c65Smrg		basic_machine=armeb-unknown
338b4d38c65Smrg		;;
339b4d38c65Smrg
340b4d38c65Smrg	xscaleel)
341b4d38c65Smrg		basic_machine=armel-unknown
342b4d38c65Smrg		;;
343b4d38c65Smrg
34415fb4814Smrg	# We use `pc' rather than `unknown'
34515fb4814Smrg	# because (1) that's what they normally are, and
34615fb4814Smrg	# (2) the word "unknown" tends to confuse beginning users.
34715fb4814Smrg	i*86 | x86_64)
34815fb4814Smrg	  basic_machine=$basic_machine-pc
34915fb4814Smrg	  ;;
35015fb4814Smrg	# Object if more than one company name word.
35115fb4814Smrg	*-*-*)
35215fb4814Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35315fb4814Smrg		exit 1
35415fb4814Smrg		;;
35515fb4814Smrg	# Recognize the basic CPU types with company name.
35615fb4814Smrg	580-* \
35715fb4814Smrg	| a29k-* \
35815fb4814Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
35915fb4814Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36015fb4814Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36115fb4814Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
362de78e416Smrg	| avr-* | avr32-* \
363b4d38c65Smrg	| be32-* | be64-* \
364de78e416Smrg	| bfin-* | bs2000-* \
365b4d38c65Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
366de78e416Smrg	| clipper-* | craynv-* | cydra-* \
36715fb4814Smrg	| d10v-* | d30v-* | dlx-* \
36815fb4814Smrg	| elxsi-* \
369de78e416Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37015fb4814Smrg	| h8300-* | h8500-* \
37115fb4814Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
372b4d38c65Smrg	| hexagon-* \
37315fb4814Smrg	| i*86-* | i860-* | i960-* | ia64-* \
374de78e416Smrg	| ip2k-* | iq2000-* \
375b4d38c65Smrg	| le32-* | le64-* \
376b4d38c65Smrg	| lm32-* \
377de78e416Smrg	| m32c-* | m32r-* | m32rle-* \
37815fb4814Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379b4d38c65Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38015fb4814Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38115fb4814Smrg	| mips16-* \
38215fb4814Smrg	| mips64-* | mips64el-* \
383b4d38c65Smrg	| mips64octeon-* | mips64octeonel-* \
384b534f209Smrg	| mips64orion-* | mips64orionel-* \
385b4d38c65Smrg	| mips64r5900-* | mips64r5900el-* \
386b4d38c65Smrg	| mips64vr-* | mips64vrel-* \
38715fb4814Smrg	| mips64vr4100-* | mips64vr4100el-* \
38815fb4814Smrg	| mips64vr4300-* | mips64vr4300el-* \
38915fb4814Smrg	| mips64vr5000-* | mips64vr5000el-* \
390de78e416Smrg	| mips64vr5900-* | mips64vr5900el-* \
39115fb4814Smrg	| mipsisa32-* | mipsisa32el-* \
39215fb4814Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39315fb4814Smrg	| mipsisa64-* | mipsisa64el-* \
394de78e416Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39515fb4814Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39615fb4814Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39715fb4814Smrg	| mipstx39-* | mipstx39el-* \
398de78e416Smrg	| mmix-* \
399de78e416Smrg	| mt-* \
40015fb4814Smrg	| msp430-* \
401b4d38c65Smrg	| nds32-* | nds32le-* | nds32be-* \
402de78e416Smrg	| nios-* | nios2-* \
403de78e416Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
404b4d38c65Smrg	| open8-* \
40515fb4814Smrg	| orion-* \
40615fb4814Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
407b4d38c65Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40815fb4814Smrg	| pyramid-* \
409b4d38c65Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
410b4d38c65Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41115fb4814Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
412de78e416Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
413de78e416Smrg	| sparclite-* \
414b4d38c65Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
415b4d38c65Smrg	| tahoe-* \
416b534f209Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
417b4d38c65Smrg	| tile*-* \
41815fb4814Smrg	| tron-* \
419b4d38c65Smrg	| ubicom32-* \
420b4d38c65Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
421b4d38c65Smrg	| vax-* \
42215fb4814Smrg	| we32k-* \
423b4d38c65Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
424b4d38c65Smrg	| xstormy16-* | xtensa*-* \
42515fb4814Smrg	| ymp-* \
426b4d38c65Smrg	| z8k-* | z80-*)
427b4d38c65Smrg		;;
428b4d38c65Smrg	# Recognize the basic CPU types without company name, with glob match.
429b4d38c65Smrg	xtensa*)
430b4d38c65Smrg		basic_machine=$basic_machine-unknown
43183cab373Smrg		;;
43215fb4814Smrg	# Recognize the various machine names and aliases which stand
43315fb4814Smrg	# for a CPU type and a company and sometimes even an OS.
43415fb4814Smrg	386bsd)
43515fb4814Smrg		basic_machine=i386-unknown
43615fb4814Smrg		os=-bsd
43715fb4814Smrg		;;
43815fb4814Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
43915fb4814Smrg		basic_machine=m68000-att
44015fb4814Smrg		;;
44115fb4814Smrg	3b*)
44215fb4814Smrg		basic_machine=we32k-att
44315fb4814Smrg		;;
44415fb4814Smrg	a29khif)
44515fb4814Smrg		basic_machine=a29k-amd
44615fb4814Smrg		os=-udi
44715fb4814Smrg		;;
448b4d38c65Smrg	abacus)
449de78e416Smrg		basic_machine=abacus-unknown
450de78e416Smrg		;;
45115fb4814Smrg	adobe68k)
45215fb4814Smrg		basic_machine=m68010-adobe
45315fb4814Smrg		os=-scout
45415fb4814Smrg		;;
45515fb4814Smrg	alliant | fx80)
45615fb4814Smrg		basic_machine=fx80-alliant
45715fb4814Smrg		;;
45815fb4814Smrg	altos | altos3068)
45915fb4814Smrg		basic_machine=m68k-altos
46015fb4814Smrg		;;
46115fb4814Smrg	am29k)
46215fb4814Smrg		basic_machine=a29k-none
46315fb4814Smrg		os=-bsd
46415fb4814Smrg		;;
46515fb4814Smrg	amd64)
46615fb4814Smrg		basic_machine=x86_64-pc
46715fb4814Smrg		;;
468de78e416Smrg	amd64-*)
469de78e416Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
470de78e416Smrg		;;
47115fb4814Smrg	amdahl)
47215fb4814Smrg		basic_machine=580-amdahl
47315fb4814Smrg		os=-sysv
47415fb4814Smrg		;;
47515fb4814Smrg	amiga | amiga-*)
47615fb4814Smrg		basic_machine=m68k-unknown
47715fb4814Smrg		;;
47815fb4814Smrg	amigaos | amigados)
47915fb4814Smrg		basic_machine=m68k-unknown
48015fb4814Smrg		os=-amigaos
48115fb4814Smrg		;;
48215fb4814Smrg	amigaunix | amix)
48315fb4814Smrg		basic_machine=m68k-unknown
48415fb4814Smrg		os=-sysv4
48515fb4814Smrg		;;
48615fb4814Smrg	apollo68)
48715fb4814Smrg		basic_machine=m68k-apollo
48815fb4814Smrg		os=-sysv
48915fb4814Smrg		;;
49015fb4814Smrg	apollo68bsd)
49115fb4814Smrg		basic_machine=m68k-apollo
49215fb4814Smrg		os=-bsd
49315fb4814Smrg		;;
494b4d38c65Smrg	aros)
495b4d38c65Smrg		basic_machine=i386-pc
496b4d38c65Smrg		os=-aros
497b4d38c65Smrg		;;
49815fb4814Smrg	aux)
49915fb4814Smrg		basic_machine=m68k-apple
50015fb4814Smrg		os=-aux
50115fb4814Smrg		;;
50215fb4814Smrg	balance)
50315fb4814Smrg		basic_machine=ns32k-sequent
50415fb4814Smrg		os=-dynix
50515fb4814Smrg		;;
506b4d38c65Smrg	blackfin)
507b4d38c65Smrg		basic_machine=bfin-unknown
508b4d38c65Smrg		os=-linux
509b4d38c65Smrg		;;
510b4d38c65Smrg	blackfin-*)
511b4d38c65Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
512b4d38c65Smrg		os=-linux
513b4d38c65Smrg		;;
514b4d38c65Smrg	bluegene*)
515b4d38c65Smrg		basic_machine=powerpc-ibm
516b4d38c65Smrg		os=-cnk
517b4d38c65Smrg		;;
518b4d38c65Smrg	c54x-*)
519b4d38c65Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
520b4d38c65Smrg		;;
521b4d38c65Smrg	c55x-*)
522b4d38c65Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
523b4d38c65Smrg		;;
524b4d38c65Smrg	c6x-*)
525b4d38c65Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
526b4d38c65Smrg		;;
52715fb4814Smrg	c90)
52815fb4814Smrg		basic_machine=c90-cray
52915fb4814Smrg		os=-unicos
53015fb4814Smrg		;;
531b4d38c65Smrg	cegcc)
532b4d38c65Smrg		basic_machine=arm-unknown
533b4d38c65Smrg		os=-cegcc
534b4d38c65Smrg		;;
53515fb4814Smrg	convex-c1)
53615fb4814Smrg		basic_machine=c1-convex
53715fb4814Smrg		os=-bsd
53815fb4814Smrg		;;
53915fb4814Smrg	convex-c2)
54015fb4814Smrg		basic_machine=c2-convex
54115fb4814Smrg		os=-bsd
54215fb4814Smrg		;;
54315fb4814Smrg	convex-c32)
54415fb4814Smrg		basic_machine=c32-convex
54515fb4814Smrg		os=-bsd
54615fb4814Smrg		;;
54715fb4814Smrg	convex-c34)
54815fb4814Smrg		basic_machine=c34-convex
54915fb4814Smrg		os=-bsd
55015fb4814Smrg		;;
55115fb4814Smrg	convex-c38)
55215fb4814Smrg		basic_machine=c38-convex
55315fb4814Smrg		os=-bsd
55415fb4814Smrg		;;
55515fb4814Smrg	cray | j90)
55615fb4814Smrg		basic_machine=j90-cray
55715fb4814Smrg		os=-unicos
55815fb4814Smrg		;;
559de78e416Smrg	craynv)
560de78e416Smrg		basic_machine=craynv-cray
561de78e416Smrg		os=-unicosmp
562de78e416Smrg		;;
563b4d38c65Smrg	cr16 | cr16-*)
564b4d38c65Smrg		basic_machine=cr16-unknown
565de78e416Smrg		os=-elf
566de78e416Smrg		;;
56715fb4814Smrg	crds | unos)
56815fb4814Smrg		basic_machine=m68k-crds
56915fb4814Smrg		;;
570de78e416Smrg	crisv32 | crisv32-* | etraxfs*)
571de78e416Smrg		basic_machine=crisv32-axis
572de78e416Smrg		;;
57315fb4814Smrg	cris | cris-* | etrax*)
57415fb4814Smrg		basic_machine=cris-axis
57515fb4814Smrg		;;
576de78e416Smrg	crx)
577de78e416Smrg		basic_machine=crx-unknown
578de78e416Smrg		os=-elf
579de78e416Smrg		;;
58015fb4814Smrg	da30 | da30-*)
58115fb4814Smrg		basic_machine=m68k-da30
58215fb4814Smrg		;;
58315fb4814Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58415fb4814Smrg		basic_machine=mips-dec
58515fb4814Smrg		;;
58615fb4814Smrg	decsystem10* | dec10*)
58715fb4814Smrg		basic_machine=pdp10-dec
58815fb4814Smrg		os=-tops10
58915fb4814Smrg		;;
59015fb4814Smrg	decsystem20* | dec20*)
59115fb4814Smrg		basic_machine=pdp10-dec
59215fb4814Smrg		os=-tops20
59315fb4814Smrg		;;
59415fb4814Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59515fb4814Smrg	      | 3300-motorola | delta-motorola)
59615fb4814Smrg		basic_machine=m68k-motorola
59715fb4814Smrg		;;
59815fb4814Smrg	delta88)
59915fb4814Smrg		basic_machine=m88k-motorola
60015fb4814Smrg		os=-sysv3
60115fb4814Smrg		;;
602b4d38c65Smrg	dicos)
603b4d38c65Smrg		basic_machine=i686-pc
604b4d38c65Smrg		os=-dicos
605b4d38c65Smrg		;;
606de78e416Smrg	djgpp)
607de78e416Smrg		basic_machine=i586-pc
608de78e416Smrg		os=-msdosdjgpp
609de78e416Smrg		;;
61015fb4814Smrg	dpx20 | dpx20-*)
61115fb4814Smrg		basic_machine=rs6000-bull
61215fb4814Smrg		os=-bosx
61315fb4814Smrg		;;
61415fb4814Smrg	dpx2* | dpx2*-bull)
61515fb4814Smrg		basic_machine=m68k-bull
61615fb4814Smrg		os=-sysv3
61715fb4814Smrg		;;
61815fb4814Smrg	ebmon29k)
61915fb4814Smrg		basic_machine=a29k-amd
62015fb4814Smrg		os=-ebmon
62115fb4814Smrg		;;
62215fb4814Smrg	elxsi)
62315fb4814Smrg		basic_machine=elxsi-elxsi
62415fb4814Smrg		os=-bsd
62515fb4814Smrg		;;
62615fb4814Smrg	encore | umax | mmax)
62715fb4814Smrg		basic_machine=ns32k-encore
62815fb4814Smrg		;;
62915fb4814Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63015fb4814Smrg		basic_machine=m68k-ericsson
63115fb4814Smrg		os=-ose
63215fb4814Smrg		;;
63315fb4814Smrg	fx2800)
63415fb4814Smrg		basic_machine=i860-alliant
63515fb4814Smrg		;;
63615fb4814Smrg	genix)
63715fb4814Smrg		basic_machine=ns32k-ns
63815fb4814Smrg		;;
63915fb4814Smrg	gmicro)
64015fb4814Smrg		basic_machine=tron-gmicro
64115fb4814Smrg		os=-sysv
64215fb4814Smrg		;;
64315fb4814Smrg	go32)
64415fb4814Smrg		basic_machine=i386-pc
64515fb4814Smrg		os=-go32
64615fb4814Smrg		;;
64715fb4814Smrg	h3050r* | hiux*)
64815fb4814Smrg		basic_machine=hppa1.1-hitachi
64915fb4814Smrg		os=-hiuxwe2
65015fb4814Smrg		;;
65115fb4814Smrg	h8300hms)
65215fb4814Smrg		basic_machine=h8300-hitachi
65315fb4814Smrg		os=-hms
65415fb4814Smrg		;;
65515fb4814Smrg	h8300xray)
65615fb4814Smrg		basic_machine=h8300-hitachi
65715fb4814Smrg		os=-xray
65815fb4814Smrg		;;
65915fb4814Smrg	h8500hms)
66015fb4814Smrg		basic_machine=h8500-hitachi
66115fb4814Smrg		os=-hms
66215fb4814Smrg		;;
66315fb4814Smrg	harris)
66415fb4814Smrg		basic_machine=m88k-harris
66515fb4814Smrg		os=-sysv3
66615fb4814Smrg		;;
66715fb4814Smrg	hp300-*)
66815fb4814Smrg		basic_machine=m68k-hp
66915fb4814Smrg		;;
67015fb4814Smrg	hp300bsd)
67115fb4814Smrg		basic_machine=m68k-hp
67215fb4814Smrg		os=-bsd
67315fb4814Smrg		;;
67415fb4814Smrg	hp300hpux)
67515fb4814Smrg		basic_machine=m68k-hp
67615fb4814Smrg		os=-hpux
67715fb4814Smrg		;;
67815fb4814Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
67915fb4814Smrg		basic_machine=hppa1.0-hp
68015fb4814Smrg		;;
68115fb4814Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68215fb4814Smrg		basic_machine=m68000-hp
68315fb4814Smrg		;;
68415fb4814Smrg	hp9k3[2-9][0-9])
68515fb4814Smrg		basic_machine=m68k-hp
68615fb4814Smrg		;;
68715fb4814Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68815fb4814Smrg		basic_machine=hppa1.0-hp
68915fb4814Smrg		;;
69015fb4814Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69115fb4814Smrg		basic_machine=hppa1.1-hp
69215fb4814Smrg		;;
69315fb4814Smrg	hp9k78[0-9] | hp78[0-9])
69415fb4814Smrg		# FIXME: really hppa2.0-hp
69515fb4814Smrg		basic_machine=hppa1.1-hp
69615fb4814Smrg		;;
69715fb4814Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69815fb4814Smrg		# FIXME: really hppa2.0-hp
69915fb4814Smrg		basic_machine=hppa1.1-hp
70015fb4814Smrg		;;
70115fb4814Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70215fb4814Smrg		basic_machine=hppa1.1-hp
70315fb4814Smrg		;;
70415fb4814Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70515fb4814Smrg		basic_machine=hppa1.0-hp
70615fb4814Smrg		;;
70715fb4814Smrg	hppa-next)
70815fb4814Smrg		os=-nextstep3
70915fb4814Smrg		;;
71015fb4814Smrg	hppaosf)
71115fb4814Smrg		basic_machine=hppa1.1-hp
71215fb4814Smrg		os=-osf
71315fb4814Smrg		;;
71415fb4814Smrg	hppro)
71515fb4814Smrg		basic_machine=hppa1.1-hp
71615fb4814Smrg		os=-proelf
71715fb4814Smrg		;;
71815fb4814Smrg	i370-ibm* | ibm*)
71915fb4814Smrg		basic_machine=i370-ibm
72015fb4814Smrg		;;
72115fb4814Smrg	i*86v32)
72215fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72315fb4814Smrg		os=-sysv32
72415fb4814Smrg		;;
72515fb4814Smrg	i*86v4*)
72615fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72715fb4814Smrg		os=-sysv4
72815fb4814Smrg		;;
72915fb4814Smrg	i*86v)
73015fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73115fb4814Smrg		os=-sysv
73215fb4814Smrg		;;
73315fb4814Smrg	i*86sol2)
73415fb4814Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73515fb4814Smrg		os=-solaris2
73615fb4814Smrg		;;
73715fb4814Smrg	i386mach)
73815fb4814Smrg		basic_machine=i386-mach
73915fb4814Smrg		os=-mach
74015fb4814Smrg		;;
74115fb4814Smrg	i386-vsta | vsta)
74215fb4814Smrg		basic_machine=i386-unknown
74315fb4814Smrg		os=-vsta
74415fb4814Smrg		;;
74515fb4814Smrg	iris | iris4d)
74615fb4814Smrg		basic_machine=mips-sgi
74715fb4814Smrg		case $os in
74815fb4814Smrg		    -irix*)
74915fb4814Smrg			;;
75015fb4814Smrg		    *)
75115fb4814Smrg			os=-irix4
75215fb4814Smrg			;;
75315fb4814Smrg		esac
75415fb4814Smrg		;;
75515fb4814Smrg	isi68 | isi)
75615fb4814Smrg		basic_machine=m68k-isi
75715fb4814Smrg		os=-sysv
75815fb4814Smrg		;;
759b4d38c65Smrg	m68knommu)
760b4d38c65Smrg		basic_machine=m68k-unknown
761b4d38c65Smrg		os=-linux
762b4d38c65Smrg		;;
763b4d38c65Smrg	m68knommu-*)
764b4d38c65Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
765b4d38c65Smrg		os=-linux
766b4d38c65Smrg		;;
76715fb4814Smrg	m88k-omron*)
76815fb4814Smrg		basic_machine=m88k-omron
76915fb4814Smrg		;;
77015fb4814Smrg	magnum | m3230)
77115fb4814Smrg		basic_machine=mips-mips
77215fb4814Smrg		os=-sysv
77315fb4814Smrg		;;
77415fb4814Smrg	merlin)
77515fb4814Smrg		basic_machine=ns32k-utek
77615fb4814Smrg		os=-sysv
77715fb4814Smrg		;;
778b4d38c65Smrg	microblaze)
779b4d38c65Smrg		basic_machine=microblaze-xilinx
780b4d38c65Smrg		;;
78115fb4814Smrg	mingw32)
78215fb4814Smrg		basic_machine=i386-pc
78315fb4814Smrg		os=-mingw32
78415fb4814Smrg		;;
785de78e416Smrg	mingw32ce)
786de78e416Smrg		basic_machine=arm-unknown
787de78e416Smrg		os=-mingw32ce
788de78e416Smrg		;;
78915fb4814Smrg	miniframe)
79015fb4814Smrg		basic_machine=m68000-convergent
79115fb4814Smrg		;;
79215fb4814Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79315fb4814Smrg		basic_machine=m68k-atari
79415fb4814Smrg		os=-mint
79515fb4814Smrg		;;
79615fb4814Smrg	mips3*-*)
79715fb4814Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
79815fb4814Smrg		;;
79915fb4814Smrg	mips3*)
80015fb4814Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80115fb4814Smrg		;;
80215fb4814Smrg	monitor)
80315fb4814Smrg		basic_machine=m68k-rom68k
80415fb4814Smrg		os=-coff
80515fb4814Smrg		;;
80615fb4814Smrg	morphos)
80715fb4814Smrg		basic_machine=powerpc-unknown
80815fb4814Smrg		os=-morphos
80915fb4814Smrg		;;
81015fb4814Smrg	msdos)
81115fb4814Smrg		basic_machine=i386-pc
81215fb4814Smrg		os=-msdos
81315fb4814Smrg		;;
814de78e416Smrg	ms1-*)
815de78e416Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
816de78e416Smrg		;;
817b4d38c65Smrg	msys)
818b4d38c65Smrg		basic_machine=i386-pc
819b4d38c65Smrg		os=-msys
820b4d38c65Smrg		;;
82115fb4814Smrg	mvs)
82215fb4814Smrg		basic_machine=i370-ibm
82315fb4814Smrg		os=-mvs
82415fb4814Smrg		;;
825b4d38c65Smrg	nacl)
826b4d38c65Smrg		basic_machine=le32-unknown
827b4d38c65Smrg		os=-nacl
828b4d38c65Smrg		;;
82915fb4814Smrg	ncr3000)
83015fb4814Smrg		basic_machine=i486-ncr
83115fb4814Smrg		os=-sysv4
83215fb4814Smrg		;;
83315fb4814Smrg	netbsd386)
83415fb4814Smrg		basic_machine=i386-unknown
83515fb4814Smrg		os=-netbsd
83615fb4814Smrg		;;
83715fb4814Smrg	netwinder)
83815fb4814Smrg		basic_machine=armv4l-rebel
83915fb4814Smrg		os=-linux
84015fb4814Smrg		;;
84115fb4814Smrg	news | news700 | news800 | news900)
84215fb4814Smrg		basic_machine=m68k-sony
84315fb4814Smrg		os=-newsos
84415fb4814Smrg		;;
84515fb4814Smrg	news1000)
84615fb4814Smrg		basic_machine=m68030-sony
84715fb4814Smrg		os=-newsos
84815fb4814Smrg		;;
84915fb4814Smrg	news-3600 | risc-news)
85015fb4814Smrg		basic_machine=mips-sony
85115fb4814Smrg		os=-newsos
85215fb4814Smrg		;;
85315fb4814Smrg	necv70)
85415fb4814Smrg		basic_machine=v70-nec
85515fb4814Smrg		os=-sysv
85615fb4814Smrg		;;
85715fb4814Smrg	next | m*-next )
85815fb4814Smrg		basic_machine=m68k-next
85915fb4814Smrg		case $os in
86015fb4814Smrg		    -nextstep* )
86115fb4814Smrg			;;
86215fb4814Smrg		    -ns2*)
86315fb4814Smrg		      os=-nextstep2
86415fb4814Smrg			;;
86515fb4814Smrg		    *)
86615fb4814Smrg		      os=-nextstep3
86715fb4814Smrg			;;
86815fb4814Smrg		esac
86915fb4814Smrg		;;
87015fb4814Smrg	nh3000)
87115fb4814Smrg		basic_machine=m68k-harris
87215fb4814Smrg		os=-cxux
87315fb4814Smrg		;;
87415fb4814Smrg	nh[45]000)
87515fb4814Smrg		basic_machine=m88k-harris
87615fb4814Smrg		os=-cxux
87715fb4814Smrg		;;
87815fb4814Smrg	nindy960)
87915fb4814Smrg		basic_machine=i960-intel
88015fb4814Smrg		os=-nindy
88115fb4814Smrg		;;
88215fb4814Smrg	mon960)
88315fb4814Smrg		basic_machine=i960-intel
88415fb4814Smrg		os=-mon960
88515fb4814Smrg		;;
88615fb4814Smrg	nonstopux)
88715fb4814Smrg		basic_machine=mips-compaq
88815fb4814Smrg		os=-nonstopux
88915fb4814Smrg		;;
89015fb4814Smrg	np1)
89115fb4814Smrg		basic_machine=np1-gould
89215fb4814Smrg		;;
893b4d38c65Smrg	neo-tandem)
894b4d38c65Smrg		basic_machine=neo-tandem
895b4d38c65Smrg		;;
896b4d38c65Smrg	nse-tandem)
897b4d38c65Smrg		basic_machine=nse-tandem
898b4d38c65Smrg		;;
89915fb4814Smrg	nsr-tandem)
90015fb4814Smrg		basic_machine=nsr-tandem
90115fb4814Smrg		;;
90215fb4814Smrg	op50n-* | op60c-*)
90315fb4814Smrg		basic_machine=hppa1.1-oki
90415fb4814Smrg		os=-proelf
90515fb4814Smrg		;;
906de78e416Smrg	openrisc | openrisc-*)
90715fb4814Smrg		basic_machine=or32-unknown
908de78e416Smrg		;;
909de78e416Smrg	os400)
910de78e416Smrg		basic_machine=powerpc-ibm
911de78e416Smrg		os=-os400
91215fb4814Smrg		;;
91315fb4814Smrg	OSE68000 | ose68000)
91415fb4814Smrg		basic_machine=m68000-ericsson
91515fb4814Smrg		os=-ose
91615fb4814Smrg		;;
91715fb4814Smrg	os68k)
91815fb4814Smrg		basic_machine=m68k-none
91915fb4814Smrg		os=-os68k
92015fb4814Smrg		;;
92115fb4814Smrg	pa-hitachi)
92215fb4814Smrg		basic_machine=hppa1.1-hitachi
92315fb4814Smrg		os=-hiuxwe2
92415fb4814Smrg		;;
92515fb4814Smrg	paragon)
92615fb4814Smrg		basic_machine=i860-intel
92715fb4814Smrg		os=-osf
92815fb4814Smrg		;;
929b4d38c65Smrg	parisc)
930b4d38c65Smrg		basic_machine=hppa-unknown
931b4d38c65Smrg		os=-linux
932b4d38c65Smrg		;;
933b4d38c65Smrg	parisc-*)
934b4d38c65Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
935b4d38c65Smrg		os=-linux
936b4d38c65Smrg		;;
93715fb4814Smrg	pbd)
93815fb4814Smrg		basic_machine=sparc-tti
93915fb4814Smrg		;;
94015fb4814Smrg	pbb)
94115fb4814Smrg		basic_machine=m68k-tti
94215fb4814Smrg		;;
94315fb4814Smrg	pc532 | pc532-*)
94415fb4814Smrg		basic_machine=ns32k-pc532
94515fb4814Smrg		;;
946de78e416Smrg	pc98)
947de78e416Smrg		basic_machine=i386-pc
948de78e416Smrg		;;
949de78e416Smrg	pc98-*)
950de78e416Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
951de78e416Smrg		;;
95215fb4814Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95315fb4814Smrg		basic_machine=i586-pc
95415fb4814Smrg		;;
95515fb4814Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95615fb4814Smrg		basic_machine=i686-pc
95715fb4814Smrg		;;
95815fb4814Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
95915fb4814Smrg		basic_machine=i686-pc
96015fb4814Smrg		;;
96115fb4814Smrg	pentium4)
96215fb4814Smrg		basic_machine=i786-pc
96315fb4814Smrg		;;
96415fb4814Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96515fb4814Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96615fb4814Smrg		;;
96715fb4814Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
96815fb4814Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
96915fb4814Smrg		;;
97015fb4814Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97115fb4814Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97215fb4814Smrg		;;
97315fb4814Smrg	pentium4-*)
97415fb4814Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97515fb4814Smrg		;;
97615fb4814Smrg	pn)
97715fb4814Smrg		basic_machine=pn-gould
97815fb4814Smrg		;;
97915fb4814Smrg	power)	basic_machine=power-ibm
98015fb4814Smrg		;;
981b4d38c65Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98215fb4814Smrg		;;
983b4d38c65Smrg	ppc-* | ppcbe-*)
984b4d38c65Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98515fb4814Smrg		;;
98615fb4814Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98715fb4814Smrg		basic_machine=powerpcle-unknown
98815fb4814Smrg		;;
98915fb4814Smrg	ppcle-* | powerpclittle-*)
99015fb4814Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99115fb4814Smrg		;;
99215fb4814Smrg	ppc64)	basic_machine=powerpc64-unknown
99315fb4814Smrg		;;
99415fb4814Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99515fb4814Smrg		;;
99615fb4814Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99715fb4814Smrg		basic_machine=powerpc64le-unknown
99815fb4814Smrg		;;
99915fb4814Smrg	ppc64le-* | powerpc64little-*)
100015fb4814Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100115fb4814Smrg		;;
100215fb4814Smrg	ps2)
100315fb4814Smrg		basic_machine=i386-ibm
100415fb4814Smrg		;;
100515fb4814Smrg	pw32)
100615fb4814Smrg		basic_machine=i586-unknown
100715fb4814Smrg		os=-pw32
100815fb4814Smrg		;;
1009de78e416Smrg	rdos)
1010de78e416Smrg		basic_machine=i386-pc
1011de78e416Smrg		os=-rdos
1012de78e416Smrg		;;
101315fb4814Smrg	rom68k)
101415fb4814Smrg		basic_machine=m68k-rom68k
101515fb4814Smrg		os=-coff
101615fb4814Smrg		;;
101715fb4814Smrg	rm[46]00)
101815fb4814Smrg		basic_machine=mips-siemens
101915fb4814Smrg		;;
102015fb4814Smrg	rtpc | rtpc-*)
102115fb4814Smrg		basic_machine=romp-ibm
102215fb4814Smrg		;;
1023de78e416Smrg	s390 | s390-*)
1024de78e416Smrg		basic_machine=s390-ibm
1025de78e416Smrg		;;
1026de78e416Smrg	s390x | s390x-*)
1027de78e416Smrg		basic_machine=s390x-ibm
1028de78e416Smrg		;;
102915fb4814Smrg	sa29200)
103015fb4814Smrg		basic_machine=a29k-amd
103115fb4814Smrg		os=-udi
103215fb4814Smrg		;;
103315fb4814Smrg	sb1)
103415fb4814Smrg		basic_machine=mipsisa64sb1-unknown
103515fb4814Smrg		;;
103615fb4814Smrg	sb1el)
103715fb4814Smrg		basic_machine=mipsisa64sb1el-unknown
103815fb4814Smrg		;;
1039de78e416Smrg	sde)
1040de78e416Smrg		basic_machine=mipsisa32-sde
1041de78e416Smrg		os=-elf
1042de78e416Smrg		;;
104315fb4814Smrg	sei)
104415fb4814Smrg		basic_machine=mips-sei
104515fb4814Smrg		os=-seiux
104615fb4814Smrg		;;
104715fb4814Smrg	sequent)
104815fb4814Smrg		basic_machine=i386-sequent
104915fb4814Smrg		;;
105015fb4814Smrg	sh)
105115fb4814Smrg		basic_machine=sh-hitachi
105215fb4814Smrg		os=-hms
105315fb4814Smrg		;;
1054de78e416Smrg	sh5el)
1055de78e416Smrg		basic_machine=sh5le-unknown
1056de78e416Smrg		;;
105715fb4814Smrg	sh64)
105815fb4814Smrg		basic_machine=sh64-unknown
105915fb4814Smrg		;;
106015fb4814Smrg	sparclite-wrs | simso-wrs)
106115fb4814Smrg		basic_machine=sparclite-wrs
106215fb4814Smrg		os=-vxworks
106315fb4814Smrg		;;
106415fb4814Smrg	sps7)
106515fb4814Smrg		basic_machine=m68k-bull
106615fb4814Smrg		os=-sysv2
106715fb4814Smrg		;;
106815fb4814Smrg	spur)
106915fb4814Smrg		basic_machine=spur-unknown
107015fb4814Smrg		;;
107115fb4814Smrg	st2000)
107215fb4814Smrg		basic_machine=m68k-tandem
107315fb4814Smrg		;;
107415fb4814Smrg	stratus)
107515fb4814Smrg		basic_machine=i860-stratus
107615fb4814Smrg		os=-sysv4
107715fb4814Smrg		;;
1078b4d38c65Smrg	strongarm-* | thumb-*)
1079b4d38c65Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1080b4d38c65Smrg		;;
108115fb4814Smrg	sun2)
108215fb4814Smrg		basic_machine=m68000-sun
108315fb4814Smrg		;;
108415fb4814Smrg	sun2os3)
108515fb4814Smrg		basic_machine=m68000-sun
108615fb4814Smrg		os=-sunos3
108715fb4814Smrg		;;
108815fb4814Smrg	sun2os4)
108915fb4814Smrg		basic_machine=m68000-sun
109015fb4814Smrg		os=-sunos4
109115fb4814Smrg		;;
109215fb4814Smrg	sun3os3)
109315fb4814Smrg		basic_machine=m68k-sun
109415fb4814Smrg		os=-sunos3
109515fb4814Smrg		;;
109615fb4814Smrg	sun3os4)
109715fb4814Smrg		basic_machine=m68k-sun
109815fb4814Smrg		os=-sunos4
109915fb4814Smrg		;;
110015fb4814Smrg	sun4os3)
110115fb4814Smrg		basic_machine=sparc-sun
110215fb4814Smrg		os=-sunos3
110315fb4814Smrg		;;
110415fb4814Smrg	sun4os4)
110515fb4814Smrg		basic_machine=sparc-sun
110615fb4814Smrg		os=-sunos4
110715fb4814Smrg		;;
110815fb4814Smrg	sun4sol2)
110915fb4814Smrg		basic_machine=sparc-sun
111015fb4814Smrg		os=-solaris2
111115fb4814Smrg		;;
111215fb4814Smrg	sun3 | sun3-*)
111315fb4814Smrg		basic_machine=m68k-sun
111415fb4814Smrg		;;
111515fb4814Smrg	sun4)
111615fb4814Smrg		basic_machine=sparc-sun
111715fb4814Smrg		;;
111815fb4814Smrg	sun386 | sun386i | roadrunner)
111915fb4814Smrg		basic_machine=i386-sun
112015fb4814Smrg		;;
112115fb4814Smrg	sv1)
112215fb4814Smrg		basic_machine=sv1-cray
112315fb4814Smrg		os=-unicos
112415fb4814Smrg		;;
112515fb4814Smrg	symmetry)
112615fb4814Smrg		basic_machine=i386-sequent
112715fb4814Smrg		os=-dynix
112815fb4814Smrg		;;
112915fb4814Smrg	t3e)
113015fb4814Smrg		basic_machine=alphaev5-cray
113115fb4814Smrg		os=-unicos
113215fb4814Smrg		;;
113315fb4814Smrg	t90)
113415fb4814Smrg		basic_machine=t90-cray
113515fb4814Smrg		os=-unicos
113615fb4814Smrg		;;
1137b4d38c65Smrg	tile*)
1138b4d38c65Smrg		basic_machine=$basic_machine-unknown
1139b4d38c65Smrg		os=-linux-gnu
114015fb4814Smrg		;;
114115fb4814Smrg	tx39)
114215fb4814Smrg		basic_machine=mipstx39-unknown
114315fb4814Smrg		;;
114415fb4814Smrg	tx39el)
114515fb4814Smrg		basic_machine=mipstx39el-unknown
114615fb4814Smrg		;;
114715fb4814Smrg	toad1)
114815fb4814Smrg		basic_machine=pdp10-xkl
114915fb4814Smrg		os=-tops20
115015fb4814Smrg		;;
115115fb4814Smrg	tower | tower-32)
115215fb4814Smrg		basic_machine=m68k-ncr
115315fb4814Smrg		;;
1154de78e416Smrg	tpf)
1155de78e416Smrg		basic_machine=s390x-ibm
1156de78e416Smrg		os=-tpf
1157de78e416Smrg		;;
115815fb4814Smrg	udi29k)
115915fb4814Smrg		basic_machine=a29k-amd
116015fb4814Smrg		os=-udi
116115fb4814Smrg		;;
116215fb4814Smrg	ultra3)
116315fb4814Smrg		basic_machine=a29k-nyu
116415fb4814Smrg		os=-sym1
116515fb4814Smrg		;;
116615fb4814Smrg	v810 | necv810)
116715fb4814Smrg		basic_machine=v810-nec
116815fb4814Smrg		os=-none
116915fb4814Smrg		;;
117015fb4814Smrg	vaxv)
117115fb4814Smrg		basic_machine=vax-dec
117215fb4814Smrg		os=-sysv
117315fb4814Smrg		;;
117415fb4814Smrg	vms)
117515fb4814Smrg		basic_machine=vax-dec
117615fb4814Smrg		os=-vms
117715fb4814Smrg		;;
117815fb4814Smrg	vpp*|vx|vx-*)
117915fb4814Smrg		basic_machine=f301-fujitsu
118015fb4814Smrg		;;
118115fb4814Smrg	vxworks960)
118215fb4814Smrg		basic_machine=i960-wrs
118315fb4814Smrg		os=-vxworks
118415fb4814Smrg		;;
118515fb4814Smrg	vxworks68)
118615fb4814Smrg		basic_machine=m68k-wrs
118715fb4814Smrg		os=-vxworks
118815fb4814Smrg		;;
118915fb4814Smrg	vxworks29k)
119015fb4814Smrg		basic_machine=a29k-wrs
119115fb4814Smrg		os=-vxworks
119215fb4814Smrg		;;
119315fb4814Smrg	w65*)
119415fb4814Smrg		basic_machine=w65-wdc
119515fb4814Smrg		os=-none
119615fb4814Smrg		;;
119715fb4814Smrg	w89k-*)
119815fb4814Smrg		basic_machine=hppa1.1-winbond
119915fb4814Smrg		os=-proelf
120015fb4814Smrg		;;
1201de78e416Smrg	xbox)
1202de78e416Smrg		basic_machine=i686-pc
1203de78e416Smrg		os=-mingw32
1204de78e416Smrg		;;
120515fb4814Smrg	xps | xps100)
120615fb4814Smrg		basic_machine=xps100-honeywell
120715fb4814Smrg		;;
1208b4d38c65Smrg	xscale-* | xscalee[bl]-*)
1209b4d38c65Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1210b4d38c65Smrg		;;
121115fb4814Smrg	ymp)
121215fb4814Smrg		basic_machine=ymp-cray
121315fb4814Smrg		os=-unicos
121415fb4814Smrg		;;
121515fb4814Smrg	z8k-*-coff)
121615fb4814Smrg		basic_machine=z8k-unknown
121715fb4814Smrg		os=-sim
121815fb4814Smrg		;;
1219b4d38c65Smrg	z80-*-coff)
1220b4d38c65Smrg		basic_machine=z80-unknown
1221b4d38c65Smrg		os=-sim
1222b4d38c65Smrg		;;
122315fb4814Smrg	none)
122415fb4814Smrg		basic_machine=none-none
122515fb4814Smrg		os=-none
122615fb4814Smrg		;;
122715fb4814Smrg
122815fb4814Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
122915fb4814Smrg# some cases the only manufacturer, in others, it is the most popular.
123015fb4814Smrg	w89k)
123115fb4814Smrg		basic_machine=hppa1.1-winbond
123215fb4814Smrg		;;
123315fb4814Smrg	op50n)
123415fb4814Smrg		basic_machine=hppa1.1-oki
123515fb4814Smrg		;;
123615fb4814Smrg	op60c)
123715fb4814Smrg		basic_machine=hppa1.1-oki
123815fb4814Smrg		;;
123915fb4814Smrg	romp)
124015fb4814Smrg		basic_machine=romp-ibm
124115fb4814Smrg		;;
1242de78e416Smrg	mmix)
1243de78e416Smrg		basic_machine=mmix-knuth
1244de78e416Smrg		;;
124515fb4814Smrg	rs6000)
124615fb4814Smrg		basic_machine=rs6000-ibm
124715fb4814Smrg		;;
124815fb4814Smrg	vax)
124915fb4814Smrg		basic_machine=vax-dec
125015fb4814Smrg		;;
125115fb4814Smrg	pdp10)
125215fb4814Smrg		# there are many clones, so DEC is not a safe bet
125315fb4814Smrg		basic_machine=pdp10-unknown
125415fb4814Smrg		;;
125515fb4814Smrg	pdp11)
125615fb4814Smrg		basic_machine=pdp11-dec
125715fb4814Smrg		;;
125815fb4814Smrg	we32k)
125915fb4814Smrg		basic_machine=we32k-att
126015fb4814Smrg		;;
1261b4d38c65Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126215fb4814Smrg		basic_machine=sh-unknown
126315fb4814Smrg		;;
1264de78e416Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126515fb4814Smrg		basic_machine=sparc-sun
126615fb4814Smrg		;;
126715fb4814Smrg	cydra)
126815fb4814Smrg		basic_machine=cydra-cydrome
126915fb4814Smrg		;;
127015fb4814Smrg	orion)
127115fb4814Smrg		basic_machine=orion-highlevel
127215fb4814Smrg		;;
127315fb4814Smrg	orion105)
127415fb4814Smrg		basic_machine=clipper-highlevel
127515fb4814Smrg		;;
127615fb4814Smrg	mac | mpw | mac-mpw)
127715fb4814Smrg		basic_machine=m68k-apple
127815fb4814Smrg		;;
127915fb4814Smrg	pmac | pmac-mpw)
128015fb4814Smrg		basic_machine=powerpc-apple
128115fb4814Smrg		;;
128215fb4814Smrg	*-unknown)
128315fb4814Smrg		# Make sure to match an already-canonicalized machine name.
128415fb4814Smrg		;;
128515fb4814Smrg	*)
128615fb4814Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128715fb4814Smrg		exit 1
128815fb4814Smrg		;;
128915fb4814Smrgesac
129015fb4814Smrg
129115fb4814Smrg# Here we canonicalize certain aliases for manufacturers.
129215fb4814Smrgcase $basic_machine in
129315fb4814Smrg	*-digital*)
129415fb4814Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129515fb4814Smrg		;;
129615fb4814Smrg	*-commodore*)
129715fb4814Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
129815fb4814Smrg		;;
129915fb4814Smrg	*)
130015fb4814Smrg		;;
130115fb4814Smrgesac
130215fb4814Smrg
130315fb4814Smrg# Decode manufacturer-specific aliases for certain operating systems.
130415fb4814Smrg
130515fb4814Smrgif [ x"$os" != x"" ]
130615fb4814Smrgthen
130715fb4814Smrgcase $os in
1308b4d38c65Smrg	# First match some system type aliases
1309b4d38c65Smrg	# that might get confused with valid system types.
131015fb4814Smrg	# -solaris* is a basic system type, with this one exception.
1311b4d38c65Smrg	-auroraux)
1312b4d38c65Smrg		os=-auroraux
1313b4d38c65Smrg		;;
131415fb4814Smrg	-solaris1 | -solaris1.*)
131515fb4814Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131615fb4814Smrg		;;
131715fb4814Smrg	-solaris)
131815fb4814Smrg		os=-solaris2
131915fb4814Smrg		;;
132015fb4814Smrg	-svr4*)
132115fb4814Smrg		os=-sysv4
132215fb4814Smrg		;;
132315fb4814Smrg	-unixware*)
132415fb4814Smrg		os=-sysv4.2uw
132515fb4814Smrg		;;
132615fb4814Smrg	-gnu/linux*)
132715fb4814Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
132815fb4814Smrg		;;
132915fb4814Smrg	# First accept the basic system types.
133015fb4814Smrg	# The portable systems comes first.
133115fb4814Smrg	# Each alternative MUST END IN A *, to match a version number.
133215fb4814Smrg	# -sysv* is not here because it comes later, after sysvr4.
133315fb4814Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334b4d38c65Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335b4d38c65Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336b4d38c65Smrg	      | -sym* | -kopensolaris* \
133715fb4814Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338b4d38c65Smrg	      | -aos* | -aros* \
133915fb4814Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134015fb4814Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1341de78e416Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1342de78e416Smrg	      | -openbsd* | -solidbsd* \
1343de78e416Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1344de78e416Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134515fb4814Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134615fb4814Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347b4d38c65Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1348b4d38c65Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1349b4d38c65Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1350b4d38c65Smrg	      | -linux-newlib* | -linux-uclibc* \
1351de78e416Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135215fb4814Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135315fb4814Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135415fb4814Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135515fb4814Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135615fb4814Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1357de78e416Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358b4d38c65Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
135915fb4814Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136015fb4814Smrg		;;
136115fb4814Smrg	-qnx*)
136215fb4814Smrg		case $basic_machine in
136315fb4814Smrg		    x86-* | i*86-*)
136415fb4814Smrg			;;
136515fb4814Smrg		    *)
136615fb4814Smrg			os=-nto$os
136715fb4814Smrg			;;
136815fb4814Smrg		esac
136915fb4814Smrg		;;
137015fb4814Smrg	-nto-qnx*)
137115fb4814Smrg		;;
137215fb4814Smrg	-nto*)
137315fb4814Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137415fb4814Smrg		;;
137515fb4814Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1376de78e416Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137715fb4814Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
137815fb4814Smrg		;;
137915fb4814Smrg	-mac*)
138015fb4814Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138115fb4814Smrg		;;
1382de78e416Smrg	-linux-dietlibc)
1383de78e416Smrg		os=-linux-dietlibc
1384de78e416Smrg		;;
138515fb4814Smrg	-linux*)
138615fb4814Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138715fb4814Smrg		;;
138815fb4814Smrg	-sunos5*)
138915fb4814Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139015fb4814Smrg		;;
139115fb4814Smrg	-sunos6*)
139215fb4814Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139315fb4814Smrg		;;
139415fb4814Smrg	-opened*)
139515fb4814Smrg		os=-openedition
139615fb4814Smrg		;;
1397b4d38c65Smrg	-os400*)
1398de78e416Smrg		os=-os400
1399de78e416Smrg		;;
140015fb4814Smrg	-wince*)
140115fb4814Smrg		os=-wince
140215fb4814Smrg		;;
140315fb4814Smrg	-osfrose*)
140415fb4814Smrg		os=-osfrose
140515fb4814Smrg		;;
140615fb4814Smrg	-osf*)
140715fb4814Smrg		os=-osf
140815fb4814Smrg		;;
140915fb4814Smrg	-utek*)
141015fb4814Smrg		os=-bsd
141115fb4814Smrg		;;
141215fb4814Smrg	-dynix*)
141315fb4814Smrg		os=-bsd
141415fb4814Smrg		;;
141515fb4814Smrg	-acis*)
141615fb4814Smrg		os=-aos
141715fb4814Smrg		;;
141815fb4814Smrg	-atheos*)
141915fb4814Smrg		os=-atheos
142015fb4814Smrg		;;
1421de78e416Smrg	-syllable*)
1422de78e416Smrg		os=-syllable
1423de78e416Smrg		;;
142415fb4814Smrg	-386bsd)
142515fb4814Smrg		os=-bsd
142615fb4814Smrg		;;
142715fb4814Smrg	-ctix* | -uts*)
142815fb4814Smrg		os=-sysv
142915fb4814Smrg		;;
143015fb4814Smrg	-nova*)
143115fb4814Smrg		os=-rtmk-nova
143215fb4814Smrg		;;
143315fb4814Smrg	-ns2 )
143415fb4814Smrg		os=-nextstep2
143515fb4814Smrg		;;
143615fb4814Smrg	-nsk*)
143715fb4814Smrg		os=-nsk
143815fb4814Smrg		;;
143915fb4814Smrg	# Preserve the version number of sinix5.
144015fb4814Smrg	-sinix5.*)
144115fb4814Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144215fb4814Smrg		;;
144315fb4814Smrg	-sinix*)
144415fb4814Smrg		os=-sysv4
144515fb4814Smrg		;;
1446b4d38c65Smrg	-tpf*)
1447de78e416Smrg		os=-tpf
1448de78e416Smrg		;;
144915fb4814Smrg	-triton*)
145015fb4814Smrg		os=-sysv3
145115fb4814Smrg		;;
145215fb4814Smrg	-oss*)
145315fb4814Smrg		os=-sysv3
145415fb4814Smrg		;;
145515fb4814Smrg	-svr4)
145615fb4814Smrg		os=-sysv4
145715fb4814Smrg		;;
145815fb4814Smrg	-svr3)
145915fb4814Smrg		os=-sysv3
146015fb4814Smrg		;;
146115fb4814Smrg	-sysvr4)
146215fb4814Smrg		os=-sysv4
146315fb4814Smrg		;;
146415fb4814Smrg	# This must come after -sysvr4.
146515fb4814Smrg	-sysv*)
146615fb4814Smrg		;;
146715fb4814Smrg	-ose*)
146815fb4814Smrg		os=-ose
146915fb4814Smrg		;;
147015fb4814Smrg	-es1800*)
147115fb4814Smrg		os=-ose
147215fb4814Smrg		;;
147315fb4814Smrg	-xenix)
147415fb4814Smrg		os=-xenix
147515fb4814Smrg		;;
147615fb4814Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147715fb4814Smrg		os=-mint
147815fb4814Smrg		;;
147915fb4814Smrg	-aros*)
148015fb4814Smrg		os=-aros
148115fb4814Smrg		;;
148215fb4814Smrg	-kaos*)
148315fb4814Smrg		os=-kaos
148415fb4814Smrg		;;
1485de78e416Smrg	-zvmoe)
1486de78e416Smrg		os=-zvmoe
1487de78e416Smrg		;;
1488b4d38c65Smrg	-dicos*)
1489b4d38c65Smrg		os=-dicos
1490b4d38c65Smrg		;;
1491b4d38c65Smrg	-nacl*)
1492b4d38c65Smrg		;;
149315fb4814Smrg	-none)
149415fb4814Smrg		;;
149515fb4814Smrg	*)
149615fb4814Smrg		# Get rid of the `-' at the beginning of $os.
149715fb4814Smrg		os=`echo $os | sed 's/[^-]*-//'`
149815fb4814Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
149915fb4814Smrg		exit 1
150015fb4814Smrg		;;
150115fb4814Smrgesac
150215fb4814Smrgelse
150315fb4814Smrg
150415fb4814Smrg# Here we handle the default operating systems that come with various machines.
150515fb4814Smrg# The value should be what the vendor currently ships out the door with their
150615fb4814Smrg# machine or put another way, the most popular os provided with the machine.
150715fb4814Smrg
150815fb4814Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
150915fb4814Smrg# "-sun"), then you have to tell the case statement up towards the top
151015fb4814Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151115fb4814Smrg# will signal an error saying that MANUFACTURER isn't an operating
151215fb4814Smrg# system, and we'll never get to this point.
151315fb4814Smrg
151415fb4814Smrgcase $basic_machine in
1515b4d38c65Smrg	score-*)
1516de78e416Smrg		os=-elf
1517de78e416Smrg		;;
1518b4d38c65Smrg	spu-*)
1519de78e416Smrg		os=-elf
1520de78e416Smrg		;;
152115fb4814Smrg	*-acorn)
152215fb4814Smrg		os=-riscix1.2
152315fb4814Smrg		;;
152415fb4814Smrg	arm*-rebel)
152515fb4814Smrg		os=-linux
152615fb4814Smrg		;;
152715fb4814Smrg	arm*-semi)
152815fb4814Smrg		os=-aout
152915fb4814Smrg		;;
1530b4d38c65Smrg	c4x-* | tic4x-*)
1531b4d38c65Smrg		os=-coff
1532b4d38c65Smrg		;;
1533b4d38c65Smrg	tic54x-*)
1534b4d38c65Smrg		os=-coff
1535b4d38c65Smrg		;;
1536b4d38c65Smrg	tic55x-*)
1537b4d38c65Smrg		os=-coff
1538b4d38c65Smrg		;;
1539b4d38c65Smrg	tic6x-*)
1540b4d38c65Smrg		os=-coff
154115fb4814Smrg		;;
154215fb4814Smrg	# This must come before the *-dec entry.
154315fb4814Smrg	pdp10-*)
154415fb4814Smrg		os=-tops20
154515fb4814Smrg		;;
154615fb4814Smrg	pdp11-*)
154715fb4814Smrg		os=-none
154815fb4814Smrg		;;
154915fb4814Smrg	*-dec | vax-*)
155015fb4814Smrg		os=-ultrix4.2
155115fb4814Smrg		;;
155215fb4814Smrg	m68*-apollo)
155315fb4814Smrg		os=-domain
155415fb4814Smrg		;;
155515fb4814Smrg	i386-sun)
155615fb4814Smrg		os=-sunos4.0.2
155715fb4814Smrg		;;
155815fb4814Smrg	m68000-sun)
155915fb4814Smrg		os=-sunos3
156015fb4814Smrg		;;
156115fb4814Smrg	m68*-cisco)
156215fb4814Smrg		os=-aout
156315fb4814Smrg		;;
1564b4d38c65Smrg	mep-*)
1565de78e416Smrg		os=-elf
1566de78e416Smrg		;;
156715fb4814Smrg	mips*-cisco)
156815fb4814Smrg		os=-elf
156915fb4814Smrg		;;
157015fb4814Smrg	mips*-*)
157115fb4814Smrg		os=-elf
157215fb4814Smrg		;;
157315fb4814Smrg	or32-*)
157415fb4814Smrg		os=-coff
157515fb4814Smrg		;;
157615fb4814Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
157715fb4814Smrg		os=-sysv3
157815fb4814Smrg		;;
157915fb4814Smrg	sparc-* | *-sun)
158015fb4814Smrg		os=-sunos4.1.1
158115fb4814Smrg		;;
158215fb4814Smrg	*-be)
158315fb4814Smrg		os=-beos
158415fb4814Smrg		;;
1585de78e416Smrg	*-haiku)
1586de78e416Smrg		os=-haiku
1587de78e416Smrg		;;
158815fb4814Smrg	*-ibm)
158915fb4814Smrg		os=-aix
159015fb4814Smrg		;;
1591b4d38c65Smrg	*-knuth)
1592de78e416Smrg		os=-mmixware
1593de78e416Smrg		;;
159415fb4814Smrg	*-wec)
159515fb4814Smrg		os=-proelf
159615fb4814Smrg		;;
159715fb4814Smrg	*-winbond)
159815fb4814Smrg		os=-proelf
159915fb4814Smrg		;;
160015fb4814Smrg	*-oki)
160115fb4814Smrg		os=-proelf
160215fb4814Smrg		;;
160315fb4814Smrg	*-hp)
160415fb4814Smrg		os=-hpux
160515fb4814Smrg		;;
160615fb4814Smrg	*-hitachi)
160715fb4814Smrg		os=-hiux
160815fb4814Smrg		;;
160915fb4814Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161015fb4814Smrg		os=-sysv
161115fb4814Smrg		;;
161215fb4814Smrg	*-cbm)
161315fb4814Smrg		os=-amigaos
161415fb4814Smrg		;;
161515fb4814Smrg	*-dg)
161615fb4814Smrg		os=-dgux
161715fb4814Smrg		;;
161815fb4814Smrg	*-dolphin)
161915fb4814Smrg		os=-sysv3
162015fb4814Smrg		;;
162115fb4814Smrg	m68k-ccur)
162215fb4814Smrg		os=-rtu
162315fb4814Smrg		;;
162415fb4814Smrg	m88k-omron*)
162515fb4814Smrg		os=-luna
162615fb4814Smrg		;;
162715fb4814Smrg	*-next )
162815fb4814Smrg		os=-nextstep
162915fb4814Smrg		;;
163015fb4814Smrg	*-sequent)
163115fb4814Smrg		os=-ptx
163215fb4814Smrg		;;
163315fb4814Smrg	*-crds)
163415fb4814Smrg		os=-unos
163515fb4814Smrg		;;
163615fb4814Smrg	*-ns)
163715fb4814Smrg		os=-genix
163815fb4814Smrg		;;
163915fb4814Smrg	i370-*)
164015fb4814Smrg		os=-mvs
164115fb4814Smrg		;;
164215fb4814Smrg	*-next)
164315fb4814Smrg		os=-nextstep3
164415fb4814Smrg		;;
164515fb4814Smrg	*-gould)
164615fb4814Smrg		os=-sysv
164715fb4814Smrg		;;
164815fb4814Smrg	*-highlevel)
164915fb4814Smrg		os=-bsd
165015fb4814Smrg		;;
165115fb4814Smrg	*-encore)
165215fb4814Smrg		os=-bsd
165315fb4814Smrg		;;
165415fb4814Smrg	*-sgi)
165515fb4814Smrg		os=-irix
165615fb4814Smrg		;;
165715fb4814Smrg	*-siemens)
165815fb4814Smrg		os=-sysv4
165915fb4814Smrg		;;
166015fb4814Smrg	*-masscomp)
166115fb4814Smrg		os=-rtu
166215fb4814Smrg		;;
166315fb4814Smrg	f30[01]-fujitsu | f700-fujitsu)
166415fb4814Smrg		os=-uxpv
166515fb4814Smrg		;;
166615fb4814Smrg	*-rom68k)
166715fb4814Smrg		os=-coff
166815fb4814Smrg		;;
166915fb4814Smrg	*-*bug)
167015fb4814Smrg		os=-coff
167115fb4814Smrg		;;
167215fb4814Smrg	*-apple)
167315fb4814Smrg		os=-macos
167415fb4814Smrg		;;
167515fb4814Smrg	*-atari*)
167615fb4814Smrg		os=-mint
167715fb4814Smrg		;;
167815fb4814Smrg	*)
167915fb4814Smrg		os=-none
168015fb4814Smrg		;;
168115fb4814Smrgesac
168215fb4814Smrgfi
168315fb4814Smrg
168415fb4814Smrg# Here we handle the case where we know the os, and the CPU type, but not the
168515fb4814Smrg# manufacturer.  We pick the logical manufacturer.
168615fb4814Smrgvendor=unknown
168715fb4814Smrgcase $basic_machine in
168815fb4814Smrg	*-unknown)
168915fb4814Smrg		case $os in
169015fb4814Smrg			-riscix*)
169115fb4814Smrg				vendor=acorn
169215fb4814Smrg				;;
169315fb4814Smrg			-sunos*)
169415fb4814Smrg				vendor=sun
169515fb4814Smrg				;;
1696b4d38c65Smrg			-cnk*|-aix*)
169715fb4814Smrg				vendor=ibm
169815fb4814Smrg				;;
169915fb4814Smrg			-beos*)
170015fb4814Smrg				vendor=be
170115fb4814Smrg				;;
170215fb4814Smrg			-hpux*)
170315fb4814Smrg				vendor=hp
170415fb4814Smrg				;;
170515fb4814Smrg			-mpeix*)
170615fb4814Smrg				vendor=hp
170715fb4814Smrg				;;
170815fb4814Smrg			-hiux*)
170915fb4814Smrg				vendor=hitachi
171015fb4814Smrg				;;
171115fb4814Smrg			-unos*)
171215fb4814Smrg				vendor=crds
171315fb4814Smrg				;;
171415fb4814Smrg			-dgux*)
171515fb4814Smrg				vendor=dg
171615fb4814Smrg				;;
171715fb4814Smrg			-luna*)
171815fb4814Smrg				vendor=omron
171915fb4814Smrg				;;
172015fb4814Smrg			-genix*)
172115fb4814Smrg				vendor=ns
172215fb4814Smrg				;;
172315fb4814Smrg			-mvs* | -opened*)
172415fb4814Smrg				vendor=ibm
172515fb4814Smrg				;;
1726de78e416Smrg			-os400*)
1727de78e416Smrg				vendor=ibm
1728de78e416Smrg				;;
172915fb4814Smrg			-ptx*)
173015fb4814Smrg				vendor=sequent
173115fb4814Smrg				;;
1732de78e416Smrg			-tpf*)
1733de78e416Smrg				vendor=ibm
1734de78e416Smrg				;;
173515fb4814Smrg			-vxsim* | -vxworks* | -windiss*)
173615fb4814Smrg				vendor=wrs
173715fb4814Smrg				;;
173815fb4814Smrg			-aux*)
173915fb4814Smrg				vendor=apple
174015fb4814Smrg				;;
174115fb4814Smrg			-hms*)
174215fb4814Smrg				vendor=hitachi
174315fb4814Smrg				;;
174415fb4814Smrg			-mpw* | -macos*)
174515fb4814Smrg				vendor=apple
174615fb4814Smrg				;;
174715fb4814Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
174815fb4814Smrg				vendor=atari
174915fb4814Smrg				;;
175015fb4814Smrg			-vos*)
175115fb4814Smrg				vendor=stratus
175215fb4814Smrg				;;
175315fb4814Smrg		esac
175415fb4814Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
175515fb4814Smrg		;;
175615fb4814Smrgesac
175715fb4814Smrg
175815fb4814Smrgecho $basic_machine$os
1759de78e416Smrgexit
176015fb4814Smrg
176115fb4814Smrg# Local variables:
176215fb4814Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176315fb4814Smrg# time-stamp-start: "timestamp='"
176415fb4814Smrg# time-stamp-format: "%:y-%02m-%02d"
176515fb4814Smrg# time-stamp-end: "'"
176615fb4814Smrg# End:
1767