config.sub revision 706b6b52
1b042e37fSmrg#! /bin/sh
2b042e37fSmrg# Configuration validation subroutine script.
3b042e37fSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4706b6b52Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5706b6b52Smrg#   Free Software Foundation, Inc.
6b042e37fSmrg
7706b6b52Smrgtimestamp='2010-09-11'
8b042e37fSmrg
9b042e37fSmrg# This file is (in principle) common to ALL GNU software.
10b042e37fSmrg# The presence of a machine in this file suggests that SOME GNU software
11b042e37fSmrg# can handle that machine.  It does not imply ALL GNU software can.
12b042e37fSmrg#
13b042e37fSmrg# This file is free software; you can redistribute it and/or modify
14b042e37fSmrg# it under the terms of the GNU General Public License as published by
15b042e37fSmrg# the Free Software Foundation; either version 2 of the License, or
16b042e37fSmrg# (at your option) any later version.
17b042e37fSmrg#
18b042e37fSmrg# This program is distributed in the hope that it will be useful,
19b042e37fSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20b042e37fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21b042e37fSmrg# GNU General Public License for more details.
22b042e37fSmrg#
23b042e37fSmrg# You should have received a copy of the GNU General Public License
24b042e37fSmrg# along with this program; if not, write to the Free Software
258c4a8e55Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
268c4a8e55Smrg# 02110-1301, USA.
278c4a8e55Smrg#
28b042e37fSmrg# As a special exception to the GNU General Public License, if you
29b042e37fSmrg# distribute this file as part of a program that contains a
30b042e37fSmrg# configuration script generated by Autoconf, you may include it under
31b042e37fSmrg# the same distribution terms that you use for the rest of that program.
32b042e37fSmrg
338c4a8e55Smrg
34b042e37fSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35706b6b52Smrg# diff and a properly formatted GNU ChangeLog entry.
36b042e37fSmrg#
37b042e37fSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38b042e37fSmrg# Supply the specified configuration type as an argument.
39b042e37fSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40b042e37fSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41b042e37fSmrg
42706b6b52Smrg# You can get the latest version of this script from:
43706b6b52Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44706b6b52Smrg
45b042e37fSmrg# This file is supposed to be the same for all GNU packages
46b042e37fSmrg# and recognize all the CPU types, system types and aliases
47b042e37fSmrg# that are meaningful with *any* GNU software.
48b042e37fSmrg# Each package is responsible for reporting which valid configurations
49b042e37fSmrg# it does not support.  The user should be able to distinguish
50b042e37fSmrg# a failure to support a valid configuration from a meaningless
51b042e37fSmrg# configuration.
52b042e37fSmrg
53b042e37fSmrg# The goal of this file is to map all the various variations of a given
54b042e37fSmrg# machine specification into a single specification in the form:
55b042e37fSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56b042e37fSmrg# or in some cases, the newer four-part form:
57b042e37fSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58b042e37fSmrg# It is wrong to echo any other type of specification.
59b042e37fSmrg
60b042e37fSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61b042e37fSmrg
62b042e37fSmrgusage="\
63b042e37fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64b042e37fSmrg       $0 [OPTION] ALIAS
65b042e37fSmrg
66b042e37fSmrgCanonicalize a configuration name.
67b042e37fSmrg
68b042e37fSmrgOperation modes:
69b042e37fSmrg  -h, --help         print this help, then exit
70b042e37fSmrg  -t, --time-stamp   print date of last modification, then exit
71b042e37fSmrg  -v, --version      print version number, then exit
72b042e37fSmrg
73b042e37fSmrgReport bugs and patches to <config-patches@gnu.org>."
74b042e37fSmrg
75b042e37fSmrgversion="\
76b042e37fSmrgGNU config.sub ($timestamp)
77b042e37fSmrg
78706b6b52SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79706b6b52Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80706b6b52SmrgSoftware Foundation, Inc.
81b042e37fSmrg
82b042e37fSmrgThis is free software; see the source for copying conditions.  There is NO
83b042e37fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84b042e37fSmrg
85b042e37fSmrghelp="
86b042e37fSmrgTry \`$me --help' for more information."
87b042e37fSmrg
88b042e37fSmrg# Parse command line
89b042e37fSmrgwhile test $# -gt 0 ; do
90b042e37fSmrg  case $1 in
91b042e37fSmrg    --time-stamp | --time* | -t )
928c4a8e55Smrg       echo "$timestamp" ; exit ;;
93b042e37fSmrg    --version | -v )
948c4a8e55Smrg       echo "$version" ; exit ;;
95b042e37fSmrg    --help | --h* | -h )
968c4a8e55Smrg       echo "$usage"; exit ;;
97b042e37fSmrg    -- )     # Stop option processing
98b042e37fSmrg       shift; break ;;
99b042e37fSmrg    - )	# Use stdin as input.
100b042e37fSmrg       break ;;
101b042e37fSmrg    -* )
102b042e37fSmrg       echo "$me: invalid option $1$help"
103b042e37fSmrg       exit 1 ;;
104b042e37fSmrg
105b042e37fSmrg    *local*)
106b042e37fSmrg       # First pass through any local machine types.
107b042e37fSmrg       echo $1
1088c4a8e55Smrg       exit ;;
109b042e37fSmrg
110b042e37fSmrg    * )
111b042e37fSmrg       break ;;
112b042e37fSmrg  esac
113b042e37fSmrgdone
114b042e37fSmrg
115b042e37fSmrgcase $# in
116b042e37fSmrg 0) echo "$me: missing argument$help" >&2
117b042e37fSmrg    exit 1;;
118b042e37fSmrg 1) ;;
119b042e37fSmrg *) echo "$me: too many arguments$help" >&2
120b042e37fSmrg    exit 1;;
121b042e37fSmrgesac
122b042e37fSmrg
123b042e37fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124b042e37fSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125b042e37fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126b042e37fSmrgcase $maybe_os in
127706b6b52Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128706b6b52Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129706b6b52Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130706b6b52Smrg  kopensolaris*-gnu* | \
1318c4a8e55Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132b042e37fSmrg    os=-$maybe_os
133b042e37fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134b042e37fSmrg    ;;
135b042e37fSmrg  *)
136b042e37fSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137b042e37fSmrg    if [ $basic_machine != $1 ]
138b042e37fSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139b042e37fSmrg    else os=; fi
140b042e37fSmrg    ;;
141b042e37fSmrgesac
142b042e37fSmrg
143b042e37fSmrg### Let's recognize common machines as not being operating systems so
144b042e37fSmrg### that things like config.sub decstation-3100 work.  We also
145b042e37fSmrg### recognize some manufacturers as not being operating systems, so we
146b042e37fSmrg### can provide default operating systems below.
147b042e37fSmrgcase $os in
148b042e37fSmrg	-sun*os*)
149b042e37fSmrg		# Prevent following clause from handling this invalid input.
150b042e37fSmrg		;;
151b042e37fSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152b042e37fSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153b042e37fSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154b042e37fSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155b042e37fSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156b042e37fSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157706b6b52Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158b042e37fSmrg		os=
159b042e37fSmrg		basic_machine=$1
160b042e37fSmrg		;;
161706b6b52Smrg        -bluegene*)
162706b6b52Smrg	        os=-cnk
163706b6b52Smrg		;;
164b042e37fSmrg	-sim | -cisco | -oki | -wec | -winbond)
165b042e37fSmrg		os=
166b042e37fSmrg		basic_machine=$1
167b042e37fSmrg		;;
168b042e37fSmrg	-scout)
169b042e37fSmrg		;;
170b042e37fSmrg	-wrs)
171b042e37fSmrg		os=-vxworks
172b042e37fSmrg		basic_machine=$1
173b042e37fSmrg		;;
174b042e37fSmrg	-chorusos*)
175b042e37fSmrg		os=-chorusos
176b042e37fSmrg		basic_machine=$1
177b042e37fSmrg		;;
178b042e37fSmrg 	-chorusrdb)
179b042e37fSmrg 		os=-chorusrdb
180b042e37fSmrg		basic_machine=$1
181b042e37fSmrg 		;;
182b042e37fSmrg	-hiux*)
183b042e37fSmrg		os=-hiuxwe2
184b042e37fSmrg		;;
1858c4a8e55Smrg	-sco6)
1868c4a8e55Smrg		os=-sco5v6
1878c4a8e55Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1888c4a8e55Smrg		;;
189b042e37fSmrg	-sco5)
190b042e37fSmrg		os=-sco3.2v5
191b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192b042e37fSmrg		;;
193b042e37fSmrg	-sco4)
194b042e37fSmrg		os=-sco3.2v4
195b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196b042e37fSmrg		;;
197b042e37fSmrg	-sco3.2.[4-9]*)
198b042e37fSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200b042e37fSmrg		;;
201b042e37fSmrg	-sco3.2v[4-9]*)
202b042e37fSmrg		# Don't forget version if it is 3.2v4 or newer.
203b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204b042e37fSmrg		;;
2058c4a8e55Smrg	-sco5v6*)
2068c4a8e55Smrg		# Don't forget version if it is 3.2v4 or newer.
2078c4a8e55Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2088c4a8e55Smrg		;;
209b042e37fSmrg	-sco*)
210b042e37fSmrg		os=-sco3.2v2
211b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212b042e37fSmrg		;;
213b042e37fSmrg	-udk*)
214b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215b042e37fSmrg		;;
216b042e37fSmrg	-isc)
217b042e37fSmrg		os=-isc2.2
218b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219b042e37fSmrg		;;
220b042e37fSmrg	-clix*)
221b042e37fSmrg		basic_machine=clipper-intergraph
222b042e37fSmrg		;;
223b042e37fSmrg	-isc*)
224b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225b042e37fSmrg		;;
226b042e37fSmrg	-lynx*)
227b042e37fSmrg		os=-lynxos
228b042e37fSmrg		;;
229b042e37fSmrg	-ptx*)
230b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231b042e37fSmrg		;;
232b042e37fSmrg	-windowsnt*)
233b042e37fSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234b042e37fSmrg		;;
235b042e37fSmrg	-psos*)
236b042e37fSmrg		os=-psos
237b042e37fSmrg		;;
238b042e37fSmrg	-mint | -mint[0-9]*)
239b042e37fSmrg		basic_machine=m68k-atari
240b042e37fSmrg		os=-mint
241b042e37fSmrg		;;
242b042e37fSmrgesac
243b042e37fSmrg
244b042e37fSmrg# Decode aliases for certain CPU-COMPANY combinations.
245b042e37fSmrgcase $basic_machine in
246b042e37fSmrg	# Recognize the basic CPU types without company name.
247b042e37fSmrg	# Some are omitted here because they have special meanings below.
248b042e37fSmrg	1750a | 580 \
249b042e37fSmrg	| a29k \
250b042e37fSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251b042e37fSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2528c4a8e55Smrg	| am33_2.0 \
2538c4a8e55Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2548c4a8e55Smrg	| bfin \
255b042e37fSmrg	| c4x | clipper \
256b042e37fSmrg	| d10v | d30v | dlx | dsp16xx \
257706b6b52Smrg	| fido | fr30 | frv \
258b042e37fSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259b042e37fSmrg	| i370 | i860 | i960 | ia64 \
2608c4a8e55Smrg	| ip2k | iq2000 \
261706b6b52Smrg	| lm32 \
2628c4a8e55Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263706b6b52Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264b042e37fSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265b042e37fSmrg	| mips16 \
266b042e37fSmrg	| mips64 | mips64el \
267706b6b52Smrg	| mips64octeon | mips64octeonel \
268b042e37fSmrg	| mips64orion | mips64orionel \
269706b6b52Smrg	| mips64r5900 | mips64r5900el \
270706b6b52Smrg	| mips64vr | mips64vrel \
271b042e37fSmrg	| mips64vr4100 | mips64vr4100el \
272b042e37fSmrg	| mips64vr4300 | mips64vr4300el \
273b042e37fSmrg	| mips64vr5000 | mips64vr5000el \
2748c4a8e55Smrg	| mips64vr5900 | mips64vr5900el \
275b042e37fSmrg	| mipsisa32 | mipsisa32el \
276b042e37fSmrg	| mipsisa32r2 | mipsisa32r2el \
277b042e37fSmrg	| mipsisa64 | mipsisa64el \
2788c4a8e55Smrg	| mipsisa64r2 | mipsisa64r2el \
279b042e37fSmrg	| mipsisa64sb1 | mipsisa64sb1el \
280b042e37fSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
281b042e37fSmrg	| mipstx39 | mipstx39el \
282b042e37fSmrg	| mn10200 | mn10300 \
283706b6b52Smrg	| moxie \
2848c4a8e55Smrg	| mt \
285b042e37fSmrg	| msp430 \
286706b6b52Smrg	| nds32 | nds32le | nds32be \
2878c4a8e55Smrg	| nios | nios2 \
288b042e37fSmrg	| ns16k | ns32k \
2898c4a8e55Smrg	| or32 \
290b042e37fSmrg	| pdp10 | pdp11 | pj | pjl \
291b042e37fSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292b042e37fSmrg	| pyramid \
293706b6b52Smrg	| rx \
2948c4a8e55Smrg	| score \
295706b6b52Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296b042e37fSmrg	| sh64 | sh64le \
2978c4a8e55Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2988c4a8e55Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2998c4a8e55Smrg	| spu | strongarm \
300706b6b52Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301706b6b52Smrg	| ubicom32 \
302b042e37fSmrg	| v850 | v850e \
303b042e37fSmrg	| we32k \
3048c4a8e55Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305706b6b52Smrg	| z8k | z80)
306b042e37fSmrg		basic_machine=$basic_machine-unknown
307b042e37fSmrg		;;
308706b6b52Smrg	c54x)
309706b6b52Smrg		basic_machine=tic54x-unknown
310706b6b52Smrg		;;
311706b6b52Smrg	c55x)
312706b6b52Smrg		basic_machine=tic55x-unknown
313706b6b52Smrg		;;
314706b6b52Smrg	c6x)
315706b6b52Smrg		basic_machine=tic6x-unknown
316706b6b52Smrg		;;
317706b6b52Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318b042e37fSmrg		# Motorola 68HC11/12.
319b042e37fSmrg		basic_machine=$basic_machine-unknown
320b042e37fSmrg		os=-none
321b042e37fSmrg		;;
322b042e37fSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323b042e37fSmrg		;;
3248c4a8e55Smrg	ms1)
3258c4a8e55Smrg		basic_machine=mt-unknown
3268c4a8e55Smrg		;;
327b042e37fSmrg
328b042e37fSmrg	# We use `pc' rather than `unknown'
329b042e37fSmrg	# because (1) that's what they normally are, and
330b042e37fSmrg	# (2) the word "unknown" tends to confuse beginning users.
331b042e37fSmrg	i*86 | x86_64)
332b042e37fSmrg	  basic_machine=$basic_machine-pc
333b042e37fSmrg	  ;;
334b042e37fSmrg	# Object if more than one company name word.
335b042e37fSmrg	*-*-*)
336b042e37fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337b042e37fSmrg		exit 1
338b042e37fSmrg		;;
339b042e37fSmrg	# Recognize the basic CPU types with company name.
340b042e37fSmrg	580-* \
341b042e37fSmrg	| a29k-* \
342b042e37fSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343b042e37fSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3448c4a8e55Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345b042e37fSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3468c4a8e55Smrg	| avr-* | avr32-* \
3478c4a8e55Smrg	| bfin-* | bs2000-* \
348706b6b52Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3498c4a8e55Smrg	| clipper-* | craynv-* | cydra-* \
350b042e37fSmrg	| d10v-* | d30v-* | dlx-* \
351b042e37fSmrg	| elxsi-* \
352706b6b52Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353b042e37fSmrg	| h8300-* | h8500-* \
354b042e37fSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355b042e37fSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3568c4a8e55Smrg	| ip2k-* | iq2000-* \
357706b6b52Smrg	| lm32-* \
3588c4a8e55Smrg	| m32c-* | m32r-* | m32rle-* \
359b042e37fSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360706b6b52Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361b042e37fSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362b042e37fSmrg	| mips16-* \
363b042e37fSmrg	| mips64-* | mips64el-* \
364706b6b52Smrg	| mips64octeon-* | mips64octeonel-* \
365b042e37fSmrg	| mips64orion-* | mips64orionel-* \
366706b6b52Smrg	| mips64r5900-* | mips64r5900el-* \
367706b6b52Smrg	| mips64vr-* | mips64vrel-* \
368b042e37fSmrg	| mips64vr4100-* | mips64vr4100el-* \
369b042e37fSmrg	| mips64vr4300-* | mips64vr4300el-* \
370b042e37fSmrg	| mips64vr5000-* | mips64vr5000el-* \
3718c4a8e55Smrg	| mips64vr5900-* | mips64vr5900el-* \
372b042e37fSmrg	| mipsisa32-* | mipsisa32el-* \
373b042e37fSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
374b042e37fSmrg	| mipsisa64-* | mipsisa64el-* \
3758c4a8e55Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
376b042e37fSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377b042e37fSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378b042e37fSmrg	| mipstx39-* | mipstx39el-* \
3798c4a8e55Smrg	| mmix-* \
3808c4a8e55Smrg	| mt-* \
381b042e37fSmrg	| msp430-* \
382706b6b52Smrg	| nds32-* | nds32le-* | nds32be-* \
3838c4a8e55Smrg	| nios-* | nios2-* \
3848c4a8e55Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
385b042e37fSmrg	| orion-* \
386b042e37fSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387b042e37fSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388b042e37fSmrg	| pyramid-* \
389706b6b52Smrg	| romp-* | rs6000-* | rx-* \
390706b6b52Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391b042e37fSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3928c4a8e55Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3938c4a8e55Smrg	| sparclite-* \
3948c4a8e55Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395b042e37fSmrg	| tahoe-* | thumb-* \
396b042e37fSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397706b6b52Smrg	| tile-* | tilegx-* \
398b042e37fSmrg	| tron-* \
399706b6b52Smrg	| ubicom32-* \
400b042e37fSmrg	| v850-* | v850e-* | vax-* \
401b042e37fSmrg	| we32k-* \
4028c4a8e55Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403706b6b52Smrg	| xstormy16-* | xtensa*-* \
404b042e37fSmrg	| ymp-* \
405706b6b52Smrg	| z8k-* | z80-*)
406706b6b52Smrg		;;
407706b6b52Smrg	# Recognize the basic CPU types without company name, with glob match.
408706b6b52Smrg	xtensa*)
409706b6b52Smrg		basic_machine=$basic_machine-unknown
410b042e37fSmrg		;;
411b042e37fSmrg	# Recognize the various machine names and aliases which stand
412b042e37fSmrg	# for a CPU type and a company and sometimes even an OS.
413b042e37fSmrg	386bsd)
414b042e37fSmrg		basic_machine=i386-unknown
415b042e37fSmrg		os=-bsd
416b042e37fSmrg		;;
417b042e37fSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418b042e37fSmrg		basic_machine=m68000-att
419b042e37fSmrg		;;
420b042e37fSmrg	3b*)
421b042e37fSmrg		basic_machine=we32k-att
422b042e37fSmrg		;;
423b042e37fSmrg	a29khif)
424b042e37fSmrg		basic_machine=a29k-amd
425b042e37fSmrg		os=-udi
426b042e37fSmrg		;;
4278c4a8e55Smrg    	abacus)
4288c4a8e55Smrg		basic_machine=abacus-unknown
4298c4a8e55Smrg		;;
430b042e37fSmrg	adobe68k)
431b042e37fSmrg		basic_machine=m68010-adobe
432b042e37fSmrg		os=-scout
433b042e37fSmrg		;;
434b042e37fSmrg	alliant | fx80)
435b042e37fSmrg		basic_machine=fx80-alliant
436b042e37fSmrg		;;
437b042e37fSmrg	altos | altos3068)
438b042e37fSmrg		basic_machine=m68k-altos
439b042e37fSmrg		;;
440b042e37fSmrg	am29k)
441b042e37fSmrg		basic_machine=a29k-none
442b042e37fSmrg		os=-bsd
443b042e37fSmrg		;;
444b042e37fSmrg	amd64)
445b042e37fSmrg		basic_machine=x86_64-pc
446b042e37fSmrg		;;
4478c4a8e55Smrg	amd64-*)
4488c4a8e55Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4498c4a8e55Smrg		;;
450b042e37fSmrg	amdahl)
451b042e37fSmrg		basic_machine=580-amdahl
452b042e37fSmrg		os=-sysv
453b042e37fSmrg		;;
454b042e37fSmrg	amiga | amiga-*)
455b042e37fSmrg		basic_machine=m68k-unknown
456b042e37fSmrg		;;
457b042e37fSmrg	amigaos | amigados)
458b042e37fSmrg		basic_machine=m68k-unknown
459b042e37fSmrg		os=-amigaos
460b042e37fSmrg		;;
461b042e37fSmrg	amigaunix | amix)
462b042e37fSmrg		basic_machine=m68k-unknown
463b042e37fSmrg		os=-sysv4
464b042e37fSmrg		;;
465b042e37fSmrg	apollo68)
466b042e37fSmrg		basic_machine=m68k-apollo
467b042e37fSmrg		os=-sysv
468b042e37fSmrg		;;
469b042e37fSmrg	apollo68bsd)
470b042e37fSmrg		basic_machine=m68k-apollo
471b042e37fSmrg		os=-bsd
472b042e37fSmrg		;;
473706b6b52Smrg	aros)
474706b6b52Smrg		basic_machine=i386-pc
475706b6b52Smrg		os=-aros
476706b6b52Smrg		;;
477b042e37fSmrg	aux)
478b042e37fSmrg		basic_machine=m68k-apple
479b042e37fSmrg		os=-aux
480b042e37fSmrg		;;
481b042e37fSmrg	balance)
482b042e37fSmrg		basic_machine=ns32k-sequent
483b042e37fSmrg		os=-dynix
484b042e37fSmrg		;;
485706b6b52Smrg	blackfin)
486706b6b52Smrg		basic_machine=bfin-unknown
487706b6b52Smrg		os=-linux
488706b6b52Smrg		;;
489706b6b52Smrg	blackfin-*)
490706b6b52Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491706b6b52Smrg		os=-linux
492706b6b52Smrg		;;
493706b6b52Smrg	bluegene*)
494706b6b52Smrg		basic_machine=powerpc-ibm
495706b6b52Smrg		os=-cnk
496706b6b52Smrg		;;
497706b6b52Smrg	c54x-*)
498706b6b52Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499706b6b52Smrg		;;
500706b6b52Smrg	c55x-*)
501706b6b52Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502706b6b52Smrg		;;
503706b6b52Smrg	c6x-*)
504706b6b52Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505706b6b52Smrg		;;
506b042e37fSmrg	c90)
507b042e37fSmrg		basic_machine=c90-cray
508b042e37fSmrg		os=-unicos
509b042e37fSmrg		;;
510706b6b52Smrg        cegcc)
511706b6b52Smrg		basic_machine=arm-unknown
512706b6b52Smrg		os=-cegcc
513706b6b52Smrg		;;
514b042e37fSmrg	convex-c1)
515b042e37fSmrg		basic_machine=c1-convex
516b042e37fSmrg		os=-bsd
517b042e37fSmrg		;;
518b042e37fSmrg	convex-c2)
519b042e37fSmrg		basic_machine=c2-convex
520b042e37fSmrg		os=-bsd
521b042e37fSmrg		;;
522b042e37fSmrg	convex-c32)
523b042e37fSmrg		basic_machine=c32-convex
524b042e37fSmrg		os=-bsd
525b042e37fSmrg		;;
526b042e37fSmrg	convex-c34)
527b042e37fSmrg		basic_machine=c34-convex
528b042e37fSmrg		os=-bsd
529b042e37fSmrg		;;
530b042e37fSmrg	convex-c38)
531b042e37fSmrg		basic_machine=c38-convex
532b042e37fSmrg		os=-bsd
533b042e37fSmrg		;;
534b042e37fSmrg	cray | j90)
535b042e37fSmrg		basic_machine=j90-cray
536b042e37fSmrg		os=-unicos
537b042e37fSmrg		;;
5388c4a8e55Smrg	craynv)
5398c4a8e55Smrg		basic_machine=craynv-cray
5408c4a8e55Smrg		os=-unicosmp
5418c4a8e55Smrg		;;
542706b6b52Smrg	cr16)
543706b6b52Smrg		basic_machine=cr16-unknown
5448c4a8e55Smrg		os=-elf
5458c4a8e55Smrg		;;
546b042e37fSmrg	crds | unos)
547b042e37fSmrg		basic_machine=m68k-crds
548b042e37fSmrg		;;
5498c4a8e55Smrg	crisv32 | crisv32-* | etraxfs*)
5508c4a8e55Smrg		basic_machine=crisv32-axis
5518c4a8e55Smrg		;;
552b042e37fSmrg	cris | cris-* | etrax*)
553b042e37fSmrg		basic_machine=cris-axis
554b042e37fSmrg		;;
5558c4a8e55Smrg	crx)
5568c4a8e55Smrg		basic_machine=crx-unknown
5578c4a8e55Smrg		os=-elf
5588c4a8e55Smrg		;;
559b042e37fSmrg	da30 | da30-*)
560b042e37fSmrg		basic_machine=m68k-da30
561b042e37fSmrg		;;
562b042e37fSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563b042e37fSmrg		basic_machine=mips-dec
564b042e37fSmrg		;;
565b042e37fSmrg	decsystem10* | dec10*)
566b042e37fSmrg		basic_machine=pdp10-dec
567b042e37fSmrg		os=-tops10
568b042e37fSmrg		;;
569b042e37fSmrg	decsystem20* | dec20*)
570b042e37fSmrg		basic_machine=pdp10-dec
571b042e37fSmrg		os=-tops20
572b042e37fSmrg		;;
573b042e37fSmrg	delta | 3300 | motorola-3300 | motorola-delta \
574b042e37fSmrg	      | 3300-motorola | delta-motorola)
575b042e37fSmrg		basic_machine=m68k-motorola
576b042e37fSmrg		;;
577b042e37fSmrg	delta88)
578b042e37fSmrg		basic_machine=m88k-motorola
579b042e37fSmrg		os=-sysv3
580b042e37fSmrg		;;
581706b6b52Smrg	dicos)
582706b6b52Smrg		basic_machine=i686-pc
583706b6b52Smrg		os=-dicos
584706b6b52Smrg		;;
5858c4a8e55Smrg	djgpp)
5868c4a8e55Smrg		basic_machine=i586-pc
5878c4a8e55Smrg		os=-msdosdjgpp
5888c4a8e55Smrg		;;
589b042e37fSmrg	dpx20 | dpx20-*)
590b042e37fSmrg		basic_machine=rs6000-bull
591b042e37fSmrg		os=-bosx
592b042e37fSmrg		;;
593b042e37fSmrg	dpx2* | dpx2*-bull)
594b042e37fSmrg		basic_machine=m68k-bull
595b042e37fSmrg		os=-sysv3
596b042e37fSmrg		;;
597b042e37fSmrg	ebmon29k)
598b042e37fSmrg		basic_machine=a29k-amd
599b042e37fSmrg		os=-ebmon
600b042e37fSmrg		;;
601b042e37fSmrg	elxsi)
602b042e37fSmrg		basic_machine=elxsi-elxsi
603b042e37fSmrg		os=-bsd
604b042e37fSmrg		;;
605b042e37fSmrg	encore | umax | mmax)
606b042e37fSmrg		basic_machine=ns32k-encore
607b042e37fSmrg		;;
608b042e37fSmrg	es1800 | OSE68k | ose68k | ose | OSE)
609b042e37fSmrg		basic_machine=m68k-ericsson
610b042e37fSmrg		os=-ose
611b042e37fSmrg		;;
612b042e37fSmrg	fx2800)
613b042e37fSmrg		basic_machine=i860-alliant
614b042e37fSmrg		;;
615b042e37fSmrg	genix)
616b042e37fSmrg		basic_machine=ns32k-ns
617b042e37fSmrg		;;
618b042e37fSmrg	gmicro)
619b042e37fSmrg		basic_machine=tron-gmicro
620b042e37fSmrg		os=-sysv
621b042e37fSmrg		;;
622b042e37fSmrg	go32)
623b042e37fSmrg		basic_machine=i386-pc
624b042e37fSmrg		os=-go32
625b042e37fSmrg		;;
626b042e37fSmrg	h3050r* | hiux*)
627b042e37fSmrg		basic_machine=hppa1.1-hitachi
628b042e37fSmrg		os=-hiuxwe2
629b042e37fSmrg		;;
630b042e37fSmrg	h8300hms)
631b042e37fSmrg		basic_machine=h8300-hitachi
632b042e37fSmrg		os=-hms
633b042e37fSmrg		;;
634b042e37fSmrg	h8300xray)
635b042e37fSmrg		basic_machine=h8300-hitachi
636b042e37fSmrg		os=-xray
637b042e37fSmrg		;;
638b042e37fSmrg	h8500hms)
639b042e37fSmrg		basic_machine=h8500-hitachi
640b042e37fSmrg		os=-hms
641b042e37fSmrg		;;
642b042e37fSmrg	harris)
643b042e37fSmrg		basic_machine=m88k-harris
644b042e37fSmrg		os=-sysv3
645b042e37fSmrg		;;
646b042e37fSmrg	hp300-*)
647b042e37fSmrg		basic_machine=m68k-hp
648b042e37fSmrg		;;
649b042e37fSmrg	hp300bsd)
650b042e37fSmrg		basic_machine=m68k-hp
651b042e37fSmrg		os=-bsd
652b042e37fSmrg		;;
653b042e37fSmrg	hp300hpux)
654b042e37fSmrg		basic_machine=m68k-hp
655b042e37fSmrg		os=-hpux
656b042e37fSmrg		;;
657b042e37fSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658b042e37fSmrg		basic_machine=hppa1.0-hp
659b042e37fSmrg		;;
660b042e37fSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661b042e37fSmrg		basic_machine=m68000-hp
662b042e37fSmrg		;;
663b042e37fSmrg	hp9k3[2-9][0-9])
664b042e37fSmrg		basic_machine=m68k-hp
665b042e37fSmrg		;;
666b042e37fSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667b042e37fSmrg		basic_machine=hppa1.0-hp
668b042e37fSmrg		;;
669b042e37fSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670b042e37fSmrg		basic_machine=hppa1.1-hp
671b042e37fSmrg		;;
672b042e37fSmrg	hp9k78[0-9] | hp78[0-9])
673b042e37fSmrg		# FIXME: really hppa2.0-hp
674b042e37fSmrg		basic_machine=hppa1.1-hp
675b042e37fSmrg		;;
676b042e37fSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677b042e37fSmrg		# FIXME: really hppa2.0-hp
678b042e37fSmrg		basic_machine=hppa1.1-hp
679b042e37fSmrg		;;
680b042e37fSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681b042e37fSmrg		basic_machine=hppa1.1-hp
682b042e37fSmrg		;;
683b042e37fSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684b042e37fSmrg		basic_machine=hppa1.0-hp
685b042e37fSmrg		;;
686b042e37fSmrg	hppa-next)
687b042e37fSmrg		os=-nextstep3
688b042e37fSmrg		;;
689b042e37fSmrg	hppaosf)
690b042e37fSmrg		basic_machine=hppa1.1-hp
691b042e37fSmrg		os=-osf
692b042e37fSmrg		;;
693b042e37fSmrg	hppro)
694b042e37fSmrg		basic_machine=hppa1.1-hp
695b042e37fSmrg		os=-proelf
696b042e37fSmrg		;;
697b042e37fSmrg	i370-ibm* | ibm*)
698b042e37fSmrg		basic_machine=i370-ibm
699b042e37fSmrg		;;
700b042e37fSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701b042e37fSmrg	i*86v32)
702b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703b042e37fSmrg		os=-sysv32
704b042e37fSmrg		;;
705b042e37fSmrg	i*86v4*)
706b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707b042e37fSmrg		os=-sysv4
708b042e37fSmrg		;;
709b042e37fSmrg	i*86v)
710b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711b042e37fSmrg		os=-sysv
712b042e37fSmrg		;;
713b042e37fSmrg	i*86sol2)
714b042e37fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715b042e37fSmrg		os=-solaris2
716b042e37fSmrg		;;
717b042e37fSmrg	i386mach)
718b042e37fSmrg		basic_machine=i386-mach
719b042e37fSmrg		os=-mach
720b042e37fSmrg		;;
721b042e37fSmrg	i386-vsta | vsta)
722b042e37fSmrg		basic_machine=i386-unknown
723b042e37fSmrg		os=-vsta
724b042e37fSmrg		;;
725b042e37fSmrg	iris | iris4d)
726b042e37fSmrg		basic_machine=mips-sgi
727b042e37fSmrg		case $os in
728b042e37fSmrg		    -irix*)
729b042e37fSmrg			;;
730b042e37fSmrg		    *)
731b042e37fSmrg			os=-irix4
732b042e37fSmrg			;;
733b042e37fSmrg		esac
734b042e37fSmrg		;;
735b042e37fSmrg	isi68 | isi)
736b042e37fSmrg		basic_machine=m68k-isi
737b042e37fSmrg		os=-sysv
738b042e37fSmrg		;;
739706b6b52Smrg	m68knommu)
740706b6b52Smrg		basic_machine=m68k-unknown
741706b6b52Smrg		os=-linux
742706b6b52Smrg		;;
743706b6b52Smrg	m68knommu-*)
744706b6b52Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745706b6b52Smrg		os=-linux
746706b6b52Smrg		;;
747b042e37fSmrg	m88k-omron*)
748b042e37fSmrg		basic_machine=m88k-omron
749b042e37fSmrg		;;
750b042e37fSmrg	magnum | m3230)
751b042e37fSmrg		basic_machine=mips-mips
752b042e37fSmrg		os=-sysv
753b042e37fSmrg		;;
754b042e37fSmrg	merlin)
755b042e37fSmrg		basic_machine=ns32k-utek
756b042e37fSmrg		os=-sysv
757b042e37fSmrg		;;
758706b6b52Smrg        microblaze)
759706b6b52Smrg		basic_machine=microblaze-xilinx
760706b6b52Smrg		;;
761b042e37fSmrg	mingw32)
762b042e37fSmrg		basic_machine=i386-pc
763b042e37fSmrg		os=-mingw32
764b042e37fSmrg		;;
765706b6b52Smrg	mingw32ce)
766706b6b52Smrg		basic_machine=arm-unknown
767706b6b52Smrg		os=-mingw32ce
768706b6b52Smrg		;;
769b042e37fSmrg	miniframe)
770b042e37fSmrg		basic_machine=m68000-convergent
771b042e37fSmrg		;;
772b042e37fSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773b042e37fSmrg		basic_machine=m68k-atari
774b042e37fSmrg		os=-mint
775b042e37fSmrg		;;
776b042e37fSmrg	mips3*-*)
777b042e37fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778b042e37fSmrg		;;
779b042e37fSmrg	mips3*)
780b042e37fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781b042e37fSmrg		;;
782b042e37fSmrg	monitor)
783b042e37fSmrg		basic_machine=m68k-rom68k
784b042e37fSmrg		os=-coff
785b042e37fSmrg		;;
786b042e37fSmrg	morphos)
787b042e37fSmrg		basic_machine=powerpc-unknown
788b042e37fSmrg		os=-morphos
789b042e37fSmrg		;;
790b042e37fSmrg	msdos)
791b042e37fSmrg		basic_machine=i386-pc
792b042e37fSmrg		os=-msdos
793b042e37fSmrg		;;
7948c4a8e55Smrg	ms1-*)
7958c4a8e55Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7968c4a8e55Smrg		;;
797b042e37fSmrg	mvs)
798b042e37fSmrg		basic_machine=i370-ibm
799b042e37fSmrg		os=-mvs
800b042e37fSmrg		;;
801b042e37fSmrg	ncr3000)
802b042e37fSmrg		basic_machine=i486-ncr
803b042e37fSmrg		os=-sysv4
804b042e37fSmrg		;;
805b042e37fSmrg	netbsd386)
806b042e37fSmrg		basic_machine=i386-unknown
807b042e37fSmrg		os=-netbsd
808b042e37fSmrg		;;
809b042e37fSmrg	netwinder)
810b042e37fSmrg		basic_machine=armv4l-rebel
811b042e37fSmrg		os=-linux
812b042e37fSmrg		;;
813b042e37fSmrg	news | news700 | news800 | news900)
814b042e37fSmrg		basic_machine=m68k-sony
815b042e37fSmrg		os=-newsos
816b042e37fSmrg		;;
817b042e37fSmrg	news1000)
818b042e37fSmrg		basic_machine=m68030-sony
819b042e37fSmrg		os=-newsos
820b042e37fSmrg		;;
821b042e37fSmrg	news-3600 | risc-news)
822b042e37fSmrg		basic_machine=mips-sony
823b042e37fSmrg		os=-newsos
824b042e37fSmrg		;;
825b042e37fSmrg	necv70)
826b042e37fSmrg		basic_machine=v70-nec
827b042e37fSmrg		os=-sysv
828b042e37fSmrg		;;
829b042e37fSmrg	next | m*-next )
830b042e37fSmrg		basic_machine=m68k-next
831b042e37fSmrg		case $os in
832b042e37fSmrg		    -nextstep* )
833b042e37fSmrg			;;
834b042e37fSmrg		    -ns2*)
835b042e37fSmrg		      os=-nextstep2
836b042e37fSmrg			;;
837b042e37fSmrg		    *)
838b042e37fSmrg		      os=-nextstep3
839b042e37fSmrg			;;
840b042e37fSmrg		esac
841b042e37fSmrg		;;
842b042e37fSmrg	nh3000)
843b042e37fSmrg		basic_machine=m68k-harris
844b042e37fSmrg		os=-cxux
845b042e37fSmrg		;;
846b042e37fSmrg	nh[45]000)
847b042e37fSmrg		basic_machine=m88k-harris
848b042e37fSmrg		os=-cxux
849b042e37fSmrg		;;
850b042e37fSmrg	nindy960)
851b042e37fSmrg		basic_machine=i960-intel
852b042e37fSmrg		os=-nindy
853b042e37fSmrg		;;
854b042e37fSmrg	mon960)
855b042e37fSmrg		basic_machine=i960-intel
856b042e37fSmrg		os=-mon960
857b042e37fSmrg		;;
858b042e37fSmrg	nonstopux)
859b042e37fSmrg		basic_machine=mips-compaq
860b042e37fSmrg		os=-nonstopux
861b042e37fSmrg		;;
862b042e37fSmrg	np1)
863b042e37fSmrg		basic_machine=np1-gould
864b042e37fSmrg		;;
865706b6b52Smrg        neo-tandem)
866706b6b52Smrg		basic_machine=neo-tandem
867706b6b52Smrg		;;
868706b6b52Smrg        nse-tandem)
869706b6b52Smrg		basic_machine=nse-tandem
870706b6b52Smrg		;;
871b042e37fSmrg	nsr-tandem)
872b042e37fSmrg		basic_machine=nsr-tandem
873b042e37fSmrg		;;
874b042e37fSmrg	op50n-* | op60c-*)
875b042e37fSmrg		basic_machine=hppa1.1-oki
876b042e37fSmrg		os=-proelf
877b042e37fSmrg		;;
8788c4a8e55Smrg	openrisc | openrisc-*)
879b042e37fSmrg		basic_machine=or32-unknown
8808c4a8e55Smrg		;;
8818c4a8e55Smrg	os400)
8828c4a8e55Smrg		basic_machine=powerpc-ibm
8838c4a8e55Smrg		os=-os400
884b042e37fSmrg		;;
885b042e37fSmrg	OSE68000 | ose68000)
886b042e37fSmrg		basic_machine=m68000-ericsson
887b042e37fSmrg		os=-ose
888b042e37fSmrg		;;
889b042e37fSmrg	os68k)
890b042e37fSmrg		basic_machine=m68k-none
891b042e37fSmrg		os=-os68k
892b042e37fSmrg		;;
893b042e37fSmrg	pa-hitachi)
894b042e37fSmrg		basic_machine=hppa1.1-hitachi
895b042e37fSmrg		os=-hiuxwe2
896b042e37fSmrg		;;
897b042e37fSmrg	paragon)
898b042e37fSmrg		basic_machine=i860-intel
899b042e37fSmrg		os=-osf
900b042e37fSmrg		;;
901706b6b52Smrg	parisc)
902706b6b52Smrg		basic_machine=hppa-unknown
903706b6b52Smrg		os=-linux
904706b6b52Smrg		;;
905706b6b52Smrg	parisc-*)
906706b6b52Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907706b6b52Smrg		os=-linux
908706b6b52Smrg		;;
909b042e37fSmrg	pbd)
910b042e37fSmrg		basic_machine=sparc-tti
911b042e37fSmrg		;;
912b042e37fSmrg	pbb)
913b042e37fSmrg		basic_machine=m68k-tti
914b042e37fSmrg		;;
915b042e37fSmrg	pc532 | pc532-*)
916b042e37fSmrg		basic_machine=ns32k-pc532
917b042e37fSmrg		;;
9188c4a8e55Smrg	pc98)
9198c4a8e55Smrg		basic_machine=i386-pc
9208c4a8e55Smrg		;;
9218c4a8e55Smrg	pc98-*)
9228c4a8e55Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9238c4a8e55Smrg		;;
924b042e37fSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925b042e37fSmrg		basic_machine=i586-pc
926b042e37fSmrg		;;
927b042e37fSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928b042e37fSmrg		basic_machine=i686-pc
929b042e37fSmrg		;;
930b042e37fSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
931b042e37fSmrg		basic_machine=i686-pc
932b042e37fSmrg		;;
933b042e37fSmrg	pentium4)
934b042e37fSmrg		basic_machine=i786-pc
935b042e37fSmrg		;;
936b042e37fSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937b042e37fSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938b042e37fSmrg		;;
939b042e37fSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940b042e37fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941b042e37fSmrg		;;
942b042e37fSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943b042e37fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944b042e37fSmrg		;;
945b042e37fSmrg	pentium4-*)
946b042e37fSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947b042e37fSmrg		;;
948b042e37fSmrg	pn)
949b042e37fSmrg		basic_machine=pn-gould
950b042e37fSmrg		;;
951b042e37fSmrg	power)	basic_machine=power-ibm
952b042e37fSmrg		;;
953b042e37fSmrg	ppc)	basic_machine=powerpc-unknown
954b042e37fSmrg		;;
955b042e37fSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956b042e37fSmrg		;;
957b042e37fSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958b042e37fSmrg		basic_machine=powerpcle-unknown
959b042e37fSmrg		;;
960b042e37fSmrg	ppcle-* | powerpclittle-*)
961b042e37fSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962b042e37fSmrg		;;
963b042e37fSmrg	ppc64)	basic_machine=powerpc64-unknown
964b042e37fSmrg		;;
965b042e37fSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966b042e37fSmrg		;;
967b042e37fSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968b042e37fSmrg		basic_machine=powerpc64le-unknown
969b042e37fSmrg		;;
970b042e37fSmrg	ppc64le-* | powerpc64little-*)
971b042e37fSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972b042e37fSmrg		;;
973b042e37fSmrg	ps2)
974b042e37fSmrg		basic_machine=i386-ibm
975b042e37fSmrg		;;
976b042e37fSmrg	pw32)
977b042e37fSmrg		basic_machine=i586-unknown
978b042e37fSmrg		os=-pw32
979b042e37fSmrg		;;
9808c4a8e55Smrg	rdos)
9818c4a8e55Smrg		basic_machine=i386-pc
9828c4a8e55Smrg		os=-rdos
9838c4a8e55Smrg		;;
984b042e37fSmrg	rom68k)
985b042e37fSmrg		basic_machine=m68k-rom68k
986b042e37fSmrg		os=-coff
987b042e37fSmrg		;;
988b042e37fSmrg	rm[46]00)
989b042e37fSmrg		basic_machine=mips-siemens
990b042e37fSmrg		;;
991b042e37fSmrg	rtpc | rtpc-*)
992b042e37fSmrg		basic_machine=romp-ibm
993b042e37fSmrg		;;
994b042e37fSmrg	s390 | s390-*)
995b042e37fSmrg		basic_machine=s390-ibm
996b042e37fSmrg		;;
997b042e37fSmrg	s390x | s390x-*)
998b042e37fSmrg		basic_machine=s390x-ibm
999b042e37fSmrg		;;
1000b042e37fSmrg	sa29200)
1001b042e37fSmrg		basic_machine=a29k-amd
1002b042e37fSmrg		os=-udi
1003b042e37fSmrg		;;
1004b042e37fSmrg	sb1)
1005b042e37fSmrg		basic_machine=mipsisa64sb1-unknown
1006b042e37fSmrg		;;
1007b042e37fSmrg	sb1el)
1008b042e37fSmrg		basic_machine=mipsisa64sb1el-unknown
1009b042e37fSmrg		;;
10108c4a8e55Smrg	sde)
10118c4a8e55Smrg		basic_machine=mipsisa32-sde
10128c4a8e55Smrg		os=-elf
10138c4a8e55Smrg		;;
1014b042e37fSmrg	sei)
1015b042e37fSmrg		basic_machine=mips-sei
1016b042e37fSmrg		os=-seiux
1017b042e37fSmrg		;;
1018b042e37fSmrg	sequent)
1019b042e37fSmrg		basic_machine=i386-sequent
1020b042e37fSmrg		;;
1021b042e37fSmrg	sh)
1022b042e37fSmrg		basic_machine=sh-hitachi
1023b042e37fSmrg		os=-hms
1024b042e37fSmrg		;;
1025706b6b52Smrg	sh5el)
1026706b6b52Smrg		basic_machine=sh5le-unknown
1027706b6b52Smrg		;;
1028b042e37fSmrg	sh64)
1029b042e37fSmrg		basic_machine=sh64-unknown
1030b042e37fSmrg		;;
1031b042e37fSmrg	sparclite-wrs | simso-wrs)
1032b042e37fSmrg		basic_machine=sparclite-wrs
1033b042e37fSmrg		os=-vxworks
1034b042e37fSmrg		;;
1035b042e37fSmrg	sps7)
1036b042e37fSmrg		basic_machine=m68k-bull
1037b042e37fSmrg		os=-sysv2
1038b042e37fSmrg		;;
1039b042e37fSmrg	spur)
1040b042e37fSmrg		basic_machine=spur-unknown
1041b042e37fSmrg		;;
1042b042e37fSmrg	st2000)
1043b042e37fSmrg		basic_machine=m68k-tandem
1044b042e37fSmrg		;;
1045b042e37fSmrg	stratus)
1046b042e37fSmrg		basic_machine=i860-stratus
1047b042e37fSmrg		os=-sysv4
1048b042e37fSmrg		;;
1049b042e37fSmrg	sun2)
1050b042e37fSmrg		basic_machine=m68000-sun
1051b042e37fSmrg		;;
1052b042e37fSmrg	sun2os3)
1053b042e37fSmrg		basic_machine=m68000-sun
1054b042e37fSmrg		os=-sunos3
1055b042e37fSmrg		;;
1056b042e37fSmrg	sun2os4)
1057b042e37fSmrg		basic_machine=m68000-sun
1058b042e37fSmrg		os=-sunos4
1059b042e37fSmrg		;;
1060b042e37fSmrg	sun3os3)
1061b042e37fSmrg		basic_machine=m68k-sun
1062b042e37fSmrg		os=-sunos3
1063b042e37fSmrg		;;
1064b042e37fSmrg	sun3os4)
1065b042e37fSmrg		basic_machine=m68k-sun
1066b042e37fSmrg		os=-sunos4
1067b042e37fSmrg		;;
1068b042e37fSmrg	sun4os3)
1069b042e37fSmrg		basic_machine=sparc-sun
1070b042e37fSmrg		os=-sunos3
1071b042e37fSmrg		;;
1072b042e37fSmrg	sun4os4)
1073b042e37fSmrg		basic_machine=sparc-sun
1074b042e37fSmrg		os=-sunos4
1075b042e37fSmrg		;;
1076b042e37fSmrg	sun4sol2)
1077b042e37fSmrg		basic_machine=sparc-sun
1078b042e37fSmrg		os=-solaris2
1079b042e37fSmrg		;;
1080b042e37fSmrg	sun3 | sun3-*)
1081b042e37fSmrg		basic_machine=m68k-sun
1082b042e37fSmrg		;;
1083b042e37fSmrg	sun4)
1084b042e37fSmrg		basic_machine=sparc-sun
1085b042e37fSmrg		;;
1086b042e37fSmrg	sun386 | sun386i | roadrunner)
1087b042e37fSmrg		basic_machine=i386-sun
1088b042e37fSmrg		;;
1089b042e37fSmrg	sv1)
1090b042e37fSmrg		basic_machine=sv1-cray
1091b042e37fSmrg		os=-unicos
1092b042e37fSmrg		;;
1093b042e37fSmrg	symmetry)
1094b042e37fSmrg		basic_machine=i386-sequent
1095b042e37fSmrg		os=-dynix
1096b042e37fSmrg		;;
1097b042e37fSmrg	t3e)
1098b042e37fSmrg		basic_machine=alphaev5-cray
1099b042e37fSmrg		os=-unicos
1100b042e37fSmrg		;;
1101b042e37fSmrg	t90)
1102b042e37fSmrg		basic_machine=t90-cray
1103b042e37fSmrg		os=-unicos
1104b042e37fSmrg		;;
1105706b6b52Smrg        # This must be matched before tile*.
1106706b6b52Smrg        tilegx*)
1107706b6b52Smrg		basic_machine=tilegx-unknown
1108706b6b52Smrg		os=-linux-gnu
1109b042e37fSmrg		;;
1110706b6b52Smrg	tile*)
1111706b6b52Smrg		basic_machine=tile-unknown
1112706b6b52Smrg		os=-linux-gnu
1113b042e37fSmrg		;;
1114b042e37fSmrg	tx39)
1115b042e37fSmrg		basic_machine=mipstx39-unknown
1116b042e37fSmrg		;;
1117b042e37fSmrg	tx39el)
1118b042e37fSmrg		basic_machine=mipstx39el-unknown
1119b042e37fSmrg		;;
1120b042e37fSmrg	toad1)
1121b042e37fSmrg		basic_machine=pdp10-xkl
1122b042e37fSmrg		os=-tops20
1123b042e37fSmrg		;;
1124b042e37fSmrg	tower | tower-32)
1125b042e37fSmrg		basic_machine=m68k-ncr
1126b042e37fSmrg		;;
11278c4a8e55Smrg	tpf)
11288c4a8e55Smrg		basic_machine=s390x-ibm
11298c4a8e55Smrg		os=-tpf
11308c4a8e55Smrg		;;
1131b042e37fSmrg	udi29k)
1132b042e37fSmrg		basic_machine=a29k-amd
1133b042e37fSmrg		os=-udi
1134b042e37fSmrg		;;
1135b042e37fSmrg	ultra3)
1136b042e37fSmrg		basic_machine=a29k-nyu
1137b042e37fSmrg		os=-sym1
1138b042e37fSmrg		;;
1139b042e37fSmrg	v810 | necv810)
1140b042e37fSmrg		basic_machine=v810-nec
1141b042e37fSmrg		os=-none
1142b042e37fSmrg		;;
1143b042e37fSmrg	vaxv)
1144b042e37fSmrg		basic_machine=vax-dec
1145b042e37fSmrg		os=-sysv
1146b042e37fSmrg		;;
1147b042e37fSmrg	vms)
1148b042e37fSmrg		basic_machine=vax-dec
1149b042e37fSmrg		os=-vms
1150b042e37fSmrg		;;
1151b042e37fSmrg	vpp*|vx|vx-*)
1152b042e37fSmrg		basic_machine=f301-fujitsu
1153b042e37fSmrg		;;
1154b042e37fSmrg	vxworks960)
1155b042e37fSmrg		basic_machine=i960-wrs
1156b042e37fSmrg		os=-vxworks
1157b042e37fSmrg		;;
1158b042e37fSmrg	vxworks68)
1159b042e37fSmrg		basic_machine=m68k-wrs
1160b042e37fSmrg		os=-vxworks
1161b042e37fSmrg		;;
1162b042e37fSmrg	vxworks29k)
1163b042e37fSmrg		basic_machine=a29k-wrs
1164b042e37fSmrg		os=-vxworks
1165b042e37fSmrg		;;
1166b042e37fSmrg	w65*)
1167b042e37fSmrg		basic_machine=w65-wdc
1168b042e37fSmrg		os=-none
1169b042e37fSmrg		;;
1170b042e37fSmrg	w89k-*)
1171b042e37fSmrg		basic_machine=hppa1.1-winbond
1172b042e37fSmrg		os=-proelf
1173b042e37fSmrg		;;
11748c4a8e55Smrg	xbox)
11758c4a8e55Smrg		basic_machine=i686-pc
11768c4a8e55Smrg		os=-mingw32
11778c4a8e55Smrg		;;
1178b042e37fSmrg	xps | xps100)
1179b042e37fSmrg		basic_machine=xps100-honeywell
1180b042e37fSmrg		;;
1181b042e37fSmrg	ymp)
1182b042e37fSmrg		basic_machine=ymp-cray
1183b042e37fSmrg		os=-unicos
1184b042e37fSmrg		;;
1185b042e37fSmrg	z8k-*-coff)
1186b042e37fSmrg		basic_machine=z8k-unknown
1187b042e37fSmrg		os=-sim
1188b042e37fSmrg		;;
1189706b6b52Smrg	z80-*-coff)
1190706b6b52Smrg		basic_machine=z80-unknown
1191706b6b52Smrg		os=-sim
1192706b6b52Smrg		;;
1193b042e37fSmrg	none)
1194b042e37fSmrg		basic_machine=none-none
1195b042e37fSmrg		os=-none
1196b042e37fSmrg		;;
1197b042e37fSmrg
1198b042e37fSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199b042e37fSmrg# some cases the only manufacturer, in others, it is the most popular.
1200b042e37fSmrg	w89k)
1201b042e37fSmrg		basic_machine=hppa1.1-winbond
1202b042e37fSmrg		;;
1203b042e37fSmrg	op50n)
1204b042e37fSmrg		basic_machine=hppa1.1-oki
1205b042e37fSmrg		;;
1206b042e37fSmrg	op60c)
1207b042e37fSmrg		basic_machine=hppa1.1-oki
1208b042e37fSmrg		;;
1209b042e37fSmrg	romp)
1210b042e37fSmrg		basic_machine=romp-ibm
1211b042e37fSmrg		;;
12128c4a8e55Smrg	mmix)
12138c4a8e55Smrg		basic_machine=mmix-knuth
12148c4a8e55Smrg		;;
1215b042e37fSmrg	rs6000)
1216b042e37fSmrg		basic_machine=rs6000-ibm
1217b042e37fSmrg		;;
1218b042e37fSmrg	vax)
1219b042e37fSmrg		basic_machine=vax-dec
1220b042e37fSmrg		;;
1221b042e37fSmrg	pdp10)
1222b042e37fSmrg		# there are many clones, so DEC is not a safe bet
1223b042e37fSmrg		basic_machine=pdp10-unknown
1224b042e37fSmrg		;;
1225b042e37fSmrg	pdp11)
1226b042e37fSmrg		basic_machine=pdp11-dec
1227b042e37fSmrg		;;
1228b042e37fSmrg	we32k)
1229b042e37fSmrg		basic_machine=we32k-att
1230b042e37fSmrg		;;
1231706b6b52Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232b042e37fSmrg		basic_machine=sh-unknown
1233b042e37fSmrg		;;
12348c4a8e55Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235b042e37fSmrg		basic_machine=sparc-sun
1236b042e37fSmrg		;;
1237b042e37fSmrg	cydra)
1238b042e37fSmrg		basic_machine=cydra-cydrome
1239b042e37fSmrg		;;
1240b042e37fSmrg	orion)
1241b042e37fSmrg		basic_machine=orion-highlevel
1242b042e37fSmrg		;;
1243b042e37fSmrg	orion105)
1244b042e37fSmrg		basic_machine=clipper-highlevel
1245b042e37fSmrg		;;
1246b042e37fSmrg	mac | mpw | mac-mpw)
1247b042e37fSmrg		basic_machine=m68k-apple
1248b042e37fSmrg		;;
1249b042e37fSmrg	pmac | pmac-mpw)
1250b042e37fSmrg		basic_machine=powerpc-apple
1251b042e37fSmrg		;;
1252b042e37fSmrg	*-unknown)
1253b042e37fSmrg		# Make sure to match an already-canonicalized machine name.
1254b042e37fSmrg		;;
1255b042e37fSmrg	*)
1256b042e37fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257b042e37fSmrg		exit 1
1258b042e37fSmrg		;;
1259b042e37fSmrgesac
1260b042e37fSmrg
1261b042e37fSmrg# Here we canonicalize certain aliases for manufacturers.
1262b042e37fSmrgcase $basic_machine in
1263b042e37fSmrg	*-digital*)
1264b042e37fSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265b042e37fSmrg		;;
1266b042e37fSmrg	*-commodore*)
1267b042e37fSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268b042e37fSmrg		;;
1269b042e37fSmrg	*)
1270b042e37fSmrg		;;
1271b042e37fSmrgesac
1272b042e37fSmrg
1273b042e37fSmrg# Decode manufacturer-specific aliases for certain operating systems.
1274b042e37fSmrg
1275b042e37fSmrgif [ x"$os" != x"" ]
1276b042e37fSmrgthen
1277b042e37fSmrgcase $os in
1278b042e37fSmrg        # First match some system type aliases
1279b042e37fSmrg        # that might get confused with valid system types.
1280b042e37fSmrg	# -solaris* is a basic system type, with this one exception.
1281706b6b52Smrg        -auroraux)
1282706b6b52Smrg	        os=-auroraux
1283706b6b52Smrg		;;
1284b042e37fSmrg	-solaris1 | -solaris1.*)
1285b042e37fSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286b042e37fSmrg		;;
1287b042e37fSmrg	-solaris)
1288b042e37fSmrg		os=-solaris2
1289b042e37fSmrg		;;
1290b042e37fSmrg	-svr4*)
1291b042e37fSmrg		os=-sysv4
1292b042e37fSmrg		;;
1293b042e37fSmrg	-unixware*)
1294b042e37fSmrg		os=-sysv4.2uw
1295b042e37fSmrg		;;
1296b042e37fSmrg	-gnu/linux*)
1297b042e37fSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298b042e37fSmrg		;;
1299b042e37fSmrg	# First accept the basic system types.
1300b042e37fSmrg	# The portable systems comes first.
1301b042e37fSmrg	# Each alternative MUST END IN A *, to match a version number.
1302b042e37fSmrg	# -sysv* is not here because it comes later, after sysvr4.
1303b042e37fSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304706b6b52Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305706b6b52Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306706b6b52Smrg	      | -sym* | -kopensolaris* \
1307b042e37fSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308706b6b52Smrg	      | -aos* | -aros* \
1309b042e37fSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310b042e37fSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13118c4a8e55Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13128c4a8e55Smrg	      | -openbsd* | -solidbsd* \
13138c4a8e55Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13148c4a8e55Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315b042e37fSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316b042e37fSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317706b6b52Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318b042e37fSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319706b6b52Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320706b6b52Smrg	      | -linux-newlib* | -linux-uclibc* \
13218c4a8e55Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322b042e37fSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323b042e37fSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324b042e37fSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325b042e37fSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326b042e37fSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13278c4a8e55Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328706b6b52Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329b042e37fSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1330b042e37fSmrg		;;
1331b042e37fSmrg	-qnx*)
1332b042e37fSmrg		case $basic_machine in
1333b042e37fSmrg		    x86-* | i*86-*)
1334b042e37fSmrg			;;
1335b042e37fSmrg		    *)
1336b042e37fSmrg			os=-nto$os
1337b042e37fSmrg			;;
1338b042e37fSmrg		esac
1339b042e37fSmrg		;;
1340b042e37fSmrg	-nto-qnx*)
1341b042e37fSmrg		;;
1342b042e37fSmrg	-nto*)
1343b042e37fSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344b042e37fSmrg		;;
1345b042e37fSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13468c4a8e55Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347b042e37fSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348b042e37fSmrg		;;
1349b042e37fSmrg	-mac*)
1350b042e37fSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1351b042e37fSmrg		;;
13528c4a8e55Smrg	-linux-dietlibc)
13538c4a8e55Smrg		os=-linux-dietlibc
13548c4a8e55Smrg		;;
1355b042e37fSmrg	-linux*)
1356b042e37fSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357b042e37fSmrg		;;
1358b042e37fSmrg	-sunos5*)
1359b042e37fSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360b042e37fSmrg		;;
1361b042e37fSmrg	-sunos6*)
1362b042e37fSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363b042e37fSmrg		;;
1364b042e37fSmrg	-opened*)
1365b042e37fSmrg		os=-openedition
1366b042e37fSmrg		;;
13678c4a8e55Smrg        -os400*)
13688c4a8e55Smrg		os=-os400
13698c4a8e55Smrg		;;
1370b042e37fSmrg	-wince*)
1371b042e37fSmrg		os=-wince
1372b042e37fSmrg		;;
1373b042e37fSmrg	-osfrose*)
1374b042e37fSmrg		os=-osfrose
1375b042e37fSmrg		;;
1376b042e37fSmrg	-osf*)
1377b042e37fSmrg		os=-osf
1378b042e37fSmrg		;;
1379b042e37fSmrg	-utek*)
1380b042e37fSmrg		os=-bsd
1381b042e37fSmrg		;;
1382b042e37fSmrg	-dynix*)
1383b042e37fSmrg		os=-bsd
1384b042e37fSmrg		;;
1385b042e37fSmrg	-acis*)
1386b042e37fSmrg		os=-aos
1387b042e37fSmrg		;;
1388b042e37fSmrg	-atheos*)
1389b042e37fSmrg		os=-atheos
1390b042e37fSmrg		;;
13918c4a8e55Smrg	-syllable*)
13928c4a8e55Smrg		os=-syllable
13938c4a8e55Smrg		;;
1394b042e37fSmrg	-386bsd)
1395b042e37fSmrg		os=-bsd
1396b042e37fSmrg		;;
1397b042e37fSmrg	-ctix* | -uts*)
1398b042e37fSmrg		os=-sysv
1399b042e37fSmrg		;;
1400b042e37fSmrg	-nova*)
1401b042e37fSmrg		os=-rtmk-nova
1402b042e37fSmrg		;;
1403b042e37fSmrg	-ns2 )
1404b042e37fSmrg		os=-nextstep2
1405b042e37fSmrg		;;
1406b042e37fSmrg	-nsk*)
1407b042e37fSmrg		os=-nsk
1408b042e37fSmrg		;;
1409b042e37fSmrg	# Preserve the version number of sinix5.
1410b042e37fSmrg	-sinix5.*)
1411b042e37fSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412b042e37fSmrg		;;
1413b042e37fSmrg	-sinix*)
1414b042e37fSmrg		os=-sysv4
1415b042e37fSmrg		;;
14168c4a8e55Smrg        -tpf*)
14178c4a8e55Smrg		os=-tpf
14188c4a8e55Smrg		;;
1419b042e37fSmrg	-triton*)
1420b042e37fSmrg		os=-sysv3
1421b042e37fSmrg		;;
1422b042e37fSmrg	-oss*)
1423b042e37fSmrg		os=-sysv3
1424b042e37fSmrg		;;
1425b042e37fSmrg	-svr4)
1426b042e37fSmrg		os=-sysv4
1427b042e37fSmrg		;;
1428b042e37fSmrg	-svr3)
1429b042e37fSmrg		os=-sysv3
1430b042e37fSmrg		;;
1431b042e37fSmrg	-sysvr4)
1432b042e37fSmrg		os=-sysv4
1433b042e37fSmrg		;;
1434b042e37fSmrg	# This must come after -sysvr4.
1435b042e37fSmrg	-sysv*)
1436b042e37fSmrg		;;
1437b042e37fSmrg	-ose*)
1438b042e37fSmrg		os=-ose
1439b042e37fSmrg		;;
1440b042e37fSmrg	-es1800*)
1441b042e37fSmrg		os=-ose
1442b042e37fSmrg		;;
1443b042e37fSmrg	-xenix)
1444b042e37fSmrg		os=-xenix
1445b042e37fSmrg		;;
1446b042e37fSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447b042e37fSmrg		os=-mint
1448b042e37fSmrg		;;
1449b042e37fSmrg	-aros*)
1450b042e37fSmrg		os=-aros
1451b042e37fSmrg		;;
1452b042e37fSmrg	-kaos*)
1453b042e37fSmrg		os=-kaos
1454b042e37fSmrg		;;
14558c4a8e55Smrg	-zvmoe)
14568c4a8e55Smrg		os=-zvmoe
14578c4a8e55Smrg		;;
1458706b6b52Smrg	-dicos*)
1459706b6b52Smrg		os=-dicos
1460706b6b52Smrg		;;
1461706b6b52Smrg        -nacl*)
1462706b6b52Smrg	        ;;
1463b042e37fSmrg	-none)
1464b042e37fSmrg		;;
1465b042e37fSmrg	*)
1466b042e37fSmrg		# Get rid of the `-' at the beginning of $os.
1467b042e37fSmrg		os=`echo $os | sed 's/[^-]*-//'`
1468b042e37fSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469b042e37fSmrg		exit 1
1470b042e37fSmrg		;;
1471b042e37fSmrgesac
1472b042e37fSmrgelse
1473b042e37fSmrg
1474b042e37fSmrg# Here we handle the default operating systems that come with various machines.
1475b042e37fSmrg# The value should be what the vendor currently ships out the door with their
1476b042e37fSmrg# machine or put another way, the most popular os provided with the machine.
1477b042e37fSmrg
1478b042e37fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479b042e37fSmrg# "-sun"), then you have to tell the case statement up towards the top
1480b042e37fSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481b042e37fSmrg# will signal an error saying that MANUFACTURER isn't an operating
1482b042e37fSmrg# system, and we'll never get to this point.
1483b042e37fSmrg
1484b042e37fSmrgcase $basic_machine in
14858c4a8e55Smrg        score-*)
14868c4a8e55Smrg		os=-elf
14878c4a8e55Smrg		;;
14888c4a8e55Smrg        spu-*)
14898c4a8e55Smrg		os=-elf
14908c4a8e55Smrg		;;
1491b042e37fSmrg	*-acorn)
1492b042e37fSmrg		os=-riscix1.2
1493b042e37fSmrg		;;
1494b042e37fSmrg	arm*-rebel)
1495b042e37fSmrg		os=-linux
1496b042e37fSmrg		;;
1497b042e37fSmrg	arm*-semi)
1498b042e37fSmrg		os=-aout
1499b042e37fSmrg		;;
15008c4a8e55Smrg        c4x-* | tic4x-*)
15018c4a8e55Smrg        	os=-coff
15028c4a8e55Smrg		;;
1503706b6b52Smrg	tic54x-*)
1504706b6b52Smrg		os=-coff
1505706b6b52Smrg		;;
1506706b6b52Smrg	tic55x-*)
1507706b6b52Smrg		os=-coff
1508706b6b52Smrg		;;
1509706b6b52Smrg	tic6x-*)
1510706b6b52Smrg		os=-coff
1511706b6b52Smrg		;;
1512b042e37fSmrg	# This must come before the *-dec entry.
1513b042e37fSmrg	pdp10-*)
1514b042e37fSmrg		os=-tops20
1515b042e37fSmrg		;;
1516b042e37fSmrg	pdp11-*)
1517b042e37fSmrg		os=-none
1518b042e37fSmrg		;;
1519b042e37fSmrg	*-dec | vax-*)
1520b042e37fSmrg		os=-ultrix4.2
1521b042e37fSmrg		;;
1522b042e37fSmrg	m68*-apollo)
1523b042e37fSmrg		os=-domain
1524b042e37fSmrg		;;
1525b042e37fSmrg	i386-sun)
1526b042e37fSmrg		os=-sunos4.0.2
1527b042e37fSmrg		;;
1528b042e37fSmrg	m68000-sun)
1529b042e37fSmrg		os=-sunos3
1530b042e37fSmrg		# This also exists in the configure program, but was not the
1531b042e37fSmrg		# default.
1532b042e37fSmrg		# os=-sunos4
1533b042e37fSmrg		;;
1534b042e37fSmrg	m68*-cisco)
1535b042e37fSmrg		os=-aout
1536b042e37fSmrg		;;
1537706b6b52Smrg        mep-*)
1538706b6b52Smrg		os=-elf
1539706b6b52Smrg		;;
1540b042e37fSmrg	mips*-cisco)
1541b042e37fSmrg		os=-elf
1542b042e37fSmrg		;;
1543b042e37fSmrg	mips*-*)
1544b042e37fSmrg		os=-elf
1545b042e37fSmrg		;;
1546b042e37fSmrg	or32-*)
1547b042e37fSmrg		os=-coff
1548b042e37fSmrg		;;
1549b042e37fSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550b042e37fSmrg		os=-sysv3
1551b042e37fSmrg		;;
1552b042e37fSmrg	sparc-* | *-sun)
1553b042e37fSmrg		os=-sunos4.1.1
1554b042e37fSmrg		;;
1555b042e37fSmrg	*-be)
1556b042e37fSmrg		os=-beos
1557b042e37fSmrg		;;
15588c4a8e55Smrg	*-haiku)
15598c4a8e55Smrg		os=-haiku
15608c4a8e55Smrg		;;
1561b042e37fSmrg	*-ibm)
1562b042e37fSmrg		os=-aix
1563b042e37fSmrg		;;
15648c4a8e55Smrg    	*-knuth)
15658c4a8e55Smrg		os=-mmixware
15668c4a8e55Smrg		;;
1567b042e37fSmrg	*-wec)
1568b042e37fSmrg		os=-proelf
1569b042e37fSmrg		;;
1570b042e37fSmrg	*-winbond)
1571b042e37fSmrg		os=-proelf
1572b042e37fSmrg		;;
1573b042e37fSmrg	*-oki)
1574b042e37fSmrg		os=-proelf
1575b042e37fSmrg		;;
1576b042e37fSmrg	*-hp)
1577b042e37fSmrg		os=-hpux
1578b042e37fSmrg		;;
1579b042e37fSmrg	*-hitachi)
1580b042e37fSmrg		os=-hiux
1581b042e37fSmrg		;;
1582b042e37fSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583b042e37fSmrg		os=-sysv
1584b042e37fSmrg		;;
1585b042e37fSmrg	*-cbm)
1586b042e37fSmrg		os=-amigaos
1587b042e37fSmrg		;;
1588b042e37fSmrg	*-dg)
1589b042e37fSmrg		os=-dgux
1590b042e37fSmrg		;;
1591b042e37fSmrg	*-dolphin)
1592b042e37fSmrg		os=-sysv3
1593b042e37fSmrg		;;
1594b042e37fSmrg	m68k-ccur)
1595b042e37fSmrg		os=-rtu
1596b042e37fSmrg		;;
1597b042e37fSmrg	m88k-omron*)
1598b042e37fSmrg		os=-luna
1599b042e37fSmrg		;;
1600b042e37fSmrg	*-next )
1601b042e37fSmrg		os=-nextstep
1602b042e37fSmrg		;;
1603b042e37fSmrg	*-sequent)
1604b042e37fSmrg		os=-ptx
1605b042e37fSmrg		;;
1606b042e37fSmrg	*-crds)
1607b042e37fSmrg		os=-unos
1608b042e37fSmrg		;;
1609b042e37fSmrg	*-ns)
1610b042e37fSmrg		os=-genix
1611b042e37fSmrg		;;
1612b042e37fSmrg	i370-*)
1613b042e37fSmrg		os=-mvs
1614b042e37fSmrg		;;
1615b042e37fSmrg	*-next)
1616b042e37fSmrg		os=-nextstep3
1617b042e37fSmrg		;;
1618b042e37fSmrg	*-gould)
1619b042e37fSmrg		os=-sysv
1620b042e37fSmrg		;;
1621b042e37fSmrg	*-highlevel)
1622b042e37fSmrg		os=-bsd
1623b042e37fSmrg		;;
1624b042e37fSmrg	*-encore)
1625b042e37fSmrg		os=-bsd
1626b042e37fSmrg		;;
1627b042e37fSmrg	*-sgi)
1628b042e37fSmrg		os=-irix
1629b042e37fSmrg		;;
1630b042e37fSmrg	*-siemens)
1631b042e37fSmrg		os=-sysv4
1632b042e37fSmrg		;;
1633b042e37fSmrg	*-masscomp)
1634b042e37fSmrg		os=-rtu
1635b042e37fSmrg		;;
1636b042e37fSmrg	f30[01]-fujitsu | f700-fujitsu)
1637b042e37fSmrg		os=-uxpv
1638b042e37fSmrg		;;
1639b042e37fSmrg	*-rom68k)
1640b042e37fSmrg		os=-coff
1641b042e37fSmrg		;;
1642b042e37fSmrg	*-*bug)
1643b042e37fSmrg		os=-coff
1644b042e37fSmrg		;;
1645b042e37fSmrg	*-apple)
1646b042e37fSmrg		os=-macos
1647b042e37fSmrg		;;
1648b042e37fSmrg	*-atari*)
1649b042e37fSmrg		os=-mint
1650b042e37fSmrg		;;
1651b042e37fSmrg	*)
1652b042e37fSmrg		os=-none
1653b042e37fSmrg		;;
1654b042e37fSmrgesac
1655b042e37fSmrgfi
1656b042e37fSmrg
1657b042e37fSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1658b042e37fSmrg# manufacturer.  We pick the logical manufacturer.
1659b042e37fSmrgvendor=unknown
1660b042e37fSmrgcase $basic_machine in
1661b042e37fSmrg	*-unknown)
1662b042e37fSmrg		case $os in
1663b042e37fSmrg			-riscix*)
1664b042e37fSmrg				vendor=acorn
1665b042e37fSmrg				;;
1666b042e37fSmrg			-sunos*)
1667b042e37fSmrg				vendor=sun
1668b042e37fSmrg				;;
1669706b6b52Smrg			-cnk*|-aix*)
1670b042e37fSmrg				vendor=ibm
1671b042e37fSmrg				;;
1672b042e37fSmrg			-beos*)
1673b042e37fSmrg				vendor=be
1674b042e37fSmrg				;;
1675b042e37fSmrg			-hpux*)
1676b042e37fSmrg				vendor=hp
1677b042e37fSmrg				;;
1678b042e37fSmrg			-mpeix*)
1679b042e37fSmrg				vendor=hp
1680b042e37fSmrg				;;
1681b042e37fSmrg			-hiux*)
1682b042e37fSmrg				vendor=hitachi
1683b042e37fSmrg				;;
1684b042e37fSmrg			-unos*)
1685b042e37fSmrg				vendor=crds
1686b042e37fSmrg				;;
1687b042e37fSmrg			-dgux*)
1688b042e37fSmrg				vendor=dg
1689b042e37fSmrg				;;
1690b042e37fSmrg			-luna*)
1691b042e37fSmrg				vendor=omron
1692b042e37fSmrg				;;
1693b042e37fSmrg			-genix*)
1694b042e37fSmrg				vendor=ns
1695b042e37fSmrg				;;
1696b042e37fSmrg			-mvs* | -opened*)
1697b042e37fSmrg				vendor=ibm
1698b042e37fSmrg				;;
16998c4a8e55Smrg			-os400*)
17008c4a8e55Smrg				vendor=ibm
17018c4a8e55Smrg				;;
1702b042e37fSmrg			-ptx*)
1703b042e37fSmrg				vendor=sequent
1704b042e37fSmrg				;;
17058c4a8e55Smrg			-tpf*)
17068c4a8e55Smrg				vendor=ibm
17078c4a8e55Smrg				;;
1708b042e37fSmrg			-vxsim* | -vxworks* | -windiss*)
1709b042e37fSmrg				vendor=wrs
1710b042e37fSmrg				;;
1711b042e37fSmrg			-aux*)
1712b042e37fSmrg				vendor=apple
1713b042e37fSmrg				;;
1714b042e37fSmrg			-hms*)
1715b042e37fSmrg				vendor=hitachi
1716b042e37fSmrg				;;
1717b042e37fSmrg			-mpw* | -macos*)
1718b042e37fSmrg				vendor=apple
1719b042e37fSmrg				;;
1720b042e37fSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721b042e37fSmrg				vendor=atari
1722b042e37fSmrg				;;
1723b042e37fSmrg			-vos*)
1724b042e37fSmrg				vendor=stratus
1725b042e37fSmrg				;;
1726b042e37fSmrg		esac
1727b042e37fSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728b042e37fSmrg		;;
1729b042e37fSmrgesac
1730b042e37fSmrg
1731b042e37fSmrgecho $basic_machine$os
17328c4a8e55Smrgexit
1733b042e37fSmrg
1734b042e37fSmrg# Local variables:
1735b042e37fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736b042e37fSmrg# time-stamp-start: "timestamp='"
1737b042e37fSmrg# time-stamp-format: "%:y-%02m-%02d"
1738b042e37fSmrg# time-stamp-end: "'"
1739b042e37fSmrg# End:
1740