config.sub revision 3699b6c4
1c06b6b69Smrg#! /bin/sh
2c06b6b69Smrg# Configuration validation subroutine script.
3c06b6b69Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
43699b6c4Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
59f4658d1Smrg#   Free Software Foundation, Inc.
6c06b6b69Smrg
73699b6c4Smrgtimestamp='2010-01-22'
8c06b6b69Smrg
9c06b6b69Smrg# This file is (in principle) common to ALL GNU software.
10c06b6b69Smrg# The presence of a machine in this file suggests that SOME GNU software
11c06b6b69Smrg# can handle that machine.  It does not imply ALL GNU software can.
12c06b6b69Smrg#
13c06b6b69Smrg# This file is free software; you can redistribute it and/or modify
14c06b6b69Smrg# it under the terms of the GNU General Public License as published by
15c06b6b69Smrg# the Free Software Foundation; either version 2 of the License, or
16c06b6b69Smrg# (at your option) any later version.
17c06b6b69Smrg#
18c06b6b69Smrg# This program is distributed in the hope that it will be useful,
19c06b6b69Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20c06b6b69Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21c06b6b69Smrg# GNU General Public License for more details.
22c06b6b69Smrg#
23c06b6b69Smrg# You should have received a copy of the GNU General Public License
24c06b6b69Smrg# along with this program; if not, write to the Free Software
259f4658d1Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269f4658d1Smrg# 02110-1301, USA.
279f4658d1Smrg#
28c06b6b69Smrg# As a special exception to the GNU General Public License, if you
29c06b6b69Smrg# distribute this file as part of a program that contains a
30c06b6b69Smrg# configuration script generated by Autoconf, you may include it under
31c06b6b69Smrg# the same distribution terms that you use for the rest of that program.
32c06b6b69Smrg
339f4658d1Smrg
34c06b6b69Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
357d17d341Smrg# diff and a properly formatted GNU ChangeLog entry.
36c06b6b69Smrg#
37c06b6b69Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38c06b6b69Smrg# Supply the specified configuration type as an argument.
39c06b6b69Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40c06b6b69Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41c06b6b69Smrg
427d17d341Smrg# You can get the latest version of this script from:
437d17d341Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
447d17d341Smrg
45c06b6b69Smrg# This file is supposed to be the same for all GNU packages
46c06b6b69Smrg# and recognize all the CPU types, system types and aliases
47c06b6b69Smrg# that are meaningful with *any* GNU software.
48c06b6b69Smrg# Each package is responsible for reporting which valid configurations
49c06b6b69Smrg# it does not support.  The user should be able to distinguish
50c06b6b69Smrg# a failure to support a valid configuration from a meaningless
51c06b6b69Smrg# configuration.
52c06b6b69Smrg
53c06b6b69Smrg# The goal of this file is to map all the various variations of a given
54c06b6b69Smrg# machine specification into a single specification in the form:
55c06b6b69Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56c06b6b69Smrg# or in some cases, the newer four-part form:
57c06b6b69Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58c06b6b69Smrg# It is wrong to echo any other type of specification.
59c06b6b69Smrg
60c06b6b69Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61c06b6b69Smrg
62c06b6b69Smrgusage="\
63c06b6b69SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64c06b6b69Smrg       $0 [OPTION] ALIAS
65c06b6b69Smrg
66c06b6b69SmrgCanonicalize a configuration name.
67c06b6b69Smrg
68c06b6b69SmrgOperation modes:
69c06b6b69Smrg  -h, --help         print this help, then exit
70c06b6b69Smrg  -t, --time-stamp   print date of last modification, then exit
71c06b6b69Smrg  -v, --version      print version number, then exit
72c06b6b69Smrg
73c06b6b69SmrgReport bugs and patches to <config-patches@gnu.org>."
74c06b6b69Smrg
75c06b6b69Smrgversion="\
76c06b6b69SmrgGNU config.sub ($timestamp)
77c06b6b69Smrg
783699b6c4SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
793699b6c4Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
803699b6c4SmrgSoftware Foundation, Inc.
81c06b6b69Smrg
82c06b6b69SmrgThis is free software; see the source for copying conditions.  There is NO
83c06b6b69Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84c06b6b69Smrg
85c06b6b69Smrghelp="
86c06b6b69SmrgTry \`$me --help' for more information."
87c06b6b69Smrg
88c06b6b69Smrg# Parse command line
89c06b6b69Smrgwhile test $# -gt 0 ; do
90c06b6b69Smrg  case $1 in
91c06b6b69Smrg    --time-stamp | --time* | -t )
929f4658d1Smrg       echo "$timestamp" ; exit ;;
93c06b6b69Smrg    --version | -v )
949f4658d1Smrg       echo "$version" ; exit ;;
95c06b6b69Smrg    --help | --h* | -h )
969f4658d1Smrg       echo "$usage"; exit ;;
97c06b6b69Smrg    -- )     # Stop option processing
98c06b6b69Smrg       shift; break ;;
99c06b6b69Smrg    - )	# Use stdin as input.
100c06b6b69Smrg       break ;;
101c06b6b69Smrg    -* )
102c06b6b69Smrg       echo "$me: invalid option $1$help"
103c06b6b69Smrg       exit 1 ;;
104c06b6b69Smrg
105c06b6b69Smrg    *local*)
106c06b6b69Smrg       # First pass through any local machine types.
107c06b6b69Smrg       echo $1
1089f4658d1Smrg       exit ;;
109c06b6b69Smrg
110c06b6b69Smrg    * )
111c06b6b69Smrg       break ;;
112c06b6b69Smrg  esac
113c06b6b69Smrgdone
114c06b6b69Smrg
115c06b6b69Smrgcase $# in
116c06b6b69Smrg 0) echo "$me: missing argument$help" >&2
117c06b6b69Smrg    exit 1;;
118c06b6b69Smrg 1) ;;
119c06b6b69Smrg *) echo "$me: too many arguments$help" >&2
120c06b6b69Smrg    exit 1;;
121c06b6b69Smrgesac
122c06b6b69Smrg
123c06b6b69Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124c06b6b69Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125c06b6b69Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126c06b6b69Smrgcase $maybe_os in
1279f4658d1Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1289f4658d1Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1297d17d341Smrg  kopensolaris*-gnu* | \
1309f4658d1Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
131c06b6b69Smrg    os=-$maybe_os
132c06b6b69Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
133c06b6b69Smrg    ;;
134c06b6b69Smrg  *)
135c06b6b69Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136c06b6b69Smrg    if [ $basic_machine != $1 ]
137c06b6b69Smrg    then os=`echo $1 | sed 's/.*-/-/'`
138c06b6b69Smrg    else os=; fi
139c06b6b69Smrg    ;;
140c06b6b69Smrgesac
141c06b6b69Smrg
142c06b6b69Smrg### Let's recognize common machines as not being operating systems so
143c06b6b69Smrg### that things like config.sub decstation-3100 work.  We also
144c06b6b69Smrg### recognize some manufacturers as not being operating systems, so we
145c06b6b69Smrg### can provide default operating systems below.
146c06b6b69Smrgcase $os in
147c06b6b69Smrg	-sun*os*)
148c06b6b69Smrg		# Prevent following clause from handling this invalid input.
149c06b6b69Smrg		;;
150c06b6b69Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151c06b6b69Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152c06b6b69Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153c06b6b69Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154c06b6b69Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155c06b6b69Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1567d17d341Smrg	-apple | -axis | -knuth | -cray | -microblaze)
157c06b6b69Smrg		os=
158c06b6b69Smrg		basic_machine=$1
159c06b6b69Smrg		;;
1607d17d341Smrg        -bluegene*)
1617d17d341Smrg	        os=-cnk
1627d17d341Smrg		;;
163c06b6b69Smrg	-sim | -cisco | -oki | -wec | -winbond)
164c06b6b69Smrg		os=
165c06b6b69Smrg		basic_machine=$1
166c06b6b69Smrg		;;
167c06b6b69Smrg	-scout)
168c06b6b69Smrg		;;
169c06b6b69Smrg	-wrs)
170c06b6b69Smrg		os=-vxworks
171c06b6b69Smrg		basic_machine=$1
172c06b6b69Smrg		;;
173c06b6b69Smrg	-chorusos*)
174c06b6b69Smrg		os=-chorusos
175c06b6b69Smrg		basic_machine=$1
176c06b6b69Smrg		;;
177c06b6b69Smrg 	-chorusrdb)
178c06b6b69Smrg 		os=-chorusrdb
179c06b6b69Smrg		basic_machine=$1
180c06b6b69Smrg 		;;
181c06b6b69Smrg	-hiux*)
182c06b6b69Smrg		os=-hiuxwe2
183c06b6b69Smrg		;;
1849f4658d1Smrg	-sco6)
1859f4658d1Smrg		os=-sco5v6
1869f4658d1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1879f4658d1Smrg		;;
188c06b6b69Smrg	-sco5)
189c06b6b69Smrg		os=-sco3.2v5
190c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191c06b6b69Smrg		;;
192c06b6b69Smrg	-sco4)
193c06b6b69Smrg		os=-sco3.2v4
194c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195c06b6b69Smrg		;;
196c06b6b69Smrg	-sco3.2.[4-9]*)
197c06b6b69Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199c06b6b69Smrg		;;
200c06b6b69Smrg	-sco3.2v[4-9]*)
201c06b6b69Smrg		# Don't forget version if it is 3.2v4 or newer.
202c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203c06b6b69Smrg		;;
2049f4658d1Smrg	-sco5v6*)
2059f4658d1Smrg		# Don't forget version if it is 3.2v4 or newer.
2069f4658d1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2079f4658d1Smrg		;;
208c06b6b69Smrg	-sco*)
209c06b6b69Smrg		os=-sco3.2v2
210c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211c06b6b69Smrg		;;
212c06b6b69Smrg	-udk*)
213c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214c06b6b69Smrg		;;
215c06b6b69Smrg	-isc)
216c06b6b69Smrg		os=-isc2.2
217c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218c06b6b69Smrg		;;
219c06b6b69Smrg	-clix*)
220c06b6b69Smrg		basic_machine=clipper-intergraph
221c06b6b69Smrg		;;
222c06b6b69Smrg	-isc*)
223c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
224c06b6b69Smrg		;;
225c06b6b69Smrg	-lynx*)
226c06b6b69Smrg		os=-lynxos
227c06b6b69Smrg		;;
228c06b6b69Smrg	-ptx*)
229c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
230c06b6b69Smrg		;;
231c06b6b69Smrg	-windowsnt*)
232c06b6b69Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
233c06b6b69Smrg		;;
234c06b6b69Smrg	-psos*)
235c06b6b69Smrg		os=-psos
236c06b6b69Smrg		;;
237c06b6b69Smrg	-mint | -mint[0-9]*)
238c06b6b69Smrg		basic_machine=m68k-atari
239c06b6b69Smrg		os=-mint
240c06b6b69Smrg		;;
241c06b6b69Smrgesac
242c06b6b69Smrg
243c06b6b69Smrg# Decode aliases for certain CPU-COMPANY combinations.
244c06b6b69Smrgcase $basic_machine in
245c06b6b69Smrg	# Recognize the basic CPU types without company name.
246c06b6b69Smrg	# Some are omitted here because they have special meanings below.
247c06b6b69Smrg	1750a | 580 \
248c06b6b69Smrg	| a29k \
249c06b6b69Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
250c06b6b69Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2519f4658d1Smrg	| am33_2.0 \
2529f4658d1Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2539f4658d1Smrg	| bfin \
254c06b6b69Smrg	| c4x | clipper \
255c06b6b69Smrg	| d10v | d30v | dlx | dsp16xx \
2569f4658d1Smrg	| fido | fr30 | frv \
257c06b6b69Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
258c06b6b69Smrg	| i370 | i860 | i960 | ia64 \
2599f4658d1Smrg	| ip2k | iq2000 \
2607d17d341Smrg	| lm32 \
2619f4658d1Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
262b20b881bSmrg	| maxq | mb | microblaze | mcore | mep | metag \
263c06b6b69Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
264c06b6b69Smrg	| mips16 \
265c06b6b69Smrg	| mips64 | mips64el \
266b20b881bSmrg	| mips64octeon | mips64octeonel \
267c06b6b69Smrg	| mips64orion | mips64orionel \
268b20b881bSmrg	| mips64r5900 | mips64r5900el \
269b20b881bSmrg	| mips64vr | mips64vrel \
270c06b6b69Smrg	| mips64vr4100 | mips64vr4100el \
271c06b6b69Smrg	| mips64vr4300 | mips64vr4300el \
272c06b6b69Smrg	| mips64vr5000 | mips64vr5000el \
2739f4658d1Smrg	| mips64vr5900 | mips64vr5900el \
274c06b6b69Smrg	| mipsisa32 | mipsisa32el \
275c06b6b69Smrg	| mipsisa32r2 | mipsisa32r2el \
276c06b6b69Smrg	| mipsisa64 | mipsisa64el \
2779f4658d1Smrg	| mipsisa64r2 | mipsisa64r2el \
278c06b6b69Smrg	| mipsisa64sb1 | mipsisa64sb1el \
279c06b6b69Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
280c06b6b69Smrg	| mipstx39 | mipstx39el \
281c06b6b69Smrg	| mn10200 | mn10300 \
2827d17d341Smrg	| moxie \
2839f4658d1Smrg	| mt \
284c06b6b69Smrg	| msp430 \
2859f4658d1Smrg	| nios | nios2 \
286c06b6b69Smrg	| ns16k | ns32k \
2879f4658d1Smrg	| or32 \
288c06b6b69Smrg	| pdp10 | pdp11 | pj | pjl \
289c06b6b69Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
290c06b6b69Smrg	| pyramid \
2917d17d341Smrg	| rx \
2929f4658d1Smrg	| score \
2937d17d341Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
294c06b6b69Smrg	| sh64 | sh64le \
2959f4658d1Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2969f4658d1Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2979f4658d1Smrg	| spu | strongarm \
298c06b6b69Smrg	| tahoe | thumb | tic4x | tic80 | tron \
2997d17d341Smrg	| ubicom32 \
300c06b6b69Smrg	| v850 | v850e \
301c06b6b69Smrg	| we32k \
3029f4658d1Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
303b20b881bSmrg	| z8k | z80)
304c06b6b69Smrg		basic_machine=$basic_machine-unknown
305c06b6b69Smrg		;;
3067d17d341Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
307c06b6b69Smrg		# Motorola 68HC11/12.
308c06b6b69Smrg		basic_machine=$basic_machine-unknown
309c06b6b69Smrg		os=-none
310c06b6b69Smrg		;;
311c06b6b69Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
312c06b6b69Smrg		;;
3139f4658d1Smrg	ms1)
3149f4658d1Smrg		basic_machine=mt-unknown
3159f4658d1Smrg		;;
316c06b6b69Smrg
317c06b6b69Smrg	# We use `pc' rather than `unknown'
318c06b6b69Smrg	# because (1) that's what they normally are, and
319c06b6b69Smrg	# (2) the word "unknown" tends to confuse beginning users.
320c06b6b69Smrg	i*86 | x86_64)
321c06b6b69Smrg	  basic_machine=$basic_machine-pc
322c06b6b69Smrg	  ;;
323c06b6b69Smrg	# Object if more than one company name word.
324c06b6b69Smrg	*-*-*)
325c06b6b69Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
326c06b6b69Smrg		exit 1
327c06b6b69Smrg		;;
328c06b6b69Smrg	# Recognize the basic CPU types with company name.
329c06b6b69Smrg	580-* \
330c06b6b69Smrg	| a29k-* \
331c06b6b69Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
332c06b6b69Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
333c06b6b69Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
334c06b6b69Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3359f4658d1Smrg	| avr-* | avr32-* \
3369f4658d1Smrg	| bfin-* | bs2000-* \
337c06b6b69Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3389f4658d1Smrg	| clipper-* | craynv-* | cydra-* \
339c06b6b69Smrg	| d10v-* | d30v-* | dlx-* \
340c06b6b69Smrg	| elxsi-* \
3419f4658d1Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
342c06b6b69Smrg	| h8300-* | h8500-* \
343c06b6b69Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
344c06b6b69Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3459f4658d1Smrg	| ip2k-* | iq2000-* \
3467d17d341Smrg	| lm32-* \
3479f4658d1Smrg	| m32c-* | m32r-* | m32rle-* \
348c06b6b69Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3497d17d341Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
350c06b6b69Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
351c06b6b69Smrg	| mips16-* \
352c06b6b69Smrg	| mips64-* | mips64el-* \
353b20b881bSmrg	| mips64octeon-* | mips64octeonel-* \
354c06b6b69Smrg	| mips64orion-* | mips64orionel-* \
355b20b881bSmrg	| mips64r5900-* | mips64r5900el-* \
356b20b881bSmrg	| mips64vr-* | mips64vrel-* \
357c06b6b69Smrg	| mips64vr4100-* | mips64vr4100el-* \
358c06b6b69Smrg	| mips64vr4300-* | mips64vr4300el-* \
359c06b6b69Smrg	| mips64vr5000-* | mips64vr5000el-* \
3609f4658d1Smrg	| mips64vr5900-* | mips64vr5900el-* \
361c06b6b69Smrg	| mipsisa32-* | mipsisa32el-* \
362c06b6b69Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
363c06b6b69Smrg	| mipsisa64-* | mipsisa64el-* \
3649f4658d1Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
365c06b6b69Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
366c06b6b69Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
367c06b6b69Smrg	| mipstx39-* | mipstx39el-* \
3689f4658d1Smrg	| mmix-* \
3699f4658d1Smrg	| mt-* \
370c06b6b69Smrg	| msp430-* \
3719f4658d1Smrg	| nios-* | nios2-* \
3729f4658d1Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
373c06b6b69Smrg	| orion-* \
374c06b6b69Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
375c06b6b69Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
376c06b6b69Smrg	| pyramid-* \
3777d17d341Smrg	| romp-* | rs6000-* | rx-* \
3787d17d341Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
379c06b6b69Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3809f4658d1Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3819f4658d1Smrg	| sparclite-* \
3829f4658d1Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
383c06b6b69Smrg	| tahoe-* | thumb-* \
3843699b6c4Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3853699b6c4Smrg	| tile-* | tilegx-* \
386c06b6b69Smrg	| tron-* \
3877d17d341Smrg	| ubicom32-* \
388c06b6b69Smrg	| v850-* | v850e-* | vax-* \
389c06b6b69Smrg	| we32k-* \
3909f4658d1Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3919f4658d1Smrg	| xstormy16-* | xtensa*-* \
392c06b6b69Smrg	| ymp-* \
393b20b881bSmrg	| z8k-* | z80-*)
394c06b6b69Smrg		;;
3959f4658d1Smrg	# Recognize the basic CPU types without company name, with glob match.
3969f4658d1Smrg	xtensa*)
3979f4658d1Smrg		basic_machine=$basic_machine-unknown
3989f4658d1Smrg		;;
399c06b6b69Smrg	# Recognize the various machine names and aliases which stand
400c06b6b69Smrg	# for a CPU type and a company and sometimes even an OS.
401c06b6b69Smrg	386bsd)
402c06b6b69Smrg		basic_machine=i386-unknown
403c06b6b69Smrg		os=-bsd
404c06b6b69Smrg		;;
405c06b6b69Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
406c06b6b69Smrg		basic_machine=m68000-att
407c06b6b69Smrg		;;
408c06b6b69Smrg	3b*)
409c06b6b69Smrg		basic_machine=we32k-att
410c06b6b69Smrg		;;
411c06b6b69Smrg	a29khif)
412c06b6b69Smrg		basic_machine=a29k-amd
413c06b6b69Smrg		os=-udi
414c06b6b69Smrg		;;
4159f4658d1Smrg    	abacus)
4169f4658d1Smrg		basic_machine=abacus-unknown
4179f4658d1Smrg		;;
418c06b6b69Smrg	adobe68k)
419c06b6b69Smrg		basic_machine=m68010-adobe
420c06b6b69Smrg		os=-scout
421c06b6b69Smrg		;;
422c06b6b69Smrg	alliant | fx80)
423c06b6b69Smrg		basic_machine=fx80-alliant
424c06b6b69Smrg		;;
425c06b6b69Smrg	altos | altos3068)
426c06b6b69Smrg		basic_machine=m68k-altos
427c06b6b69Smrg		;;
428c06b6b69Smrg	am29k)
429c06b6b69Smrg		basic_machine=a29k-none
430c06b6b69Smrg		os=-bsd
431c06b6b69Smrg		;;
432c06b6b69Smrg	amd64)
433c06b6b69Smrg		basic_machine=x86_64-pc
434c06b6b69Smrg		;;
4359f4658d1Smrg	amd64-*)
4369f4658d1Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4379f4658d1Smrg		;;
438c06b6b69Smrg	amdahl)
439c06b6b69Smrg		basic_machine=580-amdahl
440c06b6b69Smrg		os=-sysv
441c06b6b69Smrg		;;
442c06b6b69Smrg	amiga | amiga-*)
443c06b6b69Smrg		basic_machine=m68k-unknown
444c06b6b69Smrg		;;
445c06b6b69Smrg	amigaos | amigados)
446c06b6b69Smrg		basic_machine=m68k-unknown
447c06b6b69Smrg		os=-amigaos
448c06b6b69Smrg		;;
449c06b6b69Smrg	amigaunix | amix)
450c06b6b69Smrg		basic_machine=m68k-unknown
451c06b6b69Smrg		os=-sysv4
452c06b6b69Smrg		;;
453c06b6b69Smrg	apollo68)
454c06b6b69Smrg		basic_machine=m68k-apollo
455c06b6b69Smrg		os=-sysv
456c06b6b69Smrg		;;
457c06b6b69Smrg	apollo68bsd)
458c06b6b69Smrg		basic_machine=m68k-apollo
459c06b6b69Smrg		os=-bsd
460c06b6b69Smrg		;;
4617d17d341Smrg	aros)
4627d17d341Smrg		basic_machine=i386-pc
4637d17d341Smrg		os=-aros
4647d17d341Smrg		;;
465c06b6b69Smrg	aux)
466c06b6b69Smrg		basic_machine=m68k-apple
467c06b6b69Smrg		os=-aux
468c06b6b69Smrg		;;
469c06b6b69Smrg	balance)
470c06b6b69Smrg		basic_machine=ns32k-sequent
471c06b6b69Smrg		os=-dynix
472c06b6b69Smrg		;;
4739f4658d1Smrg	blackfin)
4749f4658d1Smrg		basic_machine=bfin-unknown
4759f4658d1Smrg		os=-linux
4769f4658d1Smrg		;;
4779f4658d1Smrg	blackfin-*)
4789f4658d1Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4799f4658d1Smrg		os=-linux
4809f4658d1Smrg		;;
4817d17d341Smrg	bluegene*)
4827d17d341Smrg		basic_machine=powerpc-ibm
4837d17d341Smrg		os=-cnk
4847d17d341Smrg		;;
485c06b6b69Smrg	c90)
486c06b6b69Smrg		basic_machine=c90-cray
487c06b6b69Smrg		os=-unicos
488c06b6b69Smrg		;;
489b20b881bSmrg        cegcc)
490b20b881bSmrg		basic_machine=arm-unknown
491b20b881bSmrg		os=-cegcc
492b20b881bSmrg		;;
493c06b6b69Smrg	convex-c1)
494c06b6b69Smrg		basic_machine=c1-convex
495c06b6b69Smrg		os=-bsd
496c06b6b69Smrg		;;
497c06b6b69Smrg	convex-c2)
498c06b6b69Smrg		basic_machine=c2-convex
499c06b6b69Smrg		os=-bsd
500c06b6b69Smrg		;;
501c06b6b69Smrg	convex-c32)
502c06b6b69Smrg		basic_machine=c32-convex
503c06b6b69Smrg		os=-bsd
504c06b6b69Smrg		;;
505c06b6b69Smrg	convex-c34)
506c06b6b69Smrg		basic_machine=c34-convex
507c06b6b69Smrg		os=-bsd
508c06b6b69Smrg		;;
509c06b6b69Smrg	convex-c38)
510c06b6b69Smrg		basic_machine=c38-convex
511c06b6b69Smrg		os=-bsd
512c06b6b69Smrg		;;
513c06b6b69Smrg	cray | j90)
514c06b6b69Smrg		basic_machine=j90-cray
515c06b6b69Smrg		os=-unicos
516c06b6b69Smrg		;;
5179f4658d1Smrg	craynv)
5189f4658d1Smrg		basic_machine=craynv-cray
5199f4658d1Smrg		os=-unicosmp
5209f4658d1Smrg		;;
5219f4658d1Smrg	cr16)
5229f4658d1Smrg		basic_machine=cr16-unknown
5239f4658d1Smrg		os=-elf
5249f4658d1Smrg		;;
525c06b6b69Smrg	crds | unos)
526c06b6b69Smrg		basic_machine=m68k-crds
527c06b6b69Smrg		;;
5289f4658d1Smrg	crisv32 | crisv32-* | etraxfs*)
5299f4658d1Smrg		basic_machine=crisv32-axis
5309f4658d1Smrg		;;
531c06b6b69Smrg	cris | cris-* | etrax*)
532c06b6b69Smrg		basic_machine=cris-axis
533c06b6b69Smrg		;;
5349f4658d1Smrg	crx)
5359f4658d1Smrg		basic_machine=crx-unknown
5369f4658d1Smrg		os=-elf
5379f4658d1Smrg		;;
538c06b6b69Smrg	da30 | da30-*)
539c06b6b69Smrg		basic_machine=m68k-da30
540c06b6b69Smrg		;;
541c06b6b69Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
542c06b6b69Smrg		basic_machine=mips-dec
543c06b6b69Smrg		;;
544c06b6b69Smrg	decsystem10* | dec10*)
545c06b6b69Smrg		basic_machine=pdp10-dec
546c06b6b69Smrg		os=-tops10
547c06b6b69Smrg		;;
548c06b6b69Smrg	decsystem20* | dec20*)
549c06b6b69Smrg		basic_machine=pdp10-dec
550c06b6b69Smrg		os=-tops20
551c06b6b69Smrg		;;
552c06b6b69Smrg	delta | 3300 | motorola-3300 | motorola-delta \
553c06b6b69Smrg	      | 3300-motorola | delta-motorola)
554c06b6b69Smrg		basic_machine=m68k-motorola
555c06b6b69Smrg		;;
556c06b6b69Smrg	delta88)
557c06b6b69Smrg		basic_machine=m88k-motorola
558c06b6b69Smrg		os=-sysv3
559c06b6b69Smrg		;;
560b20b881bSmrg	dicos)
561b20b881bSmrg		basic_machine=i686-pc
562b20b881bSmrg		os=-dicos
563b20b881bSmrg		;;
5649f4658d1Smrg	djgpp)
5659f4658d1Smrg		basic_machine=i586-pc
5669f4658d1Smrg		os=-msdosdjgpp
5679f4658d1Smrg		;;
568c06b6b69Smrg	dpx20 | dpx20-*)
569c06b6b69Smrg		basic_machine=rs6000-bull
570c06b6b69Smrg		os=-bosx
571c06b6b69Smrg		;;
572c06b6b69Smrg	dpx2* | dpx2*-bull)
573c06b6b69Smrg		basic_machine=m68k-bull
574c06b6b69Smrg		os=-sysv3
575c06b6b69Smrg		;;
576c06b6b69Smrg	ebmon29k)
577c06b6b69Smrg		basic_machine=a29k-amd
578c06b6b69Smrg		os=-ebmon
579c06b6b69Smrg		;;
580c06b6b69Smrg	elxsi)
581c06b6b69Smrg		basic_machine=elxsi-elxsi
582c06b6b69Smrg		os=-bsd
583c06b6b69Smrg		;;
584c06b6b69Smrg	encore | umax | mmax)
585c06b6b69Smrg		basic_machine=ns32k-encore
586c06b6b69Smrg		;;
587c06b6b69Smrg	es1800 | OSE68k | ose68k | ose | OSE)
588c06b6b69Smrg		basic_machine=m68k-ericsson
589c06b6b69Smrg		os=-ose
590c06b6b69Smrg		;;
591c06b6b69Smrg	fx2800)
592c06b6b69Smrg		basic_machine=i860-alliant
593c06b6b69Smrg		;;
594c06b6b69Smrg	genix)
595c06b6b69Smrg		basic_machine=ns32k-ns
596c06b6b69Smrg		;;
597c06b6b69Smrg	gmicro)
598c06b6b69Smrg		basic_machine=tron-gmicro
599c06b6b69Smrg		os=-sysv
600c06b6b69Smrg		;;
601c06b6b69Smrg	go32)
602c06b6b69Smrg		basic_machine=i386-pc
603c06b6b69Smrg		os=-go32
604c06b6b69Smrg		;;
605c06b6b69Smrg	h3050r* | hiux*)
606c06b6b69Smrg		basic_machine=hppa1.1-hitachi
607c06b6b69Smrg		os=-hiuxwe2
608c06b6b69Smrg		;;
609c06b6b69Smrg	h8300hms)
610c06b6b69Smrg		basic_machine=h8300-hitachi
611c06b6b69Smrg		os=-hms
612c06b6b69Smrg		;;
613c06b6b69Smrg	h8300xray)
614c06b6b69Smrg		basic_machine=h8300-hitachi
615c06b6b69Smrg		os=-xray
616c06b6b69Smrg		;;
617c06b6b69Smrg	h8500hms)
618c06b6b69Smrg		basic_machine=h8500-hitachi
619c06b6b69Smrg		os=-hms
620c06b6b69Smrg		;;
621c06b6b69Smrg	harris)
622c06b6b69Smrg		basic_machine=m88k-harris
623c06b6b69Smrg		os=-sysv3
624c06b6b69Smrg		;;
625c06b6b69Smrg	hp300-*)
626c06b6b69Smrg		basic_machine=m68k-hp
627c06b6b69Smrg		;;
628c06b6b69Smrg	hp300bsd)
629c06b6b69Smrg		basic_machine=m68k-hp
630c06b6b69Smrg		os=-bsd
631c06b6b69Smrg		;;
632c06b6b69Smrg	hp300hpux)
633c06b6b69Smrg		basic_machine=m68k-hp
634c06b6b69Smrg		os=-hpux
635c06b6b69Smrg		;;
636c06b6b69Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
637c06b6b69Smrg		basic_machine=hppa1.0-hp
638c06b6b69Smrg		;;
639c06b6b69Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
640c06b6b69Smrg		basic_machine=m68000-hp
641c06b6b69Smrg		;;
642c06b6b69Smrg	hp9k3[2-9][0-9])
643c06b6b69Smrg		basic_machine=m68k-hp
644c06b6b69Smrg		;;
645c06b6b69Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
646c06b6b69Smrg		basic_machine=hppa1.0-hp
647c06b6b69Smrg		;;
648c06b6b69Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
649c06b6b69Smrg		basic_machine=hppa1.1-hp
650c06b6b69Smrg		;;
651c06b6b69Smrg	hp9k78[0-9] | hp78[0-9])
652c06b6b69Smrg		# FIXME: really hppa2.0-hp
653c06b6b69Smrg		basic_machine=hppa1.1-hp
654c06b6b69Smrg		;;
655c06b6b69Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
656c06b6b69Smrg		# FIXME: really hppa2.0-hp
657c06b6b69Smrg		basic_machine=hppa1.1-hp
658c06b6b69Smrg		;;
659c06b6b69Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
660c06b6b69Smrg		basic_machine=hppa1.1-hp
661c06b6b69Smrg		;;
662c06b6b69Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
663c06b6b69Smrg		basic_machine=hppa1.0-hp
664c06b6b69Smrg		;;
665c06b6b69Smrg	hppa-next)
666c06b6b69Smrg		os=-nextstep3
667c06b6b69Smrg		;;
668c06b6b69Smrg	hppaosf)
669c06b6b69Smrg		basic_machine=hppa1.1-hp
670c06b6b69Smrg		os=-osf
671c06b6b69Smrg		;;
672c06b6b69Smrg	hppro)
673c06b6b69Smrg		basic_machine=hppa1.1-hp
674c06b6b69Smrg		os=-proelf
675c06b6b69Smrg		;;
676c06b6b69Smrg	i370-ibm* | ibm*)
677c06b6b69Smrg		basic_machine=i370-ibm
678c06b6b69Smrg		;;
679c06b6b69Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
680c06b6b69Smrg	i*86v32)
681c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
682c06b6b69Smrg		os=-sysv32
683c06b6b69Smrg		;;
684c06b6b69Smrg	i*86v4*)
685c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
686c06b6b69Smrg		os=-sysv4
687c06b6b69Smrg		;;
688c06b6b69Smrg	i*86v)
689c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
690c06b6b69Smrg		os=-sysv
691c06b6b69Smrg		;;
692c06b6b69Smrg	i*86sol2)
693c06b6b69Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
694c06b6b69Smrg		os=-solaris2
695c06b6b69Smrg		;;
696c06b6b69Smrg	i386mach)
697c06b6b69Smrg		basic_machine=i386-mach
698c06b6b69Smrg		os=-mach
699c06b6b69Smrg		;;
700c06b6b69Smrg	i386-vsta | vsta)
701c06b6b69Smrg		basic_machine=i386-unknown
702c06b6b69Smrg		os=-vsta
703c06b6b69Smrg		;;
704c06b6b69Smrg	iris | iris4d)
705c06b6b69Smrg		basic_machine=mips-sgi
706c06b6b69Smrg		case $os in
707c06b6b69Smrg		    -irix*)
708c06b6b69Smrg			;;
709c06b6b69Smrg		    *)
710c06b6b69Smrg			os=-irix4
711c06b6b69Smrg			;;
712c06b6b69Smrg		esac
713c06b6b69Smrg		;;
714c06b6b69Smrg	isi68 | isi)
715c06b6b69Smrg		basic_machine=m68k-isi
716c06b6b69Smrg		os=-sysv
717c06b6b69Smrg		;;
7189f4658d1Smrg	m68knommu)
7199f4658d1Smrg		basic_machine=m68k-unknown
7209f4658d1Smrg		os=-linux
7219f4658d1Smrg		;;
7229f4658d1Smrg	m68knommu-*)
7239f4658d1Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7249f4658d1Smrg		os=-linux
7259f4658d1Smrg		;;
726c06b6b69Smrg	m88k-omron*)
727c06b6b69Smrg		basic_machine=m88k-omron
728c06b6b69Smrg		;;
729c06b6b69Smrg	magnum | m3230)
730c06b6b69Smrg		basic_machine=mips-mips
731c06b6b69Smrg		os=-sysv
732c06b6b69Smrg		;;
733c06b6b69Smrg	merlin)
734c06b6b69Smrg		basic_machine=ns32k-utek
735c06b6b69Smrg		os=-sysv
736c06b6b69Smrg		;;
7377d17d341Smrg        microblaze)
7387d17d341Smrg		basic_machine=microblaze-xilinx
7397d17d341Smrg		;;
740c06b6b69Smrg	mingw32)
741c06b6b69Smrg		basic_machine=i386-pc
742c06b6b69Smrg		os=-mingw32
743c06b6b69Smrg		;;
7449f4658d1Smrg	mingw32ce)
7459f4658d1Smrg		basic_machine=arm-unknown
7469f4658d1Smrg		os=-mingw32ce
7479f4658d1Smrg		;;
748c06b6b69Smrg	miniframe)
749c06b6b69Smrg		basic_machine=m68000-convergent
750c06b6b69Smrg		;;
751c06b6b69Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
752c06b6b69Smrg		basic_machine=m68k-atari
753c06b6b69Smrg		os=-mint
754c06b6b69Smrg		;;
755c06b6b69Smrg	mips3*-*)
756c06b6b69Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
757c06b6b69Smrg		;;
758c06b6b69Smrg	mips3*)
759c06b6b69Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
760c06b6b69Smrg		;;
761c06b6b69Smrg	monitor)
762c06b6b69Smrg		basic_machine=m68k-rom68k
763c06b6b69Smrg		os=-coff
764c06b6b69Smrg		;;
765c06b6b69Smrg	morphos)
766c06b6b69Smrg		basic_machine=powerpc-unknown
767c06b6b69Smrg		os=-morphos
768c06b6b69Smrg		;;
769c06b6b69Smrg	msdos)
770c06b6b69Smrg		basic_machine=i386-pc
771c06b6b69Smrg		os=-msdos
772c06b6b69Smrg		;;
7739f4658d1Smrg	ms1-*)
7749f4658d1Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7759f4658d1Smrg		;;
776c06b6b69Smrg	mvs)
777c06b6b69Smrg		basic_machine=i370-ibm
778c06b6b69Smrg		os=-mvs
779c06b6b69Smrg		;;
780c06b6b69Smrg	ncr3000)
781c06b6b69Smrg		basic_machine=i486-ncr
782c06b6b69Smrg		os=-sysv4
783c06b6b69Smrg		;;
784c06b6b69Smrg	netbsd386)
785c06b6b69Smrg		basic_machine=i386-unknown
786c06b6b69Smrg		os=-netbsd
787c06b6b69Smrg		;;
788c06b6b69Smrg	netwinder)
789c06b6b69Smrg		basic_machine=armv4l-rebel
790c06b6b69Smrg		os=-linux
791c06b6b69Smrg		;;
792c06b6b69Smrg	news | news700 | news800 | news900)
793c06b6b69Smrg		basic_machine=m68k-sony
794c06b6b69Smrg		os=-newsos
795c06b6b69Smrg		;;
796c06b6b69Smrg	news1000)
797c06b6b69Smrg		basic_machine=m68030-sony
798c06b6b69Smrg		os=-newsos
799c06b6b69Smrg		;;
800c06b6b69Smrg	news-3600 | risc-news)
801c06b6b69Smrg		basic_machine=mips-sony
802c06b6b69Smrg		os=-newsos
803c06b6b69Smrg		;;
804c06b6b69Smrg	necv70)
805c06b6b69Smrg		basic_machine=v70-nec
806c06b6b69Smrg		os=-sysv
807c06b6b69Smrg		;;
808c06b6b69Smrg	next | m*-next )
809c06b6b69Smrg		basic_machine=m68k-next
810c06b6b69Smrg		case $os in
811c06b6b69Smrg		    -nextstep* )
812c06b6b69Smrg			;;
813c06b6b69Smrg		    -ns2*)
814c06b6b69Smrg		      os=-nextstep2
815c06b6b69Smrg			;;
816c06b6b69Smrg		    *)
817c06b6b69Smrg		      os=-nextstep3
818c06b6b69Smrg			;;
819c06b6b69Smrg		esac
820c06b6b69Smrg		;;
821c06b6b69Smrg	nh3000)
822c06b6b69Smrg		basic_machine=m68k-harris
823c06b6b69Smrg		os=-cxux
824c06b6b69Smrg		;;
825c06b6b69Smrg	nh[45]000)
826c06b6b69Smrg		basic_machine=m88k-harris
827c06b6b69Smrg		os=-cxux
828c06b6b69Smrg		;;
829c06b6b69Smrg	nindy960)
830c06b6b69Smrg		basic_machine=i960-intel
831c06b6b69Smrg		os=-nindy
832c06b6b69Smrg		;;
833c06b6b69Smrg	mon960)
834c06b6b69Smrg		basic_machine=i960-intel
835c06b6b69Smrg		os=-mon960
836c06b6b69Smrg		;;
837c06b6b69Smrg	nonstopux)
838c06b6b69Smrg		basic_machine=mips-compaq
839c06b6b69Smrg		os=-nonstopux
840c06b6b69Smrg		;;
841c06b6b69Smrg	np1)
842c06b6b69Smrg		basic_machine=np1-gould
843c06b6b69Smrg		;;
844c06b6b69Smrg	nsr-tandem)
845c06b6b69Smrg		basic_machine=nsr-tandem
846c06b6b69Smrg		;;
847c06b6b69Smrg	op50n-* | op60c-*)
848c06b6b69Smrg		basic_machine=hppa1.1-oki
849c06b6b69Smrg		os=-proelf
850c06b6b69Smrg		;;
8519f4658d1Smrg	openrisc | openrisc-*)
852c06b6b69Smrg		basic_machine=or32-unknown
8539f4658d1Smrg		;;
8549f4658d1Smrg	os400)
8559f4658d1Smrg		basic_machine=powerpc-ibm
8569f4658d1Smrg		os=-os400
857c06b6b69Smrg		;;
858c06b6b69Smrg	OSE68000 | ose68000)
859c06b6b69Smrg		basic_machine=m68000-ericsson
860c06b6b69Smrg		os=-ose
861c06b6b69Smrg		;;
862c06b6b69Smrg	os68k)
863c06b6b69Smrg		basic_machine=m68k-none
864c06b6b69Smrg		os=-os68k
865c06b6b69Smrg		;;
866c06b6b69Smrg	pa-hitachi)
867c06b6b69Smrg		basic_machine=hppa1.1-hitachi
868c06b6b69Smrg		os=-hiuxwe2
869c06b6b69Smrg		;;
870c06b6b69Smrg	paragon)
871c06b6b69Smrg		basic_machine=i860-intel
872c06b6b69Smrg		os=-osf
873c06b6b69Smrg		;;
8749f4658d1Smrg	parisc)
8759f4658d1Smrg		basic_machine=hppa-unknown
8769f4658d1Smrg		os=-linux
8779f4658d1Smrg		;;
8789f4658d1Smrg	parisc-*)
8799f4658d1Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
8809f4658d1Smrg		os=-linux
8819f4658d1Smrg		;;
882c06b6b69Smrg	pbd)
883c06b6b69Smrg		basic_machine=sparc-tti
884c06b6b69Smrg		;;
885c06b6b69Smrg	pbb)
886c06b6b69Smrg		basic_machine=m68k-tti
887c06b6b69Smrg		;;
888c06b6b69Smrg	pc532 | pc532-*)
889c06b6b69Smrg		basic_machine=ns32k-pc532
890c06b6b69Smrg		;;
8919f4658d1Smrg	pc98)
8929f4658d1Smrg		basic_machine=i386-pc
8939f4658d1Smrg		;;
8949f4658d1Smrg	pc98-*)
8959f4658d1Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8969f4658d1Smrg		;;
897c06b6b69Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
898c06b6b69Smrg		basic_machine=i586-pc
899c06b6b69Smrg		;;
900c06b6b69Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
901c06b6b69Smrg		basic_machine=i686-pc
902c06b6b69Smrg		;;
903c06b6b69Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
904c06b6b69Smrg		basic_machine=i686-pc
905c06b6b69Smrg		;;
906c06b6b69Smrg	pentium4)
907c06b6b69Smrg		basic_machine=i786-pc
908c06b6b69Smrg		;;
909c06b6b69Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
910c06b6b69Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
911c06b6b69Smrg		;;
912c06b6b69Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
913c06b6b69Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
914c06b6b69Smrg		;;
915c06b6b69Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
916c06b6b69Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
917c06b6b69Smrg		;;
918c06b6b69Smrg	pentium4-*)
919c06b6b69Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
920c06b6b69Smrg		;;
921c06b6b69Smrg	pn)
922c06b6b69Smrg		basic_machine=pn-gould
923c06b6b69Smrg		;;
924c06b6b69Smrg	power)	basic_machine=power-ibm
925c06b6b69Smrg		;;
926c06b6b69Smrg	ppc)	basic_machine=powerpc-unknown
927c06b6b69Smrg		;;
928c06b6b69Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
929c06b6b69Smrg		;;
930c06b6b69Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
931c06b6b69Smrg		basic_machine=powerpcle-unknown
932c06b6b69Smrg		;;
933c06b6b69Smrg	ppcle-* | powerpclittle-*)
934c06b6b69Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
935c06b6b69Smrg		;;
936c06b6b69Smrg	ppc64)	basic_machine=powerpc64-unknown
937c06b6b69Smrg		;;
938c06b6b69Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
939c06b6b69Smrg		;;
940c06b6b69Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
941c06b6b69Smrg		basic_machine=powerpc64le-unknown
942c06b6b69Smrg		;;
943c06b6b69Smrg	ppc64le-* | powerpc64little-*)
944c06b6b69Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
945c06b6b69Smrg		;;
946c06b6b69Smrg	ps2)
947c06b6b69Smrg		basic_machine=i386-ibm
948c06b6b69Smrg		;;
949c06b6b69Smrg	pw32)
950c06b6b69Smrg		basic_machine=i586-unknown
951c06b6b69Smrg		os=-pw32
952c06b6b69Smrg		;;
9539f4658d1Smrg	rdos)
9549f4658d1Smrg		basic_machine=i386-pc
9559f4658d1Smrg		os=-rdos
9569f4658d1Smrg		;;
957c06b6b69Smrg	rom68k)
958c06b6b69Smrg		basic_machine=m68k-rom68k
959c06b6b69Smrg		os=-coff
960c06b6b69Smrg		;;
961c06b6b69Smrg	rm[46]00)
962c06b6b69Smrg		basic_machine=mips-siemens
963c06b6b69Smrg		;;
964c06b6b69Smrg	rtpc | rtpc-*)
965c06b6b69Smrg		basic_machine=romp-ibm
966c06b6b69Smrg		;;
9679f4658d1Smrg	s390 | s390-*)
9689f4658d1Smrg		basic_machine=s390-ibm
9699f4658d1Smrg		;;
9709f4658d1Smrg	s390x | s390x-*)
9719f4658d1Smrg		basic_machine=s390x-ibm
9729f4658d1Smrg		;;
973c06b6b69Smrg	sa29200)
974c06b6b69Smrg		basic_machine=a29k-amd
975c06b6b69Smrg		os=-udi
976c06b6b69Smrg		;;
977c06b6b69Smrg	sb1)
978c06b6b69Smrg		basic_machine=mipsisa64sb1-unknown
979c06b6b69Smrg		;;
980c06b6b69Smrg	sb1el)
981c06b6b69Smrg		basic_machine=mipsisa64sb1el-unknown
982c06b6b69Smrg		;;
9839f4658d1Smrg	sde)
9849f4658d1Smrg		basic_machine=mipsisa32-sde
9859f4658d1Smrg		os=-elf
9869f4658d1Smrg		;;
987c06b6b69Smrg	sei)
988c06b6b69Smrg		basic_machine=mips-sei
989c06b6b69Smrg		os=-seiux
990c06b6b69Smrg		;;
991c06b6b69Smrg	sequent)
992c06b6b69Smrg		basic_machine=i386-sequent
993c06b6b69Smrg		;;
994c06b6b69Smrg	sh)
995c06b6b69Smrg		basic_machine=sh-hitachi
996c06b6b69Smrg		os=-hms
997c06b6b69Smrg		;;
9989f4658d1Smrg	sh5el)
9999f4658d1Smrg		basic_machine=sh5le-unknown
10009f4658d1Smrg		;;
1001c06b6b69Smrg	sh64)
1002c06b6b69Smrg		basic_machine=sh64-unknown
1003c06b6b69Smrg		;;
1004c06b6b69Smrg	sparclite-wrs | simso-wrs)
1005c06b6b69Smrg		basic_machine=sparclite-wrs
1006c06b6b69Smrg		os=-vxworks
1007c06b6b69Smrg		;;
1008c06b6b69Smrg	sps7)
1009c06b6b69Smrg		basic_machine=m68k-bull
1010c06b6b69Smrg		os=-sysv2
1011c06b6b69Smrg		;;
1012c06b6b69Smrg	spur)
1013c06b6b69Smrg		basic_machine=spur-unknown
1014c06b6b69Smrg		;;
1015c06b6b69Smrg	st2000)
1016c06b6b69Smrg		basic_machine=m68k-tandem
1017c06b6b69Smrg		;;
1018c06b6b69Smrg	stratus)
1019c06b6b69Smrg		basic_machine=i860-stratus
1020c06b6b69Smrg		os=-sysv4
1021c06b6b69Smrg		;;
1022c06b6b69Smrg	sun2)
1023c06b6b69Smrg		basic_machine=m68000-sun
1024c06b6b69Smrg		;;
1025c06b6b69Smrg	sun2os3)
1026c06b6b69Smrg		basic_machine=m68000-sun
1027c06b6b69Smrg		os=-sunos3
1028c06b6b69Smrg		;;
1029c06b6b69Smrg	sun2os4)
1030c06b6b69Smrg		basic_machine=m68000-sun
1031c06b6b69Smrg		os=-sunos4
1032c06b6b69Smrg		;;
1033c06b6b69Smrg	sun3os3)
1034c06b6b69Smrg		basic_machine=m68k-sun
1035c06b6b69Smrg		os=-sunos3
1036c06b6b69Smrg		;;
1037c06b6b69Smrg	sun3os4)
1038c06b6b69Smrg		basic_machine=m68k-sun
1039c06b6b69Smrg		os=-sunos4
1040c06b6b69Smrg		;;
1041c06b6b69Smrg	sun4os3)
1042c06b6b69Smrg		basic_machine=sparc-sun
1043c06b6b69Smrg		os=-sunos3
1044c06b6b69Smrg		;;
1045c06b6b69Smrg	sun4os4)
1046c06b6b69Smrg		basic_machine=sparc-sun
1047c06b6b69Smrg		os=-sunos4
1048c06b6b69Smrg		;;
1049c06b6b69Smrg	sun4sol2)
1050c06b6b69Smrg		basic_machine=sparc-sun
1051c06b6b69Smrg		os=-solaris2
1052c06b6b69Smrg		;;
1053c06b6b69Smrg	sun3 | sun3-*)
1054c06b6b69Smrg		basic_machine=m68k-sun
1055c06b6b69Smrg		;;
1056c06b6b69Smrg	sun4)
1057c06b6b69Smrg		basic_machine=sparc-sun
1058c06b6b69Smrg		;;
1059c06b6b69Smrg	sun386 | sun386i | roadrunner)
1060c06b6b69Smrg		basic_machine=i386-sun
1061c06b6b69Smrg		;;
1062c06b6b69Smrg	sv1)
1063c06b6b69Smrg		basic_machine=sv1-cray
1064c06b6b69Smrg		os=-unicos
1065c06b6b69Smrg		;;
1066c06b6b69Smrg	symmetry)
1067c06b6b69Smrg		basic_machine=i386-sequent
1068c06b6b69Smrg		os=-dynix
1069c06b6b69Smrg		;;
1070c06b6b69Smrg	t3e)
1071c06b6b69Smrg		basic_machine=alphaev5-cray
1072c06b6b69Smrg		os=-unicos
1073c06b6b69Smrg		;;
1074c06b6b69Smrg	t90)
1075c06b6b69Smrg		basic_machine=t90-cray
1076c06b6b69Smrg		os=-unicos
1077c06b6b69Smrg		;;
1078c06b6b69Smrg	tic54x | c54x*)
1079c06b6b69Smrg		basic_machine=tic54x-unknown
1080c06b6b69Smrg		os=-coff
1081c06b6b69Smrg		;;
1082c06b6b69Smrg	tic55x | c55x*)
1083c06b6b69Smrg		basic_machine=tic55x-unknown
1084c06b6b69Smrg		os=-coff
1085c06b6b69Smrg		;;
1086c06b6b69Smrg	tic6x | c6x*)
1087c06b6b69Smrg		basic_machine=tic6x-unknown
1088c06b6b69Smrg		os=-coff
1089c06b6b69Smrg		;;
10903699b6c4Smrg        # This must be matched before tile*.
10913699b6c4Smrg        tilegx*)
10923699b6c4Smrg		basic_machine=tilegx-unknown
10933699b6c4Smrg		os=-linux-gnu
10943699b6c4Smrg		;;
10959f4658d1Smrg	tile*)
10969f4658d1Smrg		basic_machine=tile-unknown
10979f4658d1Smrg		os=-linux-gnu
10989f4658d1Smrg		;;
1099c06b6b69Smrg	tx39)
1100c06b6b69Smrg		basic_machine=mipstx39-unknown
1101c06b6b69Smrg		;;
1102c06b6b69Smrg	tx39el)
1103c06b6b69Smrg		basic_machine=mipstx39el-unknown
1104c06b6b69Smrg		;;
1105c06b6b69Smrg	toad1)
1106c06b6b69Smrg		basic_machine=pdp10-xkl
1107c06b6b69Smrg		os=-tops20
1108c06b6b69Smrg		;;
1109c06b6b69Smrg	tower | tower-32)
1110c06b6b69Smrg		basic_machine=m68k-ncr
1111c06b6b69Smrg		;;
11129f4658d1Smrg	tpf)
11139f4658d1Smrg		basic_machine=s390x-ibm
11149f4658d1Smrg		os=-tpf
11159f4658d1Smrg		;;
1116c06b6b69Smrg	udi29k)
1117c06b6b69Smrg		basic_machine=a29k-amd
1118c06b6b69Smrg		os=-udi
1119c06b6b69Smrg		;;
1120c06b6b69Smrg	ultra3)
1121c06b6b69Smrg		basic_machine=a29k-nyu
1122c06b6b69Smrg		os=-sym1
1123c06b6b69Smrg		;;
1124c06b6b69Smrg	v810 | necv810)
1125c06b6b69Smrg		basic_machine=v810-nec
1126c06b6b69Smrg		os=-none
1127c06b6b69Smrg		;;
1128c06b6b69Smrg	vaxv)
1129c06b6b69Smrg		basic_machine=vax-dec
1130c06b6b69Smrg		os=-sysv
1131c06b6b69Smrg		;;
1132c06b6b69Smrg	vms)
1133c06b6b69Smrg		basic_machine=vax-dec
1134c06b6b69Smrg		os=-vms
1135c06b6b69Smrg		;;
1136c06b6b69Smrg	vpp*|vx|vx-*)
1137c06b6b69Smrg		basic_machine=f301-fujitsu
1138c06b6b69Smrg		;;
1139c06b6b69Smrg	vxworks960)
1140c06b6b69Smrg		basic_machine=i960-wrs
1141c06b6b69Smrg		os=-vxworks
1142c06b6b69Smrg		;;
1143c06b6b69Smrg	vxworks68)
1144c06b6b69Smrg		basic_machine=m68k-wrs
1145c06b6b69Smrg		os=-vxworks
1146c06b6b69Smrg		;;
1147c06b6b69Smrg	vxworks29k)
1148c06b6b69Smrg		basic_machine=a29k-wrs
1149c06b6b69Smrg		os=-vxworks
1150c06b6b69Smrg		;;
1151c06b6b69Smrg	w65*)
1152c06b6b69Smrg		basic_machine=w65-wdc
1153c06b6b69Smrg		os=-none
1154c06b6b69Smrg		;;
1155c06b6b69Smrg	w89k-*)
1156c06b6b69Smrg		basic_machine=hppa1.1-winbond
1157c06b6b69Smrg		os=-proelf
1158c06b6b69Smrg		;;
11599f4658d1Smrg	xbox)
11609f4658d1Smrg		basic_machine=i686-pc
11619f4658d1Smrg		os=-mingw32
11629f4658d1Smrg		;;
1163c06b6b69Smrg	xps | xps100)
1164c06b6b69Smrg		basic_machine=xps100-honeywell
1165c06b6b69Smrg		;;
1166c06b6b69Smrg	ymp)
1167c06b6b69Smrg		basic_machine=ymp-cray
1168c06b6b69Smrg		os=-unicos
1169c06b6b69Smrg		;;
1170c06b6b69Smrg	z8k-*-coff)
1171c06b6b69Smrg		basic_machine=z8k-unknown
1172c06b6b69Smrg		os=-sim
1173c06b6b69Smrg		;;
1174b20b881bSmrg	z80-*-coff)
1175b20b881bSmrg		basic_machine=z80-unknown
1176b20b881bSmrg		os=-sim
1177b20b881bSmrg		;;
1178c06b6b69Smrg	none)
1179c06b6b69Smrg		basic_machine=none-none
1180c06b6b69Smrg		os=-none
1181c06b6b69Smrg		;;
1182c06b6b69Smrg
1183c06b6b69Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1184c06b6b69Smrg# some cases the only manufacturer, in others, it is the most popular.
1185c06b6b69Smrg	w89k)
1186c06b6b69Smrg		basic_machine=hppa1.1-winbond
1187c06b6b69Smrg		;;
1188c06b6b69Smrg	op50n)
1189c06b6b69Smrg		basic_machine=hppa1.1-oki
1190c06b6b69Smrg		;;
1191c06b6b69Smrg	op60c)
1192c06b6b69Smrg		basic_machine=hppa1.1-oki
1193c06b6b69Smrg		;;
1194c06b6b69Smrg	romp)
1195c06b6b69Smrg		basic_machine=romp-ibm
1196c06b6b69Smrg		;;
11979f4658d1Smrg	mmix)
11989f4658d1Smrg		basic_machine=mmix-knuth
11999f4658d1Smrg		;;
1200c06b6b69Smrg	rs6000)
1201c06b6b69Smrg		basic_machine=rs6000-ibm
1202c06b6b69Smrg		;;
1203c06b6b69Smrg	vax)
1204c06b6b69Smrg		basic_machine=vax-dec
1205c06b6b69Smrg		;;
1206c06b6b69Smrg	pdp10)
1207c06b6b69Smrg		# there are many clones, so DEC is not a safe bet
1208c06b6b69Smrg		basic_machine=pdp10-unknown
1209c06b6b69Smrg		;;
1210c06b6b69Smrg	pdp11)
1211c06b6b69Smrg		basic_machine=pdp11-dec
1212c06b6b69Smrg		;;
1213c06b6b69Smrg	we32k)
1214c06b6b69Smrg		basic_machine=we32k-att
1215c06b6b69Smrg		;;
12167d17d341Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1217c06b6b69Smrg		basic_machine=sh-unknown
1218c06b6b69Smrg		;;
12199f4658d1Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1220c06b6b69Smrg		basic_machine=sparc-sun
1221c06b6b69Smrg		;;
1222c06b6b69Smrg	cydra)
1223c06b6b69Smrg		basic_machine=cydra-cydrome
1224c06b6b69Smrg		;;
1225c06b6b69Smrg	orion)
1226c06b6b69Smrg		basic_machine=orion-highlevel
1227c06b6b69Smrg		;;
1228c06b6b69Smrg	orion105)
1229c06b6b69Smrg		basic_machine=clipper-highlevel
1230c06b6b69Smrg		;;
1231c06b6b69Smrg	mac | mpw | mac-mpw)
1232c06b6b69Smrg		basic_machine=m68k-apple
1233c06b6b69Smrg		;;
1234c06b6b69Smrg	pmac | pmac-mpw)
1235c06b6b69Smrg		basic_machine=powerpc-apple
1236c06b6b69Smrg		;;
1237c06b6b69Smrg	*-unknown)
1238c06b6b69Smrg		# Make sure to match an already-canonicalized machine name.
1239c06b6b69Smrg		;;
1240c06b6b69Smrg	*)
1241c06b6b69Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1242c06b6b69Smrg		exit 1
1243c06b6b69Smrg		;;
1244c06b6b69Smrgesac
1245c06b6b69Smrg
1246c06b6b69Smrg# Here we canonicalize certain aliases for manufacturers.
1247c06b6b69Smrgcase $basic_machine in
1248c06b6b69Smrg	*-digital*)
1249c06b6b69Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1250c06b6b69Smrg		;;
1251c06b6b69Smrg	*-commodore*)
1252c06b6b69Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1253c06b6b69Smrg		;;
1254c06b6b69Smrg	*)
1255c06b6b69Smrg		;;
1256c06b6b69Smrgesac
1257c06b6b69Smrg
1258c06b6b69Smrg# Decode manufacturer-specific aliases for certain operating systems.
1259c06b6b69Smrg
1260c06b6b69Smrgif [ x"$os" != x"" ]
1261c06b6b69Smrgthen
1262c06b6b69Smrgcase $os in
1263c06b6b69Smrg        # First match some system type aliases
1264c06b6b69Smrg        # that might get confused with valid system types.
1265c06b6b69Smrg	# -solaris* is a basic system type, with this one exception.
12667d17d341Smrg        -auroraux)
12677d17d341Smrg	        os=-auroraux
12687d17d341Smrg		;;
1269c06b6b69Smrg	-solaris1 | -solaris1.*)
1270c06b6b69Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1271c06b6b69Smrg		;;
1272c06b6b69Smrg	-solaris)
1273c06b6b69Smrg		os=-solaris2
1274c06b6b69Smrg		;;
1275c06b6b69Smrg	-svr4*)
1276c06b6b69Smrg		os=-sysv4
1277c06b6b69Smrg		;;
1278c06b6b69Smrg	-unixware*)
1279c06b6b69Smrg		os=-sysv4.2uw
1280c06b6b69Smrg		;;
1281c06b6b69Smrg	-gnu/linux*)
1282c06b6b69Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1283c06b6b69Smrg		;;
1284c06b6b69Smrg	# First accept the basic system types.
1285c06b6b69Smrg	# The portable systems comes first.
1286c06b6b69Smrg	# Each alternative MUST END IN A *, to match a version number.
1287c06b6b69Smrg	# -sysv* is not here because it comes later, after sysvr4.
1288c06b6b69Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12897d17d341Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
12907d17d341Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
12917d17d341Smrg	      | -sym* | -kopensolaris* \
1292c06b6b69Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12937d17d341Smrg	      | -aos* | -aros* \
1294c06b6b69Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1295c06b6b69Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12969f4658d1Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12979f4658d1Smrg	      | -openbsd* | -solidbsd* \
12989f4658d1Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12999f4658d1Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1300c06b6b69Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1301c06b6b69Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1302b20b881bSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1303c06b6b69Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13049f4658d1Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
13059f4658d1Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1306c06b6b69Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1307c06b6b69Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1308c06b6b69Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1309c06b6b69Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1310c06b6b69Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13119f4658d1Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13127d17d341Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1313c06b6b69Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1314c06b6b69Smrg		;;
1315c06b6b69Smrg	-qnx*)
1316c06b6b69Smrg		case $basic_machine in
1317c06b6b69Smrg		    x86-* | i*86-*)
1318c06b6b69Smrg			;;
1319c06b6b69Smrg		    *)
1320c06b6b69Smrg			os=-nto$os
1321c06b6b69Smrg			;;
1322c06b6b69Smrg		esac
1323c06b6b69Smrg		;;
1324c06b6b69Smrg	-nto-qnx*)
1325c06b6b69Smrg		;;
1326c06b6b69Smrg	-nto*)
1327c06b6b69Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1328c06b6b69Smrg		;;
1329c06b6b69Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13309f4658d1Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1331c06b6b69Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1332c06b6b69Smrg		;;
1333c06b6b69Smrg	-mac*)
1334c06b6b69Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1335c06b6b69Smrg		;;
13369f4658d1Smrg	-linux-dietlibc)
13379f4658d1Smrg		os=-linux-dietlibc
13389f4658d1Smrg		;;
1339c06b6b69Smrg	-linux*)
1340c06b6b69Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1341c06b6b69Smrg		;;
1342c06b6b69Smrg	-sunos5*)
1343c06b6b69Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1344c06b6b69Smrg		;;
1345c06b6b69Smrg	-sunos6*)
1346c06b6b69Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1347c06b6b69Smrg		;;
1348c06b6b69Smrg	-opened*)
1349c06b6b69Smrg		os=-openedition
1350c06b6b69Smrg		;;
13519f4658d1Smrg        -os400*)
13529f4658d1Smrg		os=-os400
13539f4658d1Smrg		;;
1354c06b6b69Smrg	-wince*)
1355c06b6b69Smrg		os=-wince
1356c06b6b69Smrg		;;
1357c06b6b69Smrg	-osfrose*)
1358c06b6b69Smrg		os=-osfrose
1359c06b6b69Smrg		;;
1360c06b6b69Smrg	-osf*)
1361c06b6b69Smrg		os=-osf
1362c06b6b69Smrg		;;
1363c06b6b69Smrg	-utek*)
1364c06b6b69Smrg		os=-bsd
1365c06b6b69Smrg		;;
1366c06b6b69Smrg	-dynix*)
1367c06b6b69Smrg		os=-bsd
1368c06b6b69Smrg		;;
1369c06b6b69Smrg	-acis*)
1370c06b6b69Smrg		os=-aos
1371c06b6b69Smrg		;;
1372c06b6b69Smrg	-atheos*)
1373c06b6b69Smrg		os=-atheos
1374c06b6b69Smrg		;;
13759f4658d1Smrg	-syllable*)
13769f4658d1Smrg		os=-syllable
13779f4658d1Smrg		;;
1378c06b6b69Smrg	-386bsd)
1379c06b6b69Smrg		os=-bsd
1380c06b6b69Smrg		;;
1381c06b6b69Smrg	-ctix* | -uts*)
1382c06b6b69Smrg		os=-sysv
1383c06b6b69Smrg		;;
1384c06b6b69Smrg	-nova*)
1385c06b6b69Smrg		os=-rtmk-nova
1386c06b6b69Smrg		;;
1387c06b6b69Smrg	-ns2 )
1388c06b6b69Smrg		os=-nextstep2
1389c06b6b69Smrg		;;
1390c06b6b69Smrg	-nsk*)
1391c06b6b69Smrg		os=-nsk
1392c06b6b69Smrg		;;
1393c06b6b69Smrg	# Preserve the version number of sinix5.
1394c06b6b69Smrg	-sinix5.*)
1395c06b6b69Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1396c06b6b69Smrg		;;
1397c06b6b69Smrg	-sinix*)
1398c06b6b69Smrg		os=-sysv4
1399c06b6b69Smrg		;;
14009f4658d1Smrg        -tpf*)
14019f4658d1Smrg		os=-tpf
14029f4658d1Smrg		;;
1403c06b6b69Smrg	-triton*)
1404c06b6b69Smrg		os=-sysv3
1405c06b6b69Smrg		;;
1406c06b6b69Smrg	-oss*)
1407c06b6b69Smrg		os=-sysv3
1408c06b6b69Smrg		;;
1409c06b6b69Smrg	-svr4)
1410c06b6b69Smrg		os=-sysv4
1411c06b6b69Smrg		;;
1412c06b6b69Smrg	-svr3)
1413c06b6b69Smrg		os=-sysv3
1414c06b6b69Smrg		;;
1415c06b6b69Smrg	-sysvr4)
1416c06b6b69Smrg		os=-sysv4
1417c06b6b69Smrg		;;
1418c06b6b69Smrg	# This must come after -sysvr4.
1419c06b6b69Smrg	-sysv*)
1420c06b6b69Smrg		;;
1421c06b6b69Smrg	-ose*)
1422c06b6b69Smrg		os=-ose
1423c06b6b69Smrg		;;
1424c06b6b69Smrg	-es1800*)
1425c06b6b69Smrg		os=-ose
1426c06b6b69Smrg		;;
1427c06b6b69Smrg	-xenix)
1428c06b6b69Smrg		os=-xenix
1429c06b6b69Smrg		;;
1430c06b6b69Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1431c06b6b69Smrg		os=-mint
1432c06b6b69Smrg		;;
1433c06b6b69Smrg	-aros*)
1434c06b6b69Smrg		os=-aros
1435c06b6b69Smrg		;;
1436c06b6b69Smrg	-kaos*)
1437c06b6b69Smrg		os=-kaos
1438c06b6b69Smrg		;;
14399f4658d1Smrg	-zvmoe)
14409f4658d1Smrg		os=-zvmoe
14419f4658d1Smrg		;;
1442b20b881bSmrg	-dicos*)
1443b20b881bSmrg		os=-dicos
1444b20b881bSmrg		;;
14453699b6c4Smrg        -nacl*)
14463699b6c4Smrg	        ;;
1447c06b6b69Smrg	-none)
1448c06b6b69Smrg		;;
1449c06b6b69Smrg	*)
1450c06b6b69Smrg		# Get rid of the `-' at the beginning of $os.
1451c06b6b69Smrg		os=`echo $os | sed 's/[^-]*-//'`
1452c06b6b69Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1453c06b6b69Smrg		exit 1
1454c06b6b69Smrg		;;
1455c06b6b69Smrgesac
1456c06b6b69Smrgelse
1457c06b6b69Smrg
1458c06b6b69Smrg# Here we handle the default operating systems that come with various machines.
1459c06b6b69Smrg# The value should be what the vendor currently ships out the door with their
1460c06b6b69Smrg# machine or put another way, the most popular os provided with the machine.
1461c06b6b69Smrg
1462c06b6b69Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1463c06b6b69Smrg# "-sun"), then you have to tell the case statement up towards the top
1464c06b6b69Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1465c06b6b69Smrg# will signal an error saying that MANUFACTURER isn't an operating
1466c06b6b69Smrg# system, and we'll never get to this point.
1467c06b6b69Smrg
1468c06b6b69Smrgcase $basic_machine in
14699f4658d1Smrg        score-*)
14709f4658d1Smrg		os=-elf
14719f4658d1Smrg		;;
14729f4658d1Smrg        spu-*)
14739f4658d1Smrg		os=-elf
14749f4658d1Smrg		;;
1475c06b6b69Smrg	*-acorn)
1476c06b6b69Smrg		os=-riscix1.2
1477c06b6b69Smrg		;;
1478c06b6b69Smrg	arm*-rebel)
1479c06b6b69Smrg		os=-linux
1480c06b6b69Smrg		;;
1481c06b6b69Smrg	arm*-semi)
1482c06b6b69Smrg		os=-aout
1483c06b6b69Smrg		;;
14849f4658d1Smrg        c4x-* | tic4x-*)
14859f4658d1Smrg        	os=-coff
1486c06b6b69Smrg		;;
1487c06b6b69Smrg	# This must come before the *-dec entry.
1488c06b6b69Smrg	pdp10-*)
1489c06b6b69Smrg		os=-tops20
1490c06b6b69Smrg		;;
1491c06b6b69Smrg	pdp11-*)
1492c06b6b69Smrg		os=-none
1493c06b6b69Smrg		;;
1494c06b6b69Smrg	*-dec | vax-*)
1495c06b6b69Smrg		os=-ultrix4.2
1496c06b6b69Smrg		;;
1497c06b6b69Smrg	m68*-apollo)
1498c06b6b69Smrg		os=-domain
1499c06b6b69Smrg		;;
1500c06b6b69Smrg	i386-sun)
1501c06b6b69Smrg		os=-sunos4.0.2
1502c06b6b69Smrg		;;
1503c06b6b69Smrg	m68000-sun)
1504c06b6b69Smrg		os=-sunos3
1505c06b6b69Smrg		# This also exists in the configure program, but was not the
1506c06b6b69Smrg		# default.
1507c06b6b69Smrg		# os=-sunos4
1508c06b6b69Smrg		;;
1509c06b6b69Smrg	m68*-cisco)
1510c06b6b69Smrg		os=-aout
1511c06b6b69Smrg		;;
15129f4658d1Smrg        mep-*)
15139f4658d1Smrg		os=-elf
15149f4658d1Smrg		;;
1515c06b6b69Smrg	mips*-cisco)
1516c06b6b69Smrg		os=-elf
1517c06b6b69Smrg		;;
1518c06b6b69Smrg	mips*-*)
1519c06b6b69Smrg		os=-elf
1520c06b6b69Smrg		;;
1521c06b6b69Smrg	or32-*)
1522c06b6b69Smrg		os=-coff
1523c06b6b69Smrg		;;
1524c06b6b69Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1525c06b6b69Smrg		os=-sysv3
1526c06b6b69Smrg		;;
1527c06b6b69Smrg	sparc-* | *-sun)
1528c06b6b69Smrg		os=-sunos4.1.1
1529c06b6b69Smrg		;;
1530c06b6b69Smrg	*-be)
1531c06b6b69Smrg		os=-beos
1532c06b6b69Smrg		;;
15339f4658d1Smrg	*-haiku)
15349f4658d1Smrg		os=-haiku
15359f4658d1Smrg		;;
1536c06b6b69Smrg	*-ibm)
1537c06b6b69Smrg		os=-aix
1538c06b6b69Smrg		;;
15399f4658d1Smrg    	*-knuth)
15409f4658d1Smrg		os=-mmixware
15419f4658d1Smrg		;;
1542c06b6b69Smrg	*-wec)
1543c06b6b69Smrg		os=-proelf
1544c06b6b69Smrg		;;
1545c06b6b69Smrg	*-winbond)
1546c06b6b69Smrg		os=-proelf
1547c06b6b69Smrg		;;
1548c06b6b69Smrg	*-oki)
1549c06b6b69Smrg		os=-proelf
1550c06b6b69Smrg		;;
1551c06b6b69Smrg	*-hp)
1552c06b6b69Smrg		os=-hpux
1553c06b6b69Smrg		;;
1554c06b6b69Smrg	*-hitachi)
1555c06b6b69Smrg		os=-hiux
1556c06b6b69Smrg		;;
1557c06b6b69Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1558c06b6b69Smrg		os=-sysv
1559c06b6b69Smrg		;;
1560c06b6b69Smrg	*-cbm)
1561c06b6b69Smrg		os=-amigaos
1562c06b6b69Smrg		;;
1563c06b6b69Smrg	*-dg)
1564c06b6b69Smrg		os=-dgux
1565c06b6b69Smrg		;;
1566c06b6b69Smrg	*-dolphin)
1567c06b6b69Smrg		os=-sysv3
1568c06b6b69Smrg		;;
1569c06b6b69Smrg	m68k-ccur)
1570c06b6b69Smrg		os=-rtu
1571c06b6b69Smrg		;;
1572c06b6b69Smrg	m88k-omron*)
1573c06b6b69Smrg		os=-luna
1574c06b6b69Smrg		;;
1575c06b6b69Smrg	*-next )
1576c06b6b69Smrg		os=-nextstep
1577c06b6b69Smrg		;;
1578c06b6b69Smrg	*-sequent)
1579c06b6b69Smrg		os=-ptx
1580c06b6b69Smrg		;;
1581c06b6b69Smrg	*-crds)
1582c06b6b69Smrg		os=-unos
1583c06b6b69Smrg		;;
1584c06b6b69Smrg	*-ns)
1585c06b6b69Smrg		os=-genix
1586c06b6b69Smrg		;;
1587c06b6b69Smrg	i370-*)
1588c06b6b69Smrg		os=-mvs
1589c06b6b69Smrg		;;
1590c06b6b69Smrg	*-next)
1591c06b6b69Smrg		os=-nextstep3
1592c06b6b69Smrg		;;
1593c06b6b69Smrg	*-gould)
1594c06b6b69Smrg		os=-sysv
1595c06b6b69Smrg		;;
1596c06b6b69Smrg	*-highlevel)
1597c06b6b69Smrg		os=-bsd
1598c06b6b69Smrg		;;
1599c06b6b69Smrg	*-encore)
1600c06b6b69Smrg		os=-bsd
1601c06b6b69Smrg		;;
1602c06b6b69Smrg	*-sgi)
1603c06b6b69Smrg		os=-irix
1604c06b6b69Smrg		;;
1605c06b6b69Smrg	*-siemens)
1606c06b6b69Smrg		os=-sysv4
1607c06b6b69Smrg		;;
1608c06b6b69Smrg	*-masscomp)
1609c06b6b69Smrg		os=-rtu
1610c06b6b69Smrg		;;
1611c06b6b69Smrg	f30[01]-fujitsu | f700-fujitsu)
1612c06b6b69Smrg		os=-uxpv
1613c06b6b69Smrg		;;
1614c06b6b69Smrg	*-rom68k)
1615c06b6b69Smrg		os=-coff
1616c06b6b69Smrg		;;
1617c06b6b69Smrg	*-*bug)
1618c06b6b69Smrg		os=-coff
1619c06b6b69Smrg		;;
1620c06b6b69Smrg	*-apple)
1621c06b6b69Smrg		os=-macos
1622c06b6b69Smrg		;;
1623c06b6b69Smrg	*-atari*)
1624c06b6b69Smrg		os=-mint
1625c06b6b69Smrg		;;
1626c06b6b69Smrg	*)
1627c06b6b69Smrg		os=-none
1628c06b6b69Smrg		;;
1629c06b6b69Smrgesac
1630c06b6b69Smrgfi
1631c06b6b69Smrg
1632c06b6b69Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1633c06b6b69Smrg# manufacturer.  We pick the logical manufacturer.
1634c06b6b69Smrgvendor=unknown
1635c06b6b69Smrgcase $basic_machine in
1636c06b6b69Smrg	*-unknown)
1637c06b6b69Smrg		case $os in
1638c06b6b69Smrg			-riscix*)
1639c06b6b69Smrg				vendor=acorn
1640c06b6b69Smrg				;;
1641c06b6b69Smrg			-sunos*)
1642c06b6b69Smrg				vendor=sun
1643c06b6b69Smrg				;;
16447d17d341Smrg			-cnk*|-aix*)
1645c06b6b69Smrg				vendor=ibm
1646c06b6b69Smrg				;;
1647c06b6b69Smrg			-beos*)
1648c06b6b69Smrg				vendor=be
1649c06b6b69Smrg				;;
1650c06b6b69Smrg			-hpux*)
1651c06b6b69Smrg				vendor=hp
1652c06b6b69Smrg				;;
1653c06b6b69Smrg			-mpeix*)
1654c06b6b69Smrg				vendor=hp
1655c06b6b69Smrg				;;
1656c06b6b69Smrg			-hiux*)
1657c06b6b69Smrg				vendor=hitachi
1658c06b6b69Smrg				;;
1659c06b6b69Smrg			-unos*)
1660c06b6b69Smrg				vendor=crds
1661c06b6b69Smrg				;;
1662c06b6b69Smrg			-dgux*)
1663c06b6b69Smrg				vendor=dg
1664c06b6b69Smrg				;;
1665c06b6b69Smrg			-luna*)
1666c06b6b69Smrg				vendor=omron
1667c06b6b69Smrg				;;
1668c06b6b69Smrg			-genix*)
1669c06b6b69Smrg				vendor=ns
1670c06b6b69Smrg				;;
1671c06b6b69Smrg			-mvs* | -opened*)
1672c06b6b69Smrg				vendor=ibm
1673c06b6b69Smrg				;;
16749f4658d1Smrg			-os400*)
16759f4658d1Smrg				vendor=ibm
16769f4658d1Smrg				;;
1677c06b6b69Smrg			-ptx*)
1678c06b6b69Smrg				vendor=sequent
1679c06b6b69Smrg				;;
16809f4658d1Smrg			-tpf*)
16819f4658d1Smrg				vendor=ibm
16829f4658d1Smrg				;;
1683c06b6b69Smrg			-vxsim* | -vxworks* | -windiss*)
1684c06b6b69Smrg				vendor=wrs
1685c06b6b69Smrg				;;
1686c06b6b69Smrg			-aux*)
1687c06b6b69Smrg				vendor=apple
1688c06b6b69Smrg				;;
1689c06b6b69Smrg			-hms*)
1690c06b6b69Smrg				vendor=hitachi
1691c06b6b69Smrg				;;
1692c06b6b69Smrg			-mpw* | -macos*)
1693c06b6b69Smrg				vendor=apple
1694c06b6b69Smrg				;;
1695c06b6b69Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1696c06b6b69Smrg				vendor=atari
1697c06b6b69Smrg				;;
1698c06b6b69Smrg			-vos*)
1699c06b6b69Smrg				vendor=stratus
1700c06b6b69Smrg				;;
1701c06b6b69Smrg		esac
1702c06b6b69Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1703c06b6b69Smrg		;;
1704c06b6b69Smrgesac
1705c06b6b69Smrg
1706c06b6b69Smrgecho $basic_machine$os
17079f4658d1Smrgexit
1708c06b6b69Smrg
1709c06b6b69Smrg# Local variables:
1710c06b6b69Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1711c06b6b69Smrg# time-stamp-start: "timestamp='"
1712c06b6b69Smrg# time-stamp-format: "%:y-%02m-%02d"
1713c06b6b69Smrg# time-stamp-end: "'"
1714c06b6b69Smrg# End:
1715