config.sub revision e35d4d8e
132b578d3Smrg#! /bin/sh
232b578d3Smrg# Configuration validation subroutine script.
332b578d3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4e35d4d8eSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5e35d4d8eSmrg#   2011 Free Software Foundation, Inc.
632b578d3Smrg
7e35d4d8eSmrgtimestamp='2011-11-11'
832b578d3Smrg
932b578d3Smrg# This file is (in principle) common to ALL GNU software.
1032b578d3Smrg# The presence of a machine in this file suggests that SOME GNU software
1132b578d3Smrg# can handle that machine.  It does not imply ALL GNU software can.
1232b578d3Smrg#
1332b578d3Smrg# This file is free software; you can redistribute it and/or modify
1432b578d3Smrg# it under the terms of the GNU General Public License as published by
1532b578d3Smrg# the Free Software Foundation; either version 2 of the License, or
1632b578d3Smrg# (at your option) any later version.
1732b578d3Smrg#
1832b578d3Smrg# This program is distributed in the hope that it will be useful,
1932b578d3Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2032b578d3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2132b578d3Smrg# GNU General Public License for more details.
2232b578d3Smrg#
2332b578d3Smrg# You should have received a copy of the GNU General Public License
2432b578d3Smrg# along with this program; if not, write to the Free Software
2532b578d3Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2632b578d3Smrg# 02110-1301, USA.
2732b578d3Smrg#
2832b578d3Smrg# As a special exception to the GNU General Public License, if you
2932b578d3Smrg# distribute this file as part of a program that contains a
3032b578d3Smrg# configuration script generated by Autoconf, you may include it under
3132b578d3Smrg# the same distribution terms that you use for the rest of that program.
3232b578d3Smrg
3332b578d3Smrg
3432b578d3Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
351b12faf6Smrg# diff and a properly formatted GNU ChangeLog entry.
3632b578d3Smrg#
3732b578d3Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3832b578d3Smrg# Supply the specified configuration type as an argument.
3932b578d3Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4032b578d3Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4132b578d3Smrg
421b12faf6Smrg# You can get the latest version of this script from:
431b12faf6Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
441b12faf6Smrg
4532b578d3Smrg# This file is supposed to be the same for all GNU packages
4632b578d3Smrg# and recognize all the CPU types, system types and aliases
4732b578d3Smrg# that are meaningful with *any* GNU software.
4832b578d3Smrg# Each package is responsible for reporting which valid configurations
4932b578d3Smrg# it does not support.  The user should be able to distinguish
5032b578d3Smrg# a failure to support a valid configuration from a meaningless
5132b578d3Smrg# configuration.
5232b578d3Smrg
5332b578d3Smrg# The goal of this file is to map all the various variations of a given
5432b578d3Smrg# machine specification into a single specification in the form:
5532b578d3Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5632b578d3Smrg# or in some cases, the newer four-part form:
5732b578d3Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5832b578d3Smrg# It is wrong to echo any other type of specification.
5932b578d3Smrg
6032b578d3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6132b578d3Smrg
6232b578d3Smrgusage="\
6332b578d3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6432b578d3Smrg       $0 [OPTION] ALIAS
6532b578d3Smrg
6632b578d3SmrgCanonicalize a configuration name.
6732b578d3Smrg
6832b578d3SmrgOperation modes:
6932b578d3Smrg  -h, --help         print this help, then exit
7032b578d3Smrg  -t, --time-stamp   print date of last modification, then exit
7132b578d3Smrg  -v, --version      print version number, then exit
7232b578d3Smrg
7332b578d3SmrgReport bugs and patches to <config-patches@gnu.org>."
7432b578d3Smrg
7532b578d3Smrgversion="\
7632b578d3SmrgGNU config.sub ($timestamp)
7732b578d3Smrg
781b12faf6SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79e35d4d8eSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
801b12faf6SmrgSoftware Foundation, Inc.
8132b578d3Smrg
8232b578d3SmrgThis is free software; see the source for copying conditions.  There is NO
8332b578d3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8432b578d3Smrg
8532b578d3Smrghelp="
8632b578d3SmrgTry \`$me --help' for more information."
8732b578d3Smrg
8832b578d3Smrg# Parse command line
8932b578d3Smrgwhile test $# -gt 0 ; do
9032b578d3Smrg  case $1 in
9132b578d3Smrg    --time-stamp | --time* | -t )
9232b578d3Smrg       echo "$timestamp" ; exit ;;
9332b578d3Smrg    --version | -v )
9432b578d3Smrg       echo "$version" ; exit ;;
9532b578d3Smrg    --help | --h* | -h )
9632b578d3Smrg       echo "$usage"; exit ;;
9732b578d3Smrg    -- )     # Stop option processing
9832b578d3Smrg       shift; break ;;
9932b578d3Smrg    - )	# Use stdin as input.
10032b578d3Smrg       break ;;
10132b578d3Smrg    -* )
10232b578d3Smrg       echo "$me: invalid option $1$help"
10332b578d3Smrg       exit 1 ;;
10432b578d3Smrg
10532b578d3Smrg    *local*)
10632b578d3Smrg       # First pass through any local machine types.
10732b578d3Smrg       echo $1
10832b578d3Smrg       exit ;;
10932b578d3Smrg
11032b578d3Smrg    * )
11132b578d3Smrg       break ;;
11232b578d3Smrg  esac
11332b578d3Smrgdone
11432b578d3Smrg
11532b578d3Smrgcase $# in
11632b578d3Smrg 0) echo "$me: missing argument$help" >&2
11732b578d3Smrg    exit 1;;
11832b578d3Smrg 1) ;;
11932b578d3Smrg *) echo "$me: too many arguments$help" >&2
12032b578d3Smrg    exit 1;;
12132b578d3Smrgesac
12232b578d3Smrg
12332b578d3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12432b578d3Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12532b578d3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12632b578d3Smrgcase $maybe_os in
127e35d4d8eSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128e35d4d8eSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129e35d4d8eSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1301b12faf6Smrg  kopensolaris*-gnu* | \
13132b578d3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13232b578d3Smrg    os=-$maybe_os
13332b578d3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13432b578d3Smrg    ;;
13532b578d3Smrg  *)
13632b578d3Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13732b578d3Smrg    if [ $basic_machine != $1 ]
13832b578d3Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13932b578d3Smrg    else os=; fi
14032b578d3Smrg    ;;
14132b578d3Smrgesac
14232b578d3Smrg
14332b578d3Smrg### Let's recognize common machines as not being operating systems so
14432b578d3Smrg### that things like config.sub decstation-3100 work.  We also
14532b578d3Smrg### recognize some manufacturers as not being operating systems, so we
14632b578d3Smrg### can provide default operating systems below.
14732b578d3Smrgcase $os in
14832b578d3Smrg	-sun*os*)
14932b578d3Smrg		# Prevent following clause from handling this invalid input.
15032b578d3Smrg		;;
15132b578d3Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15232b578d3Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15332b578d3Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15432b578d3Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15532b578d3Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15632b578d3Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1571b12faf6Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15832b578d3Smrg		os=
15932b578d3Smrg		basic_machine=$1
16032b578d3Smrg		;;
161e35d4d8eSmrg	-bluegene*)
162e35d4d8eSmrg		os=-cnk
1631b12faf6Smrg		;;
16432b578d3Smrg	-sim | -cisco | -oki | -wec | -winbond)
16532b578d3Smrg		os=
16632b578d3Smrg		basic_machine=$1
16732b578d3Smrg		;;
16832b578d3Smrg	-scout)
16932b578d3Smrg		;;
17032b578d3Smrg	-wrs)
17132b578d3Smrg		os=-vxworks
17232b578d3Smrg		basic_machine=$1
17332b578d3Smrg		;;
17432b578d3Smrg	-chorusos*)
17532b578d3Smrg		os=-chorusos
17632b578d3Smrg		basic_machine=$1
17732b578d3Smrg		;;
178e35d4d8eSmrg	-chorusrdb)
179e35d4d8eSmrg		os=-chorusrdb
18032b578d3Smrg		basic_machine=$1
181e35d4d8eSmrg		;;
18232b578d3Smrg	-hiux*)
18332b578d3Smrg		os=-hiuxwe2
18432b578d3Smrg		;;
18532b578d3Smrg	-sco6)
18632b578d3Smrg		os=-sco5v6
18732b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18832b578d3Smrg		;;
18932b578d3Smrg	-sco5)
19032b578d3Smrg		os=-sco3.2v5
19132b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19232b578d3Smrg		;;
19332b578d3Smrg	-sco4)
19432b578d3Smrg		os=-sco3.2v4
19532b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19632b578d3Smrg		;;
19732b578d3Smrg	-sco3.2.[4-9]*)
19832b578d3Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19932b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20032b578d3Smrg		;;
20132b578d3Smrg	-sco3.2v[4-9]*)
20232b578d3Smrg		# Don't forget version if it is 3.2v4 or newer.
20332b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20432b578d3Smrg		;;
20532b578d3Smrg	-sco5v6*)
20632b578d3Smrg		# Don't forget version if it is 3.2v4 or newer.
20732b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20832b578d3Smrg		;;
20932b578d3Smrg	-sco*)
21032b578d3Smrg		os=-sco3.2v2
21132b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21232b578d3Smrg		;;
21332b578d3Smrg	-udk*)
21432b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21532b578d3Smrg		;;
21632b578d3Smrg	-isc)
21732b578d3Smrg		os=-isc2.2
21832b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21932b578d3Smrg		;;
22032b578d3Smrg	-clix*)
22132b578d3Smrg		basic_machine=clipper-intergraph
22232b578d3Smrg		;;
22332b578d3Smrg	-isc*)
22432b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22532b578d3Smrg		;;
22632b578d3Smrg	-lynx*)
22732b578d3Smrg		os=-lynxos
22832b578d3Smrg		;;
22932b578d3Smrg	-ptx*)
23032b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23132b578d3Smrg		;;
23232b578d3Smrg	-windowsnt*)
23332b578d3Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23432b578d3Smrg		;;
23532b578d3Smrg	-psos*)
23632b578d3Smrg		os=-psos
23732b578d3Smrg		;;
23832b578d3Smrg	-mint | -mint[0-9]*)
23932b578d3Smrg		basic_machine=m68k-atari
24032b578d3Smrg		os=-mint
24132b578d3Smrg		;;
24232b578d3Smrgesac
24332b578d3Smrg
24432b578d3Smrg# Decode aliases for certain CPU-COMPANY combinations.
24532b578d3Smrgcase $basic_machine in
24632b578d3Smrg	# Recognize the basic CPU types without company name.
24732b578d3Smrg	# Some are omitted here because they have special meanings below.
24832b578d3Smrg	1750a | 580 \
24932b578d3Smrg	| a29k \
25032b578d3Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25132b578d3Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25232b578d3Smrg	| am33_2.0 \
25332b578d3Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254e35d4d8eSmrg        | be32 | be64 \
25532b578d3Smrg	| bfin \
25632b578d3Smrg	| c4x | clipper \
25732b578d3Smrg	| d10v | d30v | dlx | dsp16xx \
258e35d4d8eSmrg	| epiphany \
25932b578d3Smrg	| fido | fr30 | frv \
26032b578d3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261e35d4d8eSmrg	| hexagon \
26232b578d3Smrg	| i370 | i860 | i960 | ia64 \
26332b578d3Smrg	| ip2k | iq2000 \
264e35d4d8eSmrg	| le32 | le64 \
2651b12faf6Smrg	| lm32 \
26632b578d3Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2671b12faf6Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26832b578d3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26932b578d3Smrg	| mips16 \
27032b578d3Smrg	| mips64 | mips64el \
2711b12faf6Smrg	| mips64octeon | mips64octeonel \
2722a51b5beSmrg	| mips64orion | mips64orionel \
2731b12faf6Smrg	| mips64r5900 | mips64r5900el \
2741b12faf6Smrg	| mips64vr | mips64vrel \
27532b578d3Smrg	| mips64vr4100 | mips64vr4100el \
27632b578d3Smrg	| mips64vr4300 | mips64vr4300el \
27732b578d3Smrg	| mips64vr5000 | mips64vr5000el \
27832b578d3Smrg	| mips64vr5900 | mips64vr5900el \
27932b578d3Smrg	| mipsisa32 | mipsisa32el \
28032b578d3Smrg	| mipsisa32r2 | mipsisa32r2el \
28132b578d3Smrg	| mipsisa64 | mipsisa64el \
28232b578d3Smrg	| mipsisa64r2 | mipsisa64r2el \
28332b578d3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28432b578d3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28532b578d3Smrg	| mipstx39 | mipstx39el \
28632b578d3Smrg	| mn10200 | mn10300 \
2871b12faf6Smrg	| moxie \
28832b578d3Smrg	| mt \
28932b578d3Smrg	| msp430 \
290e35d4d8eSmrg	| nds32 | nds32le | nds32be \
29132b578d3Smrg	| nios | nios2 \
29232b578d3Smrg	| ns16k | ns32k \
293e35d4d8eSmrg	| open8 \
29432b578d3Smrg	| or32 \
29532b578d3Smrg	| pdp10 | pdp11 | pj | pjl \
296e35d4d8eSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29732b578d3Smrg	| pyramid \
298e35d4d8eSmrg	| rl78 | rx \
29932b578d3Smrg	| score \
3001b12faf6Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30132b578d3Smrg	| sh64 | sh64le \
30232b578d3Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30332b578d3Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304e35d4d8eSmrg	| spu \
305e35d4d8eSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3061b12faf6Smrg	| ubicom32 \
307e35d4d8eSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30832b578d3Smrg	| we32k \
309e35d4d8eSmrg	| x86 | xc16x | xstormy16 | xtensa \
3101b12faf6Smrg	| z8k | z80)
31132b578d3Smrg		basic_machine=$basic_machine-unknown
31232b578d3Smrg		;;
313e35d4d8eSmrg	c54x)
314e35d4d8eSmrg		basic_machine=tic54x-unknown
315e35d4d8eSmrg		;;
316e35d4d8eSmrg	c55x)
317e35d4d8eSmrg		basic_machine=tic55x-unknown
318e35d4d8eSmrg		;;
319e35d4d8eSmrg	c6x)
320e35d4d8eSmrg		basic_machine=tic6x-unknown
321e35d4d8eSmrg		;;
3221b12faf6Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32332b578d3Smrg		# Motorola 68HC11/12.
32432b578d3Smrg		basic_machine=$basic_machine-unknown
32532b578d3Smrg		os=-none
32632b578d3Smrg		;;
32732b578d3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32832b578d3Smrg		;;
32932b578d3Smrg	ms1)
33032b578d3Smrg		basic_machine=mt-unknown
33132b578d3Smrg		;;
33232b578d3Smrg
333e35d4d8eSmrg	strongarm | thumb | xscale)
334e35d4d8eSmrg		basic_machine=arm-unknown
335e35d4d8eSmrg		;;
336e35d4d8eSmrg
337e35d4d8eSmrg	xscaleeb)
338e35d4d8eSmrg		basic_machine=armeb-unknown
339e35d4d8eSmrg		;;
340e35d4d8eSmrg
341e35d4d8eSmrg	xscaleel)
342e35d4d8eSmrg		basic_machine=armel-unknown
343e35d4d8eSmrg		;;
344e35d4d8eSmrg
34532b578d3Smrg	# We use `pc' rather than `unknown'
34632b578d3Smrg	# because (1) that's what they normally are, and
34732b578d3Smrg	# (2) the word "unknown" tends to confuse beginning users.
34832b578d3Smrg	i*86 | x86_64)
34932b578d3Smrg	  basic_machine=$basic_machine-pc
35032b578d3Smrg	  ;;
35132b578d3Smrg	# Object if more than one company name word.
35232b578d3Smrg	*-*-*)
35332b578d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35432b578d3Smrg		exit 1
35532b578d3Smrg		;;
35632b578d3Smrg	# Recognize the basic CPU types with company name.
35732b578d3Smrg	580-* \
35832b578d3Smrg	| a29k-* \
35932b578d3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36032b578d3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36132b578d3Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36232b578d3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36332b578d3Smrg	| avr-* | avr32-* \
364e35d4d8eSmrg	| be32-* | be64-* \
36532b578d3Smrg	| bfin-* | bs2000-* \
366e35d4d8eSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36732b578d3Smrg	| clipper-* | craynv-* | cydra-* \
36832b578d3Smrg	| d10v-* | d30v-* | dlx-* \
36932b578d3Smrg	| elxsi-* \
37032b578d3Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37132b578d3Smrg	| h8300-* | h8500-* \
37232b578d3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
373e35d4d8eSmrg	| hexagon-* \
37432b578d3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
37532b578d3Smrg	| ip2k-* | iq2000-* \
376e35d4d8eSmrg	| le32-* | le64-* \
3771b12faf6Smrg	| lm32-* \
37832b578d3Smrg	| m32c-* | m32r-* | m32rle-* \
37932b578d3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3801b12faf6Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38132b578d3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38232b578d3Smrg	| mips16-* \
38332b578d3Smrg	| mips64-* | mips64el-* \
3841b12faf6Smrg	| mips64octeon-* | mips64octeonel-* \
3852a51b5beSmrg	| mips64orion-* | mips64orionel-* \
3861b12faf6Smrg	| mips64r5900-* | mips64r5900el-* \
3871b12faf6Smrg	| mips64vr-* | mips64vrel-* \
38832b578d3Smrg	| mips64vr4100-* | mips64vr4100el-* \
38932b578d3Smrg	| mips64vr4300-* | mips64vr4300el-* \
39032b578d3Smrg	| mips64vr5000-* | mips64vr5000el-* \
39132b578d3Smrg	| mips64vr5900-* | mips64vr5900el-* \
39232b578d3Smrg	| mipsisa32-* | mipsisa32el-* \
39332b578d3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39432b578d3Smrg	| mipsisa64-* | mipsisa64el-* \
39532b578d3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39632b578d3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39732b578d3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39832b578d3Smrg	| mipstx39-* | mipstx39el-* \
39932b578d3Smrg	| mmix-* \
40032b578d3Smrg	| mt-* \
40132b578d3Smrg	| msp430-* \
402e35d4d8eSmrg	| nds32-* | nds32le-* | nds32be-* \
40332b578d3Smrg	| nios-* | nios2-* \
40432b578d3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
405e35d4d8eSmrg	| open8-* \
40632b578d3Smrg	| orion-* \
40732b578d3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
408e35d4d8eSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40932b578d3Smrg	| pyramid-* \
410e35d4d8eSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4111b12faf6Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41232b578d3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41332b578d3Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41432b578d3Smrg	| sparclite-* \
415e35d4d8eSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
416e35d4d8eSmrg	| tahoe-* \
4172a51b5beSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
418e35d4d8eSmrg	| tile*-* \
41932b578d3Smrg	| tron-* \
4201b12faf6Smrg	| ubicom32-* \
421e35d4d8eSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
422e35d4d8eSmrg	| vax-* \
42332b578d3Smrg	| we32k-* \
424e35d4d8eSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425d31dbc53Smrg	| xstormy16-* | xtensa*-* \
42632b578d3Smrg	| ymp-* \
4271b12faf6Smrg	| z8k-* | z80-*)
428d31dbc53Smrg		;;
429d31dbc53Smrg	# Recognize the basic CPU types without company name, with glob match.
430d31dbc53Smrg	xtensa*)
431d31dbc53Smrg		basic_machine=$basic_machine-unknown
43232b578d3Smrg		;;
43332b578d3Smrg	# Recognize the various machine names and aliases which stand
43432b578d3Smrg	# for a CPU type and a company and sometimes even an OS.
43532b578d3Smrg	386bsd)
43632b578d3Smrg		basic_machine=i386-unknown
43732b578d3Smrg		os=-bsd
43832b578d3Smrg		;;
43932b578d3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
44032b578d3Smrg		basic_machine=m68000-att
44132b578d3Smrg		;;
44232b578d3Smrg	3b*)
44332b578d3Smrg		basic_machine=we32k-att
44432b578d3Smrg		;;
44532b578d3Smrg	a29khif)
44632b578d3Smrg		basic_machine=a29k-amd
44732b578d3Smrg		os=-udi
44832b578d3Smrg		;;
449e35d4d8eSmrg	abacus)
45032b578d3Smrg		basic_machine=abacus-unknown
45132b578d3Smrg		;;
45232b578d3Smrg	adobe68k)
45332b578d3Smrg		basic_machine=m68010-adobe
45432b578d3Smrg		os=-scout
45532b578d3Smrg		;;
45632b578d3Smrg	alliant | fx80)
45732b578d3Smrg		basic_machine=fx80-alliant
45832b578d3Smrg		;;
45932b578d3Smrg	altos | altos3068)
46032b578d3Smrg		basic_machine=m68k-altos
46132b578d3Smrg		;;
46232b578d3Smrg	am29k)
46332b578d3Smrg		basic_machine=a29k-none
46432b578d3Smrg		os=-bsd
46532b578d3Smrg		;;
46632b578d3Smrg	amd64)
46732b578d3Smrg		basic_machine=x86_64-pc
46832b578d3Smrg		;;
46932b578d3Smrg	amd64-*)
47032b578d3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47132b578d3Smrg		;;
47232b578d3Smrg	amdahl)
47332b578d3Smrg		basic_machine=580-amdahl
47432b578d3Smrg		os=-sysv
47532b578d3Smrg		;;
47632b578d3Smrg	amiga | amiga-*)
47732b578d3Smrg		basic_machine=m68k-unknown
47832b578d3Smrg		;;
47932b578d3Smrg	amigaos | amigados)
48032b578d3Smrg		basic_machine=m68k-unknown
48132b578d3Smrg		os=-amigaos
48232b578d3Smrg		;;
48332b578d3Smrg	amigaunix | amix)
48432b578d3Smrg		basic_machine=m68k-unknown
48532b578d3Smrg		os=-sysv4
48632b578d3Smrg		;;
48732b578d3Smrg	apollo68)
48832b578d3Smrg		basic_machine=m68k-apollo
48932b578d3Smrg		os=-sysv
49032b578d3Smrg		;;
49132b578d3Smrg	apollo68bsd)
49232b578d3Smrg		basic_machine=m68k-apollo
49332b578d3Smrg		os=-bsd
49432b578d3Smrg		;;
4951b12faf6Smrg	aros)
4961b12faf6Smrg		basic_machine=i386-pc
4971b12faf6Smrg		os=-aros
4981b12faf6Smrg		;;
49932b578d3Smrg	aux)
50032b578d3Smrg		basic_machine=m68k-apple
50132b578d3Smrg		os=-aux
50232b578d3Smrg		;;
50332b578d3Smrg	balance)
50432b578d3Smrg		basic_machine=ns32k-sequent
50532b578d3Smrg		os=-dynix
50632b578d3Smrg		;;
507d31dbc53Smrg	blackfin)
508d31dbc53Smrg		basic_machine=bfin-unknown
509d31dbc53Smrg		os=-linux
510d31dbc53Smrg		;;
511d31dbc53Smrg	blackfin-*)
512d31dbc53Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513d31dbc53Smrg		os=-linux
514d31dbc53Smrg		;;
5151b12faf6Smrg	bluegene*)
5161b12faf6Smrg		basic_machine=powerpc-ibm
5171b12faf6Smrg		os=-cnk
5181b12faf6Smrg		;;
519e35d4d8eSmrg	c54x-*)
520e35d4d8eSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
521e35d4d8eSmrg		;;
522e35d4d8eSmrg	c55x-*)
523e35d4d8eSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
524e35d4d8eSmrg		;;
525e35d4d8eSmrg	c6x-*)
526e35d4d8eSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
527e35d4d8eSmrg		;;
52832b578d3Smrg	c90)
52932b578d3Smrg		basic_machine=c90-cray
53032b578d3Smrg		os=-unicos
53132b578d3Smrg		;;
532e35d4d8eSmrg	cegcc)
5331b12faf6Smrg		basic_machine=arm-unknown
5341b12faf6Smrg		os=-cegcc
5351b12faf6Smrg		;;
53632b578d3Smrg	convex-c1)
53732b578d3Smrg		basic_machine=c1-convex
53832b578d3Smrg		os=-bsd
53932b578d3Smrg		;;
54032b578d3Smrg	convex-c2)
54132b578d3Smrg		basic_machine=c2-convex
54232b578d3Smrg		os=-bsd
54332b578d3Smrg		;;
54432b578d3Smrg	convex-c32)
54532b578d3Smrg		basic_machine=c32-convex
54632b578d3Smrg		os=-bsd
54732b578d3Smrg		;;
54832b578d3Smrg	convex-c34)
54932b578d3Smrg		basic_machine=c34-convex
55032b578d3Smrg		os=-bsd
55132b578d3Smrg		;;
55232b578d3Smrg	convex-c38)
55332b578d3Smrg		basic_machine=c38-convex
55432b578d3Smrg		os=-bsd
55532b578d3Smrg		;;
55632b578d3Smrg	cray | j90)
55732b578d3Smrg		basic_machine=j90-cray
55832b578d3Smrg		os=-unicos
55932b578d3Smrg		;;
56032b578d3Smrg	craynv)
56132b578d3Smrg		basic_machine=craynv-cray
56232b578d3Smrg		os=-unicosmp
56332b578d3Smrg		;;
564e35d4d8eSmrg	cr16 | cr16-*)
565d31dbc53Smrg		basic_machine=cr16-unknown
56632b578d3Smrg		os=-elf
56732b578d3Smrg		;;
56832b578d3Smrg	crds | unos)
56932b578d3Smrg		basic_machine=m68k-crds
57032b578d3Smrg		;;
57132b578d3Smrg	crisv32 | crisv32-* | etraxfs*)
57232b578d3Smrg		basic_machine=crisv32-axis
57332b578d3Smrg		;;
57432b578d3Smrg	cris | cris-* | etrax*)
57532b578d3Smrg		basic_machine=cris-axis
57632b578d3Smrg		;;
57732b578d3Smrg	crx)
57832b578d3Smrg		basic_machine=crx-unknown
57932b578d3Smrg		os=-elf
58032b578d3Smrg		;;
58132b578d3Smrg	da30 | da30-*)
58232b578d3Smrg		basic_machine=m68k-da30
58332b578d3Smrg		;;
58432b578d3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58532b578d3Smrg		basic_machine=mips-dec
58632b578d3Smrg		;;
58732b578d3Smrg	decsystem10* | dec10*)
58832b578d3Smrg		basic_machine=pdp10-dec
58932b578d3Smrg		os=-tops10
59032b578d3Smrg		;;
59132b578d3Smrg	decsystem20* | dec20*)
59232b578d3Smrg		basic_machine=pdp10-dec
59332b578d3Smrg		os=-tops20
59432b578d3Smrg		;;
59532b578d3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59632b578d3Smrg	      | 3300-motorola | delta-motorola)
59732b578d3Smrg		basic_machine=m68k-motorola
59832b578d3Smrg		;;
59932b578d3Smrg	delta88)
60032b578d3Smrg		basic_machine=m88k-motorola
60132b578d3Smrg		os=-sysv3
60232b578d3Smrg		;;
6031b12faf6Smrg	dicos)
6041b12faf6Smrg		basic_machine=i686-pc
6051b12faf6Smrg		os=-dicos
6061b12faf6Smrg		;;
60732b578d3Smrg	djgpp)
60832b578d3Smrg		basic_machine=i586-pc
60932b578d3Smrg		os=-msdosdjgpp
61032b578d3Smrg		;;
61132b578d3Smrg	dpx20 | dpx20-*)
61232b578d3Smrg		basic_machine=rs6000-bull
61332b578d3Smrg		os=-bosx
61432b578d3Smrg		;;
61532b578d3Smrg	dpx2* | dpx2*-bull)
61632b578d3Smrg		basic_machine=m68k-bull
61732b578d3Smrg		os=-sysv3
61832b578d3Smrg		;;
61932b578d3Smrg	ebmon29k)
62032b578d3Smrg		basic_machine=a29k-amd
62132b578d3Smrg		os=-ebmon
62232b578d3Smrg		;;
62332b578d3Smrg	elxsi)
62432b578d3Smrg		basic_machine=elxsi-elxsi
62532b578d3Smrg		os=-bsd
62632b578d3Smrg		;;
62732b578d3Smrg	encore | umax | mmax)
62832b578d3Smrg		basic_machine=ns32k-encore
62932b578d3Smrg		;;
63032b578d3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63132b578d3Smrg		basic_machine=m68k-ericsson
63232b578d3Smrg		os=-ose
63332b578d3Smrg		;;
63432b578d3Smrg	fx2800)
63532b578d3Smrg		basic_machine=i860-alliant
63632b578d3Smrg		;;
63732b578d3Smrg	genix)
63832b578d3Smrg		basic_machine=ns32k-ns
63932b578d3Smrg		;;
64032b578d3Smrg	gmicro)
64132b578d3Smrg		basic_machine=tron-gmicro
64232b578d3Smrg		os=-sysv
64332b578d3Smrg		;;
64432b578d3Smrg	go32)
64532b578d3Smrg		basic_machine=i386-pc
64632b578d3Smrg		os=-go32
64732b578d3Smrg		;;
64832b578d3Smrg	h3050r* | hiux*)
64932b578d3Smrg		basic_machine=hppa1.1-hitachi
65032b578d3Smrg		os=-hiuxwe2
65132b578d3Smrg		;;
65232b578d3Smrg	h8300hms)
65332b578d3Smrg		basic_machine=h8300-hitachi
65432b578d3Smrg		os=-hms
65532b578d3Smrg		;;
65632b578d3Smrg	h8300xray)
65732b578d3Smrg		basic_machine=h8300-hitachi
65832b578d3Smrg		os=-xray
65932b578d3Smrg		;;
66032b578d3Smrg	h8500hms)
66132b578d3Smrg		basic_machine=h8500-hitachi
66232b578d3Smrg		os=-hms
66332b578d3Smrg		;;
66432b578d3Smrg	harris)
66532b578d3Smrg		basic_machine=m88k-harris
66632b578d3Smrg		os=-sysv3
66732b578d3Smrg		;;
66832b578d3Smrg	hp300-*)
66932b578d3Smrg		basic_machine=m68k-hp
67032b578d3Smrg		;;
67132b578d3Smrg	hp300bsd)
67232b578d3Smrg		basic_machine=m68k-hp
67332b578d3Smrg		os=-bsd
67432b578d3Smrg		;;
67532b578d3Smrg	hp300hpux)
67632b578d3Smrg		basic_machine=m68k-hp
67732b578d3Smrg		os=-hpux
67832b578d3Smrg		;;
67932b578d3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
68032b578d3Smrg		basic_machine=hppa1.0-hp
68132b578d3Smrg		;;
68232b578d3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68332b578d3Smrg		basic_machine=m68000-hp
68432b578d3Smrg		;;
68532b578d3Smrg	hp9k3[2-9][0-9])
68632b578d3Smrg		basic_machine=m68k-hp
68732b578d3Smrg		;;
68832b578d3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68932b578d3Smrg		basic_machine=hppa1.0-hp
69032b578d3Smrg		;;
69132b578d3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69232b578d3Smrg		basic_machine=hppa1.1-hp
69332b578d3Smrg		;;
69432b578d3Smrg	hp9k78[0-9] | hp78[0-9])
69532b578d3Smrg		# FIXME: really hppa2.0-hp
69632b578d3Smrg		basic_machine=hppa1.1-hp
69732b578d3Smrg		;;
69832b578d3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69932b578d3Smrg		# FIXME: really hppa2.0-hp
70032b578d3Smrg		basic_machine=hppa1.1-hp
70132b578d3Smrg		;;
70232b578d3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70332b578d3Smrg		basic_machine=hppa1.1-hp
70432b578d3Smrg		;;
70532b578d3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70632b578d3Smrg		basic_machine=hppa1.0-hp
70732b578d3Smrg		;;
70832b578d3Smrg	hppa-next)
70932b578d3Smrg		os=-nextstep3
71032b578d3Smrg		;;
71132b578d3Smrg	hppaosf)
71232b578d3Smrg		basic_machine=hppa1.1-hp
71332b578d3Smrg		os=-osf
71432b578d3Smrg		;;
71532b578d3Smrg	hppro)
71632b578d3Smrg		basic_machine=hppa1.1-hp
71732b578d3Smrg		os=-proelf
71832b578d3Smrg		;;
71932b578d3Smrg	i370-ibm* | ibm*)
72032b578d3Smrg		basic_machine=i370-ibm
72132b578d3Smrg		;;
72232b578d3Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
72332b578d3Smrg	i*86v32)
72432b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72532b578d3Smrg		os=-sysv32
72632b578d3Smrg		;;
72732b578d3Smrg	i*86v4*)
72832b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72932b578d3Smrg		os=-sysv4
73032b578d3Smrg		;;
73132b578d3Smrg	i*86v)
73232b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73332b578d3Smrg		os=-sysv
73432b578d3Smrg		;;
73532b578d3Smrg	i*86sol2)
73632b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73732b578d3Smrg		os=-solaris2
73832b578d3Smrg		;;
73932b578d3Smrg	i386mach)
74032b578d3Smrg		basic_machine=i386-mach
74132b578d3Smrg		os=-mach
74232b578d3Smrg		;;
74332b578d3Smrg	i386-vsta | vsta)
74432b578d3Smrg		basic_machine=i386-unknown
74532b578d3Smrg		os=-vsta
74632b578d3Smrg		;;
74732b578d3Smrg	iris | iris4d)
74832b578d3Smrg		basic_machine=mips-sgi
74932b578d3Smrg		case $os in
75032b578d3Smrg		    -irix*)
75132b578d3Smrg			;;
75232b578d3Smrg		    *)
75332b578d3Smrg			os=-irix4
75432b578d3Smrg			;;
75532b578d3Smrg		esac
75632b578d3Smrg		;;
75732b578d3Smrg	isi68 | isi)
75832b578d3Smrg		basic_machine=m68k-isi
75932b578d3Smrg		os=-sysv
76032b578d3Smrg		;;
761d31dbc53Smrg	m68knommu)
762d31dbc53Smrg		basic_machine=m68k-unknown
763d31dbc53Smrg		os=-linux
764d31dbc53Smrg		;;
765d31dbc53Smrg	m68knommu-*)
766d31dbc53Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767d31dbc53Smrg		os=-linux
768d31dbc53Smrg		;;
76932b578d3Smrg	m88k-omron*)
77032b578d3Smrg		basic_machine=m88k-omron
77132b578d3Smrg		;;
77232b578d3Smrg	magnum | m3230)
77332b578d3Smrg		basic_machine=mips-mips
77432b578d3Smrg		os=-sysv
77532b578d3Smrg		;;
77632b578d3Smrg	merlin)
77732b578d3Smrg		basic_machine=ns32k-utek
77832b578d3Smrg		os=-sysv
77932b578d3Smrg		;;
780e35d4d8eSmrg	microblaze)
7811b12faf6Smrg		basic_machine=microblaze-xilinx
7821b12faf6Smrg		;;
78332b578d3Smrg	mingw32)
78432b578d3Smrg		basic_machine=i386-pc
78532b578d3Smrg		os=-mingw32
78632b578d3Smrg		;;
78732b578d3Smrg	mingw32ce)
78832b578d3Smrg		basic_machine=arm-unknown
78932b578d3Smrg		os=-mingw32ce
79032b578d3Smrg		;;
79132b578d3Smrg	miniframe)
79232b578d3Smrg		basic_machine=m68000-convergent
79332b578d3Smrg		;;
79432b578d3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79532b578d3Smrg		basic_machine=m68k-atari
79632b578d3Smrg		os=-mint
79732b578d3Smrg		;;
79832b578d3Smrg	mips3*-*)
79932b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
80032b578d3Smrg		;;
80132b578d3Smrg	mips3*)
80232b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80332b578d3Smrg		;;
80432b578d3Smrg	monitor)
80532b578d3Smrg		basic_machine=m68k-rom68k
80632b578d3Smrg		os=-coff
80732b578d3Smrg		;;
80832b578d3Smrg	morphos)
80932b578d3Smrg		basic_machine=powerpc-unknown
81032b578d3Smrg		os=-morphos
81132b578d3Smrg		;;
81232b578d3Smrg	msdos)
81332b578d3Smrg		basic_machine=i386-pc
81432b578d3Smrg		os=-msdos
81532b578d3Smrg		;;
81632b578d3Smrg	ms1-*)
81732b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81832b578d3Smrg		;;
819e35d4d8eSmrg	msys)
820e35d4d8eSmrg		basic_machine=i386-pc
821e35d4d8eSmrg		os=-msys
822e35d4d8eSmrg		;;
82332b578d3Smrg	mvs)
82432b578d3Smrg		basic_machine=i370-ibm
82532b578d3Smrg		os=-mvs
82632b578d3Smrg		;;
827e35d4d8eSmrg	nacl)
828e35d4d8eSmrg		basic_machine=le32-unknown
829e35d4d8eSmrg		os=-nacl
830e35d4d8eSmrg		;;
83132b578d3Smrg	ncr3000)
83232b578d3Smrg		basic_machine=i486-ncr
83332b578d3Smrg		os=-sysv4
83432b578d3Smrg		;;
83532b578d3Smrg	netbsd386)
83632b578d3Smrg		basic_machine=i386-unknown
83732b578d3Smrg		os=-netbsd
83832b578d3Smrg		;;
83932b578d3Smrg	netwinder)
84032b578d3Smrg		basic_machine=armv4l-rebel
84132b578d3Smrg		os=-linux
84232b578d3Smrg		;;
84332b578d3Smrg	news | news700 | news800 | news900)
84432b578d3Smrg		basic_machine=m68k-sony
84532b578d3Smrg		os=-newsos
84632b578d3Smrg		;;
84732b578d3Smrg	news1000)
84832b578d3Smrg		basic_machine=m68030-sony
84932b578d3Smrg		os=-newsos
85032b578d3Smrg		;;
85132b578d3Smrg	news-3600 | risc-news)
85232b578d3Smrg		basic_machine=mips-sony
85332b578d3Smrg		os=-newsos
85432b578d3Smrg		;;
85532b578d3Smrg	necv70)
85632b578d3Smrg		basic_machine=v70-nec
85732b578d3Smrg		os=-sysv
85832b578d3Smrg		;;
85932b578d3Smrg	next | m*-next )
86032b578d3Smrg		basic_machine=m68k-next
86132b578d3Smrg		case $os in
86232b578d3Smrg		    -nextstep* )
86332b578d3Smrg			;;
86432b578d3Smrg		    -ns2*)
86532b578d3Smrg		      os=-nextstep2
86632b578d3Smrg			;;
86732b578d3Smrg		    *)
86832b578d3Smrg		      os=-nextstep3
86932b578d3Smrg			;;
87032b578d3Smrg		esac
87132b578d3Smrg		;;
87232b578d3Smrg	nh3000)
87332b578d3Smrg		basic_machine=m68k-harris
87432b578d3Smrg		os=-cxux
87532b578d3Smrg		;;
87632b578d3Smrg	nh[45]000)
87732b578d3Smrg		basic_machine=m88k-harris
87832b578d3Smrg		os=-cxux
87932b578d3Smrg		;;
88032b578d3Smrg	nindy960)
88132b578d3Smrg		basic_machine=i960-intel
88232b578d3Smrg		os=-nindy
88332b578d3Smrg		;;
88432b578d3Smrg	mon960)
88532b578d3Smrg		basic_machine=i960-intel
88632b578d3Smrg		os=-mon960
88732b578d3Smrg		;;
88832b578d3Smrg	nonstopux)
88932b578d3Smrg		basic_machine=mips-compaq
89032b578d3Smrg		os=-nonstopux
89132b578d3Smrg		;;
89232b578d3Smrg	np1)
89332b578d3Smrg		basic_machine=np1-gould
89432b578d3Smrg		;;
895e35d4d8eSmrg	neo-tandem)
896e35d4d8eSmrg		basic_machine=neo-tandem
897e35d4d8eSmrg		;;
898e35d4d8eSmrg	nse-tandem)
899e35d4d8eSmrg		basic_machine=nse-tandem
900e35d4d8eSmrg		;;
90132b578d3Smrg	nsr-tandem)
90232b578d3Smrg		basic_machine=nsr-tandem
90332b578d3Smrg		;;
90432b578d3Smrg	op50n-* | op60c-*)
90532b578d3Smrg		basic_machine=hppa1.1-oki
90632b578d3Smrg		os=-proelf
90732b578d3Smrg		;;
90832b578d3Smrg	openrisc | openrisc-*)
90932b578d3Smrg		basic_machine=or32-unknown
91032b578d3Smrg		;;
91132b578d3Smrg	os400)
91232b578d3Smrg		basic_machine=powerpc-ibm
91332b578d3Smrg		os=-os400
91432b578d3Smrg		;;
91532b578d3Smrg	OSE68000 | ose68000)
91632b578d3Smrg		basic_machine=m68000-ericsson
91732b578d3Smrg		os=-ose
91832b578d3Smrg		;;
91932b578d3Smrg	os68k)
92032b578d3Smrg		basic_machine=m68k-none
92132b578d3Smrg		os=-os68k
92232b578d3Smrg		;;
92332b578d3Smrg	pa-hitachi)
92432b578d3Smrg		basic_machine=hppa1.1-hitachi
92532b578d3Smrg		os=-hiuxwe2
92632b578d3Smrg		;;
92732b578d3Smrg	paragon)
92832b578d3Smrg		basic_machine=i860-intel
92932b578d3Smrg		os=-osf
93032b578d3Smrg		;;
931d31dbc53Smrg	parisc)
932d31dbc53Smrg		basic_machine=hppa-unknown
933d31dbc53Smrg		os=-linux
934d31dbc53Smrg		;;
935d31dbc53Smrg	parisc-*)
936d31dbc53Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937d31dbc53Smrg		os=-linux
938d31dbc53Smrg		;;
93932b578d3Smrg	pbd)
94032b578d3Smrg		basic_machine=sparc-tti
94132b578d3Smrg		;;
94232b578d3Smrg	pbb)
94332b578d3Smrg		basic_machine=m68k-tti
94432b578d3Smrg		;;
94532b578d3Smrg	pc532 | pc532-*)
94632b578d3Smrg		basic_machine=ns32k-pc532
94732b578d3Smrg		;;
94832b578d3Smrg	pc98)
94932b578d3Smrg		basic_machine=i386-pc
95032b578d3Smrg		;;
95132b578d3Smrg	pc98-*)
95232b578d3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95332b578d3Smrg		;;
95432b578d3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95532b578d3Smrg		basic_machine=i586-pc
95632b578d3Smrg		;;
95732b578d3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95832b578d3Smrg		basic_machine=i686-pc
95932b578d3Smrg		;;
96032b578d3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
96132b578d3Smrg		basic_machine=i686-pc
96232b578d3Smrg		;;
96332b578d3Smrg	pentium4)
96432b578d3Smrg		basic_machine=i786-pc
96532b578d3Smrg		;;
96632b578d3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96732b578d3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96832b578d3Smrg		;;
96932b578d3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
97032b578d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97132b578d3Smrg		;;
97232b578d3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97332b578d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97432b578d3Smrg		;;
97532b578d3Smrg	pentium4-*)
97632b578d3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97732b578d3Smrg		;;
97832b578d3Smrg	pn)
97932b578d3Smrg		basic_machine=pn-gould
98032b578d3Smrg		;;
98132b578d3Smrg	power)	basic_machine=power-ibm
98232b578d3Smrg		;;
983e35d4d8eSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98432b578d3Smrg		;;
985e35d4d8eSmrg	ppc-* | ppcbe-*)
986e35d4d8eSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98732b578d3Smrg		;;
98832b578d3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98932b578d3Smrg		basic_machine=powerpcle-unknown
99032b578d3Smrg		;;
99132b578d3Smrg	ppcle-* | powerpclittle-*)
99232b578d3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99332b578d3Smrg		;;
99432b578d3Smrg	ppc64)	basic_machine=powerpc64-unknown
99532b578d3Smrg		;;
99632b578d3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99732b578d3Smrg		;;
99832b578d3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99932b578d3Smrg		basic_machine=powerpc64le-unknown
100032b578d3Smrg		;;
100132b578d3Smrg	ppc64le-* | powerpc64little-*)
100232b578d3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100332b578d3Smrg		;;
100432b578d3Smrg	ps2)
100532b578d3Smrg		basic_machine=i386-ibm
100632b578d3Smrg		;;
100732b578d3Smrg	pw32)
100832b578d3Smrg		basic_machine=i586-unknown
100932b578d3Smrg		os=-pw32
101032b578d3Smrg		;;
101132b578d3Smrg	rdos)
101232b578d3Smrg		basic_machine=i386-pc
101332b578d3Smrg		os=-rdos
101432b578d3Smrg		;;
101532b578d3Smrg	rom68k)
101632b578d3Smrg		basic_machine=m68k-rom68k
101732b578d3Smrg		os=-coff
101832b578d3Smrg		;;
101932b578d3Smrg	rm[46]00)
102032b578d3Smrg		basic_machine=mips-siemens
102132b578d3Smrg		;;
102232b578d3Smrg	rtpc | rtpc-*)
102332b578d3Smrg		basic_machine=romp-ibm
102432b578d3Smrg		;;
102532b578d3Smrg	s390 | s390-*)
102632b578d3Smrg		basic_machine=s390-ibm
102732b578d3Smrg		;;
102832b578d3Smrg	s390x | s390x-*)
102932b578d3Smrg		basic_machine=s390x-ibm
103032b578d3Smrg		;;
103132b578d3Smrg	sa29200)
103232b578d3Smrg		basic_machine=a29k-amd
103332b578d3Smrg		os=-udi
103432b578d3Smrg		;;
103532b578d3Smrg	sb1)
103632b578d3Smrg		basic_machine=mipsisa64sb1-unknown
103732b578d3Smrg		;;
103832b578d3Smrg	sb1el)
103932b578d3Smrg		basic_machine=mipsisa64sb1el-unknown
104032b578d3Smrg		;;
104132b578d3Smrg	sde)
104232b578d3Smrg		basic_machine=mipsisa32-sde
104332b578d3Smrg		os=-elf
104432b578d3Smrg		;;
104532b578d3Smrg	sei)
104632b578d3Smrg		basic_machine=mips-sei
104732b578d3Smrg		os=-seiux
104832b578d3Smrg		;;
104932b578d3Smrg	sequent)
105032b578d3Smrg		basic_machine=i386-sequent
105132b578d3Smrg		;;
105232b578d3Smrg	sh)
105332b578d3Smrg		basic_machine=sh-hitachi
105432b578d3Smrg		os=-hms
105532b578d3Smrg		;;
105632b578d3Smrg	sh5el)
105732b578d3Smrg		basic_machine=sh5le-unknown
105832b578d3Smrg		;;
105932b578d3Smrg	sh64)
106032b578d3Smrg		basic_machine=sh64-unknown
106132b578d3Smrg		;;
106232b578d3Smrg	sparclite-wrs | simso-wrs)
106332b578d3Smrg		basic_machine=sparclite-wrs
106432b578d3Smrg		os=-vxworks
106532b578d3Smrg		;;
106632b578d3Smrg	sps7)
106732b578d3Smrg		basic_machine=m68k-bull
106832b578d3Smrg		os=-sysv2
106932b578d3Smrg		;;
107032b578d3Smrg	spur)
107132b578d3Smrg		basic_machine=spur-unknown
107232b578d3Smrg		;;
107332b578d3Smrg	st2000)
107432b578d3Smrg		basic_machine=m68k-tandem
107532b578d3Smrg		;;
107632b578d3Smrg	stratus)
107732b578d3Smrg		basic_machine=i860-stratus
107832b578d3Smrg		os=-sysv4
107932b578d3Smrg		;;
1080e35d4d8eSmrg	strongarm-* | thumb-*)
1081e35d4d8eSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1082e35d4d8eSmrg		;;
108332b578d3Smrg	sun2)
108432b578d3Smrg		basic_machine=m68000-sun
108532b578d3Smrg		;;
108632b578d3Smrg	sun2os3)
108732b578d3Smrg		basic_machine=m68000-sun
108832b578d3Smrg		os=-sunos3
108932b578d3Smrg		;;
109032b578d3Smrg	sun2os4)
109132b578d3Smrg		basic_machine=m68000-sun
109232b578d3Smrg		os=-sunos4
109332b578d3Smrg		;;
109432b578d3Smrg	sun3os3)
109532b578d3Smrg		basic_machine=m68k-sun
109632b578d3Smrg		os=-sunos3
109732b578d3Smrg		;;
109832b578d3Smrg	sun3os4)
109932b578d3Smrg		basic_machine=m68k-sun
110032b578d3Smrg		os=-sunos4
110132b578d3Smrg		;;
110232b578d3Smrg	sun4os3)
110332b578d3Smrg		basic_machine=sparc-sun
110432b578d3Smrg		os=-sunos3
110532b578d3Smrg		;;
110632b578d3Smrg	sun4os4)
110732b578d3Smrg		basic_machine=sparc-sun
110832b578d3Smrg		os=-sunos4
110932b578d3Smrg		;;
111032b578d3Smrg	sun4sol2)
111132b578d3Smrg		basic_machine=sparc-sun
111232b578d3Smrg		os=-solaris2
111332b578d3Smrg		;;
111432b578d3Smrg	sun3 | sun3-*)
111532b578d3Smrg		basic_machine=m68k-sun
111632b578d3Smrg		;;
111732b578d3Smrg	sun4)
111832b578d3Smrg		basic_machine=sparc-sun
111932b578d3Smrg		;;
112032b578d3Smrg	sun386 | sun386i | roadrunner)
112132b578d3Smrg		basic_machine=i386-sun
112232b578d3Smrg		;;
112332b578d3Smrg	sv1)
112432b578d3Smrg		basic_machine=sv1-cray
112532b578d3Smrg		os=-unicos
112632b578d3Smrg		;;
112732b578d3Smrg	symmetry)
112832b578d3Smrg		basic_machine=i386-sequent
112932b578d3Smrg		os=-dynix
113032b578d3Smrg		;;
113132b578d3Smrg	t3e)
113232b578d3Smrg		basic_machine=alphaev5-cray
113332b578d3Smrg		os=-unicos
113432b578d3Smrg		;;
113532b578d3Smrg	t90)
113632b578d3Smrg		basic_machine=t90-cray
113732b578d3Smrg		os=-unicos
113832b578d3Smrg		;;
1139d31dbc53Smrg	tile*)
1140e35d4d8eSmrg		basic_machine=$basic_machine-unknown
1141d31dbc53Smrg		os=-linux-gnu
1142d31dbc53Smrg		;;
114332b578d3Smrg	tx39)
114432b578d3Smrg		basic_machine=mipstx39-unknown
114532b578d3Smrg		;;
114632b578d3Smrg	tx39el)
114732b578d3Smrg		basic_machine=mipstx39el-unknown
114832b578d3Smrg		;;
114932b578d3Smrg	toad1)
115032b578d3Smrg		basic_machine=pdp10-xkl
115132b578d3Smrg		os=-tops20
115232b578d3Smrg		;;
115332b578d3Smrg	tower | tower-32)
115432b578d3Smrg		basic_machine=m68k-ncr
115532b578d3Smrg		;;
115632b578d3Smrg	tpf)
115732b578d3Smrg		basic_machine=s390x-ibm
115832b578d3Smrg		os=-tpf
115932b578d3Smrg		;;
116032b578d3Smrg	udi29k)
116132b578d3Smrg		basic_machine=a29k-amd
116232b578d3Smrg		os=-udi
116332b578d3Smrg		;;
116432b578d3Smrg	ultra3)
116532b578d3Smrg		basic_machine=a29k-nyu
116632b578d3Smrg		os=-sym1
116732b578d3Smrg		;;
116832b578d3Smrg	v810 | necv810)
116932b578d3Smrg		basic_machine=v810-nec
117032b578d3Smrg		os=-none
117132b578d3Smrg		;;
117232b578d3Smrg	vaxv)
117332b578d3Smrg		basic_machine=vax-dec
117432b578d3Smrg		os=-sysv
117532b578d3Smrg		;;
117632b578d3Smrg	vms)
117732b578d3Smrg		basic_machine=vax-dec
117832b578d3Smrg		os=-vms
117932b578d3Smrg		;;
118032b578d3Smrg	vpp*|vx|vx-*)
118132b578d3Smrg		basic_machine=f301-fujitsu
118232b578d3Smrg		;;
118332b578d3Smrg	vxworks960)
118432b578d3Smrg		basic_machine=i960-wrs
118532b578d3Smrg		os=-vxworks
118632b578d3Smrg		;;
118732b578d3Smrg	vxworks68)
118832b578d3Smrg		basic_machine=m68k-wrs
118932b578d3Smrg		os=-vxworks
119032b578d3Smrg		;;
119132b578d3Smrg	vxworks29k)
119232b578d3Smrg		basic_machine=a29k-wrs
119332b578d3Smrg		os=-vxworks
119432b578d3Smrg		;;
119532b578d3Smrg	w65*)
119632b578d3Smrg		basic_machine=w65-wdc
119732b578d3Smrg		os=-none
119832b578d3Smrg		;;
119932b578d3Smrg	w89k-*)
120032b578d3Smrg		basic_machine=hppa1.1-winbond
120132b578d3Smrg		os=-proelf
120232b578d3Smrg		;;
120332b578d3Smrg	xbox)
120432b578d3Smrg		basic_machine=i686-pc
120532b578d3Smrg		os=-mingw32
120632b578d3Smrg		;;
120732b578d3Smrg	xps | xps100)
120832b578d3Smrg		basic_machine=xps100-honeywell
120932b578d3Smrg		;;
1210e35d4d8eSmrg	xscale-* | xscalee[bl]-*)
1211e35d4d8eSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1212e35d4d8eSmrg		;;
121332b578d3Smrg	ymp)
121432b578d3Smrg		basic_machine=ymp-cray
121532b578d3Smrg		os=-unicos
121632b578d3Smrg		;;
121732b578d3Smrg	z8k-*-coff)
121832b578d3Smrg		basic_machine=z8k-unknown
121932b578d3Smrg		os=-sim
122032b578d3Smrg		;;
12211b12faf6Smrg	z80-*-coff)
12221b12faf6Smrg		basic_machine=z80-unknown
12231b12faf6Smrg		os=-sim
12241b12faf6Smrg		;;
122532b578d3Smrg	none)
122632b578d3Smrg		basic_machine=none-none
122732b578d3Smrg		os=-none
122832b578d3Smrg		;;
122932b578d3Smrg
123032b578d3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
123132b578d3Smrg# some cases the only manufacturer, in others, it is the most popular.
123232b578d3Smrg	w89k)
123332b578d3Smrg		basic_machine=hppa1.1-winbond
123432b578d3Smrg		;;
123532b578d3Smrg	op50n)
123632b578d3Smrg		basic_machine=hppa1.1-oki
123732b578d3Smrg		;;
123832b578d3Smrg	op60c)
123932b578d3Smrg		basic_machine=hppa1.1-oki
124032b578d3Smrg		;;
124132b578d3Smrg	romp)
124232b578d3Smrg		basic_machine=romp-ibm
124332b578d3Smrg		;;
124432b578d3Smrg	mmix)
124532b578d3Smrg		basic_machine=mmix-knuth
124632b578d3Smrg		;;
124732b578d3Smrg	rs6000)
124832b578d3Smrg		basic_machine=rs6000-ibm
124932b578d3Smrg		;;
125032b578d3Smrg	vax)
125132b578d3Smrg		basic_machine=vax-dec
125232b578d3Smrg		;;
125332b578d3Smrg	pdp10)
125432b578d3Smrg		# there are many clones, so DEC is not a safe bet
125532b578d3Smrg		basic_machine=pdp10-unknown
125632b578d3Smrg		;;
125732b578d3Smrg	pdp11)
125832b578d3Smrg		basic_machine=pdp11-dec
125932b578d3Smrg		;;
126032b578d3Smrg	we32k)
126132b578d3Smrg		basic_machine=we32k-att
126232b578d3Smrg		;;
12631b12faf6Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126432b578d3Smrg		basic_machine=sh-unknown
126532b578d3Smrg		;;
126632b578d3Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126732b578d3Smrg		basic_machine=sparc-sun
126832b578d3Smrg		;;
126932b578d3Smrg	cydra)
127032b578d3Smrg		basic_machine=cydra-cydrome
127132b578d3Smrg		;;
127232b578d3Smrg	orion)
127332b578d3Smrg		basic_machine=orion-highlevel
127432b578d3Smrg		;;
127532b578d3Smrg	orion105)
127632b578d3Smrg		basic_machine=clipper-highlevel
127732b578d3Smrg		;;
127832b578d3Smrg	mac | mpw | mac-mpw)
127932b578d3Smrg		basic_machine=m68k-apple
128032b578d3Smrg		;;
128132b578d3Smrg	pmac | pmac-mpw)
128232b578d3Smrg		basic_machine=powerpc-apple
128332b578d3Smrg		;;
128432b578d3Smrg	*-unknown)
128532b578d3Smrg		# Make sure to match an already-canonicalized machine name.
128632b578d3Smrg		;;
128732b578d3Smrg	*)
128832b578d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128932b578d3Smrg		exit 1
129032b578d3Smrg		;;
129132b578d3Smrgesac
129232b578d3Smrg
129332b578d3Smrg# Here we canonicalize certain aliases for manufacturers.
129432b578d3Smrgcase $basic_machine in
129532b578d3Smrg	*-digital*)
129632b578d3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129732b578d3Smrg		;;
129832b578d3Smrg	*-commodore*)
129932b578d3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
130032b578d3Smrg		;;
130132b578d3Smrg	*)
130232b578d3Smrg		;;
130332b578d3Smrgesac
130432b578d3Smrg
130532b578d3Smrg# Decode manufacturer-specific aliases for certain operating systems.
130632b578d3Smrg
130732b578d3Smrgif [ x"$os" != x"" ]
130832b578d3Smrgthen
130932b578d3Smrgcase $os in
1310e35d4d8eSmrg	# First match some system type aliases
1311e35d4d8eSmrg	# that might get confused with valid system types.
131232b578d3Smrg	# -solaris* is a basic system type, with this one exception.
1313e35d4d8eSmrg	-auroraux)
1314e35d4d8eSmrg		os=-auroraux
13151b12faf6Smrg		;;
131632b578d3Smrg	-solaris1 | -solaris1.*)
131732b578d3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131832b578d3Smrg		;;
131932b578d3Smrg	-solaris)
132032b578d3Smrg		os=-solaris2
132132b578d3Smrg		;;
132232b578d3Smrg	-svr4*)
132332b578d3Smrg		os=-sysv4
132432b578d3Smrg		;;
132532b578d3Smrg	-unixware*)
132632b578d3Smrg		os=-sysv4.2uw
132732b578d3Smrg		;;
132832b578d3Smrg	-gnu/linux*)
132932b578d3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
133032b578d3Smrg		;;
133132b578d3Smrg	# First accept the basic system types.
133232b578d3Smrg	# The portable systems comes first.
133332b578d3Smrg	# Each alternative MUST END IN A *, to match a version number.
133432b578d3Smrg	# -sysv* is not here because it comes later, after sysvr4.
133532b578d3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13361b12faf6Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13371b12faf6Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13381b12faf6Smrg	      | -sym* | -kopensolaris* \
133932b578d3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13401b12faf6Smrg	      | -aos* | -aros* \
134132b578d3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134232b578d3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134332b578d3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134432b578d3Smrg	      | -openbsd* | -solidbsd* \
134532b578d3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134632b578d3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134732b578d3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134832b578d3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13491b12faf6Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1350e35d4d8eSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1351e35d4d8eSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1352e35d4d8eSmrg	      | -linux-newlib* | -linux-uclibc* \
135332b578d3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135432b578d3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135532b578d3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135632b578d3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135732b578d3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135832b578d3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135932b578d3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13601b12faf6Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
136132b578d3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136232b578d3Smrg		;;
136332b578d3Smrg	-qnx*)
136432b578d3Smrg		case $basic_machine in
136532b578d3Smrg		    x86-* | i*86-*)
136632b578d3Smrg			;;
136732b578d3Smrg		    *)
136832b578d3Smrg			os=-nto$os
136932b578d3Smrg			;;
137032b578d3Smrg		esac
137132b578d3Smrg		;;
137232b578d3Smrg	-nto-qnx*)
137332b578d3Smrg		;;
137432b578d3Smrg	-nto*)
137532b578d3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137632b578d3Smrg		;;
137732b578d3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137832b578d3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137932b578d3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
138032b578d3Smrg		;;
138132b578d3Smrg	-mac*)
138232b578d3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138332b578d3Smrg		;;
138432b578d3Smrg	-linux-dietlibc)
138532b578d3Smrg		os=-linux-dietlibc
138632b578d3Smrg		;;
138732b578d3Smrg	-linux*)
138832b578d3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138932b578d3Smrg		;;
139032b578d3Smrg	-sunos5*)
139132b578d3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139232b578d3Smrg		;;
139332b578d3Smrg	-sunos6*)
139432b578d3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139532b578d3Smrg		;;
139632b578d3Smrg	-opened*)
139732b578d3Smrg		os=-openedition
139832b578d3Smrg		;;
1399e35d4d8eSmrg	-os400*)
140032b578d3Smrg		os=-os400
140132b578d3Smrg		;;
140232b578d3Smrg	-wince*)
140332b578d3Smrg		os=-wince
140432b578d3Smrg		;;
140532b578d3Smrg	-osfrose*)
140632b578d3Smrg		os=-osfrose
140732b578d3Smrg		;;
140832b578d3Smrg	-osf*)
140932b578d3Smrg		os=-osf
141032b578d3Smrg		;;
141132b578d3Smrg	-utek*)
141232b578d3Smrg		os=-bsd
141332b578d3Smrg		;;
141432b578d3Smrg	-dynix*)
141532b578d3Smrg		os=-bsd
141632b578d3Smrg		;;
141732b578d3Smrg	-acis*)
141832b578d3Smrg		os=-aos
141932b578d3Smrg		;;
142032b578d3Smrg	-atheos*)
142132b578d3Smrg		os=-atheos
142232b578d3Smrg		;;
142332b578d3Smrg	-syllable*)
142432b578d3Smrg		os=-syllable
142532b578d3Smrg		;;
142632b578d3Smrg	-386bsd)
142732b578d3Smrg		os=-bsd
142832b578d3Smrg		;;
142932b578d3Smrg	-ctix* | -uts*)
143032b578d3Smrg		os=-sysv
143132b578d3Smrg		;;
143232b578d3Smrg	-nova*)
143332b578d3Smrg		os=-rtmk-nova
143432b578d3Smrg		;;
143532b578d3Smrg	-ns2 )
143632b578d3Smrg		os=-nextstep2
143732b578d3Smrg		;;
143832b578d3Smrg	-nsk*)
143932b578d3Smrg		os=-nsk
144032b578d3Smrg		;;
144132b578d3Smrg	# Preserve the version number of sinix5.
144232b578d3Smrg	-sinix5.*)
144332b578d3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144432b578d3Smrg		;;
144532b578d3Smrg	-sinix*)
144632b578d3Smrg		os=-sysv4
144732b578d3Smrg		;;
1448e35d4d8eSmrg	-tpf*)
144932b578d3Smrg		os=-tpf
145032b578d3Smrg		;;
145132b578d3Smrg	-triton*)
145232b578d3Smrg		os=-sysv3
145332b578d3Smrg		;;
145432b578d3Smrg	-oss*)
145532b578d3Smrg		os=-sysv3
145632b578d3Smrg		;;
145732b578d3Smrg	-svr4)
145832b578d3Smrg		os=-sysv4
145932b578d3Smrg		;;
146032b578d3Smrg	-svr3)
146132b578d3Smrg		os=-sysv3
146232b578d3Smrg		;;
146332b578d3Smrg	-sysvr4)
146432b578d3Smrg		os=-sysv4
146532b578d3Smrg		;;
146632b578d3Smrg	# This must come after -sysvr4.
146732b578d3Smrg	-sysv*)
146832b578d3Smrg		;;
146932b578d3Smrg	-ose*)
147032b578d3Smrg		os=-ose
147132b578d3Smrg		;;
147232b578d3Smrg	-es1800*)
147332b578d3Smrg		os=-ose
147432b578d3Smrg		;;
147532b578d3Smrg	-xenix)
147632b578d3Smrg		os=-xenix
147732b578d3Smrg		;;
147832b578d3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147932b578d3Smrg		os=-mint
148032b578d3Smrg		;;
148132b578d3Smrg	-aros*)
148232b578d3Smrg		os=-aros
148332b578d3Smrg		;;
148432b578d3Smrg	-kaos*)
148532b578d3Smrg		os=-kaos
148632b578d3Smrg		;;
148732b578d3Smrg	-zvmoe)
148832b578d3Smrg		os=-zvmoe
148932b578d3Smrg		;;
14901b12faf6Smrg	-dicos*)
14911b12faf6Smrg		os=-dicos
14921b12faf6Smrg		;;
1493e35d4d8eSmrg	-nacl*)
1494e35d4d8eSmrg		;;
149532b578d3Smrg	-none)
149632b578d3Smrg		;;
149732b578d3Smrg	*)
149832b578d3Smrg		# Get rid of the `-' at the beginning of $os.
149932b578d3Smrg		os=`echo $os | sed 's/[^-]*-//'`
150032b578d3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
150132b578d3Smrg		exit 1
150232b578d3Smrg		;;
150332b578d3Smrgesac
150432b578d3Smrgelse
150532b578d3Smrg
150632b578d3Smrg# Here we handle the default operating systems that come with various machines.
150732b578d3Smrg# The value should be what the vendor currently ships out the door with their
150832b578d3Smrg# machine or put another way, the most popular os provided with the machine.
150932b578d3Smrg
151032b578d3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
151132b578d3Smrg# "-sun"), then you have to tell the case statement up towards the top
151232b578d3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151332b578d3Smrg# will signal an error saying that MANUFACTURER isn't an operating
151432b578d3Smrg# system, and we'll never get to this point.
151532b578d3Smrg
151632b578d3Smrgcase $basic_machine in
1517e35d4d8eSmrg	score-*)
151832b578d3Smrg		os=-elf
151932b578d3Smrg		;;
1520e35d4d8eSmrg	spu-*)
152132b578d3Smrg		os=-elf
152232b578d3Smrg		;;
152332b578d3Smrg	*-acorn)
152432b578d3Smrg		os=-riscix1.2
152532b578d3Smrg		;;
152632b578d3Smrg	arm*-rebel)
152732b578d3Smrg		os=-linux
152832b578d3Smrg		;;
152932b578d3Smrg	arm*-semi)
153032b578d3Smrg		os=-aout
153132b578d3Smrg		;;
1532e35d4d8eSmrg	c4x-* | tic4x-*)
1533e35d4d8eSmrg		os=-coff
1534e35d4d8eSmrg		;;
1535e35d4d8eSmrg	tic54x-*)
1536e35d4d8eSmrg		os=-coff
1537e35d4d8eSmrg		;;
1538e35d4d8eSmrg	tic55x-*)
1539e35d4d8eSmrg		os=-coff
1540e35d4d8eSmrg		;;
1541e35d4d8eSmrg	tic6x-*)
1542e35d4d8eSmrg		os=-coff
154332b578d3Smrg		;;
154432b578d3Smrg	# This must come before the *-dec entry.
154532b578d3Smrg	pdp10-*)
154632b578d3Smrg		os=-tops20
154732b578d3Smrg		;;
154832b578d3Smrg	pdp11-*)
154932b578d3Smrg		os=-none
155032b578d3Smrg		;;
155132b578d3Smrg	*-dec | vax-*)
155232b578d3Smrg		os=-ultrix4.2
155332b578d3Smrg		;;
155432b578d3Smrg	m68*-apollo)
155532b578d3Smrg		os=-domain
155632b578d3Smrg		;;
155732b578d3Smrg	i386-sun)
155832b578d3Smrg		os=-sunos4.0.2
155932b578d3Smrg		;;
156032b578d3Smrg	m68000-sun)
156132b578d3Smrg		os=-sunos3
156232b578d3Smrg		# This also exists in the configure program, but was not the
156332b578d3Smrg		# default.
156432b578d3Smrg		# os=-sunos4
156532b578d3Smrg		;;
156632b578d3Smrg	m68*-cisco)
156732b578d3Smrg		os=-aout
156832b578d3Smrg		;;
1569e35d4d8eSmrg	mep-*)
157032b578d3Smrg		os=-elf
157132b578d3Smrg		;;
157232b578d3Smrg	mips*-cisco)
157332b578d3Smrg		os=-elf
157432b578d3Smrg		;;
157532b578d3Smrg	mips*-*)
157632b578d3Smrg		os=-elf
157732b578d3Smrg		;;
157832b578d3Smrg	or32-*)
157932b578d3Smrg		os=-coff
158032b578d3Smrg		;;
158132b578d3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
158232b578d3Smrg		os=-sysv3
158332b578d3Smrg		;;
158432b578d3Smrg	sparc-* | *-sun)
158532b578d3Smrg		os=-sunos4.1.1
158632b578d3Smrg		;;
158732b578d3Smrg	*-be)
158832b578d3Smrg		os=-beos
158932b578d3Smrg		;;
159032b578d3Smrg	*-haiku)
159132b578d3Smrg		os=-haiku
159232b578d3Smrg		;;
159332b578d3Smrg	*-ibm)
159432b578d3Smrg		os=-aix
159532b578d3Smrg		;;
1596e35d4d8eSmrg	*-knuth)
159732b578d3Smrg		os=-mmixware
159832b578d3Smrg		;;
159932b578d3Smrg	*-wec)
160032b578d3Smrg		os=-proelf
160132b578d3Smrg		;;
160232b578d3Smrg	*-winbond)
160332b578d3Smrg		os=-proelf
160432b578d3Smrg		;;
160532b578d3Smrg	*-oki)
160632b578d3Smrg		os=-proelf
160732b578d3Smrg		;;
160832b578d3Smrg	*-hp)
160932b578d3Smrg		os=-hpux
161032b578d3Smrg		;;
161132b578d3Smrg	*-hitachi)
161232b578d3Smrg		os=-hiux
161332b578d3Smrg		;;
161432b578d3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161532b578d3Smrg		os=-sysv
161632b578d3Smrg		;;
161732b578d3Smrg	*-cbm)
161832b578d3Smrg		os=-amigaos
161932b578d3Smrg		;;
162032b578d3Smrg	*-dg)
162132b578d3Smrg		os=-dgux
162232b578d3Smrg		;;
162332b578d3Smrg	*-dolphin)
162432b578d3Smrg		os=-sysv3
162532b578d3Smrg		;;
162632b578d3Smrg	m68k-ccur)
162732b578d3Smrg		os=-rtu
162832b578d3Smrg		;;
162932b578d3Smrg	m88k-omron*)
163032b578d3Smrg		os=-luna
163132b578d3Smrg		;;
163232b578d3Smrg	*-next )
163332b578d3Smrg		os=-nextstep
163432b578d3Smrg		;;
163532b578d3Smrg	*-sequent)
163632b578d3Smrg		os=-ptx
163732b578d3Smrg		;;
163832b578d3Smrg	*-crds)
163932b578d3Smrg		os=-unos
164032b578d3Smrg		;;
164132b578d3Smrg	*-ns)
164232b578d3Smrg		os=-genix
164332b578d3Smrg		;;
164432b578d3Smrg	i370-*)
164532b578d3Smrg		os=-mvs
164632b578d3Smrg		;;
164732b578d3Smrg	*-next)
164832b578d3Smrg		os=-nextstep3
164932b578d3Smrg		;;
165032b578d3Smrg	*-gould)
165132b578d3Smrg		os=-sysv
165232b578d3Smrg		;;
165332b578d3Smrg	*-highlevel)
165432b578d3Smrg		os=-bsd
165532b578d3Smrg		;;
165632b578d3Smrg	*-encore)
165732b578d3Smrg		os=-bsd
165832b578d3Smrg		;;
165932b578d3Smrg	*-sgi)
166032b578d3Smrg		os=-irix
166132b578d3Smrg		;;
166232b578d3Smrg	*-siemens)
166332b578d3Smrg		os=-sysv4
166432b578d3Smrg		;;
166532b578d3Smrg	*-masscomp)
166632b578d3Smrg		os=-rtu
166732b578d3Smrg		;;
166832b578d3Smrg	f30[01]-fujitsu | f700-fujitsu)
166932b578d3Smrg		os=-uxpv
167032b578d3Smrg		;;
167132b578d3Smrg	*-rom68k)
167232b578d3Smrg		os=-coff
167332b578d3Smrg		;;
167432b578d3Smrg	*-*bug)
167532b578d3Smrg		os=-coff
167632b578d3Smrg		;;
167732b578d3Smrg	*-apple)
167832b578d3Smrg		os=-macos
167932b578d3Smrg		;;
168032b578d3Smrg	*-atari*)
168132b578d3Smrg		os=-mint
168232b578d3Smrg		;;
168332b578d3Smrg	*)
168432b578d3Smrg		os=-none
168532b578d3Smrg		;;
168632b578d3Smrgesac
168732b578d3Smrgfi
168832b578d3Smrg
168932b578d3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
169032b578d3Smrg# manufacturer.  We pick the logical manufacturer.
169132b578d3Smrgvendor=unknown
169232b578d3Smrgcase $basic_machine in
169332b578d3Smrg	*-unknown)
169432b578d3Smrg		case $os in
169532b578d3Smrg			-riscix*)
169632b578d3Smrg				vendor=acorn
169732b578d3Smrg				;;
169832b578d3Smrg			-sunos*)
169932b578d3Smrg				vendor=sun
170032b578d3Smrg				;;
17011b12faf6Smrg			-cnk*|-aix*)
170232b578d3Smrg				vendor=ibm
170332b578d3Smrg				;;
170432b578d3Smrg			-beos*)
170532b578d3Smrg				vendor=be
170632b578d3Smrg				;;
170732b578d3Smrg			-hpux*)
170832b578d3Smrg				vendor=hp
170932b578d3Smrg				;;
171032b578d3Smrg			-mpeix*)
171132b578d3Smrg				vendor=hp
171232b578d3Smrg				;;
171332b578d3Smrg			-hiux*)
171432b578d3Smrg				vendor=hitachi
171532b578d3Smrg				;;
171632b578d3Smrg			-unos*)
171732b578d3Smrg				vendor=crds
171832b578d3Smrg				;;
171932b578d3Smrg			-dgux*)
172032b578d3Smrg				vendor=dg
172132b578d3Smrg				;;
172232b578d3Smrg			-luna*)
172332b578d3Smrg				vendor=omron
172432b578d3Smrg				;;
172532b578d3Smrg			-genix*)
172632b578d3Smrg				vendor=ns
172732b578d3Smrg				;;
172832b578d3Smrg			-mvs* | -opened*)
172932b578d3Smrg				vendor=ibm
173032b578d3Smrg				;;
173132b578d3Smrg			-os400*)
173232b578d3Smrg				vendor=ibm
173332b578d3Smrg				;;
173432b578d3Smrg			-ptx*)
173532b578d3Smrg				vendor=sequent
173632b578d3Smrg				;;
173732b578d3Smrg			-tpf*)
173832b578d3Smrg				vendor=ibm
173932b578d3Smrg				;;
174032b578d3Smrg			-vxsim* | -vxworks* | -windiss*)
174132b578d3Smrg				vendor=wrs
174232b578d3Smrg				;;
174332b578d3Smrg			-aux*)
174432b578d3Smrg				vendor=apple
174532b578d3Smrg				;;
174632b578d3Smrg			-hms*)
174732b578d3Smrg				vendor=hitachi
174832b578d3Smrg				;;
174932b578d3Smrg			-mpw* | -macos*)
175032b578d3Smrg				vendor=apple
175132b578d3Smrg				;;
175232b578d3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
175332b578d3Smrg				vendor=atari
175432b578d3Smrg				;;
175532b578d3Smrg			-vos*)
175632b578d3Smrg				vendor=stratus
175732b578d3Smrg				;;
175832b578d3Smrg		esac
175932b578d3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176032b578d3Smrg		;;
176132b578d3Smrgesac
176232b578d3Smrg
176332b578d3Smrgecho $basic_machine$os
176432b578d3Smrgexit
176532b578d3Smrg
176632b578d3Smrg# Local variables:
176732b578d3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176832b578d3Smrg# time-stamp-start: "timestamp='"
176932b578d3Smrg# time-stamp-format: "%:y-%02m-%02d"
177032b578d3Smrg# time-stamp-end: "'"
177132b578d3Smrg# End:
1772