config.sub revision 4f9ac78a
1d1333322Smrg#! /bin/sh
2d1333322Smrg# Configuration validation subroutine script.
3d1333322Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
44f9ac78aSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5d1333322Smrg#   Free Software Foundation, Inc.
6d1333322Smrg
74f9ac78aSmrgtimestamp='2010-09-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,
794f9ac78aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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		;;
1614f9ac78aSmrg        -bluegene*)
1624f9ac78aSmrg	        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		;;
178d1333322Smrg 	-chorusrdb)
179d1333322Smrg 		os=-chorusrdb
180d1333322Smrg		basic_machine=$1
181d1333322Smrg 		;;
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 \
254d1333322Smrg	| bfin \
255d1333322Smrg	| c4x | clipper \
256d1333322Smrg	| d10v | d30v | dlx | dsp16xx \
257d1333322Smrg	| fido | fr30 | frv \
258d1333322Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259d1333322Smrg	| i370 | i860 | i960 | ia64 \
260d1333322Smrg	| ip2k | iq2000 \
2614f9ac78aSmrg	| lm32 \
262d1333322Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2634f9ac78aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
264d1333322Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265d1333322Smrg	| mips16 \
266d1333322Smrg	| mips64 | mips64el \
2674f9ac78aSmrg	| mips64octeon | mips64octeonel \
268d1333322Smrg	| mips64orion | mips64orionel \
2694f9ac78aSmrg	| mips64r5900 | mips64r5900el \
2704f9ac78aSmrg	| mips64vr | mips64vrel \
271d1333322Smrg	| mips64vr4100 | mips64vr4100el \
272d1333322Smrg	| mips64vr4300 | mips64vr4300el \
273d1333322Smrg	| mips64vr5000 | mips64vr5000el \
274d1333322Smrg	| mips64vr5900 | mips64vr5900el \
275d1333322Smrg	| mipsisa32 | mipsisa32el \
276d1333322Smrg	| mipsisa32r2 | mipsisa32r2el \
277d1333322Smrg	| mipsisa64 | mipsisa64el \
278d1333322Smrg	| mipsisa64r2 | mipsisa64r2el \
279d1333322Smrg	| mipsisa64sb1 | mipsisa64sb1el \
280d1333322Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
281d1333322Smrg	| mipstx39 | mipstx39el \
282d1333322Smrg	| mn10200 | mn10300 \
2834f9ac78aSmrg	| moxie \
284d1333322Smrg	| mt \
285d1333322Smrg	| msp430 \
2864f9ac78aSmrg	| nds32 | nds32le | nds32be \
287d1333322Smrg	| nios | nios2 \
288d1333322Smrg	| ns16k | ns32k \
289d1333322Smrg	| or32 \
290d1333322Smrg	| pdp10 | pdp11 | pj | pjl \
291d1333322Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292d1333322Smrg	| pyramid \
2934f9ac78aSmrg	| rx \
294d1333322Smrg	| score \
2954f9ac78aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296d1333322Smrg	| sh64 | sh64le \
297d1333322Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298d1333322Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299d1333322Smrg	| spu | strongarm \
3004f9ac78aSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3014f9ac78aSmrg	| ubicom32 \
302d1333322Smrg	| v850 | v850e \
303d1333322Smrg	| we32k \
304d1333322Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3054f9ac78aSmrg	| z8k | z80)
306d1333322Smrg		basic_machine=$basic_machine-unknown
307d1333322Smrg		;;
3084f9ac78aSmrg	c54x)
3094f9ac78aSmrg		basic_machine=tic54x-unknown
3104f9ac78aSmrg		;;
3114f9ac78aSmrg	c55x)
3124f9ac78aSmrg		basic_machine=tic55x-unknown
3134f9ac78aSmrg		;;
3144f9ac78aSmrg	c6x)
3154f9ac78aSmrg		basic_machine=tic6x-unknown
3164f9ac78aSmrg		;;
3174f9ac78aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318d1333322Smrg		# Motorola 68HC11/12.
319d1333322Smrg		basic_machine=$basic_machine-unknown
320d1333322Smrg		os=-none
321d1333322Smrg		;;
322d1333322Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323d1333322Smrg		;;
324d1333322Smrg	ms1)
325d1333322Smrg		basic_machine=mt-unknown
326d1333322Smrg		;;
327d1333322Smrg
328d1333322Smrg	# We use `pc' rather than `unknown'
329d1333322Smrg	# because (1) that's what they normally are, and
330d1333322Smrg	# (2) the word "unknown" tends to confuse beginning users.
331d1333322Smrg	i*86 | x86_64)
332d1333322Smrg	  basic_machine=$basic_machine-pc
333d1333322Smrg	  ;;
334d1333322Smrg	# Object if more than one company name word.
335d1333322Smrg	*-*-*)
336d1333322Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337d1333322Smrg		exit 1
338d1333322Smrg		;;
339d1333322Smrg	# Recognize the basic CPU types with company name.
340d1333322Smrg	580-* \
341d1333322Smrg	| a29k-* \
342d1333322Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343d1333322Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344d1333322Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345d1333322Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346d1333322Smrg	| avr-* | avr32-* \
347d1333322Smrg	| bfin-* | bs2000-* \
3484f9ac78aSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349d1333322Smrg	| clipper-* | craynv-* | cydra-* \
350d1333322Smrg	| d10v-* | d30v-* | dlx-* \
351d1333322Smrg	| elxsi-* \
352d1333322Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353d1333322Smrg	| h8300-* | h8500-* \
354d1333322Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355d1333322Smrg	| i*86-* | i860-* | i960-* | ia64-* \
356d1333322Smrg	| ip2k-* | iq2000-* \
3574f9ac78aSmrg	| lm32-* \
358d1333322Smrg	| m32c-* | m32r-* | m32rle-* \
359d1333322Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3604f9ac78aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361d1333322Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362d1333322Smrg	| mips16-* \
363d1333322Smrg	| mips64-* | mips64el-* \
3644f9ac78aSmrg	| mips64octeon-* | mips64octeonel-* \
365d1333322Smrg	| mips64orion-* | mips64orionel-* \
3664f9ac78aSmrg	| mips64r5900-* | mips64r5900el-* \
3674f9ac78aSmrg	| mips64vr-* | mips64vrel-* \
368d1333322Smrg	| mips64vr4100-* | mips64vr4100el-* \
369d1333322Smrg	| mips64vr4300-* | mips64vr4300el-* \
370d1333322Smrg	| mips64vr5000-* | mips64vr5000el-* \
371d1333322Smrg	| mips64vr5900-* | mips64vr5900el-* \
372d1333322Smrg	| mipsisa32-* | mipsisa32el-* \
373d1333322Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
374d1333322Smrg	| mipsisa64-* | mipsisa64el-* \
375d1333322Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
376d1333322Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377d1333322Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378d1333322Smrg	| mipstx39-* | mipstx39el-* \
379d1333322Smrg	| mmix-* \
380d1333322Smrg	| mt-* \
381d1333322Smrg	| msp430-* \
3824f9ac78aSmrg	| nds32-* | nds32le-* | nds32be-* \
383d1333322Smrg	| nios-* | nios2-* \
384d1333322Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
385d1333322Smrg	| orion-* \
386d1333322Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387d1333322Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388d1333322Smrg	| pyramid-* \
3894f9ac78aSmrg	| romp-* | rs6000-* | rx-* \
3904f9ac78aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391d1333322Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392d1333322Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393d1333322Smrg	| sparclite-* \
394d1333322Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395d1333322Smrg	| tahoe-* | thumb-* \
396d1333322Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3974f9ac78aSmrg	| tile-* | tilegx-* \
398d1333322Smrg	| tron-* \
3994f9ac78aSmrg	| ubicom32-* \
400d1333322Smrg	| v850-* | v850e-* | vax-* \
401d1333322Smrg	| we32k-* \
402d1333322Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403d1333322Smrg	| xstormy16-* | xtensa*-* \
404d1333322Smrg	| ymp-* \
4054f9ac78aSmrg	| z8k-* | z80-*)
406d1333322Smrg		;;
407d1333322Smrg	# Recognize the basic CPU types without company name, with glob match.
408d1333322Smrg	xtensa*)
409d1333322Smrg		basic_machine=$basic_machine-unknown
410d1333322Smrg		;;
411d1333322Smrg	# Recognize the various machine names and aliases which stand
412d1333322Smrg	# for a CPU type and a company and sometimes even an OS.
413d1333322Smrg	386bsd)
414d1333322Smrg		basic_machine=i386-unknown
415d1333322Smrg		os=-bsd
416d1333322Smrg		;;
417d1333322Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418d1333322Smrg		basic_machine=m68000-att
419d1333322Smrg		;;
420d1333322Smrg	3b*)
421d1333322Smrg		basic_machine=we32k-att
422d1333322Smrg		;;
423d1333322Smrg	a29khif)
424d1333322Smrg		basic_machine=a29k-amd
425d1333322Smrg		os=-udi
426d1333322Smrg		;;
427d1333322Smrg    	abacus)
428d1333322Smrg		basic_machine=abacus-unknown
429d1333322Smrg		;;
430d1333322Smrg	adobe68k)
431d1333322Smrg		basic_machine=m68010-adobe
432d1333322Smrg		os=-scout
433d1333322Smrg		;;
434d1333322Smrg	alliant | fx80)
435d1333322Smrg		basic_machine=fx80-alliant
436d1333322Smrg		;;
437d1333322Smrg	altos | altos3068)
438d1333322Smrg		basic_machine=m68k-altos
439d1333322Smrg		;;
440d1333322Smrg	am29k)
441d1333322Smrg		basic_machine=a29k-none
442d1333322Smrg		os=-bsd
443d1333322Smrg		;;
444d1333322Smrg	amd64)
445d1333322Smrg		basic_machine=x86_64-pc
446d1333322Smrg		;;
447d1333322Smrg	amd64-*)
448d1333322Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449d1333322Smrg		;;
450d1333322Smrg	amdahl)
451d1333322Smrg		basic_machine=580-amdahl
452d1333322Smrg		os=-sysv
453d1333322Smrg		;;
454d1333322Smrg	amiga | amiga-*)
455d1333322Smrg		basic_machine=m68k-unknown
456d1333322Smrg		;;
457d1333322Smrg	amigaos | amigados)
458d1333322Smrg		basic_machine=m68k-unknown
459d1333322Smrg		os=-amigaos
460d1333322Smrg		;;
461d1333322Smrg	amigaunix | amix)
462d1333322Smrg		basic_machine=m68k-unknown
463d1333322Smrg		os=-sysv4
464d1333322Smrg		;;
465d1333322Smrg	apollo68)
466d1333322Smrg		basic_machine=m68k-apollo
467d1333322Smrg		os=-sysv
468d1333322Smrg		;;
469d1333322Smrg	apollo68bsd)
470d1333322Smrg		basic_machine=m68k-apollo
471d1333322Smrg		os=-bsd
472d1333322Smrg		;;
4734f9ac78aSmrg	aros)
4744f9ac78aSmrg		basic_machine=i386-pc
4754f9ac78aSmrg		os=-aros
4764f9ac78aSmrg		;;
477d1333322Smrg	aux)
478d1333322Smrg		basic_machine=m68k-apple
479d1333322Smrg		os=-aux
480d1333322Smrg		;;
481d1333322Smrg	balance)
482d1333322Smrg		basic_machine=ns32k-sequent
483d1333322Smrg		os=-dynix
484d1333322Smrg		;;
485d1333322Smrg	blackfin)
486d1333322Smrg		basic_machine=bfin-unknown
487d1333322Smrg		os=-linux
488d1333322Smrg		;;
489d1333322Smrg	blackfin-*)
490d1333322Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491d1333322Smrg		os=-linux
492d1333322Smrg		;;
4934f9ac78aSmrg	bluegene*)
4944f9ac78aSmrg		basic_machine=powerpc-ibm
4954f9ac78aSmrg		os=-cnk
4964f9ac78aSmrg		;;
4974f9ac78aSmrg	c54x-*)
4984f9ac78aSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4994f9ac78aSmrg		;;
5004f9ac78aSmrg	c55x-*)
5014f9ac78aSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5024f9ac78aSmrg		;;
5034f9ac78aSmrg	c6x-*)
5044f9ac78aSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5054f9ac78aSmrg		;;
506d1333322Smrg	c90)
507d1333322Smrg		basic_machine=c90-cray
508d1333322Smrg		os=-unicos
509d1333322Smrg		;;
5104f9ac78aSmrg        cegcc)
5114f9ac78aSmrg		basic_machine=arm-unknown
5124f9ac78aSmrg		os=-cegcc
5134f9ac78aSmrg		;;
514d1333322Smrg	convex-c1)
515d1333322Smrg		basic_machine=c1-convex
516d1333322Smrg		os=-bsd
517d1333322Smrg		;;
518d1333322Smrg	convex-c2)
519d1333322Smrg		basic_machine=c2-convex
520d1333322Smrg		os=-bsd
521d1333322Smrg		;;
522d1333322Smrg	convex-c32)
523d1333322Smrg		basic_machine=c32-convex
524d1333322Smrg		os=-bsd
525d1333322Smrg		;;
526d1333322Smrg	convex-c34)
527d1333322Smrg		basic_machine=c34-convex
528d1333322Smrg		os=-bsd
529d1333322Smrg		;;
530d1333322Smrg	convex-c38)
531d1333322Smrg		basic_machine=c38-convex
532d1333322Smrg		os=-bsd
533d1333322Smrg		;;
534d1333322Smrg	cray | j90)
535d1333322Smrg		basic_machine=j90-cray
536d1333322Smrg		os=-unicos
537d1333322Smrg		;;
538d1333322Smrg	craynv)
539d1333322Smrg		basic_machine=craynv-cray
540d1333322Smrg		os=-unicosmp
541d1333322Smrg		;;
542d1333322Smrg	cr16)
543d1333322Smrg		basic_machine=cr16-unknown
544d1333322Smrg		os=-elf
545d1333322Smrg		;;
546d1333322Smrg	crds | unos)
547d1333322Smrg		basic_machine=m68k-crds
548d1333322Smrg		;;
549d1333322Smrg	crisv32 | crisv32-* | etraxfs*)
550d1333322Smrg		basic_machine=crisv32-axis
551d1333322Smrg		;;
552d1333322Smrg	cris | cris-* | etrax*)
553d1333322Smrg		basic_machine=cris-axis
554d1333322Smrg		;;
555d1333322Smrg	crx)
556d1333322Smrg		basic_machine=crx-unknown
557d1333322Smrg		os=-elf
558d1333322Smrg		;;
559d1333322Smrg	da30 | da30-*)
560d1333322Smrg		basic_machine=m68k-da30
561d1333322Smrg		;;
562d1333322Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563d1333322Smrg		basic_machine=mips-dec
564d1333322Smrg		;;
565d1333322Smrg	decsystem10* | dec10*)
566d1333322Smrg		basic_machine=pdp10-dec
567d1333322Smrg		os=-tops10
568d1333322Smrg		;;
569d1333322Smrg	decsystem20* | dec20*)
570d1333322Smrg		basic_machine=pdp10-dec
571d1333322Smrg		os=-tops20
572d1333322Smrg		;;
573d1333322Smrg	delta | 3300 | motorola-3300 | motorola-delta \
574d1333322Smrg	      | 3300-motorola | delta-motorola)
575d1333322Smrg		basic_machine=m68k-motorola
576d1333322Smrg		;;
577d1333322Smrg	delta88)
578d1333322Smrg		basic_machine=m88k-motorola
579d1333322Smrg		os=-sysv3
580d1333322Smrg		;;
5814f9ac78aSmrg	dicos)
5824f9ac78aSmrg		basic_machine=i686-pc
5834f9ac78aSmrg		os=-dicos
5844f9ac78aSmrg		;;
585d1333322Smrg	djgpp)
586d1333322Smrg		basic_machine=i586-pc
587d1333322Smrg		os=-msdosdjgpp
588d1333322Smrg		;;
589d1333322Smrg	dpx20 | dpx20-*)
590d1333322Smrg		basic_machine=rs6000-bull
591d1333322Smrg		os=-bosx
592d1333322Smrg		;;
593d1333322Smrg	dpx2* | dpx2*-bull)
594d1333322Smrg		basic_machine=m68k-bull
595d1333322Smrg		os=-sysv3
596d1333322Smrg		;;
597d1333322Smrg	ebmon29k)
598d1333322Smrg		basic_machine=a29k-amd
599d1333322Smrg		os=-ebmon
600d1333322Smrg		;;
601d1333322Smrg	elxsi)
602d1333322Smrg		basic_machine=elxsi-elxsi
603d1333322Smrg		os=-bsd
604d1333322Smrg		;;
605d1333322Smrg	encore | umax | mmax)
606d1333322Smrg		basic_machine=ns32k-encore
607d1333322Smrg		;;
608d1333322Smrg	es1800 | OSE68k | ose68k | ose | OSE)
609d1333322Smrg		basic_machine=m68k-ericsson
610d1333322Smrg		os=-ose
611d1333322Smrg		;;
612d1333322Smrg	fx2800)
613d1333322Smrg		basic_machine=i860-alliant
614d1333322Smrg		;;
615d1333322Smrg	genix)
616d1333322Smrg		basic_machine=ns32k-ns
617d1333322Smrg		;;
618d1333322Smrg	gmicro)
619d1333322Smrg		basic_machine=tron-gmicro
620d1333322Smrg		os=-sysv
621d1333322Smrg		;;
622d1333322Smrg	go32)
623d1333322Smrg		basic_machine=i386-pc
624d1333322Smrg		os=-go32
625d1333322Smrg		;;
626d1333322Smrg	h3050r* | hiux*)
627d1333322Smrg		basic_machine=hppa1.1-hitachi
628d1333322Smrg		os=-hiuxwe2
629d1333322Smrg		;;
630d1333322Smrg	h8300hms)
631d1333322Smrg		basic_machine=h8300-hitachi
632d1333322Smrg		os=-hms
633d1333322Smrg		;;
634d1333322Smrg	h8300xray)
635d1333322Smrg		basic_machine=h8300-hitachi
636d1333322Smrg		os=-xray
637d1333322Smrg		;;
638d1333322Smrg	h8500hms)
639d1333322Smrg		basic_machine=h8500-hitachi
640d1333322Smrg		os=-hms
641d1333322Smrg		;;
642d1333322Smrg	harris)
643d1333322Smrg		basic_machine=m88k-harris
644d1333322Smrg		os=-sysv3
645d1333322Smrg		;;
646d1333322Smrg	hp300-*)
647d1333322Smrg		basic_machine=m68k-hp
648d1333322Smrg		;;
649d1333322Smrg	hp300bsd)
650d1333322Smrg		basic_machine=m68k-hp
651d1333322Smrg		os=-bsd
652d1333322Smrg		;;
653d1333322Smrg	hp300hpux)
654d1333322Smrg		basic_machine=m68k-hp
655d1333322Smrg		os=-hpux
656d1333322Smrg		;;
657d1333322Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658d1333322Smrg		basic_machine=hppa1.0-hp
659d1333322Smrg		;;
660d1333322Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661d1333322Smrg		basic_machine=m68000-hp
662d1333322Smrg		;;
663d1333322Smrg	hp9k3[2-9][0-9])
664d1333322Smrg		basic_machine=m68k-hp
665d1333322Smrg		;;
666d1333322Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667d1333322Smrg		basic_machine=hppa1.0-hp
668d1333322Smrg		;;
669d1333322Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670d1333322Smrg		basic_machine=hppa1.1-hp
671d1333322Smrg		;;
672d1333322Smrg	hp9k78[0-9] | hp78[0-9])
673d1333322Smrg		# FIXME: really hppa2.0-hp
674d1333322Smrg		basic_machine=hppa1.1-hp
675d1333322Smrg		;;
676d1333322Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677d1333322Smrg		# FIXME: really hppa2.0-hp
678d1333322Smrg		basic_machine=hppa1.1-hp
679d1333322Smrg		;;
680d1333322Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681d1333322Smrg		basic_machine=hppa1.1-hp
682d1333322Smrg		;;
683d1333322Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684d1333322Smrg		basic_machine=hppa1.0-hp
685d1333322Smrg		;;
686d1333322Smrg	hppa-next)
687d1333322Smrg		os=-nextstep3
688d1333322Smrg		;;
689d1333322Smrg	hppaosf)
690d1333322Smrg		basic_machine=hppa1.1-hp
691d1333322Smrg		os=-osf
692d1333322Smrg		;;
693d1333322Smrg	hppro)
694d1333322Smrg		basic_machine=hppa1.1-hp
695d1333322Smrg		os=-proelf
696d1333322Smrg		;;
697d1333322Smrg	i370-ibm* | ibm*)
698d1333322Smrg		basic_machine=i370-ibm
699d1333322Smrg		;;
700d1333322Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701d1333322Smrg	i*86v32)
702d1333322Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703d1333322Smrg		os=-sysv32
704d1333322Smrg		;;
705d1333322Smrg	i*86v4*)
706d1333322Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707d1333322Smrg		os=-sysv4
708d1333322Smrg		;;
709d1333322Smrg	i*86v)
710d1333322Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711d1333322Smrg		os=-sysv
712d1333322Smrg		;;
713d1333322Smrg	i*86sol2)
714d1333322Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715d1333322Smrg		os=-solaris2
716d1333322Smrg		;;
717d1333322Smrg	i386mach)
718d1333322Smrg		basic_machine=i386-mach
719d1333322Smrg		os=-mach
720d1333322Smrg		;;
721d1333322Smrg	i386-vsta | vsta)
722d1333322Smrg		basic_machine=i386-unknown
723d1333322Smrg		os=-vsta
724d1333322Smrg		;;
725d1333322Smrg	iris | iris4d)
726d1333322Smrg		basic_machine=mips-sgi
727d1333322Smrg		case $os in
728d1333322Smrg		    -irix*)
729d1333322Smrg			;;
730d1333322Smrg		    *)
731d1333322Smrg			os=-irix4
732d1333322Smrg			;;
733d1333322Smrg		esac
734d1333322Smrg		;;
735d1333322Smrg	isi68 | isi)
736d1333322Smrg		basic_machine=m68k-isi
737d1333322Smrg		os=-sysv
738d1333322Smrg		;;
739d1333322Smrg	m68knommu)
740d1333322Smrg		basic_machine=m68k-unknown
741d1333322Smrg		os=-linux
742d1333322Smrg		;;
743d1333322Smrg	m68knommu-*)
744d1333322Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745d1333322Smrg		os=-linux
746d1333322Smrg		;;
747d1333322Smrg	m88k-omron*)
748d1333322Smrg		basic_machine=m88k-omron
749d1333322Smrg		;;
750d1333322Smrg	magnum | m3230)
751d1333322Smrg		basic_machine=mips-mips
752d1333322Smrg		os=-sysv
753d1333322Smrg		;;
754d1333322Smrg	merlin)
755d1333322Smrg		basic_machine=ns32k-utek
756d1333322Smrg		os=-sysv
757d1333322Smrg		;;
7584f9ac78aSmrg        microblaze)
7594f9ac78aSmrg		basic_machine=microblaze-xilinx
7604f9ac78aSmrg		;;
761d1333322Smrg	mingw32)
762d1333322Smrg		basic_machine=i386-pc
763d1333322Smrg		os=-mingw32
764d1333322Smrg		;;
765d1333322Smrg	mingw32ce)
766d1333322Smrg		basic_machine=arm-unknown
767d1333322Smrg		os=-mingw32ce
768d1333322Smrg		;;
769d1333322Smrg	miniframe)
770d1333322Smrg		basic_machine=m68000-convergent
771d1333322Smrg		;;
772d1333322Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773d1333322Smrg		basic_machine=m68k-atari
774d1333322Smrg		os=-mint
775d1333322Smrg		;;
776d1333322Smrg	mips3*-*)
777d1333322Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778d1333322Smrg		;;
779d1333322Smrg	mips3*)
780d1333322Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781d1333322Smrg		;;
782d1333322Smrg	monitor)
783d1333322Smrg		basic_machine=m68k-rom68k
784d1333322Smrg		os=-coff
785d1333322Smrg		;;
786d1333322Smrg	morphos)
787d1333322Smrg		basic_machine=powerpc-unknown
788d1333322Smrg		os=-morphos
789d1333322Smrg		;;
790d1333322Smrg	msdos)
791d1333322Smrg		basic_machine=i386-pc
792d1333322Smrg		os=-msdos
793d1333322Smrg		;;
794d1333322Smrg	ms1-*)
795d1333322Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796d1333322Smrg		;;
797d1333322Smrg	mvs)
798d1333322Smrg		basic_machine=i370-ibm
799d1333322Smrg		os=-mvs
800d1333322Smrg		;;
801d1333322Smrg	ncr3000)
802d1333322Smrg		basic_machine=i486-ncr
803d1333322Smrg		os=-sysv4
804d1333322Smrg		;;
805d1333322Smrg	netbsd386)
806d1333322Smrg		basic_machine=i386-unknown
807d1333322Smrg		os=-netbsd
808d1333322Smrg		;;
809d1333322Smrg	netwinder)
810d1333322Smrg		basic_machine=armv4l-rebel
811d1333322Smrg		os=-linux
812d1333322Smrg		;;
813d1333322Smrg	news | news700 | news800 | news900)
814d1333322Smrg		basic_machine=m68k-sony
815d1333322Smrg		os=-newsos
816d1333322Smrg		;;
817d1333322Smrg	news1000)
818d1333322Smrg		basic_machine=m68030-sony
819d1333322Smrg		os=-newsos
820d1333322Smrg		;;
821d1333322Smrg	news-3600 | risc-news)
822d1333322Smrg		basic_machine=mips-sony
823d1333322Smrg		os=-newsos
824d1333322Smrg		;;
825d1333322Smrg	necv70)
826d1333322Smrg		basic_machine=v70-nec
827d1333322Smrg		os=-sysv
828d1333322Smrg		;;
829d1333322Smrg	next | m*-next )
830d1333322Smrg		basic_machine=m68k-next
831d1333322Smrg		case $os in
832d1333322Smrg		    -nextstep* )
833d1333322Smrg			;;
834d1333322Smrg		    -ns2*)
835d1333322Smrg		      os=-nextstep2
836d1333322Smrg			;;
837d1333322Smrg		    *)
838d1333322Smrg		      os=-nextstep3
839d1333322Smrg			;;
840d1333322Smrg		esac
841d1333322Smrg		;;
842d1333322Smrg	nh3000)
843d1333322Smrg		basic_machine=m68k-harris
844d1333322Smrg		os=-cxux
845d1333322Smrg		;;
846d1333322Smrg	nh[45]000)
847d1333322Smrg		basic_machine=m88k-harris
848d1333322Smrg		os=-cxux
849d1333322Smrg		;;
850d1333322Smrg	nindy960)
851d1333322Smrg		basic_machine=i960-intel
852d1333322Smrg		os=-nindy
853d1333322Smrg		;;
854d1333322Smrg	mon960)
855d1333322Smrg		basic_machine=i960-intel
856d1333322Smrg		os=-mon960
857d1333322Smrg		;;
858d1333322Smrg	nonstopux)
859d1333322Smrg		basic_machine=mips-compaq
860d1333322Smrg		os=-nonstopux
861d1333322Smrg		;;
862d1333322Smrg	np1)
863d1333322Smrg		basic_machine=np1-gould
864d1333322Smrg		;;
8654f9ac78aSmrg        neo-tandem)
8664f9ac78aSmrg		basic_machine=neo-tandem
8674f9ac78aSmrg		;;
8684f9ac78aSmrg        nse-tandem)
8694f9ac78aSmrg		basic_machine=nse-tandem
8704f9ac78aSmrg		;;
871d1333322Smrg	nsr-tandem)
872d1333322Smrg		basic_machine=nsr-tandem
873d1333322Smrg		;;
874d1333322Smrg	op50n-* | op60c-*)
875d1333322Smrg		basic_machine=hppa1.1-oki
876d1333322Smrg		os=-proelf
877d1333322Smrg		;;
878d1333322Smrg	openrisc | openrisc-*)
879d1333322Smrg		basic_machine=or32-unknown
880d1333322Smrg		;;
881d1333322Smrg	os400)
882d1333322Smrg		basic_machine=powerpc-ibm
883d1333322Smrg		os=-os400
884d1333322Smrg		;;
885d1333322Smrg	OSE68000 | ose68000)
886d1333322Smrg		basic_machine=m68000-ericsson
887d1333322Smrg		os=-ose
888d1333322Smrg		;;
889d1333322Smrg	os68k)
890d1333322Smrg		basic_machine=m68k-none
891d1333322Smrg		os=-os68k
892d1333322Smrg		;;
893d1333322Smrg	pa-hitachi)
894d1333322Smrg		basic_machine=hppa1.1-hitachi
895d1333322Smrg		os=-hiuxwe2
896d1333322Smrg		;;
897d1333322Smrg	paragon)
898d1333322Smrg		basic_machine=i860-intel
899d1333322Smrg		os=-osf
900d1333322Smrg		;;
901d1333322Smrg	parisc)
902d1333322Smrg		basic_machine=hppa-unknown
903d1333322Smrg		os=-linux
904d1333322Smrg		;;
905d1333322Smrg	parisc-*)
906d1333322Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907d1333322Smrg		os=-linux
908d1333322Smrg		;;
909d1333322Smrg	pbd)
910d1333322Smrg		basic_machine=sparc-tti
911d1333322Smrg		;;
912d1333322Smrg	pbb)
913d1333322Smrg		basic_machine=m68k-tti
914d1333322Smrg		;;
915d1333322Smrg	pc532 | pc532-*)
916d1333322Smrg		basic_machine=ns32k-pc532
917d1333322Smrg		;;
918d1333322Smrg	pc98)
919d1333322Smrg		basic_machine=i386-pc
920d1333322Smrg		;;
921d1333322Smrg	pc98-*)
922d1333322Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923d1333322Smrg		;;
924d1333322Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925d1333322Smrg		basic_machine=i586-pc
926d1333322Smrg		;;
927d1333322Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928d1333322Smrg		basic_machine=i686-pc
929d1333322Smrg		;;
930d1333322Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
931d1333322Smrg		basic_machine=i686-pc
932d1333322Smrg		;;
933d1333322Smrg	pentium4)
934d1333322Smrg		basic_machine=i786-pc
935d1333322Smrg		;;
936d1333322Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937d1333322Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938d1333322Smrg		;;
939d1333322Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940d1333322Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941d1333322Smrg		;;
942d1333322Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943d1333322Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944d1333322Smrg		;;
945d1333322Smrg	pentium4-*)
946d1333322Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947d1333322Smrg		;;
948d1333322Smrg	pn)
949d1333322Smrg		basic_machine=pn-gould
950d1333322Smrg		;;
951d1333322Smrg	power)	basic_machine=power-ibm
952d1333322Smrg		;;
953d1333322Smrg	ppc)	basic_machine=powerpc-unknown
954d1333322Smrg		;;
955d1333322Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956d1333322Smrg		;;
957d1333322Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958d1333322Smrg		basic_machine=powerpcle-unknown
959d1333322Smrg		;;
960d1333322Smrg	ppcle-* | powerpclittle-*)
961d1333322Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962d1333322Smrg		;;
963d1333322Smrg	ppc64)	basic_machine=powerpc64-unknown
964d1333322Smrg		;;
965d1333322Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966d1333322Smrg		;;
967d1333322Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968d1333322Smrg		basic_machine=powerpc64le-unknown
969d1333322Smrg		;;
970d1333322Smrg	ppc64le-* | powerpc64little-*)
971d1333322Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972d1333322Smrg		;;
973d1333322Smrg	ps2)
974d1333322Smrg		basic_machine=i386-ibm
975d1333322Smrg		;;
976d1333322Smrg	pw32)
977d1333322Smrg		basic_machine=i586-unknown
978d1333322Smrg		os=-pw32
979d1333322Smrg		;;
980d1333322Smrg	rdos)
981d1333322Smrg		basic_machine=i386-pc
982d1333322Smrg		os=-rdos
983d1333322Smrg		;;
984d1333322Smrg	rom68k)
985d1333322Smrg		basic_machine=m68k-rom68k
986d1333322Smrg		os=-coff
987d1333322Smrg		;;
988d1333322Smrg	rm[46]00)
989d1333322Smrg		basic_machine=mips-siemens
990d1333322Smrg		;;
991d1333322Smrg	rtpc | rtpc-*)
992d1333322Smrg		basic_machine=romp-ibm
993d1333322Smrg		;;
994d1333322Smrg	s390 | s390-*)
995d1333322Smrg		basic_machine=s390-ibm
996d1333322Smrg		;;
997d1333322Smrg	s390x | s390x-*)
998d1333322Smrg		basic_machine=s390x-ibm
999d1333322Smrg		;;
1000d1333322Smrg	sa29200)
1001d1333322Smrg		basic_machine=a29k-amd
1002d1333322Smrg		os=-udi
1003d1333322Smrg		;;
1004d1333322Smrg	sb1)
1005d1333322Smrg		basic_machine=mipsisa64sb1-unknown
1006d1333322Smrg		;;
1007d1333322Smrg	sb1el)
1008d1333322Smrg		basic_machine=mipsisa64sb1el-unknown
1009d1333322Smrg		;;
1010d1333322Smrg	sde)
1011d1333322Smrg		basic_machine=mipsisa32-sde
1012d1333322Smrg		os=-elf
1013d1333322Smrg		;;
1014d1333322Smrg	sei)
1015d1333322Smrg		basic_machine=mips-sei
1016d1333322Smrg		os=-seiux
1017d1333322Smrg		;;
1018d1333322Smrg	sequent)
1019d1333322Smrg		basic_machine=i386-sequent
1020d1333322Smrg		;;
1021d1333322Smrg	sh)
1022d1333322Smrg		basic_machine=sh-hitachi
1023d1333322Smrg		os=-hms
1024d1333322Smrg		;;
1025d1333322Smrg	sh5el)
1026d1333322Smrg		basic_machine=sh5le-unknown
1027d1333322Smrg		;;
1028d1333322Smrg	sh64)
1029d1333322Smrg		basic_machine=sh64-unknown
1030d1333322Smrg		;;
1031d1333322Smrg	sparclite-wrs | simso-wrs)
1032d1333322Smrg		basic_machine=sparclite-wrs
1033d1333322Smrg		os=-vxworks
1034d1333322Smrg		;;
1035d1333322Smrg	sps7)
1036d1333322Smrg		basic_machine=m68k-bull
1037d1333322Smrg		os=-sysv2
1038d1333322Smrg		;;
1039d1333322Smrg	spur)
1040d1333322Smrg		basic_machine=spur-unknown
1041d1333322Smrg		;;
1042d1333322Smrg	st2000)
1043d1333322Smrg		basic_machine=m68k-tandem
1044d1333322Smrg		;;
1045d1333322Smrg	stratus)
1046d1333322Smrg		basic_machine=i860-stratus
1047d1333322Smrg		os=-sysv4
1048d1333322Smrg		;;
1049d1333322Smrg	sun2)
1050d1333322Smrg		basic_machine=m68000-sun
1051d1333322Smrg		;;
1052d1333322Smrg	sun2os3)
1053d1333322Smrg		basic_machine=m68000-sun
1054d1333322Smrg		os=-sunos3
1055d1333322Smrg		;;
1056d1333322Smrg	sun2os4)
1057d1333322Smrg		basic_machine=m68000-sun
1058d1333322Smrg		os=-sunos4
1059d1333322Smrg		;;
1060d1333322Smrg	sun3os3)
1061d1333322Smrg		basic_machine=m68k-sun
1062d1333322Smrg		os=-sunos3
1063d1333322Smrg		;;
1064d1333322Smrg	sun3os4)
1065d1333322Smrg		basic_machine=m68k-sun
1066d1333322Smrg		os=-sunos4
1067d1333322Smrg		;;
1068d1333322Smrg	sun4os3)
1069d1333322Smrg		basic_machine=sparc-sun
1070d1333322Smrg		os=-sunos3
1071d1333322Smrg		;;
1072d1333322Smrg	sun4os4)
1073d1333322Smrg		basic_machine=sparc-sun
1074d1333322Smrg		os=-sunos4
1075d1333322Smrg		;;
1076d1333322Smrg	sun4sol2)
1077d1333322Smrg		basic_machine=sparc-sun
1078d1333322Smrg		os=-solaris2
1079d1333322Smrg		;;
1080d1333322Smrg	sun3 | sun3-*)
1081d1333322Smrg		basic_machine=m68k-sun
1082d1333322Smrg		;;
1083d1333322Smrg	sun4)
1084d1333322Smrg		basic_machine=sparc-sun
1085d1333322Smrg		;;
1086d1333322Smrg	sun386 | sun386i | roadrunner)
1087d1333322Smrg		basic_machine=i386-sun
1088d1333322Smrg		;;
1089d1333322Smrg	sv1)
1090d1333322Smrg		basic_machine=sv1-cray
1091d1333322Smrg		os=-unicos
1092d1333322Smrg		;;
1093d1333322Smrg	symmetry)
1094d1333322Smrg		basic_machine=i386-sequent
1095d1333322Smrg		os=-dynix
1096d1333322Smrg		;;
1097d1333322Smrg	t3e)
1098d1333322Smrg		basic_machine=alphaev5-cray
1099d1333322Smrg		os=-unicos
1100d1333322Smrg		;;
1101d1333322Smrg	t90)
1102d1333322Smrg		basic_machine=t90-cray
1103d1333322Smrg		os=-unicos
1104d1333322Smrg		;;
11054f9ac78aSmrg        # This must be matched before tile*.
11064f9ac78aSmrg        tilegx*)
11074f9ac78aSmrg		basic_machine=tilegx-unknown
11084f9ac78aSmrg		os=-linux-gnu
1109d1333322Smrg		;;
11104f9ac78aSmrg	tile*)
11114f9ac78aSmrg		basic_machine=tile-unknown
11124f9ac78aSmrg		os=-linux-gnu
1113d1333322Smrg		;;
1114d1333322Smrg	tx39)
1115d1333322Smrg		basic_machine=mipstx39-unknown
1116d1333322Smrg		;;
1117d1333322Smrg	tx39el)
1118d1333322Smrg		basic_machine=mipstx39el-unknown
1119d1333322Smrg		;;
1120d1333322Smrg	toad1)
1121d1333322Smrg		basic_machine=pdp10-xkl
1122d1333322Smrg		os=-tops20
1123d1333322Smrg		;;
1124d1333322Smrg	tower | tower-32)
1125d1333322Smrg		basic_machine=m68k-ncr
1126d1333322Smrg		;;
1127d1333322Smrg	tpf)
1128d1333322Smrg		basic_machine=s390x-ibm
1129d1333322Smrg		os=-tpf
1130d1333322Smrg		;;
1131d1333322Smrg	udi29k)
1132d1333322Smrg		basic_machine=a29k-amd
1133d1333322Smrg		os=-udi
1134d1333322Smrg		;;
1135d1333322Smrg	ultra3)
1136d1333322Smrg		basic_machine=a29k-nyu
1137d1333322Smrg		os=-sym1
1138d1333322Smrg		;;
1139d1333322Smrg	v810 | necv810)
1140d1333322Smrg		basic_machine=v810-nec
1141d1333322Smrg		os=-none
1142d1333322Smrg		;;
1143d1333322Smrg	vaxv)
1144d1333322Smrg		basic_machine=vax-dec
1145d1333322Smrg		os=-sysv
1146d1333322Smrg		;;
1147d1333322Smrg	vms)
1148d1333322Smrg		basic_machine=vax-dec
1149d1333322Smrg		os=-vms
1150d1333322Smrg		;;
1151d1333322Smrg	vpp*|vx|vx-*)
1152d1333322Smrg		basic_machine=f301-fujitsu
1153d1333322Smrg		;;
1154d1333322Smrg	vxworks960)
1155d1333322Smrg		basic_machine=i960-wrs
1156d1333322Smrg		os=-vxworks
1157d1333322Smrg		;;
1158d1333322Smrg	vxworks68)
1159d1333322Smrg		basic_machine=m68k-wrs
1160d1333322Smrg		os=-vxworks
1161d1333322Smrg		;;
1162d1333322Smrg	vxworks29k)
1163d1333322Smrg		basic_machine=a29k-wrs
1164d1333322Smrg		os=-vxworks
1165d1333322Smrg		;;
1166d1333322Smrg	w65*)
1167d1333322Smrg		basic_machine=w65-wdc
1168d1333322Smrg		os=-none
1169d1333322Smrg		;;
1170d1333322Smrg	w89k-*)
1171d1333322Smrg		basic_machine=hppa1.1-winbond
1172d1333322Smrg		os=-proelf
1173d1333322Smrg		;;
1174d1333322Smrg	xbox)
1175d1333322Smrg		basic_machine=i686-pc
1176d1333322Smrg		os=-mingw32
1177d1333322Smrg		;;
1178d1333322Smrg	xps | xps100)
1179d1333322Smrg		basic_machine=xps100-honeywell
1180d1333322Smrg		;;
1181d1333322Smrg	ymp)
1182d1333322Smrg		basic_machine=ymp-cray
1183d1333322Smrg		os=-unicos
1184d1333322Smrg		;;
1185d1333322Smrg	z8k-*-coff)
1186d1333322Smrg		basic_machine=z8k-unknown
1187d1333322Smrg		os=-sim
1188d1333322Smrg		;;
11894f9ac78aSmrg	z80-*-coff)
11904f9ac78aSmrg		basic_machine=z80-unknown
11914f9ac78aSmrg		os=-sim
11924f9ac78aSmrg		;;
1193d1333322Smrg	none)
1194d1333322Smrg		basic_machine=none-none
1195d1333322Smrg		os=-none
1196d1333322Smrg		;;
1197d1333322Smrg
1198d1333322Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199d1333322Smrg# some cases the only manufacturer, in others, it is the most popular.
1200d1333322Smrg	w89k)
1201d1333322Smrg		basic_machine=hppa1.1-winbond
1202d1333322Smrg		;;
1203d1333322Smrg	op50n)
1204d1333322Smrg		basic_machine=hppa1.1-oki
1205d1333322Smrg		;;
1206d1333322Smrg	op60c)
1207d1333322Smrg		basic_machine=hppa1.1-oki
1208d1333322Smrg		;;
1209d1333322Smrg	romp)
1210d1333322Smrg		basic_machine=romp-ibm
1211d1333322Smrg		;;
1212d1333322Smrg	mmix)
1213d1333322Smrg		basic_machine=mmix-knuth
1214d1333322Smrg		;;
1215d1333322Smrg	rs6000)
1216d1333322Smrg		basic_machine=rs6000-ibm
1217d1333322Smrg		;;
1218d1333322Smrg	vax)
1219d1333322Smrg		basic_machine=vax-dec
1220d1333322Smrg		;;
1221d1333322Smrg	pdp10)
1222d1333322Smrg		# there are many clones, so DEC is not a safe bet
1223d1333322Smrg		basic_machine=pdp10-unknown
1224d1333322Smrg		;;
1225d1333322Smrg	pdp11)
1226d1333322Smrg		basic_machine=pdp11-dec
1227d1333322Smrg		;;
1228d1333322Smrg	we32k)
1229d1333322Smrg		basic_machine=we32k-att
1230d1333322Smrg		;;
12314f9ac78aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232d1333322Smrg		basic_machine=sh-unknown
1233d1333322Smrg		;;
1234d1333322Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235d1333322Smrg		basic_machine=sparc-sun
1236d1333322Smrg		;;
1237d1333322Smrg	cydra)
1238d1333322Smrg		basic_machine=cydra-cydrome
1239d1333322Smrg		;;
1240d1333322Smrg	orion)
1241d1333322Smrg		basic_machine=orion-highlevel
1242d1333322Smrg		;;
1243d1333322Smrg	orion105)
1244d1333322Smrg		basic_machine=clipper-highlevel
1245d1333322Smrg		;;
1246d1333322Smrg	mac | mpw | mac-mpw)
1247d1333322Smrg		basic_machine=m68k-apple
1248d1333322Smrg		;;
1249d1333322Smrg	pmac | pmac-mpw)
1250d1333322Smrg		basic_machine=powerpc-apple
1251d1333322Smrg		;;
1252d1333322Smrg	*-unknown)
1253d1333322Smrg		# Make sure to match an already-canonicalized machine name.
1254d1333322Smrg		;;
1255d1333322Smrg	*)
1256d1333322Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257d1333322Smrg		exit 1
1258d1333322Smrg		;;
1259d1333322Smrgesac
1260d1333322Smrg
1261d1333322Smrg# Here we canonicalize certain aliases for manufacturers.
1262d1333322Smrgcase $basic_machine in
1263d1333322Smrg	*-digital*)
1264d1333322Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265d1333322Smrg		;;
1266d1333322Smrg	*-commodore*)
1267d1333322Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268d1333322Smrg		;;
1269d1333322Smrg	*)
1270d1333322Smrg		;;
1271d1333322Smrgesac
1272d1333322Smrg
1273d1333322Smrg# Decode manufacturer-specific aliases for certain operating systems.
1274d1333322Smrg
1275d1333322Smrgif [ x"$os" != x"" ]
1276d1333322Smrgthen
1277d1333322Smrgcase $os in
1278d1333322Smrg        # First match some system type aliases
1279d1333322Smrg        # that might get confused with valid system types.
1280d1333322Smrg	# -solaris* is a basic system type, with this one exception.
12814f9ac78aSmrg        -auroraux)
12824f9ac78aSmrg	        os=-auroraux
12834f9ac78aSmrg		;;
1284d1333322Smrg	-solaris1 | -solaris1.*)
1285d1333322Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286d1333322Smrg		;;
1287d1333322Smrg	-solaris)
1288d1333322Smrg		os=-solaris2
1289d1333322Smrg		;;
1290d1333322Smrg	-svr4*)
1291d1333322Smrg		os=-sysv4
1292d1333322Smrg		;;
1293d1333322Smrg	-unixware*)
1294d1333322Smrg		os=-sysv4.2uw
1295d1333322Smrg		;;
1296d1333322Smrg	-gnu/linux*)
1297d1333322Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298d1333322Smrg		;;
1299d1333322Smrg	# First accept the basic system types.
1300d1333322Smrg	# The portable systems comes first.
1301d1333322Smrg	# Each alternative MUST END IN A *, to match a version number.
1302d1333322Smrg	# -sysv* is not here because it comes later, after sysvr4.
1303d1333322Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13044f9ac78aSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13054f9ac78aSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13064f9ac78aSmrg	      | -sym* | -kopensolaris* \
1307d1333322Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13084f9ac78aSmrg	      | -aos* | -aros* \
1309d1333322Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310d1333322Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311d1333322Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312d1333322Smrg	      | -openbsd* | -solidbsd* \
1313d1333322Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314d1333322Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315d1333322Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316d1333322Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13174f9ac78aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318d1333322Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13194f9ac78aSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13204f9ac78aSmrg	      | -linux-newlib* | -linux-uclibc* \
1321d1333322Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322d1333322Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323d1333322Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324d1333322Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325d1333322Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326d1333322Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327d1333322Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13284f9ac78aSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329d1333322Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1330d1333322Smrg		;;
1331d1333322Smrg	-qnx*)
1332d1333322Smrg		case $basic_machine in
1333d1333322Smrg		    x86-* | i*86-*)
1334d1333322Smrg			;;
1335d1333322Smrg		    *)
1336d1333322Smrg			os=-nto$os
1337d1333322Smrg			;;
1338d1333322Smrg		esac
1339d1333322Smrg		;;
1340d1333322Smrg	-nto-qnx*)
1341d1333322Smrg		;;
1342d1333322Smrg	-nto*)
1343d1333322Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344d1333322Smrg		;;
1345d1333322Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346d1333322Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347d1333322Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348d1333322Smrg		;;
1349d1333322Smrg	-mac*)
1350d1333322Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1351d1333322Smrg		;;
1352d1333322Smrg	-linux-dietlibc)
1353d1333322Smrg		os=-linux-dietlibc
1354d1333322Smrg		;;
1355d1333322Smrg	-linux*)
1356d1333322Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357d1333322Smrg		;;
1358d1333322Smrg	-sunos5*)
1359d1333322Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360d1333322Smrg		;;
1361d1333322Smrg	-sunos6*)
1362d1333322Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363d1333322Smrg		;;
1364d1333322Smrg	-opened*)
1365d1333322Smrg		os=-openedition
1366d1333322Smrg		;;
1367d1333322Smrg        -os400*)
1368d1333322Smrg		os=-os400
1369d1333322Smrg		;;
1370d1333322Smrg	-wince*)
1371d1333322Smrg		os=-wince
1372d1333322Smrg		;;
1373d1333322Smrg	-osfrose*)
1374d1333322Smrg		os=-osfrose
1375d1333322Smrg		;;
1376d1333322Smrg	-osf*)
1377d1333322Smrg		os=-osf
1378d1333322Smrg		;;
1379d1333322Smrg	-utek*)
1380d1333322Smrg		os=-bsd
1381d1333322Smrg		;;
1382d1333322Smrg	-dynix*)
1383d1333322Smrg		os=-bsd
1384d1333322Smrg		;;
1385d1333322Smrg	-acis*)
1386d1333322Smrg		os=-aos
1387d1333322Smrg		;;
1388d1333322Smrg	-atheos*)
1389d1333322Smrg		os=-atheos
1390d1333322Smrg		;;
1391d1333322Smrg	-syllable*)
1392d1333322Smrg		os=-syllable
1393d1333322Smrg		;;
1394d1333322Smrg	-386bsd)
1395d1333322Smrg		os=-bsd
1396d1333322Smrg		;;
1397d1333322Smrg	-ctix* | -uts*)
1398d1333322Smrg		os=-sysv
1399d1333322Smrg		;;
1400d1333322Smrg	-nova*)
1401d1333322Smrg		os=-rtmk-nova
1402d1333322Smrg		;;
1403d1333322Smrg	-ns2 )
1404d1333322Smrg		os=-nextstep2
1405d1333322Smrg		;;
1406d1333322Smrg	-nsk*)
1407d1333322Smrg		os=-nsk
1408d1333322Smrg		;;
1409d1333322Smrg	# Preserve the version number of sinix5.
1410d1333322Smrg	-sinix5.*)
1411d1333322Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412d1333322Smrg		;;
1413d1333322Smrg	-sinix*)
1414d1333322Smrg		os=-sysv4
1415d1333322Smrg		;;
1416d1333322Smrg        -tpf*)
1417d1333322Smrg		os=-tpf
1418d1333322Smrg		;;
1419d1333322Smrg	-triton*)
1420d1333322Smrg		os=-sysv3
1421d1333322Smrg		;;
1422d1333322Smrg	-oss*)
1423d1333322Smrg		os=-sysv3
1424d1333322Smrg		;;
1425d1333322Smrg	-svr4)
1426d1333322Smrg		os=-sysv4
1427d1333322Smrg		;;
1428d1333322Smrg	-svr3)
1429d1333322Smrg		os=-sysv3
1430d1333322Smrg		;;
1431d1333322Smrg	-sysvr4)
1432d1333322Smrg		os=-sysv4
1433d1333322Smrg		;;
1434d1333322Smrg	# This must come after -sysvr4.
1435d1333322Smrg	-sysv*)
1436d1333322Smrg		;;
1437d1333322Smrg	-ose*)
1438d1333322Smrg		os=-ose
1439d1333322Smrg		;;
1440d1333322Smrg	-es1800*)
1441d1333322Smrg		os=-ose
1442d1333322Smrg		;;
1443d1333322Smrg	-xenix)
1444d1333322Smrg		os=-xenix
1445d1333322Smrg		;;
1446d1333322Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447d1333322Smrg		os=-mint
1448d1333322Smrg		;;
1449d1333322Smrg	-aros*)
1450d1333322Smrg		os=-aros
1451d1333322Smrg		;;
1452d1333322Smrg	-kaos*)
1453d1333322Smrg		os=-kaos
1454d1333322Smrg		;;
1455d1333322Smrg	-zvmoe)
1456d1333322Smrg		os=-zvmoe
1457d1333322Smrg		;;
14584f9ac78aSmrg	-dicos*)
14594f9ac78aSmrg		os=-dicos
14604f9ac78aSmrg		;;
14614f9ac78aSmrg        -nacl*)
14624f9ac78aSmrg	        ;;
1463d1333322Smrg	-none)
1464d1333322Smrg		;;
1465d1333322Smrg	*)
1466d1333322Smrg		# Get rid of the `-' at the beginning of $os.
1467d1333322Smrg		os=`echo $os | sed 's/[^-]*-//'`
1468d1333322Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469d1333322Smrg		exit 1
1470d1333322Smrg		;;
1471d1333322Smrgesac
1472d1333322Smrgelse
1473d1333322Smrg
1474d1333322Smrg# Here we handle the default operating systems that come with various machines.
1475d1333322Smrg# The value should be what the vendor currently ships out the door with their
1476d1333322Smrg# machine or put another way, the most popular os provided with the machine.
1477d1333322Smrg
1478d1333322Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479d1333322Smrg# "-sun"), then you have to tell the case statement up towards the top
1480d1333322Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481d1333322Smrg# will signal an error saying that MANUFACTURER isn't an operating
1482d1333322Smrg# system, and we'll never get to this point.
1483d1333322Smrg
1484d1333322Smrgcase $basic_machine in
1485d1333322Smrg        score-*)
1486d1333322Smrg		os=-elf
1487d1333322Smrg		;;
1488d1333322Smrg        spu-*)
1489d1333322Smrg		os=-elf
1490d1333322Smrg		;;
1491d1333322Smrg	*-acorn)
1492d1333322Smrg		os=-riscix1.2
1493d1333322Smrg		;;
1494d1333322Smrg	arm*-rebel)
1495d1333322Smrg		os=-linux
1496d1333322Smrg		;;
1497d1333322Smrg	arm*-semi)
1498d1333322Smrg		os=-aout
1499d1333322Smrg		;;
1500d1333322Smrg        c4x-* | tic4x-*)
1501d1333322Smrg        	os=-coff
1502d1333322Smrg		;;
15034f9ac78aSmrg	tic54x-*)
15044f9ac78aSmrg		os=-coff
15054f9ac78aSmrg		;;
15064f9ac78aSmrg	tic55x-*)
15074f9ac78aSmrg		os=-coff
15084f9ac78aSmrg		;;
15094f9ac78aSmrg	tic6x-*)
15104f9ac78aSmrg		os=-coff
15114f9ac78aSmrg		;;
1512d1333322Smrg	# This must come before the *-dec entry.
1513d1333322Smrg	pdp10-*)
1514d1333322Smrg		os=-tops20
1515d1333322Smrg		;;
1516d1333322Smrg	pdp11-*)
1517d1333322Smrg		os=-none
1518d1333322Smrg		;;
1519d1333322Smrg	*-dec | vax-*)
1520d1333322Smrg		os=-ultrix4.2
1521d1333322Smrg		;;
1522d1333322Smrg	m68*-apollo)
1523d1333322Smrg		os=-domain
1524d1333322Smrg		;;
1525d1333322Smrg	i386-sun)
1526d1333322Smrg		os=-sunos4.0.2
1527d1333322Smrg		;;
1528d1333322Smrg	m68000-sun)
1529d1333322Smrg		os=-sunos3
1530d1333322Smrg		# This also exists in the configure program, but was not the
1531d1333322Smrg		# default.
1532d1333322Smrg		# os=-sunos4
1533d1333322Smrg		;;
1534d1333322Smrg	m68*-cisco)
1535d1333322Smrg		os=-aout
1536d1333322Smrg		;;
1537d1333322Smrg        mep-*)
1538d1333322Smrg		os=-elf
1539d1333322Smrg		;;
1540d1333322Smrg	mips*-cisco)
1541d1333322Smrg		os=-elf
1542d1333322Smrg		;;
1543d1333322Smrg	mips*-*)
1544d1333322Smrg		os=-elf
1545d1333322Smrg		;;
1546d1333322Smrg	or32-*)
1547d1333322Smrg		os=-coff
1548d1333322Smrg		;;
1549d1333322Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550d1333322Smrg		os=-sysv3
1551d1333322Smrg		;;
1552d1333322Smrg	sparc-* | *-sun)
1553d1333322Smrg		os=-sunos4.1.1
1554d1333322Smrg		;;
1555d1333322Smrg	*-be)
1556d1333322Smrg		os=-beos
1557d1333322Smrg		;;
1558d1333322Smrg	*-haiku)
1559d1333322Smrg		os=-haiku
1560d1333322Smrg		;;
1561d1333322Smrg	*-ibm)
1562d1333322Smrg		os=-aix
1563d1333322Smrg		;;
1564d1333322Smrg    	*-knuth)
1565d1333322Smrg		os=-mmixware
1566d1333322Smrg		;;
1567d1333322Smrg	*-wec)
1568d1333322Smrg		os=-proelf
1569d1333322Smrg		;;
1570d1333322Smrg	*-winbond)
1571d1333322Smrg		os=-proelf
1572d1333322Smrg		;;
1573d1333322Smrg	*-oki)
1574d1333322Smrg		os=-proelf
1575d1333322Smrg		;;
1576d1333322Smrg	*-hp)
1577d1333322Smrg		os=-hpux
1578d1333322Smrg		;;
1579d1333322Smrg	*-hitachi)
1580d1333322Smrg		os=-hiux
1581d1333322Smrg		;;
1582d1333322Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583d1333322Smrg		os=-sysv
1584d1333322Smrg		;;
1585d1333322Smrg	*-cbm)
1586d1333322Smrg		os=-amigaos
1587d1333322Smrg		;;
1588d1333322Smrg	*-dg)
1589d1333322Smrg		os=-dgux
1590d1333322Smrg		;;
1591d1333322Smrg	*-dolphin)
1592d1333322Smrg		os=-sysv3
1593d1333322Smrg		;;
1594d1333322Smrg	m68k-ccur)
1595d1333322Smrg		os=-rtu
1596d1333322Smrg		;;
1597d1333322Smrg	m88k-omron*)
1598d1333322Smrg		os=-luna
1599d1333322Smrg		;;
1600d1333322Smrg	*-next )
1601d1333322Smrg		os=-nextstep
1602d1333322Smrg		;;
1603d1333322Smrg	*-sequent)
1604d1333322Smrg		os=-ptx
1605d1333322Smrg		;;
1606d1333322Smrg	*-crds)
1607d1333322Smrg		os=-unos
1608d1333322Smrg		;;
1609d1333322Smrg	*-ns)
1610d1333322Smrg		os=-genix
1611d1333322Smrg		;;
1612d1333322Smrg	i370-*)
1613d1333322Smrg		os=-mvs
1614d1333322Smrg		;;
1615d1333322Smrg	*-next)
1616d1333322Smrg		os=-nextstep3
1617d1333322Smrg		;;
1618d1333322Smrg	*-gould)
1619d1333322Smrg		os=-sysv
1620d1333322Smrg		;;
1621d1333322Smrg	*-highlevel)
1622d1333322Smrg		os=-bsd
1623d1333322Smrg		;;
1624d1333322Smrg	*-encore)
1625d1333322Smrg		os=-bsd
1626d1333322Smrg		;;
1627d1333322Smrg	*-sgi)
1628d1333322Smrg		os=-irix
1629d1333322Smrg		;;
1630d1333322Smrg	*-siemens)
1631d1333322Smrg		os=-sysv4
1632d1333322Smrg		;;
1633d1333322Smrg	*-masscomp)
1634d1333322Smrg		os=-rtu
1635d1333322Smrg		;;
1636d1333322Smrg	f30[01]-fujitsu | f700-fujitsu)
1637d1333322Smrg		os=-uxpv
1638d1333322Smrg		;;
1639d1333322Smrg	*-rom68k)
1640d1333322Smrg		os=-coff
1641d1333322Smrg		;;
1642d1333322Smrg	*-*bug)
1643d1333322Smrg		os=-coff
1644d1333322Smrg		;;
1645d1333322Smrg	*-apple)
1646d1333322Smrg		os=-macos
1647d1333322Smrg		;;
1648d1333322Smrg	*-atari*)
1649d1333322Smrg		os=-mint
1650d1333322Smrg		;;
1651d1333322Smrg	*)
1652d1333322Smrg		os=-none
1653d1333322Smrg		;;
1654d1333322Smrgesac
1655d1333322Smrgfi
1656d1333322Smrg
1657d1333322Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1658d1333322Smrg# manufacturer.  We pick the logical manufacturer.
1659d1333322Smrgvendor=unknown
1660d1333322Smrgcase $basic_machine in
1661d1333322Smrg	*-unknown)
1662d1333322Smrg		case $os in
1663d1333322Smrg			-riscix*)
1664d1333322Smrg				vendor=acorn
1665d1333322Smrg				;;
1666d1333322Smrg			-sunos*)
1667d1333322Smrg				vendor=sun
1668d1333322Smrg				;;
16694f9ac78aSmrg			-cnk*|-aix*)
1670d1333322Smrg				vendor=ibm
1671d1333322Smrg				;;
1672d1333322Smrg			-beos*)
1673d1333322Smrg				vendor=be
1674d1333322Smrg				;;
1675d1333322Smrg			-hpux*)
1676d1333322Smrg				vendor=hp
1677d1333322Smrg				;;
1678d1333322Smrg			-mpeix*)
1679d1333322Smrg				vendor=hp
1680d1333322Smrg				;;
1681d1333322Smrg			-hiux*)
1682d1333322Smrg				vendor=hitachi
1683d1333322Smrg				;;
1684d1333322Smrg			-unos*)
1685d1333322Smrg				vendor=crds
1686d1333322Smrg				;;
1687d1333322Smrg			-dgux*)
1688d1333322Smrg				vendor=dg
1689d1333322Smrg				;;
1690d1333322Smrg			-luna*)
1691d1333322Smrg				vendor=omron
1692d1333322Smrg				;;
1693d1333322Smrg			-genix*)
1694d1333322Smrg				vendor=ns
1695d1333322Smrg				;;
1696d1333322Smrg			-mvs* | -opened*)
1697d1333322Smrg				vendor=ibm
1698d1333322Smrg				;;
1699d1333322Smrg			-os400*)
1700d1333322Smrg				vendor=ibm
1701d1333322Smrg				;;
1702d1333322Smrg			-ptx*)
1703d1333322Smrg				vendor=sequent
1704d1333322Smrg				;;
1705d1333322Smrg			-tpf*)
1706d1333322Smrg				vendor=ibm
1707d1333322Smrg				;;
1708d1333322Smrg			-vxsim* | -vxworks* | -windiss*)
1709d1333322Smrg				vendor=wrs
1710d1333322Smrg				;;
1711d1333322Smrg			-aux*)
1712d1333322Smrg				vendor=apple
1713d1333322Smrg				;;
1714d1333322Smrg			-hms*)
1715d1333322Smrg				vendor=hitachi
1716d1333322Smrg				;;
1717d1333322Smrg			-mpw* | -macos*)
1718d1333322Smrg				vendor=apple
1719d1333322Smrg				;;
1720d1333322Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721d1333322Smrg				vendor=atari
1722d1333322Smrg				;;
1723d1333322Smrg			-vos*)
1724d1333322Smrg				vendor=stratus
1725d1333322Smrg				;;
1726d1333322Smrg		esac
1727d1333322Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728d1333322Smrg		;;
1729d1333322Smrgesac
1730d1333322Smrg
1731d1333322Smrgecho $basic_machine$os
1732d1333322Smrgexit
1733d1333322Smrg
1734d1333322Smrg# Local variables:
1735d1333322Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736d1333322Smrg# time-stamp-start: "timestamp='"
1737d1333322Smrg# time-stamp-format: "%:y-%02m-%02d"
1738d1333322Smrg# time-stamp-end: "'"
1739d1333322Smrg# End:
1740