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