config.sub revision 62aeb71d
1a966c04fSmrg#! /bin/sh
2a966c04fSmrg# Configuration validation subroutine script.
3a966c04fSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
46e7d3316Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
52e2dd055Smrg#   Free Software Foundation, Inc.
6a966c04fSmrg
76e7d3316Smrgtimestamp='2010-09-11'
8a966c04fSmrg
9a966c04fSmrg# This file is (in principle) common to ALL GNU software.
10a966c04fSmrg# The presence of a machine in this file suggests that SOME GNU software
11a966c04fSmrg# can handle that machine.  It does not imply ALL GNU software can.
12a966c04fSmrg#
13a966c04fSmrg# This file is free software; you can redistribute it and/or modify
14a966c04fSmrg# it under the terms of the GNU General Public License as published by
15a966c04fSmrg# the Free Software Foundation; either version 2 of the License, or
16a966c04fSmrg# (at your option) any later version.
17a966c04fSmrg#
18a966c04fSmrg# This program is distributed in the hope that it will be useful,
19a966c04fSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20a966c04fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21a966c04fSmrg# GNU General Public License for more details.
22a966c04fSmrg#
23a966c04fSmrg# You should have received a copy of the GNU General Public License
24a966c04fSmrg# along with this program; if not, write to the Free Software
25a966c04fSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26a966c04fSmrg# 02110-1301, USA.
27a966c04fSmrg#
28a966c04fSmrg# As a special exception to the GNU General Public License, if you
29a966c04fSmrg# distribute this file as part of a program that contains a
30a966c04fSmrg# configuration script generated by Autoconf, you may include it under
31a966c04fSmrg# the same distribution terms that you use for the rest of that program.
32a966c04fSmrg
33a966c04fSmrg
34a966c04fSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
356e7d3316Smrg# diff and a properly formatted GNU ChangeLog entry.
36a966c04fSmrg#
37a966c04fSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38a966c04fSmrg# Supply the specified configuration type as an argument.
39a966c04fSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40a966c04fSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41a966c04fSmrg
426e7d3316Smrg# You can get the latest version of this script from:
436e7d3316Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
446e7d3316Smrg
45a966c04fSmrg# This file is supposed to be the same for all GNU packages
46a966c04fSmrg# and recognize all the CPU types, system types and aliases
47a966c04fSmrg# that are meaningful with *any* GNU software.
48a966c04fSmrg# Each package is responsible for reporting which valid configurations
49a966c04fSmrg# it does not support.  The user should be able to distinguish
50a966c04fSmrg# a failure to support a valid configuration from a meaningless
51a966c04fSmrg# configuration.
52a966c04fSmrg
53a966c04fSmrg# The goal of this file is to map all the various variations of a given
54a966c04fSmrg# machine specification into a single specification in the form:
55a966c04fSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56a966c04fSmrg# or in some cases, the newer four-part form:
57a966c04fSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58a966c04fSmrg# It is wrong to echo any other type of specification.
59a966c04fSmrg
60a966c04fSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61a966c04fSmrg
62a966c04fSmrgusage="\
63a966c04fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64a966c04fSmrg       $0 [OPTION] ALIAS
65a966c04fSmrg
66a966c04fSmrgCanonicalize a configuration name.
67a966c04fSmrg
68a966c04fSmrgOperation modes:
69a966c04fSmrg  -h, --help         print this help, then exit
70a966c04fSmrg  -t, --time-stamp   print date of last modification, then exit
71a966c04fSmrg  -v, --version      print version number, then exit
72a966c04fSmrg
73a966c04fSmrgReport bugs and patches to <config-patches@gnu.org>."
74a966c04fSmrg
75a966c04fSmrgversion="\
76a966c04fSmrgGNU config.sub ($timestamp)
77a966c04fSmrg
786e7d3316SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
796e7d3316Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
806e7d3316SmrgSoftware Foundation, Inc.
81a966c04fSmrg
82a966c04fSmrgThis is free software; see the source for copying conditions.  There is NO
83a966c04fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84a966c04fSmrg
85a966c04fSmrghelp="
86a966c04fSmrgTry \`$me --help' for more information."
87a966c04fSmrg
88a966c04fSmrg# Parse command line
89a966c04fSmrgwhile test $# -gt 0 ; do
90a966c04fSmrg  case $1 in
91a966c04fSmrg    --time-stamp | --time* | -t )
92a966c04fSmrg       echo "$timestamp" ; exit ;;
93a966c04fSmrg    --version | -v )
94a966c04fSmrg       echo "$version" ; exit ;;
95a966c04fSmrg    --help | --h* | -h )
96a966c04fSmrg       echo "$usage"; exit ;;
97a966c04fSmrg    -- )     # Stop option processing
98a966c04fSmrg       shift; break ;;
99a966c04fSmrg    - )	# Use stdin as input.
100a966c04fSmrg       break ;;
101a966c04fSmrg    -* )
102a966c04fSmrg       echo "$me: invalid option $1$help"
103a966c04fSmrg       exit 1 ;;
104a966c04fSmrg
105a966c04fSmrg    *local*)
106a966c04fSmrg       # First pass through any local machine types.
107a966c04fSmrg       echo $1
108a966c04fSmrg       exit ;;
109a966c04fSmrg
110a966c04fSmrg    * )
111a966c04fSmrg       break ;;
112a966c04fSmrg  esac
113a966c04fSmrgdone
114a966c04fSmrg
115a966c04fSmrgcase $# in
116a966c04fSmrg 0) echo "$me: missing argument$help" >&2
117a966c04fSmrg    exit 1;;
118a966c04fSmrg 1) ;;
119a966c04fSmrg *) echo "$me: too many arguments$help" >&2
120a966c04fSmrg    exit 1;;
121a966c04fSmrgesac
122a966c04fSmrg
123a966c04fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124a966c04fSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125a966c04fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126a966c04fSmrgcase $maybe_os in
1276e7d3316Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1286e7d3316Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1296e7d3316Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1306e7d3316Smrg  kopensolaris*-gnu* | \
131a966c04fSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
132a966c04fSmrg    os=-$maybe_os
133a966c04fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134a966c04fSmrg    ;;
135a966c04fSmrg  *)
136a966c04fSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137a966c04fSmrg    if [ $basic_machine != $1 ]
138a966c04fSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139a966c04fSmrg    else os=; fi
140a966c04fSmrg    ;;
141a966c04fSmrgesac
142a966c04fSmrg
143a966c04fSmrg### Let's recognize common machines as not being operating systems so
144a966c04fSmrg### that things like config.sub decstation-3100 work.  We also
145a966c04fSmrg### recognize some manufacturers as not being operating systems, so we
146a966c04fSmrg### can provide default operating systems below.
147a966c04fSmrgcase $os in
148a966c04fSmrg	-sun*os*)
149a966c04fSmrg		# Prevent following clause from handling this invalid input.
150a966c04fSmrg		;;
151a966c04fSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152a966c04fSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153a966c04fSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154a966c04fSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155a966c04fSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156a966c04fSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1576e7d3316Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158a966c04fSmrg		os=
159a966c04fSmrg		basic_machine=$1
160a966c04fSmrg		;;
1616e7d3316Smrg        -bluegene*)
1626e7d3316Smrg	        os=-cnk
1636e7d3316Smrg		;;
164a966c04fSmrg	-sim | -cisco | -oki | -wec | -winbond)
165a966c04fSmrg		os=
166a966c04fSmrg		basic_machine=$1
167a966c04fSmrg		;;
168a966c04fSmrg	-scout)
169a966c04fSmrg		;;
170a966c04fSmrg	-wrs)
171a966c04fSmrg		os=-vxworks
172a966c04fSmrg		basic_machine=$1
173a966c04fSmrg		;;
174a966c04fSmrg	-chorusos*)
175a966c04fSmrg		os=-chorusos
176a966c04fSmrg		basic_machine=$1
177a966c04fSmrg		;;
178a966c04fSmrg 	-chorusrdb)
179a966c04fSmrg 		os=-chorusrdb
180a966c04fSmrg		basic_machine=$1
181a966c04fSmrg 		;;
182a966c04fSmrg	-hiux*)
183a966c04fSmrg		os=-hiuxwe2
184a966c04fSmrg		;;
185a966c04fSmrg	-sco6)
186a966c04fSmrg		os=-sco5v6
187a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188a966c04fSmrg		;;
189a966c04fSmrg	-sco5)
190a966c04fSmrg		os=-sco3.2v5
191a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192a966c04fSmrg		;;
193a966c04fSmrg	-sco4)
194a966c04fSmrg		os=-sco3.2v4
195a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196a966c04fSmrg		;;
197a966c04fSmrg	-sco3.2.[4-9]*)
198a966c04fSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200a966c04fSmrg		;;
201a966c04fSmrg	-sco3.2v[4-9]*)
202a966c04fSmrg		# Don't forget version if it is 3.2v4 or newer.
203a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204a966c04fSmrg		;;
205a966c04fSmrg	-sco5v6*)
206a966c04fSmrg		# Don't forget version if it is 3.2v4 or newer.
207a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208a966c04fSmrg		;;
209a966c04fSmrg	-sco*)
210a966c04fSmrg		os=-sco3.2v2
211a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212a966c04fSmrg		;;
213a966c04fSmrg	-udk*)
214a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215a966c04fSmrg		;;
216a966c04fSmrg	-isc)
217a966c04fSmrg		os=-isc2.2
218a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219a966c04fSmrg		;;
220a966c04fSmrg	-clix*)
221a966c04fSmrg		basic_machine=clipper-intergraph
222a966c04fSmrg		;;
223a966c04fSmrg	-isc*)
224a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225a966c04fSmrg		;;
226a966c04fSmrg	-lynx*)
227a966c04fSmrg		os=-lynxos
228a966c04fSmrg		;;
229a966c04fSmrg	-ptx*)
230a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231a966c04fSmrg		;;
232a966c04fSmrg	-windowsnt*)
233a966c04fSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234a966c04fSmrg		;;
235a966c04fSmrg	-psos*)
236a966c04fSmrg		os=-psos
237a966c04fSmrg		;;
238a966c04fSmrg	-mint | -mint[0-9]*)
239a966c04fSmrg		basic_machine=m68k-atari
240a966c04fSmrg		os=-mint
241a966c04fSmrg		;;
242a966c04fSmrgesac
243a966c04fSmrg
244a966c04fSmrg# Decode aliases for certain CPU-COMPANY combinations.
245a966c04fSmrgcase $basic_machine in
246a966c04fSmrg	# Recognize the basic CPU types without company name.
247a966c04fSmrg	# Some are omitted here because they have special meanings below.
248a966c04fSmrg	1750a | 580 \
249a966c04fSmrg	| a29k \
250a966c04fSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251a966c04fSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252a966c04fSmrg	| am33_2.0 \
2532e2dd055Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254a966c04fSmrg	| bfin \
255a966c04fSmrg	| c4x | clipper \
256a966c04fSmrg	| d10v | d30v | dlx | dsp16xx \
2572e2dd055Smrg	| fido | fr30 | frv \
258a966c04fSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259a966c04fSmrg	| i370 | i860 | i960 | ia64 \
260a966c04fSmrg	| ip2k | iq2000 \
2616e7d3316Smrg	| lm32 \
2622e2dd055Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2636e7d3316Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264a966c04fSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265a966c04fSmrg	| mips16 \
266a966c04fSmrg	| mips64 | mips64el \
2676e7d3316Smrg	| mips64octeon | mips64octeonel \
268a966c04fSmrg	| mips64orion | mips64orionel \
2696e7d3316Smrg	| mips64r5900 | mips64r5900el \
2706e7d3316Smrg	| mips64vr | mips64vrel \
271a966c04fSmrg	| mips64vr4100 | mips64vr4100el \
272a966c04fSmrg	| mips64vr4300 | mips64vr4300el \
273a966c04fSmrg	| mips64vr5000 | mips64vr5000el \
274a966c04fSmrg	| mips64vr5900 | mips64vr5900el \
275a966c04fSmrg	| mipsisa32 | mipsisa32el \
276a966c04fSmrg	| mipsisa32r2 | mipsisa32r2el \
277a966c04fSmrg	| mipsisa64 | mipsisa64el \
278a966c04fSmrg	| mipsisa64r2 | mipsisa64r2el \
279a966c04fSmrg	| mipsisa64sb1 | mipsisa64sb1el \
280a966c04fSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
281a966c04fSmrg	| mipstx39 | mipstx39el \
282a966c04fSmrg	| mn10200 | mn10300 \
2836e7d3316Smrg	| moxie \
284a966c04fSmrg	| mt \
285a966c04fSmrg	| msp430 \
2866e7d3316Smrg	| nds32 | nds32le | nds32be \
2872e2dd055Smrg	| nios | nios2 \
288a966c04fSmrg	| ns16k | ns32k \
289a966c04fSmrg	| or32 \
290a966c04fSmrg	| pdp10 | pdp11 | pj | pjl \
291a966c04fSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292a966c04fSmrg	| pyramid \
2936e7d3316Smrg	| rx \
2942e2dd055Smrg	| score \
2956e7d3316Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296a966c04fSmrg	| sh64 | sh64le \
2972e2dd055Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2982e2dd055Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2992e2dd055Smrg	| spu | strongarm \
3006e7d3316Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3016e7d3316Smrg	| ubicom32 \
302a966c04fSmrg	| v850 | v850e \
303a966c04fSmrg	| we32k \
3042e2dd055Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3056e7d3316Smrg	| z8k | z80)
306a966c04fSmrg		basic_machine=$basic_machine-unknown
307a966c04fSmrg		;;
3086e7d3316Smrg	c54x)
3096e7d3316Smrg		basic_machine=tic54x-unknown
3106e7d3316Smrg		;;
3116e7d3316Smrg	c55x)
3126e7d3316Smrg		basic_machine=tic55x-unknown
3136e7d3316Smrg		;;
3146e7d3316Smrg	c6x)
3156e7d3316Smrg		basic_machine=tic6x-unknown
3166e7d3316Smrg		;;
3176e7d3316Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318a966c04fSmrg		# Motorola 68HC11/12.
319a966c04fSmrg		basic_machine=$basic_machine-unknown
320a966c04fSmrg		os=-none
321a966c04fSmrg		;;
322a966c04fSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323a966c04fSmrg		;;
324a966c04fSmrg	ms1)
325a966c04fSmrg		basic_machine=mt-unknown
326a966c04fSmrg		;;
327a966c04fSmrg
328a966c04fSmrg	# We use `pc' rather than `unknown'
329a966c04fSmrg	# because (1) that's what they normally are, and
330a966c04fSmrg	# (2) the word "unknown" tends to confuse beginning users.
331a966c04fSmrg	i*86 | x86_64)
332a966c04fSmrg	  basic_machine=$basic_machine-pc
333a966c04fSmrg	  ;;
334a966c04fSmrg	# Object if more than one company name word.
335a966c04fSmrg	*-*-*)
336a966c04fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337a966c04fSmrg		exit 1
338a966c04fSmrg		;;
339a966c04fSmrg	# Recognize the basic CPU types with company name.
340a966c04fSmrg	580-* \
341a966c04fSmrg	| a29k-* \
342a966c04fSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343a966c04fSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344a966c04fSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345a966c04fSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3462e2dd055Smrg	| avr-* | avr32-* \
347a966c04fSmrg	| bfin-* | bs2000-* \
3486e7d3316Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349a966c04fSmrg	| clipper-* | craynv-* | cydra-* \
350a966c04fSmrg	| d10v-* | d30v-* | dlx-* \
351a966c04fSmrg	| elxsi-* \
3522e2dd055Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353a966c04fSmrg	| h8300-* | h8500-* \
354a966c04fSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355a966c04fSmrg	| i*86-* | i860-* | i960-* | ia64-* \
356a966c04fSmrg	| ip2k-* | iq2000-* \
3576e7d3316Smrg	| lm32-* \
3582e2dd055Smrg	| m32c-* | m32r-* | m32rle-* \
359a966c04fSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3606e7d3316Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361a966c04fSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362a966c04fSmrg	| mips16-* \
363a966c04fSmrg	| mips64-* | mips64el-* \
3646e7d3316Smrg	| mips64octeon-* | mips64octeonel-* \
365a966c04fSmrg	| mips64orion-* | mips64orionel-* \
3666e7d3316Smrg	| mips64r5900-* | mips64r5900el-* \
3676e7d3316Smrg	| mips64vr-* | mips64vrel-* \
368a966c04fSmrg	| mips64vr4100-* | mips64vr4100el-* \
369a966c04fSmrg	| mips64vr4300-* | mips64vr4300el-* \
370a966c04fSmrg	| mips64vr5000-* | mips64vr5000el-* \
371a966c04fSmrg	| mips64vr5900-* | mips64vr5900el-* \
372a966c04fSmrg	| mipsisa32-* | mipsisa32el-* \
373a966c04fSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
374a966c04fSmrg	| mipsisa64-* | mipsisa64el-* \
375a966c04fSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
376a966c04fSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377a966c04fSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378a966c04fSmrg	| mipstx39-* | mipstx39el-* \
379a966c04fSmrg	| mmix-* \
380a966c04fSmrg	| mt-* \
381a966c04fSmrg	| msp430-* \
3826e7d3316Smrg	| nds32-* | nds32le-* | nds32be-* \
3832e2dd055Smrg	| nios-* | nios2-* \
384a966c04fSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
385a966c04fSmrg	| orion-* \
386a966c04fSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387a966c04fSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388a966c04fSmrg	| pyramid-* \
3896e7d3316Smrg	| romp-* | rs6000-* | rx-* \
3906e7d3316Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391a966c04fSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3922e2dd055Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393a966c04fSmrg	| sparclite-* \
3942e2dd055Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395a966c04fSmrg	| tahoe-* | thumb-* \
396a966c04fSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3976e7d3316Smrg	| tile-* | tilegx-* \
398a966c04fSmrg	| tron-* \
3996e7d3316Smrg	| ubicom32-* \
400a966c04fSmrg	| v850-* | v850e-* | vax-* \
401a966c04fSmrg	| we32k-* \
4022e2dd055Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4032e2dd055Smrg	| xstormy16-* | xtensa*-* \
404a966c04fSmrg	| ymp-* \
4056e7d3316Smrg	| z8k-* | z80-*)
406a966c04fSmrg		;;
4072e2dd055Smrg	# Recognize the basic CPU types without company name, with glob match.
4082e2dd055Smrg	xtensa*)
4092e2dd055Smrg		basic_machine=$basic_machine-unknown
410a966c04fSmrg		;;
411a966c04fSmrg	# Recognize the various machine names and aliases which stand
412a966c04fSmrg	# for a CPU type and a company and sometimes even an OS.
413a966c04fSmrg	386bsd)
414a966c04fSmrg		basic_machine=i386-unknown
415a966c04fSmrg		os=-bsd
416a966c04fSmrg		;;
417a966c04fSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418a966c04fSmrg		basic_machine=m68000-att
419a966c04fSmrg		;;
420a966c04fSmrg	3b*)
421a966c04fSmrg		basic_machine=we32k-att
422a966c04fSmrg		;;
423a966c04fSmrg	a29khif)
424a966c04fSmrg		basic_machine=a29k-amd
425a966c04fSmrg		os=-udi
426a966c04fSmrg		;;
427a966c04fSmrg    	abacus)
428a966c04fSmrg		basic_machine=abacus-unknown
429a966c04fSmrg		;;
430a966c04fSmrg	adobe68k)
431a966c04fSmrg		basic_machine=m68010-adobe
432a966c04fSmrg		os=-scout
433a966c04fSmrg		;;
434a966c04fSmrg	alliant | fx80)
435a966c04fSmrg		basic_machine=fx80-alliant
436a966c04fSmrg		;;
437a966c04fSmrg	altos | altos3068)
438a966c04fSmrg		basic_machine=m68k-altos
439a966c04fSmrg		;;
440a966c04fSmrg	am29k)
441a966c04fSmrg		basic_machine=a29k-none
442a966c04fSmrg		os=-bsd
443a966c04fSmrg		;;
444a966c04fSmrg	amd64)
445a966c04fSmrg		basic_machine=x86_64-pc
446a966c04fSmrg		;;
447a966c04fSmrg	amd64-*)
448a966c04fSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449a966c04fSmrg		;;
450a966c04fSmrg	amdahl)
451a966c04fSmrg		basic_machine=580-amdahl
452a966c04fSmrg		os=-sysv
453a966c04fSmrg		;;
454a966c04fSmrg	amiga | amiga-*)
455a966c04fSmrg		basic_machine=m68k-unknown
456a966c04fSmrg		;;
457a966c04fSmrg	amigaos | amigados)
458a966c04fSmrg		basic_machine=m68k-unknown
459a966c04fSmrg		os=-amigaos
460a966c04fSmrg		;;
461a966c04fSmrg	amigaunix | amix)
462a966c04fSmrg		basic_machine=m68k-unknown
463a966c04fSmrg		os=-sysv4
464a966c04fSmrg		;;
465a966c04fSmrg	apollo68)
466a966c04fSmrg		basic_machine=m68k-apollo
467a966c04fSmrg		os=-sysv
468a966c04fSmrg		;;
469a966c04fSmrg	apollo68bsd)
470a966c04fSmrg		basic_machine=m68k-apollo
471a966c04fSmrg		os=-bsd
472a966c04fSmrg		;;
4736e7d3316Smrg	aros)
4746e7d3316Smrg		basic_machine=i386-pc
4756e7d3316Smrg		os=-aros
4766e7d3316Smrg		;;
477a966c04fSmrg	aux)
478a966c04fSmrg		basic_machine=m68k-apple
479a966c04fSmrg		os=-aux
480a966c04fSmrg		;;
481a966c04fSmrg	balance)
482a966c04fSmrg		basic_machine=ns32k-sequent
483a966c04fSmrg		os=-dynix
484a966c04fSmrg		;;
4852e2dd055Smrg	blackfin)
4862e2dd055Smrg		basic_machine=bfin-unknown
4872e2dd055Smrg		os=-linux
4882e2dd055Smrg		;;
4892e2dd055Smrg	blackfin-*)
4902e2dd055Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4912e2dd055Smrg		os=-linux
4922e2dd055Smrg		;;
4936e7d3316Smrg	bluegene*)
4946e7d3316Smrg		basic_machine=powerpc-ibm
4956e7d3316Smrg		os=-cnk
4966e7d3316Smrg		;;
4976e7d3316Smrg	c54x-*)
4986e7d3316Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4996e7d3316Smrg		;;
5006e7d3316Smrg	c55x-*)
5016e7d3316Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5026e7d3316Smrg		;;
5036e7d3316Smrg	c6x-*)
5046e7d3316Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5056e7d3316Smrg		;;
506a966c04fSmrg	c90)
507a966c04fSmrg		basic_machine=c90-cray
508a966c04fSmrg		os=-unicos
509a966c04fSmrg		;;
5106e7d3316Smrg        cegcc)
5116e7d3316Smrg		basic_machine=arm-unknown
5126e7d3316Smrg		os=-cegcc
5136e7d3316Smrg		;;
514a966c04fSmrg	convex-c1)
515a966c04fSmrg		basic_machine=c1-convex
516a966c04fSmrg		os=-bsd
517a966c04fSmrg		;;
518a966c04fSmrg	convex-c2)
519a966c04fSmrg		basic_machine=c2-convex
520a966c04fSmrg		os=-bsd
521a966c04fSmrg		;;
522a966c04fSmrg	convex-c32)
523a966c04fSmrg		basic_machine=c32-convex
524a966c04fSmrg		os=-bsd
525a966c04fSmrg		;;
526a966c04fSmrg	convex-c34)
527a966c04fSmrg		basic_machine=c34-convex
528a966c04fSmrg		os=-bsd
529a966c04fSmrg		;;
530a966c04fSmrg	convex-c38)
531a966c04fSmrg		basic_machine=c38-convex
532a966c04fSmrg		os=-bsd
533a966c04fSmrg		;;
534a966c04fSmrg	cray | j90)
535a966c04fSmrg		basic_machine=j90-cray
536a966c04fSmrg		os=-unicos
537a966c04fSmrg		;;
538a966c04fSmrg	craynv)
539a966c04fSmrg		basic_machine=craynv-cray
540a966c04fSmrg		os=-unicosmp
541a966c04fSmrg		;;
5422e2dd055Smrg	cr16)
5432e2dd055Smrg		basic_machine=cr16-unknown
544a966c04fSmrg		os=-elf
545a966c04fSmrg		;;
546a966c04fSmrg	crds | unos)
547a966c04fSmrg		basic_machine=m68k-crds
548a966c04fSmrg		;;
549a966c04fSmrg	crisv32 | crisv32-* | etraxfs*)
550a966c04fSmrg		basic_machine=crisv32-axis
551a966c04fSmrg		;;
552a966c04fSmrg	cris | cris-* | etrax*)
553a966c04fSmrg		basic_machine=cris-axis
554a966c04fSmrg		;;
555a966c04fSmrg	crx)
556a966c04fSmrg		basic_machine=crx-unknown
557a966c04fSmrg		os=-elf
558a966c04fSmrg		;;
559a966c04fSmrg	da30 | da30-*)
560a966c04fSmrg		basic_machine=m68k-da30
561a966c04fSmrg		;;
562a966c04fSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563a966c04fSmrg		basic_machine=mips-dec
564a966c04fSmrg		;;
565a966c04fSmrg	decsystem10* | dec10*)
566a966c04fSmrg		basic_machine=pdp10-dec
567a966c04fSmrg		os=-tops10
568a966c04fSmrg		;;
569a966c04fSmrg	decsystem20* | dec20*)
570a966c04fSmrg		basic_machine=pdp10-dec
571a966c04fSmrg		os=-tops20
572a966c04fSmrg		;;
573a966c04fSmrg	delta | 3300 | motorola-3300 | motorola-delta \
574a966c04fSmrg	      | 3300-motorola | delta-motorola)
575a966c04fSmrg		basic_machine=m68k-motorola
576a966c04fSmrg		;;
577a966c04fSmrg	delta88)
578a966c04fSmrg		basic_machine=m88k-motorola
579a966c04fSmrg		os=-sysv3
580a966c04fSmrg		;;
5816e7d3316Smrg	dicos)
5826e7d3316Smrg		basic_machine=i686-pc
5836e7d3316Smrg		os=-dicos
5846e7d3316Smrg		;;
585a966c04fSmrg	djgpp)
586a966c04fSmrg		basic_machine=i586-pc
587a966c04fSmrg		os=-msdosdjgpp
588a966c04fSmrg		;;
589a966c04fSmrg	dpx20 | dpx20-*)
590a966c04fSmrg		basic_machine=rs6000-bull
591a966c04fSmrg		os=-bosx
592a966c04fSmrg		;;
593a966c04fSmrg	dpx2* | dpx2*-bull)
594a966c04fSmrg		basic_machine=m68k-bull
595a966c04fSmrg		os=-sysv3
596a966c04fSmrg		;;
597a966c04fSmrg	ebmon29k)
598a966c04fSmrg		basic_machine=a29k-amd
599a966c04fSmrg		os=-ebmon
600a966c04fSmrg		;;
601a966c04fSmrg	elxsi)
602a966c04fSmrg		basic_machine=elxsi-elxsi
603a966c04fSmrg		os=-bsd
604a966c04fSmrg		;;
605a966c04fSmrg	encore | umax | mmax)
606a966c04fSmrg		basic_machine=ns32k-encore
607a966c04fSmrg		;;
608a966c04fSmrg	es1800 | OSE68k | ose68k | ose | OSE)
609a966c04fSmrg		basic_machine=m68k-ericsson
610a966c04fSmrg		os=-ose
611a966c04fSmrg		;;
612a966c04fSmrg	fx2800)
613a966c04fSmrg		basic_machine=i860-alliant
614a966c04fSmrg		;;
615a966c04fSmrg	genix)
616a966c04fSmrg		basic_machine=ns32k-ns
617a966c04fSmrg		;;
618a966c04fSmrg	gmicro)
619a966c04fSmrg		basic_machine=tron-gmicro
620a966c04fSmrg		os=-sysv
621a966c04fSmrg		;;
622a966c04fSmrg	go32)
623a966c04fSmrg		basic_machine=i386-pc
624a966c04fSmrg		os=-go32
625a966c04fSmrg		;;
626a966c04fSmrg	h3050r* | hiux*)
627a966c04fSmrg		basic_machine=hppa1.1-hitachi
628a966c04fSmrg		os=-hiuxwe2
629a966c04fSmrg		;;
630a966c04fSmrg	h8300hms)
631a966c04fSmrg		basic_machine=h8300-hitachi
632a966c04fSmrg		os=-hms
633a966c04fSmrg		;;
634a966c04fSmrg	h8300xray)
635a966c04fSmrg		basic_machine=h8300-hitachi
636a966c04fSmrg		os=-xray
637a966c04fSmrg		;;
638a966c04fSmrg	h8500hms)
639a966c04fSmrg		basic_machine=h8500-hitachi
640a966c04fSmrg		os=-hms
641a966c04fSmrg		;;
642a966c04fSmrg	harris)
643a966c04fSmrg		basic_machine=m88k-harris
644a966c04fSmrg		os=-sysv3
645a966c04fSmrg		;;
646a966c04fSmrg	hp300-*)
647a966c04fSmrg		basic_machine=m68k-hp
648a966c04fSmrg		;;
649a966c04fSmrg	hp300bsd)
650a966c04fSmrg		basic_machine=m68k-hp
651a966c04fSmrg		os=-bsd
652a966c04fSmrg		;;
653a966c04fSmrg	hp300hpux)
654a966c04fSmrg		basic_machine=m68k-hp
655a966c04fSmrg		os=-hpux
656a966c04fSmrg		;;
657a966c04fSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658a966c04fSmrg		basic_machine=hppa1.0-hp
659a966c04fSmrg		;;
660a966c04fSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661a966c04fSmrg		basic_machine=m68000-hp
662a966c04fSmrg		;;
663a966c04fSmrg	hp9k3[2-9][0-9])
664a966c04fSmrg		basic_machine=m68k-hp
665a966c04fSmrg		;;
666a966c04fSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667a966c04fSmrg		basic_machine=hppa1.0-hp
668a966c04fSmrg		;;
669a966c04fSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670a966c04fSmrg		basic_machine=hppa1.1-hp
671a966c04fSmrg		;;
672a966c04fSmrg	hp9k78[0-9] | hp78[0-9])
673a966c04fSmrg		# FIXME: really hppa2.0-hp
674a966c04fSmrg		basic_machine=hppa1.1-hp
675a966c04fSmrg		;;
676a966c04fSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677a966c04fSmrg		# FIXME: really hppa2.0-hp
678a966c04fSmrg		basic_machine=hppa1.1-hp
679a966c04fSmrg		;;
680a966c04fSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681a966c04fSmrg		basic_machine=hppa1.1-hp
682a966c04fSmrg		;;
683a966c04fSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684a966c04fSmrg		basic_machine=hppa1.0-hp
685a966c04fSmrg		;;
686a966c04fSmrg	hppa-next)
687a966c04fSmrg		os=-nextstep3
688a966c04fSmrg		;;
689a966c04fSmrg	hppaosf)
690a966c04fSmrg		basic_machine=hppa1.1-hp
691a966c04fSmrg		os=-osf
692a966c04fSmrg		;;
693a966c04fSmrg	hppro)
694a966c04fSmrg		basic_machine=hppa1.1-hp
695a966c04fSmrg		os=-proelf
696a966c04fSmrg		;;
697a966c04fSmrg	i370-ibm* | ibm*)
698a966c04fSmrg		basic_machine=i370-ibm
699a966c04fSmrg		;;
700a966c04fSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701a966c04fSmrg	i*86v32)
702a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703a966c04fSmrg		os=-sysv32
704a966c04fSmrg		;;
705a966c04fSmrg	i*86v4*)
706a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707a966c04fSmrg		os=-sysv4
708a966c04fSmrg		;;
709a966c04fSmrg	i*86v)
710a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711a966c04fSmrg		os=-sysv
712a966c04fSmrg		;;
713a966c04fSmrg	i*86sol2)
714a966c04fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715a966c04fSmrg		os=-solaris2
716a966c04fSmrg		;;
717a966c04fSmrg	i386mach)
718a966c04fSmrg		basic_machine=i386-mach
719a966c04fSmrg		os=-mach
720a966c04fSmrg		;;
721a966c04fSmrg	i386-vsta | vsta)
722a966c04fSmrg		basic_machine=i386-unknown
723a966c04fSmrg		os=-vsta
724a966c04fSmrg		;;
725a966c04fSmrg	iris | iris4d)
726a966c04fSmrg		basic_machine=mips-sgi
727a966c04fSmrg		case $os in
728a966c04fSmrg		    -irix*)
729a966c04fSmrg			;;
730a966c04fSmrg		    *)
731a966c04fSmrg			os=-irix4
732a966c04fSmrg			;;
733a966c04fSmrg		esac
734a966c04fSmrg		;;
735a966c04fSmrg	isi68 | isi)
736a966c04fSmrg		basic_machine=m68k-isi
737a966c04fSmrg		os=-sysv
738a966c04fSmrg		;;
7392e2dd055Smrg	m68knommu)
7402e2dd055Smrg		basic_machine=m68k-unknown
7412e2dd055Smrg		os=-linux
7422e2dd055Smrg		;;
7432e2dd055Smrg	m68knommu-*)
7442e2dd055Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7452e2dd055Smrg		os=-linux
7462e2dd055Smrg		;;
747a966c04fSmrg	m88k-omron*)
748a966c04fSmrg		basic_machine=m88k-omron
749a966c04fSmrg		;;
750a966c04fSmrg	magnum | m3230)
751a966c04fSmrg		basic_machine=mips-mips
752a966c04fSmrg		os=-sysv
753a966c04fSmrg		;;
754a966c04fSmrg	merlin)
755a966c04fSmrg		basic_machine=ns32k-utek
756a966c04fSmrg		os=-sysv
757a966c04fSmrg		;;
7586e7d3316Smrg        microblaze)
7596e7d3316Smrg		basic_machine=microblaze-xilinx
7606e7d3316Smrg		;;
761a966c04fSmrg	mingw32)
762a966c04fSmrg		basic_machine=i386-pc
763a966c04fSmrg		os=-mingw32
764a966c04fSmrg		;;
7652e2dd055Smrg	mingw32ce)
7662e2dd055Smrg		basic_machine=arm-unknown
7672e2dd055Smrg		os=-mingw32ce
7682e2dd055Smrg		;;
769a966c04fSmrg	miniframe)
770a966c04fSmrg		basic_machine=m68000-convergent
771a966c04fSmrg		;;
772a966c04fSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773a966c04fSmrg		basic_machine=m68k-atari
774a966c04fSmrg		os=-mint
775a966c04fSmrg		;;
776a966c04fSmrg	mips3*-*)
777a966c04fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778a966c04fSmrg		;;
779a966c04fSmrg	mips3*)
780a966c04fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781a966c04fSmrg		;;
782a966c04fSmrg	monitor)
783a966c04fSmrg		basic_machine=m68k-rom68k
784a966c04fSmrg		os=-coff
785a966c04fSmrg		;;
786a966c04fSmrg	morphos)
787a966c04fSmrg		basic_machine=powerpc-unknown
788a966c04fSmrg		os=-morphos
789a966c04fSmrg		;;
790a966c04fSmrg	msdos)
791a966c04fSmrg		basic_machine=i386-pc
792a966c04fSmrg		os=-msdos
793a966c04fSmrg		;;
794a966c04fSmrg	ms1-*)
795a966c04fSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796a966c04fSmrg		;;
797a966c04fSmrg	mvs)
798a966c04fSmrg		basic_machine=i370-ibm
799a966c04fSmrg		os=-mvs
800a966c04fSmrg		;;
801a966c04fSmrg	ncr3000)
802a966c04fSmrg		basic_machine=i486-ncr
803a966c04fSmrg		os=-sysv4
804a966c04fSmrg		;;
805a966c04fSmrg	netbsd386)
806a966c04fSmrg		basic_machine=i386-unknown
807a966c04fSmrg		os=-netbsd
808a966c04fSmrg		;;
809a966c04fSmrg	netwinder)
810a966c04fSmrg		basic_machine=armv4l-rebel
811a966c04fSmrg		os=-linux
812a966c04fSmrg		;;
813a966c04fSmrg	news | news700 | news800 | news900)
814a966c04fSmrg		basic_machine=m68k-sony
815a966c04fSmrg		os=-newsos
816a966c04fSmrg		;;
817a966c04fSmrg	news1000)
818a966c04fSmrg		basic_machine=m68030-sony
819a966c04fSmrg		os=-newsos
820a966c04fSmrg		;;
821a966c04fSmrg	news-3600 | risc-news)
822a966c04fSmrg		basic_machine=mips-sony
823a966c04fSmrg		os=-newsos
824a966c04fSmrg		;;
825a966c04fSmrg	necv70)
826a966c04fSmrg		basic_machine=v70-nec
827a966c04fSmrg		os=-sysv
828a966c04fSmrg		;;
829a966c04fSmrg	next | m*-next )
830a966c04fSmrg		basic_machine=m68k-next
831a966c04fSmrg		case $os in
832a966c04fSmrg		    -nextstep* )
833a966c04fSmrg			;;
834a966c04fSmrg		    -ns2*)
835a966c04fSmrg		      os=-nextstep2
836a966c04fSmrg			;;
837a966c04fSmrg		    *)
838a966c04fSmrg		      os=-nextstep3
839a966c04fSmrg			;;
840a966c04fSmrg		esac
841a966c04fSmrg		;;
842a966c04fSmrg	nh3000)
843a966c04fSmrg		basic_machine=m68k-harris
844a966c04fSmrg		os=-cxux
845a966c04fSmrg		;;
846a966c04fSmrg	nh[45]000)
847a966c04fSmrg		basic_machine=m88k-harris
848a966c04fSmrg		os=-cxux
849a966c04fSmrg		;;
850a966c04fSmrg	nindy960)
851a966c04fSmrg		basic_machine=i960-intel
852a966c04fSmrg		os=-nindy
853a966c04fSmrg		;;
854a966c04fSmrg	mon960)
855a966c04fSmrg		basic_machine=i960-intel
856a966c04fSmrg		os=-mon960
857a966c04fSmrg		;;
858a966c04fSmrg	nonstopux)
859a966c04fSmrg		basic_machine=mips-compaq
860a966c04fSmrg		os=-nonstopux
861a966c04fSmrg		;;
862a966c04fSmrg	np1)
863a966c04fSmrg		basic_machine=np1-gould
864a966c04fSmrg		;;
8656e7d3316Smrg        neo-tandem)
8666e7d3316Smrg		basic_machine=neo-tandem
8676e7d3316Smrg		;;
8686e7d3316Smrg        nse-tandem)
8696e7d3316Smrg		basic_machine=nse-tandem
8706e7d3316Smrg		;;
871a966c04fSmrg	nsr-tandem)
872a966c04fSmrg		basic_machine=nsr-tandem
873a966c04fSmrg		;;
874a966c04fSmrg	op50n-* | op60c-*)
875a966c04fSmrg		basic_machine=hppa1.1-oki
876a966c04fSmrg		os=-proelf
877a966c04fSmrg		;;
878a966c04fSmrg	openrisc | openrisc-*)
879a966c04fSmrg		basic_machine=or32-unknown
880a966c04fSmrg		;;
881a966c04fSmrg	os400)
882a966c04fSmrg		basic_machine=powerpc-ibm
883a966c04fSmrg		os=-os400
884a966c04fSmrg		;;
885a966c04fSmrg	OSE68000 | ose68000)
886a966c04fSmrg		basic_machine=m68000-ericsson
887a966c04fSmrg		os=-ose
888a966c04fSmrg		;;
889a966c04fSmrg	os68k)
890a966c04fSmrg		basic_machine=m68k-none
891a966c04fSmrg		os=-os68k
892a966c04fSmrg		;;
893a966c04fSmrg	pa-hitachi)
894a966c04fSmrg		basic_machine=hppa1.1-hitachi
895a966c04fSmrg		os=-hiuxwe2
896a966c04fSmrg		;;
897a966c04fSmrg	paragon)
898a966c04fSmrg		basic_machine=i860-intel
899a966c04fSmrg		os=-osf
900a966c04fSmrg		;;
9012e2dd055Smrg	parisc)
9022e2dd055Smrg		basic_machine=hppa-unknown
9032e2dd055Smrg		os=-linux
9042e2dd055Smrg		;;
9052e2dd055Smrg	parisc-*)
9062e2dd055Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9072e2dd055Smrg		os=-linux
9082e2dd055Smrg		;;
909a966c04fSmrg	pbd)
910a966c04fSmrg		basic_machine=sparc-tti
911a966c04fSmrg		;;
912a966c04fSmrg	pbb)
913a966c04fSmrg		basic_machine=m68k-tti
914a966c04fSmrg		;;
915a966c04fSmrg	pc532 | pc532-*)
916a966c04fSmrg		basic_machine=ns32k-pc532
917a966c04fSmrg		;;
9182e2dd055Smrg	pc98)
9192e2dd055Smrg		basic_machine=i386-pc
9202e2dd055Smrg		;;
9212e2dd055Smrg	pc98-*)
9222e2dd055Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9232e2dd055Smrg		;;
924a966c04fSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925a966c04fSmrg		basic_machine=i586-pc
926a966c04fSmrg		;;
927a966c04fSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928a966c04fSmrg		basic_machine=i686-pc
929a966c04fSmrg		;;
930a966c04fSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
931a966c04fSmrg		basic_machine=i686-pc
932a966c04fSmrg		;;
933a966c04fSmrg	pentium4)
934a966c04fSmrg		basic_machine=i786-pc
935a966c04fSmrg		;;
936a966c04fSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937a966c04fSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938a966c04fSmrg		;;
939a966c04fSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940a966c04fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941a966c04fSmrg		;;
942a966c04fSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943a966c04fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944a966c04fSmrg		;;
945a966c04fSmrg	pentium4-*)
946a966c04fSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947a966c04fSmrg		;;
948a966c04fSmrg	pn)
949a966c04fSmrg		basic_machine=pn-gould
950a966c04fSmrg		;;
951a966c04fSmrg	power)	basic_machine=power-ibm
952a966c04fSmrg		;;
953a966c04fSmrg	ppc)	basic_machine=powerpc-unknown
954a966c04fSmrg		;;
955a966c04fSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956a966c04fSmrg		;;
957a966c04fSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958a966c04fSmrg		basic_machine=powerpcle-unknown
959a966c04fSmrg		;;
960a966c04fSmrg	ppcle-* | powerpclittle-*)
961a966c04fSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962a966c04fSmrg		;;
963a966c04fSmrg	ppc64)	basic_machine=powerpc64-unknown
964a966c04fSmrg		;;
965a966c04fSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966a966c04fSmrg		;;
967a966c04fSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968a966c04fSmrg		basic_machine=powerpc64le-unknown
969a966c04fSmrg		;;
970a966c04fSmrg	ppc64le-* | powerpc64little-*)
971a966c04fSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972a966c04fSmrg		;;
973a966c04fSmrg	ps2)
974a966c04fSmrg		basic_machine=i386-ibm
975a966c04fSmrg		;;
976a966c04fSmrg	pw32)
977a966c04fSmrg		basic_machine=i586-unknown
978a966c04fSmrg		os=-pw32
979a966c04fSmrg		;;
980a966c04fSmrg	rdos)
981a966c04fSmrg		basic_machine=i386-pc
982a966c04fSmrg		os=-rdos
983a966c04fSmrg		;;
984a966c04fSmrg	rom68k)
985a966c04fSmrg		basic_machine=m68k-rom68k
986a966c04fSmrg		os=-coff
987a966c04fSmrg		;;
988a966c04fSmrg	rm[46]00)
989a966c04fSmrg		basic_machine=mips-siemens
990a966c04fSmrg		;;
991a966c04fSmrg	rtpc | rtpc-*)
992a966c04fSmrg		basic_machine=romp-ibm
993a966c04fSmrg		;;
994a966c04fSmrg	s390 | s390-*)
995a966c04fSmrg		basic_machine=s390-ibm
996a966c04fSmrg		;;
997a966c04fSmrg	s390x | s390x-*)
998a966c04fSmrg		basic_machine=s390x-ibm
999a966c04fSmrg		;;
1000a966c04fSmrg	sa29200)
1001a966c04fSmrg		basic_machine=a29k-amd
1002a966c04fSmrg		os=-udi
1003a966c04fSmrg		;;
1004a966c04fSmrg	sb1)
1005a966c04fSmrg		basic_machine=mipsisa64sb1-unknown
1006a966c04fSmrg		;;
1007a966c04fSmrg	sb1el)
1008a966c04fSmrg		basic_machine=mipsisa64sb1el-unknown
1009a966c04fSmrg		;;
10102e2dd055Smrg	sde)
10112e2dd055Smrg		basic_machine=mipsisa32-sde
10122e2dd055Smrg		os=-elf
10132e2dd055Smrg		;;
1014a966c04fSmrg	sei)
1015a966c04fSmrg		basic_machine=mips-sei
1016a966c04fSmrg		os=-seiux
1017a966c04fSmrg		;;
1018a966c04fSmrg	sequent)
1019a966c04fSmrg		basic_machine=i386-sequent
1020a966c04fSmrg		;;
1021a966c04fSmrg	sh)
1022a966c04fSmrg		basic_machine=sh-hitachi
1023a966c04fSmrg		os=-hms
1024a966c04fSmrg		;;
10252e2dd055Smrg	sh5el)
10262e2dd055Smrg		basic_machine=sh5le-unknown
10272e2dd055Smrg		;;
1028a966c04fSmrg	sh64)
1029a966c04fSmrg		basic_machine=sh64-unknown
1030a966c04fSmrg		;;
1031a966c04fSmrg	sparclite-wrs | simso-wrs)
1032a966c04fSmrg		basic_machine=sparclite-wrs
1033a966c04fSmrg		os=-vxworks
1034a966c04fSmrg		;;
1035a966c04fSmrg	sps7)
1036a966c04fSmrg		basic_machine=m68k-bull
1037a966c04fSmrg		os=-sysv2
1038a966c04fSmrg		;;
1039a966c04fSmrg	spur)
1040a966c04fSmrg		basic_machine=spur-unknown
1041a966c04fSmrg		;;
1042a966c04fSmrg	st2000)
1043a966c04fSmrg		basic_machine=m68k-tandem
1044a966c04fSmrg		;;
1045a966c04fSmrg	stratus)
1046a966c04fSmrg		basic_machine=i860-stratus
1047a966c04fSmrg		os=-sysv4
1048a966c04fSmrg		;;
1049a966c04fSmrg	sun2)
1050a966c04fSmrg		basic_machine=m68000-sun
1051a966c04fSmrg		;;
1052a966c04fSmrg	sun2os3)
1053a966c04fSmrg		basic_machine=m68000-sun
1054a966c04fSmrg		os=-sunos3
1055a966c04fSmrg		;;
1056a966c04fSmrg	sun2os4)
1057a966c04fSmrg		basic_machine=m68000-sun
1058a966c04fSmrg		os=-sunos4
1059a966c04fSmrg		;;
1060a966c04fSmrg	sun3os3)
1061a966c04fSmrg		basic_machine=m68k-sun
1062a966c04fSmrg		os=-sunos3
1063a966c04fSmrg		;;
1064a966c04fSmrg	sun3os4)
1065a966c04fSmrg		basic_machine=m68k-sun
1066a966c04fSmrg		os=-sunos4
1067a966c04fSmrg		;;
1068a966c04fSmrg	sun4os3)
1069a966c04fSmrg		basic_machine=sparc-sun
1070a966c04fSmrg		os=-sunos3
1071a966c04fSmrg		;;
1072a966c04fSmrg	sun4os4)
1073a966c04fSmrg		basic_machine=sparc-sun
1074a966c04fSmrg		os=-sunos4
1075a966c04fSmrg		;;
1076a966c04fSmrg	sun4sol2)
1077a966c04fSmrg		basic_machine=sparc-sun
1078a966c04fSmrg		os=-solaris2
1079a966c04fSmrg		;;
1080a966c04fSmrg	sun3 | sun3-*)
1081a966c04fSmrg		basic_machine=m68k-sun
1082a966c04fSmrg		;;
1083a966c04fSmrg	sun4)
1084a966c04fSmrg		basic_machine=sparc-sun
1085a966c04fSmrg		;;
1086a966c04fSmrg	sun386 | sun386i | roadrunner)
1087a966c04fSmrg		basic_machine=i386-sun
1088a966c04fSmrg		;;
1089a966c04fSmrg	sv1)
1090a966c04fSmrg		basic_machine=sv1-cray
1091a966c04fSmrg		os=-unicos
1092a966c04fSmrg		;;
1093a966c04fSmrg	symmetry)
1094a966c04fSmrg		basic_machine=i386-sequent
1095a966c04fSmrg		os=-dynix
1096a966c04fSmrg		;;
1097a966c04fSmrg	t3e)
1098a966c04fSmrg		basic_machine=alphaev5-cray
1099a966c04fSmrg		os=-unicos
1100a966c04fSmrg		;;
1101a966c04fSmrg	t90)
1102a966c04fSmrg		basic_machine=t90-cray
1103a966c04fSmrg		os=-unicos
1104a966c04fSmrg		;;
11056e7d3316Smrg        # This must be matched before tile*.
11066e7d3316Smrg        tilegx*)
11076e7d3316Smrg		basic_machine=tilegx-unknown
11086e7d3316Smrg		os=-linux-gnu
1109a966c04fSmrg		;;
11102e2dd055Smrg	tile*)
11112e2dd055Smrg		basic_machine=tile-unknown
11122e2dd055Smrg		os=-linux-gnu
11132e2dd055Smrg		;;
1114a966c04fSmrg	tx39)
1115a966c04fSmrg		basic_machine=mipstx39-unknown
1116a966c04fSmrg		;;
1117a966c04fSmrg	tx39el)
1118a966c04fSmrg		basic_machine=mipstx39el-unknown
1119a966c04fSmrg		;;
1120a966c04fSmrg	toad1)
1121a966c04fSmrg		basic_machine=pdp10-xkl
1122a966c04fSmrg		os=-tops20
1123a966c04fSmrg		;;
1124a966c04fSmrg	tower | tower-32)
1125a966c04fSmrg		basic_machine=m68k-ncr
1126a966c04fSmrg		;;
1127a966c04fSmrg	tpf)
1128a966c04fSmrg		basic_machine=s390x-ibm
1129a966c04fSmrg		os=-tpf
1130a966c04fSmrg		;;
1131a966c04fSmrg	udi29k)
1132a966c04fSmrg		basic_machine=a29k-amd
1133a966c04fSmrg		os=-udi
1134a966c04fSmrg		;;
1135a966c04fSmrg	ultra3)
1136a966c04fSmrg		basic_machine=a29k-nyu
1137a966c04fSmrg		os=-sym1
1138a966c04fSmrg		;;
1139a966c04fSmrg	v810 | necv810)
1140a966c04fSmrg		basic_machine=v810-nec
1141a966c04fSmrg		os=-none
1142a966c04fSmrg		;;
1143a966c04fSmrg	vaxv)
1144a966c04fSmrg		basic_machine=vax-dec
1145a966c04fSmrg		os=-sysv
1146a966c04fSmrg		;;
1147a966c04fSmrg	vms)
1148a966c04fSmrg		basic_machine=vax-dec
1149a966c04fSmrg		os=-vms
1150a966c04fSmrg		;;
1151a966c04fSmrg	vpp*|vx|vx-*)
1152a966c04fSmrg		basic_machine=f301-fujitsu
1153a966c04fSmrg		;;
1154a966c04fSmrg	vxworks960)
1155a966c04fSmrg		basic_machine=i960-wrs
1156a966c04fSmrg		os=-vxworks
1157a966c04fSmrg		;;
1158a966c04fSmrg	vxworks68)
1159a966c04fSmrg		basic_machine=m68k-wrs
1160a966c04fSmrg		os=-vxworks
1161a966c04fSmrg		;;
1162a966c04fSmrg	vxworks29k)
1163a966c04fSmrg		basic_machine=a29k-wrs
1164a966c04fSmrg		os=-vxworks
1165a966c04fSmrg		;;
1166a966c04fSmrg	w65*)
1167a966c04fSmrg		basic_machine=w65-wdc
1168a966c04fSmrg		os=-none
1169a966c04fSmrg		;;
1170a966c04fSmrg	w89k-*)
1171a966c04fSmrg		basic_machine=hppa1.1-winbond
1172a966c04fSmrg		os=-proelf
1173a966c04fSmrg		;;
1174a966c04fSmrg	xbox)
1175a966c04fSmrg		basic_machine=i686-pc
1176a966c04fSmrg		os=-mingw32
1177a966c04fSmrg		;;
1178a966c04fSmrg	xps | xps100)
1179a966c04fSmrg		basic_machine=xps100-honeywell
1180a966c04fSmrg		;;
1181a966c04fSmrg	ymp)
1182a966c04fSmrg		basic_machine=ymp-cray
1183a966c04fSmrg		os=-unicos
1184a966c04fSmrg		;;
1185a966c04fSmrg	z8k-*-coff)
1186a966c04fSmrg		basic_machine=z8k-unknown
1187a966c04fSmrg		os=-sim
1188a966c04fSmrg		;;
11896e7d3316Smrg	z80-*-coff)
11906e7d3316Smrg		basic_machine=z80-unknown
11916e7d3316Smrg		os=-sim
11926e7d3316Smrg		;;
1193a966c04fSmrg	none)
1194a966c04fSmrg		basic_machine=none-none
1195a966c04fSmrg		os=-none
1196a966c04fSmrg		;;
1197a966c04fSmrg
1198a966c04fSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199a966c04fSmrg# some cases the only manufacturer, in others, it is the most popular.
1200a966c04fSmrg	w89k)
1201a966c04fSmrg		basic_machine=hppa1.1-winbond
1202a966c04fSmrg		;;
1203a966c04fSmrg	op50n)
1204a966c04fSmrg		basic_machine=hppa1.1-oki
1205a966c04fSmrg		;;
1206a966c04fSmrg	op60c)
1207a966c04fSmrg		basic_machine=hppa1.1-oki
1208a966c04fSmrg		;;
1209a966c04fSmrg	romp)
1210a966c04fSmrg		basic_machine=romp-ibm
1211a966c04fSmrg		;;
1212a966c04fSmrg	mmix)
1213a966c04fSmrg		basic_machine=mmix-knuth
1214a966c04fSmrg		;;
1215a966c04fSmrg	rs6000)
1216a966c04fSmrg		basic_machine=rs6000-ibm
1217a966c04fSmrg		;;
1218a966c04fSmrg	vax)
1219a966c04fSmrg		basic_machine=vax-dec
1220a966c04fSmrg		;;
1221a966c04fSmrg	pdp10)
1222a966c04fSmrg		# there are many clones, so DEC is not a safe bet
1223a966c04fSmrg		basic_machine=pdp10-unknown
1224a966c04fSmrg		;;
1225a966c04fSmrg	pdp11)
1226a966c04fSmrg		basic_machine=pdp11-dec
1227a966c04fSmrg		;;
1228a966c04fSmrg	we32k)
1229a966c04fSmrg		basic_machine=we32k-att
1230a966c04fSmrg		;;
12316e7d3316Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232a966c04fSmrg		basic_machine=sh-unknown
1233a966c04fSmrg		;;
12342e2dd055Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235a966c04fSmrg		basic_machine=sparc-sun
1236a966c04fSmrg		;;
1237a966c04fSmrg	cydra)
1238a966c04fSmrg		basic_machine=cydra-cydrome
1239a966c04fSmrg		;;
1240a966c04fSmrg	orion)
1241a966c04fSmrg		basic_machine=orion-highlevel
1242a966c04fSmrg		;;
1243a966c04fSmrg	orion105)
1244a966c04fSmrg		basic_machine=clipper-highlevel
1245a966c04fSmrg		;;
1246a966c04fSmrg	mac | mpw | mac-mpw)
1247a966c04fSmrg		basic_machine=m68k-apple
1248a966c04fSmrg		;;
1249a966c04fSmrg	pmac | pmac-mpw)
1250a966c04fSmrg		basic_machine=powerpc-apple
1251a966c04fSmrg		;;
1252a966c04fSmrg	*-unknown)
1253a966c04fSmrg		# Make sure to match an already-canonicalized machine name.
1254a966c04fSmrg		;;
1255a966c04fSmrg	*)
1256a966c04fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257a966c04fSmrg		exit 1
1258a966c04fSmrg		;;
1259a966c04fSmrgesac
1260a966c04fSmrg
1261a966c04fSmrg# Here we canonicalize certain aliases for manufacturers.
1262a966c04fSmrgcase $basic_machine in
1263a966c04fSmrg	*-digital*)
1264a966c04fSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265a966c04fSmrg		;;
1266a966c04fSmrg	*-commodore*)
1267a966c04fSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268a966c04fSmrg		;;
1269a966c04fSmrg	*)
1270a966c04fSmrg		;;
1271a966c04fSmrgesac
1272a966c04fSmrg
1273a966c04fSmrg# Decode manufacturer-specific aliases for certain operating systems.
1274a966c04fSmrg
1275a966c04fSmrgif [ x"$os" != x"" ]
1276a966c04fSmrgthen
1277a966c04fSmrgcase $os in
1278a966c04fSmrg        # First match some system type aliases
1279a966c04fSmrg        # that might get confused with valid system types.
1280a966c04fSmrg	# -solaris* is a basic system type, with this one exception.
12816e7d3316Smrg        -auroraux)
12826e7d3316Smrg	        os=-auroraux
12836e7d3316Smrg		;;
1284a966c04fSmrg	-solaris1 | -solaris1.*)
1285a966c04fSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286a966c04fSmrg		;;
1287a966c04fSmrg	-solaris)
1288a966c04fSmrg		os=-solaris2
1289a966c04fSmrg		;;
1290a966c04fSmrg	-svr4*)
1291a966c04fSmrg		os=-sysv4
1292a966c04fSmrg		;;
1293a966c04fSmrg	-unixware*)
1294a966c04fSmrg		os=-sysv4.2uw
1295a966c04fSmrg		;;
1296a966c04fSmrg	-gnu/linux*)
1297a966c04fSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298a966c04fSmrg		;;
1299a966c04fSmrg	# First accept the basic system types.
1300a966c04fSmrg	# The portable systems comes first.
1301a966c04fSmrg	# Each alternative MUST END IN A *, to match a version number.
1302a966c04fSmrg	# -sysv* is not here because it comes later, after sysvr4.
1303a966c04fSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13046e7d3316Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13056e7d3316Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13066e7d3316Smrg	      | -sym* | -kopensolaris* \
1307a966c04fSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13086e7d3316Smrg	      | -aos* | -aros* \
1309a966c04fSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310a966c04fSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13112e2dd055Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13122e2dd055Smrg	      | -openbsd* | -solidbsd* \
1313a966c04fSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314a966c04fSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315a966c04fSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316a966c04fSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13176e7d3316Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318a966c04fSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13196e7d3316Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13206e7d3316Smrg	      | -linux-newlib* | -linux-uclibc* \
1321a966c04fSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322a966c04fSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323a966c04fSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324a966c04fSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325a966c04fSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326a966c04fSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327a966c04fSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13286e7d3316Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329a966c04fSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1330a966c04fSmrg		;;
1331a966c04fSmrg	-qnx*)
1332a966c04fSmrg		case $basic_machine in
1333a966c04fSmrg		    x86-* | i*86-*)
1334a966c04fSmrg			;;
1335a966c04fSmrg		    *)
1336a966c04fSmrg			os=-nto$os
1337a966c04fSmrg			;;
1338a966c04fSmrg		esac
1339a966c04fSmrg		;;
1340a966c04fSmrg	-nto-qnx*)
1341a966c04fSmrg		;;
1342a966c04fSmrg	-nto*)
1343a966c04fSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344a966c04fSmrg		;;
1345a966c04fSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346a966c04fSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347a966c04fSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348a966c04fSmrg		;;
1349a966c04fSmrg	-mac*)
1350a966c04fSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1351a966c04fSmrg		;;
1352a966c04fSmrg	-linux-dietlibc)
1353a966c04fSmrg		os=-linux-dietlibc
1354a966c04fSmrg		;;
1355a966c04fSmrg	-linux*)
1356a966c04fSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357a966c04fSmrg		;;
1358a966c04fSmrg	-sunos5*)
1359a966c04fSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360a966c04fSmrg		;;
1361a966c04fSmrg	-sunos6*)
1362a966c04fSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363a966c04fSmrg		;;
1364a966c04fSmrg	-opened*)
1365a966c04fSmrg		os=-openedition
1366a966c04fSmrg		;;
1367a966c04fSmrg        -os400*)
1368a966c04fSmrg		os=-os400
1369a966c04fSmrg		;;
1370a966c04fSmrg	-wince*)
1371a966c04fSmrg		os=-wince
1372a966c04fSmrg		;;
1373a966c04fSmrg	-osfrose*)
1374a966c04fSmrg		os=-osfrose
1375a966c04fSmrg		;;
1376a966c04fSmrg	-osf*)
1377a966c04fSmrg		os=-osf
1378a966c04fSmrg		;;
1379a966c04fSmrg	-utek*)
1380a966c04fSmrg		os=-bsd
1381a966c04fSmrg		;;
1382a966c04fSmrg	-dynix*)
1383a966c04fSmrg		os=-bsd
1384a966c04fSmrg		;;
1385a966c04fSmrg	-acis*)
1386a966c04fSmrg		os=-aos
1387a966c04fSmrg		;;
1388a966c04fSmrg	-atheos*)
1389a966c04fSmrg		os=-atheos
1390a966c04fSmrg		;;
1391a966c04fSmrg	-syllable*)
1392a966c04fSmrg		os=-syllable
1393a966c04fSmrg		;;
1394a966c04fSmrg	-386bsd)
1395a966c04fSmrg		os=-bsd
1396a966c04fSmrg		;;
1397a966c04fSmrg	-ctix* | -uts*)
1398a966c04fSmrg		os=-sysv
1399a966c04fSmrg		;;
1400a966c04fSmrg	-nova*)
1401a966c04fSmrg		os=-rtmk-nova
1402a966c04fSmrg		;;
1403a966c04fSmrg	-ns2 )
1404a966c04fSmrg		os=-nextstep2
1405a966c04fSmrg		;;
1406a966c04fSmrg	-nsk*)
1407a966c04fSmrg		os=-nsk
1408a966c04fSmrg		;;
1409a966c04fSmrg	# Preserve the version number of sinix5.
1410a966c04fSmrg	-sinix5.*)
1411a966c04fSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412a966c04fSmrg		;;
1413a966c04fSmrg	-sinix*)
1414a966c04fSmrg		os=-sysv4
1415a966c04fSmrg		;;
1416a966c04fSmrg        -tpf*)
1417a966c04fSmrg		os=-tpf
1418a966c04fSmrg		;;
1419a966c04fSmrg	-triton*)
1420a966c04fSmrg		os=-sysv3
1421a966c04fSmrg		;;
1422a966c04fSmrg	-oss*)
1423a966c04fSmrg		os=-sysv3
1424a966c04fSmrg		;;
1425a966c04fSmrg	-svr4)
1426a966c04fSmrg		os=-sysv4
1427a966c04fSmrg		;;
1428a966c04fSmrg	-svr3)
1429a966c04fSmrg		os=-sysv3
1430a966c04fSmrg		;;
1431a966c04fSmrg	-sysvr4)
1432a966c04fSmrg		os=-sysv4
1433a966c04fSmrg		;;
1434a966c04fSmrg	# This must come after -sysvr4.
1435a966c04fSmrg	-sysv*)
1436a966c04fSmrg		;;
1437a966c04fSmrg	-ose*)
1438a966c04fSmrg		os=-ose
1439a966c04fSmrg		;;
1440a966c04fSmrg	-es1800*)
1441a966c04fSmrg		os=-ose
1442a966c04fSmrg		;;
1443a966c04fSmrg	-xenix)
1444a966c04fSmrg		os=-xenix
1445a966c04fSmrg		;;
1446a966c04fSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447a966c04fSmrg		os=-mint
1448a966c04fSmrg		;;
1449a966c04fSmrg	-aros*)
1450a966c04fSmrg		os=-aros
1451a966c04fSmrg		;;
1452a966c04fSmrg	-kaos*)
1453a966c04fSmrg		os=-kaos
1454a966c04fSmrg		;;
1455a966c04fSmrg	-zvmoe)
1456a966c04fSmrg		os=-zvmoe
1457a966c04fSmrg		;;
14586e7d3316Smrg	-dicos*)
14596e7d3316Smrg		os=-dicos
14606e7d3316Smrg		;;
14616e7d3316Smrg        -nacl*)
14626e7d3316Smrg	        ;;
1463a966c04fSmrg	-none)
1464a966c04fSmrg		;;
1465a966c04fSmrg	*)
1466a966c04fSmrg		# Get rid of the `-' at the beginning of $os.
1467a966c04fSmrg		os=`echo $os | sed 's/[^-]*-//'`
1468a966c04fSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469a966c04fSmrg		exit 1
1470a966c04fSmrg		;;
1471a966c04fSmrgesac
1472a966c04fSmrgelse
1473a966c04fSmrg
1474a966c04fSmrg# Here we handle the default operating systems that come with various machines.
1475a966c04fSmrg# The value should be what the vendor currently ships out the door with their
1476a966c04fSmrg# machine or put another way, the most popular os provided with the machine.
1477a966c04fSmrg
1478a966c04fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479a966c04fSmrg# "-sun"), then you have to tell the case statement up towards the top
1480a966c04fSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481a966c04fSmrg# will signal an error saying that MANUFACTURER isn't an operating
1482a966c04fSmrg# system, and we'll never get to this point.
1483a966c04fSmrg
1484a966c04fSmrgcase $basic_machine in
14852e2dd055Smrg        score-*)
14862e2dd055Smrg		os=-elf
14872e2dd055Smrg		;;
14882e2dd055Smrg        spu-*)
14892e2dd055Smrg		os=-elf
14902e2dd055Smrg		;;
1491a966c04fSmrg	*-acorn)
1492a966c04fSmrg		os=-riscix1.2
1493a966c04fSmrg		;;
1494a966c04fSmrg	arm*-rebel)
1495a966c04fSmrg		os=-linux
1496a966c04fSmrg		;;
1497a966c04fSmrg	arm*-semi)
1498a966c04fSmrg		os=-aout
1499a966c04fSmrg		;;
15002e2dd055Smrg        c4x-* | tic4x-*)
15012e2dd055Smrg        	os=-coff
15022e2dd055Smrg		;;
15036e7d3316Smrg	tic54x-*)
15046e7d3316Smrg		os=-coff
15056e7d3316Smrg		;;
15066e7d3316Smrg	tic55x-*)
15076e7d3316Smrg		os=-coff
15086e7d3316Smrg		;;
15096e7d3316Smrg	tic6x-*)
15106e7d3316Smrg		os=-coff
15116e7d3316Smrg		;;
1512a966c04fSmrg	# This must come before the *-dec entry.
1513a966c04fSmrg	pdp10-*)
1514a966c04fSmrg		os=-tops20
1515a966c04fSmrg		;;
1516a966c04fSmrg	pdp11-*)
1517a966c04fSmrg		os=-none
1518a966c04fSmrg		;;
1519a966c04fSmrg	*-dec | vax-*)
1520a966c04fSmrg		os=-ultrix4.2
1521a966c04fSmrg		;;
1522a966c04fSmrg	m68*-apollo)
1523a966c04fSmrg		os=-domain
1524a966c04fSmrg		;;
1525a966c04fSmrg	i386-sun)
1526a966c04fSmrg		os=-sunos4.0.2
1527a966c04fSmrg		;;
1528a966c04fSmrg	m68000-sun)
1529a966c04fSmrg		os=-sunos3
1530a966c04fSmrg		# This also exists in the configure program, but was not the
1531a966c04fSmrg		# default.
1532a966c04fSmrg		# os=-sunos4
1533a966c04fSmrg		;;
1534a966c04fSmrg	m68*-cisco)
1535a966c04fSmrg		os=-aout
1536a966c04fSmrg		;;
15372e2dd055Smrg        mep-*)
15382e2dd055Smrg		os=-elf
15392e2dd055Smrg		;;
1540a966c04fSmrg	mips*-cisco)
1541a966c04fSmrg		os=-elf
1542a966c04fSmrg		;;
1543a966c04fSmrg	mips*-*)
1544a966c04fSmrg		os=-elf
1545a966c04fSmrg		;;
1546a966c04fSmrg	or32-*)
1547a966c04fSmrg		os=-coff
1548a966c04fSmrg		;;
1549a966c04fSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550a966c04fSmrg		os=-sysv3
1551a966c04fSmrg		;;
1552a966c04fSmrg	sparc-* | *-sun)
1553a966c04fSmrg		os=-sunos4.1.1
1554a966c04fSmrg		;;
1555a966c04fSmrg	*-be)
1556a966c04fSmrg		os=-beos
1557a966c04fSmrg		;;
1558a966c04fSmrg	*-haiku)
1559a966c04fSmrg		os=-haiku
1560a966c04fSmrg		;;
1561a966c04fSmrg	*-ibm)
1562a966c04fSmrg		os=-aix
1563a966c04fSmrg		;;
1564a966c04fSmrg    	*-knuth)
1565a966c04fSmrg		os=-mmixware
1566a966c04fSmrg		;;
1567a966c04fSmrg	*-wec)
1568a966c04fSmrg		os=-proelf
1569a966c04fSmrg		;;
1570a966c04fSmrg	*-winbond)
1571a966c04fSmrg		os=-proelf
1572a966c04fSmrg		;;
1573a966c04fSmrg	*-oki)
1574a966c04fSmrg		os=-proelf
1575a966c04fSmrg		;;
1576a966c04fSmrg	*-hp)
1577a966c04fSmrg		os=-hpux
1578a966c04fSmrg		;;
1579a966c04fSmrg	*-hitachi)
1580a966c04fSmrg		os=-hiux
1581a966c04fSmrg		;;
1582a966c04fSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583a966c04fSmrg		os=-sysv
1584a966c04fSmrg		;;
1585a966c04fSmrg	*-cbm)
1586a966c04fSmrg		os=-amigaos
1587a966c04fSmrg		;;
1588a966c04fSmrg	*-dg)
1589a966c04fSmrg		os=-dgux
1590a966c04fSmrg		;;
1591a966c04fSmrg	*-dolphin)
1592a966c04fSmrg		os=-sysv3
1593a966c04fSmrg		;;
1594a966c04fSmrg	m68k-ccur)
1595a966c04fSmrg		os=-rtu
1596a966c04fSmrg		;;
1597a966c04fSmrg	m88k-omron*)
1598a966c04fSmrg		os=-luna
1599a966c04fSmrg		;;
1600a966c04fSmrg	*-next )
1601a966c04fSmrg		os=-nextstep
1602a966c04fSmrg		;;
1603a966c04fSmrg	*-sequent)
1604a966c04fSmrg		os=-ptx
1605a966c04fSmrg		;;
1606a966c04fSmrg	*-crds)
1607a966c04fSmrg		os=-unos
1608a966c04fSmrg		;;
1609a966c04fSmrg	*-ns)
1610a966c04fSmrg		os=-genix
1611a966c04fSmrg		;;
1612a966c04fSmrg	i370-*)
1613a966c04fSmrg		os=-mvs
1614a966c04fSmrg		;;
1615a966c04fSmrg	*-next)
1616a966c04fSmrg		os=-nextstep3
1617a966c04fSmrg		;;
1618a966c04fSmrg	*-gould)
1619a966c04fSmrg		os=-sysv
1620a966c04fSmrg		;;
1621a966c04fSmrg	*-highlevel)
1622a966c04fSmrg		os=-bsd
1623a966c04fSmrg		;;
1624a966c04fSmrg	*-encore)
1625a966c04fSmrg		os=-bsd
1626a966c04fSmrg		;;
1627a966c04fSmrg	*-sgi)
1628a966c04fSmrg		os=-irix
1629a966c04fSmrg		;;
1630a966c04fSmrg	*-siemens)
1631a966c04fSmrg		os=-sysv4
1632a966c04fSmrg		;;
1633a966c04fSmrg	*-masscomp)
1634a966c04fSmrg		os=-rtu
1635a966c04fSmrg		;;
1636a966c04fSmrg	f30[01]-fujitsu | f700-fujitsu)
1637a966c04fSmrg		os=-uxpv
1638a966c04fSmrg		;;
1639a966c04fSmrg	*-rom68k)
1640a966c04fSmrg		os=-coff
1641a966c04fSmrg		;;
1642a966c04fSmrg	*-*bug)
1643a966c04fSmrg		os=-coff
1644a966c04fSmrg		;;
1645a966c04fSmrg	*-apple)
1646a966c04fSmrg		os=-macos
1647a966c04fSmrg		;;
1648a966c04fSmrg	*-atari*)
1649a966c04fSmrg		os=-mint
1650a966c04fSmrg		;;
1651a966c04fSmrg	*)
1652a966c04fSmrg		os=-none
1653a966c04fSmrg		;;
1654a966c04fSmrgesac
1655a966c04fSmrgfi
1656a966c04fSmrg
1657a966c04fSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1658a966c04fSmrg# manufacturer.  We pick the logical manufacturer.
1659a966c04fSmrgvendor=unknown
1660a966c04fSmrgcase $basic_machine in
1661a966c04fSmrg	*-unknown)
1662a966c04fSmrg		case $os in
1663a966c04fSmrg			-riscix*)
1664a966c04fSmrg				vendor=acorn
1665a966c04fSmrg				;;
1666a966c04fSmrg			-sunos*)
1667a966c04fSmrg				vendor=sun
1668a966c04fSmrg				;;
16696e7d3316Smrg			-cnk*|-aix*)
1670a966c04fSmrg				vendor=ibm
1671a966c04fSmrg				;;
1672a966c04fSmrg			-beos*)
1673a966c04fSmrg				vendor=be
1674a966c04fSmrg				;;
1675a966c04fSmrg			-hpux*)
1676a966c04fSmrg				vendor=hp
1677a966c04fSmrg				;;
1678a966c04fSmrg			-mpeix*)
1679a966c04fSmrg				vendor=hp
1680a966c04fSmrg				;;
1681a966c04fSmrg			-hiux*)
1682a966c04fSmrg				vendor=hitachi
1683a966c04fSmrg				;;
1684a966c04fSmrg			-unos*)
1685a966c04fSmrg				vendor=crds
1686a966c04fSmrg				;;
1687a966c04fSmrg			-dgux*)
1688a966c04fSmrg				vendor=dg
1689a966c04fSmrg				;;
1690a966c04fSmrg			-luna*)
1691a966c04fSmrg				vendor=omron
1692a966c04fSmrg				;;
1693a966c04fSmrg			-genix*)
1694a966c04fSmrg				vendor=ns
1695a966c04fSmrg				;;
1696a966c04fSmrg			-mvs* | -opened*)
1697a966c04fSmrg				vendor=ibm
1698a966c04fSmrg				;;
1699a966c04fSmrg			-os400*)
1700a966c04fSmrg				vendor=ibm
1701a966c04fSmrg				;;
1702a966c04fSmrg			-ptx*)
1703a966c04fSmrg				vendor=sequent
1704a966c04fSmrg				;;
1705a966c04fSmrg			-tpf*)
1706a966c04fSmrg				vendor=ibm
1707a966c04fSmrg				;;
1708a966c04fSmrg			-vxsim* | -vxworks* | -windiss*)
1709a966c04fSmrg				vendor=wrs
1710a966c04fSmrg				;;
1711a966c04fSmrg			-aux*)
1712a966c04fSmrg				vendor=apple
1713a966c04fSmrg				;;
1714a966c04fSmrg			-hms*)
1715a966c04fSmrg				vendor=hitachi
1716a966c04fSmrg				;;
1717a966c04fSmrg			-mpw* | -macos*)
1718a966c04fSmrg				vendor=apple
1719a966c04fSmrg				;;
1720a966c04fSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721a966c04fSmrg				vendor=atari
1722a966c04fSmrg				;;
1723a966c04fSmrg			-vos*)
1724a966c04fSmrg				vendor=stratus
1725a966c04fSmrg				;;
1726a966c04fSmrg		esac
1727a966c04fSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728a966c04fSmrg		;;
1729a966c04fSmrgesac
1730a966c04fSmrg
1731a966c04fSmrgecho $basic_machine$os
1732a966c04fSmrgexit
1733a966c04fSmrg
1734a966c04fSmrg# Local variables:
1735a966c04fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736a966c04fSmrg# time-stamp-start: "timestamp='"
1737a966c04fSmrg# time-stamp-format: "%:y-%02m-%02d"
1738a966c04fSmrg# time-stamp-end: "'"
1739a966c04fSmrg# End:
1740