config.sub revision f7ada8dd
1bccedf53Smrg#! /bin/sh
2bccedf53Smrg# Configuration validation subroutine script.
3bccedf53Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4f7ada8ddSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
57c5f6000Smrg#   Free Software Foundation, Inc.
6bccedf53Smrg
7f7ada8ddSmrgtimestamp='2010-09-11'
8bccedf53Smrg
9bccedf53Smrg# This file is (in principle) common to ALL GNU software.
10bccedf53Smrg# The presence of a machine in this file suggests that SOME GNU software
11bccedf53Smrg# can handle that machine.  It does not imply ALL GNU software can.
12bccedf53Smrg#
13bccedf53Smrg# This file is free software; you can redistribute it and/or modify
14bccedf53Smrg# it under the terms of the GNU General Public License as published by
15bccedf53Smrg# the Free Software Foundation; either version 2 of the License, or
16bccedf53Smrg# (at your option) any later version.
17bccedf53Smrg#
18bccedf53Smrg# This program is distributed in the hope that it will be useful,
19bccedf53Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20bccedf53Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21bccedf53Smrg# GNU General Public License for more details.
22bccedf53Smrg#
23bccedf53Smrg# You should have received a copy of the GNU General Public License
24bccedf53Smrg# along with this program; if not, write to the Free Software
257c5f6000Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
267c5f6000Smrg# 02110-1301, USA.
277c5f6000Smrg#
28bccedf53Smrg# As a special exception to the GNU General Public License, if you
29bccedf53Smrg# distribute this file as part of a program that contains a
30bccedf53Smrg# configuration script generated by Autoconf, you may include it under
31bccedf53Smrg# the same distribution terms that you use for the rest of that program.
32bccedf53Smrg
337c5f6000Smrg
34bccedf53Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35f7ada8ddSmrg# diff and a properly formatted GNU ChangeLog entry.
36bccedf53Smrg#
37bccedf53Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38bccedf53Smrg# Supply the specified configuration type as an argument.
39bccedf53Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40bccedf53Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41bccedf53Smrg
42f7ada8ddSmrg# You can get the latest version of this script from:
43f7ada8ddSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44f7ada8ddSmrg
45bccedf53Smrg# This file is supposed to be the same for all GNU packages
46bccedf53Smrg# and recognize all the CPU types, system types and aliases
47bccedf53Smrg# that are meaningful with *any* GNU software.
48bccedf53Smrg# Each package is responsible for reporting which valid configurations
49bccedf53Smrg# it does not support.  The user should be able to distinguish
50bccedf53Smrg# a failure to support a valid configuration from a meaningless
51bccedf53Smrg# configuration.
52bccedf53Smrg
53bccedf53Smrg# The goal of this file is to map all the various variations of a given
54bccedf53Smrg# machine specification into a single specification in the form:
55bccedf53Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56bccedf53Smrg# or in some cases, the newer four-part form:
57bccedf53Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58bccedf53Smrg# It is wrong to echo any other type of specification.
59bccedf53Smrg
60bccedf53Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61bccedf53Smrg
62bccedf53Smrgusage="\
63bccedf53SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64bccedf53Smrg       $0 [OPTION] ALIAS
65bccedf53Smrg
66bccedf53SmrgCanonicalize a configuration name.
67bccedf53Smrg
68bccedf53SmrgOperation modes:
69bccedf53Smrg  -h, --help         print this help, then exit
70bccedf53Smrg  -t, --time-stamp   print date of last modification, then exit
71bccedf53Smrg  -v, --version      print version number, then exit
72bccedf53Smrg
73bccedf53SmrgReport bugs and patches to <config-patches@gnu.org>."
74bccedf53Smrg
75bccedf53Smrgversion="\
76bccedf53SmrgGNU config.sub ($timestamp)
77bccedf53Smrg
78f7ada8ddSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79f7ada8ddSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80f7ada8ddSmrgSoftware Foundation, Inc.
81bccedf53Smrg
82bccedf53SmrgThis is free software; see the source for copying conditions.  There is NO
83bccedf53Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84bccedf53Smrg
85bccedf53Smrghelp="
86bccedf53SmrgTry \`$me --help' for more information."
87bccedf53Smrg
88bccedf53Smrg# Parse command line
89bccedf53Smrgwhile test $# -gt 0 ; do
90bccedf53Smrg  case $1 in
91bccedf53Smrg    --time-stamp | --time* | -t )
927c5f6000Smrg       echo "$timestamp" ; exit ;;
93bccedf53Smrg    --version | -v )
947c5f6000Smrg       echo "$version" ; exit ;;
95bccedf53Smrg    --help | --h* | -h )
967c5f6000Smrg       echo "$usage"; exit ;;
97bccedf53Smrg    -- )     # Stop option processing
98bccedf53Smrg       shift; break ;;
99bccedf53Smrg    - )	# Use stdin as input.
100bccedf53Smrg       break ;;
101bccedf53Smrg    -* )
102bccedf53Smrg       echo "$me: invalid option $1$help"
103bccedf53Smrg       exit 1 ;;
104bccedf53Smrg
105bccedf53Smrg    *local*)
106bccedf53Smrg       # First pass through any local machine types.
107bccedf53Smrg       echo $1
1087c5f6000Smrg       exit ;;
109bccedf53Smrg
110bccedf53Smrg    * )
111bccedf53Smrg       break ;;
112bccedf53Smrg  esac
113bccedf53Smrgdone
114bccedf53Smrg
115bccedf53Smrgcase $# in
116bccedf53Smrg 0) echo "$me: missing argument$help" >&2
117bccedf53Smrg    exit 1;;
118bccedf53Smrg 1) ;;
119bccedf53Smrg *) echo "$me: too many arguments$help" >&2
120bccedf53Smrg    exit 1;;
121bccedf53Smrgesac
122bccedf53Smrg
123bccedf53Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124bccedf53Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125bccedf53Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126bccedf53Smrgcase $maybe_os in
127f7ada8ddSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128f7ada8ddSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129f7ada8ddSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1307c5f6000Smrg  kopensolaris*-gnu* | \
1317c5f6000Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132bccedf53Smrg    os=-$maybe_os
133bccedf53Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134bccedf53Smrg    ;;
135bccedf53Smrg  *)
136bccedf53Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137bccedf53Smrg    if [ $basic_machine != $1 ]
138bccedf53Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139bccedf53Smrg    else os=; fi
140bccedf53Smrg    ;;
141bccedf53Smrgesac
142bccedf53Smrg
143bccedf53Smrg### Let's recognize common machines as not being operating systems so
144bccedf53Smrg### that things like config.sub decstation-3100 work.  We also
145bccedf53Smrg### recognize some manufacturers as not being operating systems, so we
146bccedf53Smrg### can provide default operating systems below.
147bccedf53Smrgcase $os in
148bccedf53Smrg	-sun*os*)
149bccedf53Smrg		# Prevent following clause from handling this invalid input.
150bccedf53Smrg		;;
151bccedf53Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152bccedf53Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153bccedf53Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154bccedf53Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155bccedf53Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156bccedf53Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157f7ada8ddSmrg	-apple | -axis | -knuth | -cray | -microblaze)
158bccedf53Smrg		os=
159bccedf53Smrg		basic_machine=$1
160bccedf53Smrg		;;
161f7ada8ddSmrg        -bluegene*)
162f7ada8ddSmrg	        os=-cnk
163f7ada8ddSmrg		;;
164bccedf53Smrg	-sim | -cisco | -oki | -wec | -winbond)
165bccedf53Smrg		os=
166bccedf53Smrg		basic_machine=$1
167bccedf53Smrg		;;
168bccedf53Smrg	-scout)
169bccedf53Smrg		;;
170bccedf53Smrg	-wrs)
171bccedf53Smrg		os=-vxworks
172bccedf53Smrg		basic_machine=$1
173bccedf53Smrg		;;
174bccedf53Smrg	-chorusos*)
175bccedf53Smrg		os=-chorusos
176bccedf53Smrg		basic_machine=$1
177bccedf53Smrg		;;
178bccedf53Smrg 	-chorusrdb)
179bccedf53Smrg 		os=-chorusrdb
180bccedf53Smrg		basic_machine=$1
181bccedf53Smrg 		;;
182bccedf53Smrg	-hiux*)
183bccedf53Smrg		os=-hiuxwe2
184bccedf53Smrg		;;
1857c5f6000Smrg	-sco6)
1867c5f6000Smrg		os=-sco5v6
1877c5f6000Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1887c5f6000Smrg		;;
189bccedf53Smrg	-sco5)
190bccedf53Smrg		os=-sco3.2v5
191bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192bccedf53Smrg		;;
193bccedf53Smrg	-sco4)
194bccedf53Smrg		os=-sco3.2v4
195bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196bccedf53Smrg		;;
197bccedf53Smrg	-sco3.2.[4-9]*)
198bccedf53Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200bccedf53Smrg		;;
201bccedf53Smrg	-sco3.2v[4-9]*)
202bccedf53Smrg		# Don't forget version if it is 3.2v4 or newer.
203bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204bccedf53Smrg		;;
2057c5f6000Smrg	-sco5v6*)
2067c5f6000Smrg		# Don't forget version if it is 3.2v4 or newer.
2077c5f6000Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2087c5f6000Smrg		;;
209bccedf53Smrg	-sco*)
210bccedf53Smrg		os=-sco3.2v2
211bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212bccedf53Smrg		;;
213bccedf53Smrg	-udk*)
214bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215bccedf53Smrg		;;
216bccedf53Smrg	-isc)
217bccedf53Smrg		os=-isc2.2
218bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219bccedf53Smrg		;;
220bccedf53Smrg	-clix*)
221bccedf53Smrg		basic_machine=clipper-intergraph
222bccedf53Smrg		;;
223bccedf53Smrg	-isc*)
224bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225bccedf53Smrg		;;
226bccedf53Smrg	-lynx*)
227bccedf53Smrg		os=-lynxos
228bccedf53Smrg		;;
229bccedf53Smrg	-ptx*)
230bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231bccedf53Smrg		;;
232bccedf53Smrg	-windowsnt*)
233bccedf53Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234bccedf53Smrg		;;
235bccedf53Smrg	-psos*)
236bccedf53Smrg		os=-psos
237bccedf53Smrg		;;
238bccedf53Smrg	-mint | -mint[0-9]*)
239bccedf53Smrg		basic_machine=m68k-atari
240bccedf53Smrg		os=-mint
241bccedf53Smrg		;;
242bccedf53Smrgesac
243bccedf53Smrg
244bccedf53Smrg# Decode aliases for certain CPU-COMPANY combinations.
245bccedf53Smrgcase $basic_machine in
246bccedf53Smrg	# Recognize the basic CPU types without company name.
247bccedf53Smrg	# Some are omitted here because they have special meanings below.
248bccedf53Smrg	1750a | 580 \
249bccedf53Smrg	| a29k \
250bccedf53Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251bccedf53Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2527c5f6000Smrg	| am33_2.0 \
2537c5f6000Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2547c5f6000Smrg	| bfin \
255bccedf53Smrg	| c4x | clipper \
256bccedf53Smrg	| d10v | d30v | dlx | dsp16xx \
2577c5f6000Smrg	| fido | fr30 | frv \
258bccedf53Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259bccedf53Smrg	| i370 | i860 | i960 | ia64 \
2607c5f6000Smrg	| ip2k | iq2000 \
2617c5f6000Smrg	| lm32 \
2627c5f6000Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2637c5f6000Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264bccedf53Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265bccedf53Smrg	| mips16 \
266bccedf53Smrg	| mips64 | mips64el \
2677c5f6000Smrg	| mips64octeon | mips64octeonel \
268bccedf53Smrg	| mips64orion | mips64orionel \
2697c5f6000Smrg	| mips64r5900 | mips64r5900el \
2707c5f6000Smrg	| mips64vr | mips64vrel \
271bccedf53Smrg	| mips64vr4100 | mips64vr4100el \
272bccedf53Smrg	| mips64vr4300 | mips64vr4300el \
273bccedf53Smrg	| mips64vr5000 | mips64vr5000el \
2747c5f6000Smrg	| mips64vr5900 | mips64vr5900el \
275bccedf53Smrg	| mipsisa32 | mipsisa32el \
276bccedf53Smrg	| mipsisa32r2 | mipsisa32r2el \
277bccedf53Smrg	| mipsisa64 | mipsisa64el \
2787c5f6000Smrg	| mipsisa64r2 | mipsisa64r2el \
279bccedf53Smrg	| mipsisa64sb1 | mipsisa64sb1el \
280bccedf53Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
281bccedf53Smrg	| mipstx39 | mipstx39el \
282bccedf53Smrg	| mn10200 | mn10300 \
2837c5f6000Smrg	| moxie \
2847c5f6000Smrg	| mt \
285bccedf53Smrg	| msp430 \
286f7ada8ddSmrg	| nds32 | nds32le | nds32be \
2877c5f6000Smrg	| nios | nios2 \
288bccedf53Smrg	| ns16k | ns32k \
2897c5f6000Smrg	| or32 \
290bccedf53Smrg	| pdp10 | pdp11 | pj | pjl \
291bccedf53Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292bccedf53Smrg	| pyramid \
293f7ada8ddSmrg	| rx \
2947c5f6000Smrg	| score \
2957c5f6000Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296bccedf53Smrg	| sh64 | sh64le \
2977c5f6000Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2987c5f6000Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2997c5f6000Smrg	| spu | strongarm \
300f7ada8ddSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301f7ada8ddSmrg	| ubicom32 \
302bccedf53Smrg	| v850 | v850e \
303bccedf53Smrg	| we32k \
3047c5f6000Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3057c5f6000Smrg	| z8k | z80)
306bccedf53Smrg		basic_machine=$basic_machine-unknown
307bccedf53Smrg		;;
308f7ada8ddSmrg	c54x)
309f7ada8ddSmrg		basic_machine=tic54x-unknown
310f7ada8ddSmrg		;;
311f7ada8ddSmrg	c55x)
312f7ada8ddSmrg		basic_machine=tic55x-unknown
313f7ada8ddSmrg		;;
314f7ada8ddSmrg	c6x)
315f7ada8ddSmrg		basic_machine=tic6x-unknown
316f7ada8ddSmrg		;;
317f7ada8ddSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318bccedf53Smrg		# Motorola 68HC11/12.
319bccedf53Smrg		basic_machine=$basic_machine-unknown
320bccedf53Smrg		os=-none
321bccedf53Smrg		;;
322bccedf53Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323bccedf53Smrg		;;
3247c5f6000Smrg	ms1)
3257c5f6000Smrg		basic_machine=mt-unknown
3267c5f6000Smrg		;;
327bccedf53Smrg
328bccedf53Smrg	# We use `pc' rather than `unknown'
329bccedf53Smrg	# because (1) that's what they normally are, and
330bccedf53Smrg	# (2) the word "unknown" tends to confuse beginning users.
331bccedf53Smrg	i*86 | x86_64)
332bccedf53Smrg	  basic_machine=$basic_machine-pc
333bccedf53Smrg	  ;;
334bccedf53Smrg	# Object if more than one company name word.
335bccedf53Smrg	*-*-*)
336bccedf53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337bccedf53Smrg		exit 1
338bccedf53Smrg		;;
339bccedf53Smrg	# Recognize the basic CPU types with company name.
340bccedf53Smrg	580-* \
341bccedf53Smrg	| a29k-* \
342bccedf53Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343bccedf53Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344bccedf53Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345bccedf53Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3467c5f6000Smrg	| avr-* | avr32-* \
3477c5f6000Smrg	| bfin-* | bs2000-* \
348f7ada8ddSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3497c5f6000Smrg	| clipper-* | craynv-* | cydra-* \
350bccedf53Smrg	| d10v-* | d30v-* | dlx-* \
351bccedf53Smrg	| elxsi-* \
3527c5f6000Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353bccedf53Smrg	| h8300-* | h8500-* \
354bccedf53Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355bccedf53Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3567c5f6000Smrg	| ip2k-* | iq2000-* \
3577c5f6000Smrg	| lm32-* \
3587c5f6000Smrg	| m32c-* | m32r-* | m32rle-* \
359bccedf53Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360f7ada8ddSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361bccedf53Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362bccedf53Smrg	| mips16-* \
363bccedf53Smrg	| mips64-* | mips64el-* \
3647c5f6000Smrg	| mips64octeon-* | mips64octeonel-* \
365bccedf53Smrg	| mips64orion-* | mips64orionel-* \
3667c5f6000Smrg	| mips64r5900-* | mips64r5900el-* \
3677c5f6000Smrg	| mips64vr-* | mips64vrel-* \
368bccedf53Smrg	| mips64vr4100-* | mips64vr4100el-* \
369bccedf53Smrg	| mips64vr4300-* | mips64vr4300el-* \
370bccedf53Smrg	| mips64vr5000-* | mips64vr5000el-* \
3717c5f6000Smrg	| mips64vr5900-* | mips64vr5900el-* \
372bccedf53Smrg	| mipsisa32-* | mipsisa32el-* \
373bccedf53Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
374bccedf53Smrg	| mipsisa64-* | mipsisa64el-* \
3757c5f6000Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
376bccedf53Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377bccedf53Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378bccedf53Smrg	| mipstx39-* | mipstx39el-* \
3797c5f6000Smrg	| mmix-* \
3807c5f6000Smrg	| mt-* \
381bccedf53Smrg	| msp430-* \
382f7ada8ddSmrg	| nds32-* | nds32le-* | nds32be-* \
3837c5f6000Smrg	| nios-* | nios2-* \
3847c5f6000Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
385bccedf53Smrg	| orion-* \
386bccedf53Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387bccedf53Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388bccedf53Smrg	| pyramid-* \
389f7ada8ddSmrg	| romp-* | rs6000-* | rx-* \
3907c5f6000Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391bccedf53Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3927c5f6000Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3937c5f6000Smrg	| sparclite-* \
3947c5f6000Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395bccedf53Smrg	| tahoe-* | thumb-* \
396f7ada8ddSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397f7ada8ddSmrg	| tile-* | tilegx-* \
398bccedf53Smrg	| tron-* \
399f7ada8ddSmrg	| ubicom32-* \
400bccedf53Smrg	| v850-* | v850e-* | vax-* \
401bccedf53Smrg	| we32k-* \
4027c5f6000Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4037c5f6000Smrg	| xstormy16-* | xtensa*-* \
404bccedf53Smrg	| ymp-* \
4057c5f6000Smrg	| z8k-* | z80-*)
4067c5f6000Smrg		;;
4077c5f6000Smrg	# Recognize the basic CPU types without company name, with glob match.
4087c5f6000Smrg	xtensa*)
4097c5f6000Smrg		basic_machine=$basic_machine-unknown
410bccedf53Smrg		;;
411bccedf53Smrg	# Recognize the various machine names and aliases which stand
412bccedf53Smrg	# for a CPU type and a company and sometimes even an OS.
413bccedf53Smrg	386bsd)
414bccedf53Smrg		basic_machine=i386-unknown
415bccedf53Smrg		os=-bsd
416bccedf53Smrg		;;
417bccedf53Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418bccedf53Smrg		basic_machine=m68000-att
419bccedf53Smrg		;;
420bccedf53Smrg	3b*)
421bccedf53Smrg		basic_machine=we32k-att
422bccedf53Smrg		;;
423bccedf53Smrg	a29khif)
424bccedf53Smrg		basic_machine=a29k-amd
425bccedf53Smrg		os=-udi
426bccedf53Smrg		;;
4277c5f6000Smrg    	abacus)
4287c5f6000Smrg		basic_machine=abacus-unknown
4297c5f6000Smrg		;;
430bccedf53Smrg	adobe68k)
431bccedf53Smrg		basic_machine=m68010-adobe
432bccedf53Smrg		os=-scout
433bccedf53Smrg		;;
434bccedf53Smrg	alliant | fx80)
435bccedf53Smrg		basic_machine=fx80-alliant
436bccedf53Smrg		;;
437bccedf53Smrg	altos | altos3068)
438bccedf53Smrg		basic_machine=m68k-altos
439bccedf53Smrg		;;
440bccedf53Smrg	am29k)
441bccedf53Smrg		basic_machine=a29k-none
442bccedf53Smrg		os=-bsd
443bccedf53Smrg		;;
444bccedf53Smrg	amd64)
445bccedf53Smrg		basic_machine=x86_64-pc
446bccedf53Smrg		;;
4477c5f6000Smrg	amd64-*)
4487c5f6000Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4497c5f6000Smrg		;;
450bccedf53Smrg	amdahl)
451bccedf53Smrg		basic_machine=580-amdahl
452bccedf53Smrg		os=-sysv
453bccedf53Smrg		;;
454bccedf53Smrg	amiga | amiga-*)
455bccedf53Smrg		basic_machine=m68k-unknown
456bccedf53Smrg		;;
457bccedf53Smrg	amigaos | amigados)
458bccedf53Smrg		basic_machine=m68k-unknown
459bccedf53Smrg		os=-amigaos
460bccedf53Smrg		;;
461bccedf53Smrg	amigaunix | amix)
462bccedf53Smrg		basic_machine=m68k-unknown
463bccedf53Smrg		os=-sysv4
464bccedf53Smrg		;;
465bccedf53Smrg	apollo68)
466bccedf53Smrg		basic_machine=m68k-apollo
467bccedf53Smrg		os=-sysv
468bccedf53Smrg		;;
469bccedf53Smrg	apollo68bsd)
470bccedf53Smrg		basic_machine=m68k-apollo
471bccedf53Smrg		os=-bsd
472bccedf53Smrg		;;
4737c5f6000Smrg	aros)
4747c5f6000Smrg		basic_machine=i386-pc
4757c5f6000Smrg		os=-aros
4767c5f6000Smrg		;;
477bccedf53Smrg	aux)
478bccedf53Smrg		basic_machine=m68k-apple
479bccedf53Smrg		os=-aux
480bccedf53Smrg		;;
481bccedf53Smrg	balance)
482bccedf53Smrg		basic_machine=ns32k-sequent
483bccedf53Smrg		os=-dynix
484bccedf53Smrg		;;
4857c5f6000Smrg	blackfin)
4867c5f6000Smrg		basic_machine=bfin-unknown
4877c5f6000Smrg		os=-linux
4887c5f6000Smrg		;;
4897c5f6000Smrg	blackfin-*)
4907c5f6000Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4917c5f6000Smrg		os=-linux
4927c5f6000Smrg		;;
493f7ada8ddSmrg	bluegene*)
494f7ada8ddSmrg		basic_machine=powerpc-ibm
495f7ada8ddSmrg		os=-cnk
496f7ada8ddSmrg		;;
497f7ada8ddSmrg	c54x-*)
498f7ada8ddSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499f7ada8ddSmrg		;;
500f7ada8ddSmrg	c55x-*)
501f7ada8ddSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502f7ada8ddSmrg		;;
503f7ada8ddSmrg	c6x-*)
504f7ada8ddSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505f7ada8ddSmrg		;;
506bccedf53Smrg	c90)
507bccedf53Smrg		basic_machine=c90-cray
508bccedf53Smrg		os=-unicos
509bccedf53Smrg		;;
5107c5f6000Smrg        cegcc)
5117c5f6000Smrg		basic_machine=arm-unknown
5127c5f6000Smrg		os=-cegcc
5137c5f6000Smrg		;;
514bccedf53Smrg	convex-c1)
515bccedf53Smrg		basic_machine=c1-convex
516bccedf53Smrg		os=-bsd
517bccedf53Smrg		;;
518bccedf53Smrg	convex-c2)
519bccedf53Smrg		basic_machine=c2-convex
520bccedf53Smrg		os=-bsd
521bccedf53Smrg		;;
522bccedf53Smrg	convex-c32)
523bccedf53Smrg		basic_machine=c32-convex
524bccedf53Smrg		os=-bsd
525bccedf53Smrg		;;
526bccedf53Smrg	convex-c34)
527bccedf53Smrg		basic_machine=c34-convex
528bccedf53Smrg		os=-bsd
529bccedf53Smrg		;;
530bccedf53Smrg	convex-c38)
531bccedf53Smrg		basic_machine=c38-convex
532bccedf53Smrg		os=-bsd
533bccedf53Smrg		;;
534bccedf53Smrg	cray | j90)
535bccedf53Smrg		basic_machine=j90-cray
536bccedf53Smrg		os=-unicos
537bccedf53Smrg		;;
5387c5f6000Smrg	craynv)
5397c5f6000Smrg		basic_machine=craynv-cray
5407c5f6000Smrg		os=-unicosmp
5417c5f6000Smrg		;;
5427c5f6000Smrg	cr16)
5437c5f6000Smrg		basic_machine=cr16-unknown
5447c5f6000Smrg		os=-elf
5457c5f6000Smrg		;;
546bccedf53Smrg	crds | unos)
547bccedf53Smrg		basic_machine=m68k-crds
548bccedf53Smrg		;;
5497c5f6000Smrg	crisv32 | crisv32-* | etraxfs*)
5507c5f6000Smrg		basic_machine=crisv32-axis
5517c5f6000Smrg		;;
552bccedf53Smrg	cris | cris-* | etrax*)
553bccedf53Smrg		basic_machine=cris-axis
554bccedf53Smrg		;;
5557c5f6000Smrg	crx)
5567c5f6000Smrg		basic_machine=crx-unknown
5577c5f6000Smrg		os=-elf
5587c5f6000Smrg		;;
559bccedf53Smrg	da30 | da30-*)
560bccedf53Smrg		basic_machine=m68k-da30
561bccedf53Smrg		;;
562bccedf53Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563bccedf53Smrg		basic_machine=mips-dec
564bccedf53Smrg		;;
565bccedf53Smrg	decsystem10* | dec10*)
566bccedf53Smrg		basic_machine=pdp10-dec
567bccedf53Smrg		os=-tops10
568bccedf53Smrg		;;
569bccedf53Smrg	decsystem20* | dec20*)
570bccedf53Smrg		basic_machine=pdp10-dec
571bccedf53Smrg		os=-tops20
572bccedf53Smrg		;;
573bccedf53Smrg	delta | 3300 | motorola-3300 | motorola-delta \
574bccedf53Smrg	      | 3300-motorola | delta-motorola)
575bccedf53Smrg		basic_machine=m68k-motorola
576bccedf53Smrg		;;
577bccedf53Smrg	delta88)
578bccedf53Smrg		basic_machine=m88k-motorola
579bccedf53Smrg		os=-sysv3
580bccedf53Smrg		;;
5817c5f6000Smrg	dicos)
5827c5f6000Smrg		basic_machine=i686-pc
5837c5f6000Smrg		os=-dicos
5847c5f6000Smrg		;;
5857c5f6000Smrg	djgpp)
5867c5f6000Smrg		basic_machine=i586-pc
5877c5f6000Smrg		os=-msdosdjgpp
5887c5f6000Smrg		;;
589bccedf53Smrg	dpx20 | dpx20-*)
590bccedf53Smrg		basic_machine=rs6000-bull
591bccedf53Smrg		os=-bosx
592bccedf53Smrg		;;
593bccedf53Smrg	dpx2* | dpx2*-bull)
594bccedf53Smrg		basic_machine=m68k-bull
595bccedf53Smrg		os=-sysv3
596bccedf53Smrg		;;
597bccedf53Smrg	ebmon29k)
598bccedf53Smrg		basic_machine=a29k-amd
599bccedf53Smrg		os=-ebmon
600bccedf53Smrg		;;
601bccedf53Smrg	elxsi)
602bccedf53Smrg		basic_machine=elxsi-elxsi
603bccedf53Smrg		os=-bsd
604bccedf53Smrg		;;
605bccedf53Smrg	encore | umax | mmax)
606bccedf53Smrg		basic_machine=ns32k-encore
607bccedf53Smrg		;;
608bccedf53Smrg	es1800 | OSE68k | ose68k | ose | OSE)
609bccedf53Smrg		basic_machine=m68k-ericsson
610bccedf53Smrg		os=-ose
611bccedf53Smrg		;;
612bccedf53Smrg	fx2800)
613bccedf53Smrg		basic_machine=i860-alliant
614bccedf53Smrg		;;
615bccedf53Smrg	genix)
616bccedf53Smrg		basic_machine=ns32k-ns
617bccedf53Smrg		;;
618bccedf53Smrg	gmicro)
619bccedf53Smrg		basic_machine=tron-gmicro
620bccedf53Smrg		os=-sysv
621bccedf53Smrg		;;
622bccedf53Smrg	go32)
623bccedf53Smrg		basic_machine=i386-pc
624bccedf53Smrg		os=-go32
625bccedf53Smrg		;;
626bccedf53Smrg	h3050r* | hiux*)
627bccedf53Smrg		basic_machine=hppa1.1-hitachi
628bccedf53Smrg		os=-hiuxwe2
629bccedf53Smrg		;;
630bccedf53Smrg	h8300hms)
631bccedf53Smrg		basic_machine=h8300-hitachi
632bccedf53Smrg		os=-hms
633bccedf53Smrg		;;
634bccedf53Smrg	h8300xray)
635bccedf53Smrg		basic_machine=h8300-hitachi
636bccedf53Smrg		os=-xray
637bccedf53Smrg		;;
638bccedf53Smrg	h8500hms)
639bccedf53Smrg		basic_machine=h8500-hitachi
640bccedf53Smrg		os=-hms
641bccedf53Smrg		;;
642bccedf53Smrg	harris)
643bccedf53Smrg		basic_machine=m88k-harris
644bccedf53Smrg		os=-sysv3
645bccedf53Smrg		;;
646bccedf53Smrg	hp300-*)
647bccedf53Smrg		basic_machine=m68k-hp
648bccedf53Smrg		;;
649bccedf53Smrg	hp300bsd)
650bccedf53Smrg		basic_machine=m68k-hp
651bccedf53Smrg		os=-bsd
652bccedf53Smrg		;;
653bccedf53Smrg	hp300hpux)
654bccedf53Smrg		basic_machine=m68k-hp
655bccedf53Smrg		os=-hpux
656bccedf53Smrg		;;
657bccedf53Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658bccedf53Smrg		basic_machine=hppa1.0-hp
659bccedf53Smrg		;;
660bccedf53Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661bccedf53Smrg		basic_machine=m68000-hp
662bccedf53Smrg		;;
663bccedf53Smrg	hp9k3[2-9][0-9])
664bccedf53Smrg		basic_machine=m68k-hp
665bccedf53Smrg		;;
666bccedf53Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667bccedf53Smrg		basic_machine=hppa1.0-hp
668bccedf53Smrg		;;
669bccedf53Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670bccedf53Smrg		basic_machine=hppa1.1-hp
671bccedf53Smrg		;;
672bccedf53Smrg	hp9k78[0-9] | hp78[0-9])
673bccedf53Smrg		# FIXME: really hppa2.0-hp
674bccedf53Smrg		basic_machine=hppa1.1-hp
675bccedf53Smrg		;;
676bccedf53Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677bccedf53Smrg		# FIXME: really hppa2.0-hp
678bccedf53Smrg		basic_machine=hppa1.1-hp
679bccedf53Smrg		;;
680bccedf53Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681bccedf53Smrg		basic_machine=hppa1.1-hp
682bccedf53Smrg		;;
683bccedf53Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684bccedf53Smrg		basic_machine=hppa1.0-hp
685bccedf53Smrg		;;
686bccedf53Smrg	hppa-next)
687bccedf53Smrg		os=-nextstep3
688bccedf53Smrg		;;
689bccedf53Smrg	hppaosf)
690bccedf53Smrg		basic_machine=hppa1.1-hp
691bccedf53Smrg		os=-osf
692bccedf53Smrg		;;
693bccedf53Smrg	hppro)
694bccedf53Smrg		basic_machine=hppa1.1-hp
695bccedf53Smrg		os=-proelf
696bccedf53Smrg		;;
697bccedf53Smrg	i370-ibm* | ibm*)
698bccedf53Smrg		basic_machine=i370-ibm
699bccedf53Smrg		;;
700bccedf53Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701bccedf53Smrg	i*86v32)
702bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703bccedf53Smrg		os=-sysv32
704bccedf53Smrg		;;
705bccedf53Smrg	i*86v4*)
706bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707bccedf53Smrg		os=-sysv4
708bccedf53Smrg		;;
709bccedf53Smrg	i*86v)
710bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711bccedf53Smrg		os=-sysv
712bccedf53Smrg		;;
713bccedf53Smrg	i*86sol2)
714bccedf53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715bccedf53Smrg		os=-solaris2
716bccedf53Smrg		;;
717bccedf53Smrg	i386mach)
718bccedf53Smrg		basic_machine=i386-mach
719bccedf53Smrg		os=-mach
720bccedf53Smrg		;;
721bccedf53Smrg	i386-vsta | vsta)
722bccedf53Smrg		basic_machine=i386-unknown
723bccedf53Smrg		os=-vsta
724bccedf53Smrg		;;
725bccedf53Smrg	iris | iris4d)
726bccedf53Smrg		basic_machine=mips-sgi
727bccedf53Smrg		case $os in
728bccedf53Smrg		    -irix*)
729bccedf53Smrg			;;
730bccedf53Smrg		    *)
731bccedf53Smrg			os=-irix4
732bccedf53Smrg			;;
733bccedf53Smrg		esac
734bccedf53Smrg		;;
735bccedf53Smrg	isi68 | isi)
736bccedf53Smrg		basic_machine=m68k-isi
737bccedf53Smrg		os=-sysv
738bccedf53Smrg		;;
7397c5f6000Smrg	m68knommu)
7407c5f6000Smrg		basic_machine=m68k-unknown
7417c5f6000Smrg		os=-linux
7427c5f6000Smrg		;;
7437c5f6000Smrg	m68knommu-*)
7447c5f6000Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7457c5f6000Smrg		os=-linux
7467c5f6000Smrg		;;
747bccedf53Smrg	m88k-omron*)
748bccedf53Smrg		basic_machine=m88k-omron
749bccedf53Smrg		;;
750bccedf53Smrg	magnum | m3230)
751bccedf53Smrg		basic_machine=mips-mips
752bccedf53Smrg		os=-sysv
753bccedf53Smrg		;;
754bccedf53Smrg	merlin)
755bccedf53Smrg		basic_machine=ns32k-utek
756bccedf53Smrg		os=-sysv
757bccedf53Smrg		;;
758f7ada8ddSmrg        microblaze)
759f7ada8ddSmrg		basic_machine=microblaze-xilinx
760f7ada8ddSmrg		;;
761bccedf53Smrg	mingw32)
762bccedf53Smrg		basic_machine=i386-pc
763bccedf53Smrg		os=-mingw32
764bccedf53Smrg		;;
7657c5f6000Smrg	mingw32ce)
7667c5f6000Smrg		basic_machine=arm-unknown
7677c5f6000Smrg		os=-mingw32ce
7687c5f6000Smrg		;;
769bccedf53Smrg	miniframe)
770bccedf53Smrg		basic_machine=m68000-convergent
771bccedf53Smrg		;;
772bccedf53Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773bccedf53Smrg		basic_machine=m68k-atari
774bccedf53Smrg		os=-mint
775bccedf53Smrg		;;
776bccedf53Smrg	mips3*-*)
777bccedf53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778bccedf53Smrg		;;
779bccedf53Smrg	mips3*)
780bccedf53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781bccedf53Smrg		;;
782bccedf53Smrg	monitor)
783bccedf53Smrg		basic_machine=m68k-rom68k
784bccedf53Smrg		os=-coff
785bccedf53Smrg		;;
786bccedf53Smrg	morphos)
787bccedf53Smrg		basic_machine=powerpc-unknown
788bccedf53Smrg		os=-morphos
789bccedf53Smrg		;;
790bccedf53Smrg	msdos)
791bccedf53Smrg		basic_machine=i386-pc
792bccedf53Smrg		os=-msdos
793bccedf53Smrg		;;
7947c5f6000Smrg	ms1-*)
7957c5f6000Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7967c5f6000Smrg		;;
797bccedf53Smrg	mvs)
798bccedf53Smrg		basic_machine=i370-ibm
799bccedf53Smrg		os=-mvs
800bccedf53Smrg		;;
801bccedf53Smrg	ncr3000)
802bccedf53Smrg		basic_machine=i486-ncr
803bccedf53Smrg		os=-sysv4
804bccedf53Smrg		;;
805bccedf53Smrg	netbsd386)
806bccedf53Smrg		basic_machine=i386-unknown
807bccedf53Smrg		os=-netbsd
808bccedf53Smrg		;;
809bccedf53Smrg	netwinder)
810bccedf53Smrg		basic_machine=armv4l-rebel
811bccedf53Smrg		os=-linux
812bccedf53Smrg		;;
813bccedf53Smrg	news | news700 | news800 | news900)
814bccedf53Smrg		basic_machine=m68k-sony
815bccedf53Smrg		os=-newsos
816bccedf53Smrg		;;
817bccedf53Smrg	news1000)
818bccedf53Smrg		basic_machine=m68030-sony
819bccedf53Smrg		os=-newsos
820bccedf53Smrg		;;
821bccedf53Smrg	news-3600 | risc-news)
822bccedf53Smrg		basic_machine=mips-sony
823bccedf53Smrg		os=-newsos
824bccedf53Smrg		;;
825bccedf53Smrg	necv70)
826bccedf53Smrg		basic_machine=v70-nec
827bccedf53Smrg		os=-sysv
828bccedf53Smrg		;;
829bccedf53Smrg	next | m*-next )
830bccedf53Smrg		basic_machine=m68k-next
831bccedf53Smrg		case $os in
832bccedf53Smrg		    -nextstep* )
833bccedf53Smrg			;;
834bccedf53Smrg		    -ns2*)
835bccedf53Smrg		      os=-nextstep2
836bccedf53Smrg			;;
837bccedf53Smrg		    *)
838bccedf53Smrg		      os=-nextstep3
839bccedf53Smrg			;;
840bccedf53Smrg		esac
841bccedf53Smrg		;;
842bccedf53Smrg	nh3000)
843bccedf53Smrg		basic_machine=m68k-harris
844bccedf53Smrg		os=-cxux
845bccedf53Smrg		;;
846bccedf53Smrg	nh[45]000)
847bccedf53Smrg		basic_machine=m88k-harris
848bccedf53Smrg		os=-cxux
849bccedf53Smrg		;;
850bccedf53Smrg	nindy960)
851bccedf53Smrg		basic_machine=i960-intel
852bccedf53Smrg		os=-nindy
853bccedf53Smrg		;;
854bccedf53Smrg	mon960)
855bccedf53Smrg		basic_machine=i960-intel
856bccedf53Smrg		os=-mon960
857bccedf53Smrg		;;
858bccedf53Smrg	nonstopux)
859bccedf53Smrg		basic_machine=mips-compaq
860bccedf53Smrg		os=-nonstopux
861bccedf53Smrg		;;
862bccedf53Smrg	np1)
863bccedf53Smrg		basic_machine=np1-gould
864bccedf53Smrg		;;
865f7ada8ddSmrg        neo-tandem)
866f7ada8ddSmrg		basic_machine=neo-tandem
867f7ada8ddSmrg		;;
868f7ada8ddSmrg        nse-tandem)
869f7ada8ddSmrg		basic_machine=nse-tandem
870f7ada8ddSmrg		;;
871bccedf53Smrg	nsr-tandem)
872bccedf53Smrg		basic_machine=nsr-tandem
873bccedf53Smrg		;;
874bccedf53Smrg	op50n-* | op60c-*)
875bccedf53Smrg		basic_machine=hppa1.1-oki
876bccedf53Smrg		os=-proelf
877bccedf53Smrg		;;
8787c5f6000Smrg	openrisc | openrisc-*)
879bccedf53Smrg		basic_machine=or32-unknown
8807c5f6000Smrg		;;
8817c5f6000Smrg	os400)
8827c5f6000Smrg		basic_machine=powerpc-ibm
8837c5f6000Smrg		os=-os400
884bccedf53Smrg		;;
885bccedf53Smrg	OSE68000 | ose68000)
886bccedf53Smrg		basic_machine=m68000-ericsson
887bccedf53Smrg		os=-ose
888bccedf53Smrg		;;
889bccedf53Smrg	os68k)
890bccedf53Smrg		basic_machine=m68k-none
891bccedf53Smrg		os=-os68k
892bccedf53Smrg		;;
893bccedf53Smrg	pa-hitachi)
894bccedf53Smrg		basic_machine=hppa1.1-hitachi
895bccedf53Smrg		os=-hiuxwe2
896bccedf53Smrg		;;
897bccedf53Smrg	paragon)
898bccedf53Smrg		basic_machine=i860-intel
899bccedf53Smrg		os=-osf
900bccedf53Smrg		;;
9017c5f6000Smrg	parisc)
9027c5f6000Smrg		basic_machine=hppa-unknown
9037c5f6000Smrg		os=-linux
9047c5f6000Smrg		;;
9057c5f6000Smrg	parisc-*)
9067c5f6000Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9077c5f6000Smrg		os=-linux
9087c5f6000Smrg		;;
909bccedf53Smrg	pbd)
910bccedf53Smrg		basic_machine=sparc-tti
911bccedf53Smrg		;;
912bccedf53Smrg	pbb)
913bccedf53Smrg		basic_machine=m68k-tti
914bccedf53Smrg		;;
915bccedf53Smrg	pc532 | pc532-*)
916bccedf53Smrg		basic_machine=ns32k-pc532
917bccedf53Smrg		;;
9187c5f6000Smrg	pc98)
9197c5f6000Smrg		basic_machine=i386-pc
9207c5f6000Smrg		;;
9217c5f6000Smrg	pc98-*)
9227c5f6000Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9237c5f6000Smrg		;;
924bccedf53Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925bccedf53Smrg		basic_machine=i586-pc
926bccedf53Smrg		;;
927bccedf53Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928bccedf53Smrg		basic_machine=i686-pc
929bccedf53Smrg		;;
930bccedf53Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
931bccedf53Smrg		basic_machine=i686-pc
932bccedf53Smrg		;;
933bccedf53Smrg	pentium4)
934bccedf53Smrg		basic_machine=i786-pc
935bccedf53Smrg		;;
936bccedf53Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937bccedf53Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938bccedf53Smrg		;;
939bccedf53Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940bccedf53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941bccedf53Smrg		;;
942bccedf53Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943bccedf53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944bccedf53Smrg		;;
945bccedf53Smrg	pentium4-*)
946bccedf53Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947bccedf53Smrg		;;
948bccedf53Smrg	pn)
949bccedf53Smrg		basic_machine=pn-gould
950bccedf53Smrg		;;
951bccedf53Smrg	power)	basic_machine=power-ibm
952bccedf53Smrg		;;
953bccedf53Smrg	ppc)	basic_machine=powerpc-unknown
954bccedf53Smrg		;;
955bccedf53Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956bccedf53Smrg		;;
957bccedf53Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958bccedf53Smrg		basic_machine=powerpcle-unknown
959bccedf53Smrg		;;
960bccedf53Smrg	ppcle-* | powerpclittle-*)
961bccedf53Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962bccedf53Smrg		;;
963bccedf53Smrg	ppc64)	basic_machine=powerpc64-unknown
964bccedf53Smrg		;;
965bccedf53Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966bccedf53Smrg		;;
967bccedf53Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968bccedf53Smrg		basic_machine=powerpc64le-unknown
969bccedf53Smrg		;;
970bccedf53Smrg	ppc64le-* | powerpc64little-*)
971bccedf53Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972bccedf53Smrg		;;
973bccedf53Smrg	ps2)
974bccedf53Smrg		basic_machine=i386-ibm
975bccedf53Smrg		;;
976bccedf53Smrg	pw32)
977bccedf53Smrg		basic_machine=i586-unknown
978bccedf53Smrg		os=-pw32
979bccedf53Smrg		;;
9807c5f6000Smrg	rdos)
9817c5f6000Smrg		basic_machine=i386-pc
9827c5f6000Smrg		os=-rdos
9837c5f6000Smrg		;;
984bccedf53Smrg	rom68k)
985bccedf53Smrg		basic_machine=m68k-rom68k
986bccedf53Smrg		os=-coff
987bccedf53Smrg		;;
988bccedf53Smrg	rm[46]00)
989bccedf53Smrg		basic_machine=mips-siemens
990bccedf53Smrg		;;
991bccedf53Smrg	rtpc | rtpc-*)
992bccedf53Smrg		basic_machine=romp-ibm
993bccedf53Smrg		;;
9947c5f6000Smrg	s390 | s390-*)
9957c5f6000Smrg		basic_machine=s390-ibm
9967c5f6000Smrg		;;
9977c5f6000Smrg	s390x | s390x-*)
9987c5f6000Smrg		basic_machine=s390x-ibm
9997c5f6000Smrg		;;
1000bccedf53Smrg	sa29200)
1001bccedf53Smrg		basic_machine=a29k-amd
1002bccedf53Smrg		os=-udi
1003bccedf53Smrg		;;
1004bccedf53Smrg	sb1)
1005bccedf53Smrg		basic_machine=mipsisa64sb1-unknown
1006bccedf53Smrg		;;
1007bccedf53Smrg	sb1el)
1008bccedf53Smrg		basic_machine=mipsisa64sb1el-unknown
1009bccedf53Smrg		;;
10107c5f6000Smrg	sde)
10117c5f6000Smrg		basic_machine=mipsisa32-sde
10127c5f6000Smrg		os=-elf
10137c5f6000Smrg		;;
1014bccedf53Smrg	sei)
1015bccedf53Smrg		basic_machine=mips-sei
1016bccedf53Smrg		os=-seiux
1017bccedf53Smrg		;;
1018bccedf53Smrg	sequent)
1019bccedf53Smrg		basic_machine=i386-sequent
1020bccedf53Smrg		;;
1021bccedf53Smrg	sh)
1022bccedf53Smrg		basic_machine=sh-hitachi
1023bccedf53Smrg		os=-hms
1024bccedf53Smrg		;;
10257c5f6000Smrg	sh5el)
10267c5f6000Smrg		basic_machine=sh5le-unknown
10277c5f6000Smrg		;;
1028bccedf53Smrg	sh64)
1029bccedf53Smrg		basic_machine=sh64-unknown
1030bccedf53Smrg		;;
1031bccedf53Smrg	sparclite-wrs | simso-wrs)
1032bccedf53Smrg		basic_machine=sparclite-wrs
1033bccedf53Smrg		os=-vxworks
1034bccedf53Smrg		;;
1035bccedf53Smrg	sps7)
1036bccedf53Smrg		basic_machine=m68k-bull
1037bccedf53Smrg		os=-sysv2
1038bccedf53Smrg		;;
1039bccedf53Smrg	spur)
1040bccedf53Smrg		basic_machine=spur-unknown
1041bccedf53Smrg		;;
1042bccedf53Smrg	st2000)
1043bccedf53Smrg		basic_machine=m68k-tandem
1044bccedf53Smrg		;;
1045bccedf53Smrg	stratus)
1046bccedf53Smrg		basic_machine=i860-stratus
1047bccedf53Smrg		os=-sysv4
1048bccedf53Smrg		;;
1049bccedf53Smrg	sun2)
1050bccedf53Smrg		basic_machine=m68000-sun
1051bccedf53Smrg		;;
1052bccedf53Smrg	sun2os3)
1053bccedf53Smrg		basic_machine=m68000-sun
1054bccedf53Smrg		os=-sunos3
1055bccedf53Smrg		;;
1056bccedf53Smrg	sun2os4)
1057bccedf53Smrg		basic_machine=m68000-sun
1058bccedf53Smrg		os=-sunos4
1059bccedf53Smrg		;;
1060bccedf53Smrg	sun3os3)
1061bccedf53Smrg		basic_machine=m68k-sun
1062bccedf53Smrg		os=-sunos3
1063bccedf53Smrg		;;
1064bccedf53Smrg	sun3os4)
1065bccedf53Smrg		basic_machine=m68k-sun
1066bccedf53Smrg		os=-sunos4
1067bccedf53Smrg		;;
1068bccedf53Smrg	sun4os3)
1069bccedf53Smrg		basic_machine=sparc-sun
1070bccedf53Smrg		os=-sunos3
1071bccedf53Smrg		;;
1072bccedf53Smrg	sun4os4)
1073bccedf53Smrg		basic_machine=sparc-sun
1074bccedf53Smrg		os=-sunos4
1075bccedf53Smrg		;;
1076bccedf53Smrg	sun4sol2)
1077bccedf53Smrg		basic_machine=sparc-sun
1078bccedf53Smrg		os=-solaris2
1079bccedf53Smrg		;;
1080bccedf53Smrg	sun3 | sun3-*)
1081bccedf53Smrg		basic_machine=m68k-sun
1082bccedf53Smrg		;;
1083bccedf53Smrg	sun4)
1084bccedf53Smrg		basic_machine=sparc-sun
1085bccedf53Smrg		;;
1086bccedf53Smrg	sun386 | sun386i | roadrunner)
1087bccedf53Smrg		basic_machine=i386-sun
1088bccedf53Smrg		;;
1089bccedf53Smrg	sv1)
1090bccedf53Smrg		basic_machine=sv1-cray
1091bccedf53Smrg		os=-unicos
1092bccedf53Smrg		;;
1093bccedf53Smrg	symmetry)
1094bccedf53Smrg		basic_machine=i386-sequent
1095bccedf53Smrg		os=-dynix
1096bccedf53Smrg		;;
1097bccedf53Smrg	t3e)
1098bccedf53Smrg		basic_machine=alphaev5-cray
1099bccedf53Smrg		os=-unicos
1100bccedf53Smrg		;;
1101bccedf53Smrg	t90)
1102bccedf53Smrg		basic_machine=t90-cray
1103bccedf53Smrg		os=-unicos
1104bccedf53Smrg		;;
1105f7ada8ddSmrg        # This must be matched before tile*.
1106f7ada8ddSmrg        tilegx*)
1107f7ada8ddSmrg		basic_machine=tilegx-unknown
1108f7ada8ddSmrg		os=-linux-gnu
1109bccedf53Smrg		;;
11107c5f6000Smrg	tile*)
11117c5f6000Smrg		basic_machine=tile-unknown
11127c5f6000Smrg		os=-linux-gnu
11137c5f6000Smrg		;;
1114bccedf53Smrg	tx39)
1115bccedf53Smrg		basic_machine=mipstx39-unknown
1116bccedf53Smrg		;;
1117bccedf53Smrg	tx39el)
1118bccedf53Smrg		basic_machine=mipstx39el-unknown
1119bccedf53Smrg		;;
1120bccedf53Smrg	toad1)
1121bccedf53Smrg		basic_machine=pdp10-xkl
1122bccedf53Smrg		os=-tops20
1123bccedf53Smrg		;;
1124bccedf53Smrg	tower | tower-32)
1125bccedf53Smrg		basic_machine=m68k-ncr
1126bccedf53Smrg		;;
11277c5f6000Smrg	tpf)
11287c5f6000Smrg		basic_machine=s390x-ibm
11297c5f6000Smrg		os=-tpf
11307c5f6000Smrg		;;
1131bccedf53Smrg	udi29k)
1132bccedf53Smrg		basic_machine=a29k-amd
1133bccedf53Smrg		os=-udi
1134bccedf53Smrg		;;
1135bccedf53Smrg	ultra3)
1136bccedf53Smrg		basic_machine=a29k-nyu
1137bccedf53Smrg		os=-sym1
1138bccedf53Smrg		;;
1139bccedf53Smrg	v810 | necv810)
1140bccedf53Smrg		basic_machine=v810-nec
1141bccedf53Smrg		os=-none
1142bccedf53Smrg		;;
1143bccedf53Smrg	vaxv)
1144bccedf53Smrg		basic_machine=vax-dec
1145bccedf53Smrg		os=-sysv
1146bccedf53Smrg		;;
1147bccedf53Smrg	vms)
1148bccedf53Smrg		basic_machine=vax-dec
1149bccedf53Smrg		os=-vms
1150bccedf53Smrg		;;
1151bccedf53Smrg	vpp*|vx|vx-*)
1152bccedf53Smrg		basic_machine=f301-fujitsu
1153bccedf53Smrg		;;
1154bccedf53Smrg	vxworks960)
1155bccedf53Smrg		basic_machine=i960-wrs
1156bccedf53Smrg		os=-vxworks
1157bccedf53Smrg		;;
1158bccedf53Smrg	vxworks68)
1159bccedf53Smrg		basic_machine=m68k-wrs
1160bccedf53Smrg		os=-vxworks
1161bccedf53Smrg		;;
1162bccedf53Smrg	vxworks29k)
1163bccedf53Smrg		basic_machine=a29k-wrs
1164bccedf53Smrg		os=-vxworks
1165bccedf53Smrg		;;
1166bccedf53Smrg	w65*)
1167bccedf53Smrg		basic_machine=w65-wdc
1168bccedf53Smrg		os=-none
1169bccedf53Smrg		;;
1170bccedf53Smrg	w89k-*)
1171bccedf53Smrg		basic_machine=hppa1.1-winbond
1172bccedf53Smrg		os=-proelf
1173bccedf53Smrg		;;
11747c5f6000Smrg	xbox)
11757c5f6000Smrg		basic_machine=i686-pc
11767c5f6000Smrg		os=-mingw32
11777c5f6000Smrg		;;
1178bccedf53Smrg	xps | xps100)
1179bccedf53Smrg		basic_machine=xps100-honeywell
1180bccedf53Smrg		;;
1181bccedf53Smrg	ymp)
1182bccedf53Smrg		basic_machine=ymp-cray
1183bccedf53Smrg		os=-unicos
1184bccedf53Smrg		;;
1185bccedf53Smrg	z8k-*-coff)
1186bccedf53Smrg		basic_machine=z8k-unknown
1187bccedf53Smrg		os=-sim
1188bccedf53Smrg		;;
11897c5f6000Smrg	z80-*-coff)
11907c5f6000Smrg		basic_machine=z80-unknown
11917c5f6000Smrg		os=-sim
11927c5f6000Smrg		;;
1193bccedf53Smrg	none)
1194bccedf53Smrg		basic_machine=none-none
1195bccedf53Smrg		os=-none
1196bccedf53Smrg		;;
1197bccedf53Smrg
1198bccedf53Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199bccedf53Smrg# some cases the only manufacturer, in others, it is the most popular.
1200bccedf53Smrg	w89k)
1201bccedf53Smrg		basic_machine=hppa1.1-winbond
1202bccedf53Smrg		;;
1203bccedf53Smrg	op50n)
1204bccedf53Smrg		basic_machine=hppa1.1-oki
1205bccedf53Smrg		;;
1206bccedf53Smrg	op60c)
1207bccedf53Smrg		basic_machine=hppa1.1-oki
1208bccedf53Smrg		;;
1209bccedf53Smrg	romp)
1210bccedf53Smrg		basic_machine=romp-ibm
1211bccedf53Smrg		;;
12127c5f6000Smrg	mmix)
12137c5f6000Smrg		basic_machine=mmix-knuth
12147c5f6000Smrg		;;
1215bccedf53Smrg	rs6000)
1216bccedf53Smrg		basic_machine=rs6000-ibm
1217bccedf53Smrg		;;
1218bccedf53Smrg	vax)
1219bccedf53Smrg		basic_machine=vax-dec
1220bccedf53Smrg		;;
1221bccedf53Smrg	pdp10)
1222bccedf53Smrg		# there are many clones, so DEC is not a safe bet
1223bccedf53Smrg		basic_machine=pdp10-unknown
1224bccedf53Smrg		;;
1225bccedf53Smrg	pdp11)
1226bccedf53Smrg		basic_machine=pdp11-dec
1227bccedf53Smrg		;;
1228bccedf53Smrg	we32k)
1229bccedf53Smrg		basic_machine=we32k-att
1230bccedf53Smrg		;;
12317c5f6000Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232bccedf53Smrg		basic_machine=sh-unknown
1233bccedf53Smrg		;;
12347c5f6000Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235bccedf53Smrg		basic_machine=sparc-sun
1236bccedf53Smrg		;;
1237bccedf53Smrg	cydra)
1238bccedf53Smrg		basic_machine=cydra-cydrome
1239bccedf53Smrg		;;
1240bccedf53Smrg	orion)
1241bccedf53Smrg		basic_machine=orion-highlevel
1242bccedf53Smrg		;;
1243bccedf53Smrg	orion105)
1244bccedf53Smrg		basic_machine=clipper-highlevel
1245bccedf53Smrg		;;
1246bccedf53Smrg	mac | mpw | mac-mpw)
1247bccedf53Smrg		basic_machine=m68k-apple
1248bccedf53Smrg		;;
1249bccedf53Smrg	pmac | pmac-mpw)
1250bccedf53Smrg		basic_machine=powerpc-apple
1251bccedf53Smrg		;;
1252bccedf53Smrg	*-unknown)
1253bccedf53Smrg		# Make sure to match an already-canonicalized machine name.
1254bccedf53Smrg		;;
1255bccedf53Smrg	*)
1256bccedf53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257bccedf53Smrg		exit 1
1258bccedf53Smrg		;;
1259bccedf53Smrgesac
1260bccedf53Smrg
1261bccedf53Smrg# Here we canonicalize certain aliases for manufacturers.
1262bccedf53Smrgcase $basic_machine in
1263bccedf53Smrg	*-digital*)
1264bccedf53Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265bccedf53Smrg		;;
1266bccedf53Smrg	*-commodore*)
1267bccedf53Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268bccedf53Smrg		;;
1269bccedf53Smrg	*)
1270bccedf53Smrg		;;
1271bccedf53Smrgesac
1272bccedf53Smrg
1273bccedf53Smrg# Decode manufacturer-specific aliases for certain operating systems.
1274bccedf53Smrg
1275bccedf53Smrgif [ x"$os" != x"" ]
1276bccedf53Smrgthen
1277bccedf53Smrgcase $os in
1278bccedf53Smrg        # First match some system type aliases
1279bccedf53Smrg        # that might get confused with valid system types.
1280bccedf53Smrg	# -solaris* is a basic system type, with this one exception.
1281f7ada8ddSmrg        -auroraux)
1282f7ada8ddSmrg	        os=-auroraux
1283f7ada8ddSmrg		;;
1284bccedf53Smrg	-solaris1 | -solaris1.*)
1285bccedf53Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286bccedf53Smrg		;;
1287bccedf53Smrg	-solaris)
1288bccedf53Smrg		os=-solaris2
1289bccedf53Smrg		;;
1290bccedf53Smrg	-svr4*)
1291bccedf53Smrg		os=-sysv4
1292bccedf53Smrg		;;
1293bccedf53Smrg	-unixware*)
1294bccedf53Smrg		os=-sysv4.2uw
1295bccedf53Smrg		;;
1296bccedf53Smrg	-gnu/linux*)
1297bccedf53Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298bccedf53Smrg		;;
1299bccedf53Smrg	# First accept the basic system types.
1300bccedf53Smrg	# The portable systems comes first.
1301bccedf53Smrg	# Each alternative MUST END IN A *, to match a version number.
1302bccedf53Smrg	# -sysv* is not here because it comes later, after sysvr4.
1303bccedf53Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304f7ada8ddSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305f7ada8ddSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306f7ada8ddSmrg	      | -sym* | -kopensolaris* \
1307bccedf53Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13087c5f6000Smrg	      | -aos* | -aros* \
1309bccedf53Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310bccedf53Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13117c5f6000Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13127c5f6000Smrg	      | -openbsd* | -solidbsd* \
13137c5f6000Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13147c5f6000Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315bccedf53Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316bccedf53Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13177c5f6000Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318bccedf53Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319f7ada8ddSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320f7ada8ddSmrg	      | -linux-newlib* | -linux-uclibc* \
13217c5f6000Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322bccedf53Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323bccedf53Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324bccedf53Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325bccedf53Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326bccedf53Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13277c5f6000Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328f7ada8ddSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329bccedf53Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1330bccedf53Smrg		;;
1331bccedf53Smrg	-qnx*)
1332bccedf53Smrg		case $basic_machine in
1333bccedf53Smrg		    x86-* | i*86-*)
1334bccedf53Smrg			;;
1335bccedf53Smrg		    *)
1336bccedf53Smrg			os=-nto$os
1337bccedf53Smrg			;;
1338bccedf53Smrg		esac
1339bccedf53Smrg		;;
1340bccedf53Smrg	-nto-qnx*)
1341bccedf53Smrg		;;
1342bccedf53Smrg	-nto*)
1343bccedf53Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344bccedf53Smrg		;;
1345bccedf53Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13467c5f6000Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347bccedf53Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348bccedf53Smrg		;;
1349bccedf53Smrg	-mac*)
1350bccedf53Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1351bccedf53Smrg		;;
13527c5f6000Smrg	-linux-dietlibc)
13537c5f6000Smrg		os=-linux-dietlibc
13547c5f6000Smrg		;;
1355bccedf53Smrg	-linux*)
1356bccedf53Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357bccedf53Smrg		;;
1358bccedf53Smrg	-sunos5*)
1359bccedf53Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360bccedf53Smrg		;;
1361bccedf53Smrg	-sunos6*)
1362bccedf53Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363bccedf53Smrg		;;
1364bccedf53Smrg	-opened*)
1365bccedf53Smrg		os=-openedition
1366bccedf53Smrg		;;
13677c5f6000Smrg        -os400*)
13687c5f6000Smrg		os=-os400
13697c5f6000Smrg		;;
1370bccedf53Smrg	-wince*)
1371bccedf53Smrg		os=-wince
1372bccedf53Smrg		;;
1373bccedf53Smrg	-osfrose*)
1374bccedf53Smrg		os=-osfrose
1375bccedf53Smrg		;;
1376bccedf53Smrg	-osf*)
1377bccedf53Smrg		os=-osf
1378bccedf53Smrg		;;
1379bccedf53Smrg	-utek*)
1380bccedf53Smrg		os=-bsd
1381bccedf53Smrg		;;
1382bccedf53Smrg	-dynix*)
1383bccedf53Smrg		os=-bsd
1384bccedf53Smrg		;;
1385bccedf53Smrg	-acis*)
1386bccedf53Smrg		os=-aos
1387bccedf53Smrg		;;
1388bccedf53Smrg	-atheos*)
1389bccedf53Smrg		os=-atheos
1390bccedf53Smrg		;;
13917c5f6000Smrg	-syllable*)
13927c5f6000Smrg		os=-syllable
13937c5f6000Smrg		;;
1394bccedf53Smrg	-386bsd)
1395bccedf53Smrg		os=-bsd
1396bccedf53Smrg		;;
1397bccedf53Smrg	-ctix* | -uts*)
1398bccedf53Smrg		os=-sysv
1399bccedf53Smrg		;;
1400bccedf53Smrg	-nova*)
1401bccedf53Smrg		os=-rtmk-nova
1402bccedf53Smrg		;;
1403bccedf53Smrg	-ns2 )
1404bccedf53Smrg		os=-nextstep2
1405bccedf53Smrg		;;
1406bccedf53Smrg	-nsk*)
1407bccedf53Smrg		os=-nsk
1408bccedf53Smrg		;;
1409bccedf53Smrg	# Preserve the version number of sinix5.
1410bccedf53Smrg	-sinix5.*)
1411bccedf53Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412bccedf53Smrg		;;
1413bccedf53Smrg	-sinix*)
1414bccedf53Smrg		os=-sysv4
1415bccedf53Smrg		;;
14167c5f6000Smrg        -tpf*)
14177c5f6000Smrg		os=-tpf
14187c5f6000Smrg		;;
1419bccedf53Smrg	-triton*)
1420bccedf53Smrg		os=-sysv3
1421bccedf53Smrg		;;
1422bccedf53Smrg	-oss*)
1423bccedf53Smrg		os=-sysv3
1424bccedf53Smrg		;;
1425bccedf53Smrg	-svr4)
1426bccedf53Smrg		os=-sysv4
1427bccedf53Smrg		;;
1428bccedf53Smrg	-svr3)
1429bccedf53Smrg		os=-sysv3
1430bccedf53Smrg		;;
1431bccedf53Smrg	-sysvr4)
1432bccedf53Smrg		os=-sysv4
1433bccedf53Smrg		;;
1434bccedf53Smrg	# This must come after -sysvr4.
1435bccedf53Smrg	-sysv*)
1436bccedf53Smrg		;;
1437bccedf53Smrg	-ose*)
1438bccedf53Smrg		os=-ose
1439bccedf53Smrg		;;
1440bccedf53Smrg	-es1800*)
1441bccedf53Smrg		os=-ose
1442bccedf53Smrg		;;
1443bccedf53Smrg	-xenix)
1444bccedf53Smrg		os=-xenix
1445bccedf53Smrg		;;
1446bccedf53Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447bccedf53Smrg		os=-mint
1448bccedf53Smrg		;;
1449bccedf53Smrg	-aros*)
1450bccedf53Smrg		os=-aros
1451bccedf53Smrg		;;
1452bccedf53Smrg	-kaos*)
1453bccedf53Smrg		os=-kaos
1454bccedf53Smrg		;;
14557c5f6000Smrg	-zvmoe)
14567c5f6000Smrg		os=-zvmoe
14577c5f6000Smrg		;;
14587c5f6000Smrg	-dicos*)
14597c5f6000Smrg		os=-dicos
14607c5f6000Smrg		;;
1461f7ada8ddSmrg        -nacl*)
1462f7ada8ddSmrg	        ;;
1463bccedf53Smrg	-none)
1464bccedf53Smrg		;;
1465bccedf53Smrg	*)
1466bccedf53Smrg		# Get rid of the `-' at the beginning of $os.
1467bccedf53Smrg		os=`echo $os | sed 's/[^-]*-//'`
1468bccedf53Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469bccedf53Smrg		exit 1
1470bccedf53Smrg		;;
1471bccedf53Smrgesac
1472bccedf53Smrgelse
1473bccedf53Smrg
1474bccedf53Smrg# Here we handle the default operating systems that come with various machines.
1475bccedf53Smrg# The value should be what the vendor currently ships out the door with their
1476bccedf53Smrg# machine or put another way, the most popular os provided with the machine.
1477bccedf53Smrg
1478bccedf53Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479bccedf53Smrg# "-sun"), then you have to tell the case statement up towards the top
1480bccedf53Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481bccedf53Smrg# will signal an error saying that MANUFACTURER isn't an operating
1482bccedf53Smrg# system, and we'll never get to this point.
1483bccedf53Smrg
1484bccedf53Smrgcase $basic_machine in
14857c5f6000Smrg        score-*)
14867c5f6000Smrg		os=-elf
14877c5f6000Smrg		;;
14887c5f6000Smrg        spu-*)
14897c5f6000Smrg		os=-elf
14907c5f6000Smrg		;;
1491bccedf53Smrg	*-acorn)
1492bccedf53Smrg		os=-riscix1.2
1493bccedf53Smrg		;;
1494bccedf53Smrg	arm*-rebel)
1495bccedf53Smrg		os=-linux
1496bccedf53Smrg		;;
1497bccedf53Smrg	arm*-semi)
1498bccedf53Smrg		os=-aout
1499bccedf53Smrg		;;
15007c5f6000Smrg        c4x-* | tic4x-*)
15017c5f6000Smrg        	os=-coff
1502bccedf53Smrg		;;
1503f7ada8ddSmrg	tic54x-*)
1504f7ada8ddSmrg		os=-coff
1505f7ada8ddSmrg		;;
1506f7ada8ddSmrg	tic55x-*)
1507f7ada8ddSmrg		os=-coff
1508f7ada8ddSmrg		;;
1509f7ada8ddSmrg	tic6x-*)
1510f7ada8ddSmrg		os=-coff
1511f7ada8ddSmrg		;;
1512bccedf53Smrg	# This must come before the *-dec entry.
1513bccedf53Smrg	pdp10-*)
1514bccedf53Smrg		os=-tops20
1515bccedf53Smrg		;;
1516bccedf53Smrg	pdp11-*)
1517bccedf53Smrg		os=-none
1518bccedf53Smrg		;;
1519bccedf53Smrg	*-dec | vax-*)
1520bccedf53Smrg		os=-ultrix4.2
1521bccedf53Smrg		;;
1522bccedf53Smrg	m68*-apollo)
1523bccedf53Smrg		os=-domain
1524bccedf53Smrg		;;
1525bccedf53Smrg	i386-sun)
1526bccedf53Smrg		os=-sunos4.0.2
1527bccedf53Smrg		;;
1528bccedf53Smrg	m68000-sun)
1529bccedf53Smrg		os=-sunos3
1530bccedf53Smrg		# This also exists in the configure program, but was not the
1531bccedf53Smrg		# default.
1532bccedf53Smrg		# os=-sunos4
1533bccedf53Smrg		;;
1534bccedf53Smrg	m68*-cisco)
1535bccedf53Smrg		os=-aout
1536bccedf53Smrg		;;
15377c5f6000Smrg        mep-*)
15387c5f6000Smrg		os=-elf
15397c5f6000Smrg		;;
1540bccedf53Smrg	mips*-cisco)
1541bccedf53Smrg		os=-elf
1542bccedf53Smrg		;;
1543bccedf53Smrg	mips*-*)
1544bccedf53Smrg		os=-elf
1545bccedf53Smrg		;;
1546bccedf53Smrg	or32-*)
1547bccedf53Smrg		os=-coff
1548bccedf53Smrg		;;
1549bccedf53Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550bccedf53Smrg		os=-sysv3
1551bccedf53Smrg		;;
1552bccedf53Smrg	sparc-* | *-sun)
1553bccedf53Smrg		os=-sunos4.1.1
1554bccedf53Smrg		;;
1555bccedf53Smrg	*-be)
1556bccedf53Smrg		os=-beos
1557bccedf53Smrg		;;
15587c5f6000Smrg	*-haiku)
15597c5f6000Smrg		os=-haiku
15607c5f6000Smrg		;;
1561bccedf53Smrg	*-ibm)
1562bccedf53Smrg		os=-aix
1563bccedf53Smrg		;;
15647c5f6000Smrg    	*-knuth)
15657c5f6000Smrg		os=-mmixware
15667c5f6000Smrg		;;
1567bccedf53Smrg	*-wec)
1568bccedf53Smrg		os=-proelf
1569bccedf53Smrg		;;
1570bccedf53Smrg	*-winbond)
1571bccedf53Smrg		os=-proelf
1572bccedf53Smrg		;;
1573bccedf53Smrg	*-oki)
1574bccedf53Smrg		os=-proelf
1575bccedf53Smrg		;;
1576bccedf53Smrg	*-hp)
1577bccedf53Smrg		os=-hpux
1578bccedf53Smrg		;;
1579bccedf53Smrg	*-hitachi)
1580bccedf53Smrg		os=-hiux
1581bccedf53Smrg		;;
1582bccedf53Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583bccedf53Smrg		os=-sysv
1584bccedf53Smrg		;;
1585bccedf53Smrg	*-cbm)
1586bccedf53Smrg		os=-amigaos
1587bccedf53Smrg		;;
1588bccedf53Smrg	*-dg)
1589bccedf53Smrg		os=-dgux
1590bccedf53Smrg		;;
1591bccedf53Smrg	*-dolphin)
1592bccedf53Smrg		os=-sysv3
1593bccedf53Smrg		;;
1594bccedf53Smrg	m68k-ccur)
1595bccedf53Smrg		os=-rtu
1596bccedf53Smrg		;;
1597bccedf53Smrg	m88k-omron*)
1598bccedf53Smrg		os=-luna
1599bccedf53Smrg		;;
1600bccedf53Smrg	*-next )
1601bccedf53Smrg		os=-nextstep
1602bccedf53Smrg		;;
1603bccedf53Smrg	*-sequent)
1604bccedf53Smrg		os=-ptx
1605bccedf53Smrg		;;
1606bccedf53Smrg	*-crds)
1607bccedf53Smrg		os=-unos
1608bccedf53Smrg		;;
1609bccedf53Smrg	*-ns)
1610bccedf53Smrg		os=-genix
1611bccedf53Smrg		;;
1612bccedf53Smrg	i370-*)
1613bccedf53Smrg		os=-mvs
1614bccedf53Smrg		;;
1615bccedf53Smrg	*-next)
1616bccedf53Smrg		os=-nextstep3
1617bccedf53Smrg		;;
1618bccedf53Smrg	*-gould)
1619bccedf53Smrg		os=-sysv
1620bccedf53Smrg		;;
1621bccedf53Smrg	*-highlevel)
1622bccedf53Smrg		os=-bsd
1623bccedf53Smrg		;;
1624bccedf53Smrg	*-encore)
1625bccedf53Smrg		os=-bsd
1626bccedf53Smrg		;;
1627bccedf53Smrg	*-sgi)
1628bccedf53Smrg		os=-irix
1629bccedf53Smrg		;;
1630bccedf53Smrg	*-siemens)
1631bccedf53Smrg		os=-sysv4
1632bccedf53Smrg		;;
1633bccedf53Smrg	*-masscomp)
1634bccedf53Smrg		os=-rtu
1635bccedf53Smrg		;;
1636bccedf53Smrg	f30[01]-fujitsu | f700-fujitsu)
1637bccedf53Smrg		os=-uxpv
1638bccedf53Smrg		;;
1639bccedf53Smrg	*-rom68k)
1640bccedf53Smrg		os=-coff
1641bccedf53Smrg		;;
1642bccedf53Smrg	*-*bug)
1643bccedf53Smrg		os=-coff
1644bccedf53Smrg		;;
1645bccedf53Smrg	*-apple)
1646bccedf53Smrg		os=-macos
1647bccedf53Smrg		;;
1648bccedf53Smrg	*-atari*)
1649bccedf53Smrg		os=-mint
1650bccedf53Smrg		;;
1651bccedf53Smrg	*)
1652bccedf53Smrg		os=-none
1653bccedf53Smrg		;;
1654bccedf53Smrgesac
1655bccedf53Smrgfi
1656bccedf53Smrg
1657bccedf53Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1658bccedf53Smrg# manufacturer.  We pick the logical manufacturer.
1659bccedf53Smrgvendor=unknown
1660bccedf53Smrgcase $basic_machine in
1661bccedf53Smrg	*-unknown)
1662bccedf53Smrg		case $os in
1663bccedf53Smrg			-riscix*)
1664bccedf53Smrg				vendor=acorn
1665bccedf53Smrg				;;
1666bccedf53Smrg			-sunos*)
1667bccedf53Smrg				vendor=sun
1668bccedf53Smrg				;;
1669f7ada8ddSmrg			-cnk*|-aix*)
1670bccedf53Smrg				vendor=ibm
1671bccedf53Smrg				;;
1672bccedf53Smrg			-beos*)
1673bccedf53Smrg				vendor=be
1674bccedf53Smrg				;;
1675bccedf53Smrg			-hpux*)
1676bccedf53Smrg				vendor=hp
1677bccedf53Smrg				;;
1678bccedf53Smrg			-mpeix*)
1679bccedf53Smrg				vendor=hp
1680bccedf53Smrg				;;
1681bccedf53Smrg			-hiux*)
1682bccedf53Smrg				vendor=hitachi
1683bccedf53Smrg				;;
1684bccedf53Smrg			-unos*)
1685bccedf53Smrg				vendor=crds
1686bccedf53Smrg				;;
1687bccedf53Smrg			-dgux*)
1688bccedf53Smrg				vendor=dg
1689bccedf53Smrg				;;
1690bccedf53Smrg			-luna*)
1691bccedf53Smrg				vendor=omron
1692bccedf53Smrg				;;
1693bccedf53Smrg			-genix*)
1694bccedf53Smrg				vendor=ns
1695bccedf53Smrg				;;
1696bccedf53Smrg			-mvs* | -opened*)
1697bccedf53Smrg				vendor=ibm
1698bccedf53Smrg				;;
16997c5f6000Smrg			-os400*)
17007c5f6000Smrg				vendor=ibm
17017c5f6000Smrg				;;
1702bccedf53Smrg			-ptx*)
1703bccedf53Smrg				vendor=sequent
1704bccedf53Smrg				;;
17057c5f6000Smrg			-tpf*)
17067c5f6000Smrg				vendor=ibm
17077c5f6000Smrg				;;
1708bccedf53Smrg			-vxsim* | -vxworks* | -windiss*)
1709bccedf53Smrg				vendor=wrs
1710bccedf53Smrg				;;
1711bccedf53Smrg			-aux*)
1712bccedf53Smrg				vendor=apple
1713bccedf53Smrg				;;
1714bccedf53Smrg			-hms*)
1715bccedf53Smrg				vendor=hitachi
1716bccedf53Smrg				;;
1717bccedf53Smrg			-mpw* | -macos*)
1718bccedf53Smrg				vendor=apple
1719bccedf53Smrg				;;
1720bccedf53Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721bccedf53Smrg				vendor=atari
1722bccedf53Smrg				;;
1723bccedf53Smrg			-vos*)
1724bccedf53Smrg				vendor=stratus
1725bccedf53Smrg				;;
1726bccedf53Smrg		esac
1727bccedf53Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728bccedf53Smrg		;;
1729bccedf53Smrgesac
1730bccedf53Smrg
1731bccedf53Smrgecho $basic_machine$os
17327c5f6000Smrgexit
1733bccedf53Smrg
1734bccedf53Smrg# Local variables:
1735bccedf53Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736bccedf53Smrg# time-stamp-start: "timestamp='"
1737bccedf53Smrg# time-stamp-format: "%:y-%02m-%02d"
1738bccedf53Smrg# time-stamp-end: "'"
1739bccedf53Smrg# End:
1740