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