config.sub revision 6a45684f
1e6232409Smrg#! /bin/sh
2e6232409Smrg# Configuration validation subroutine script.
36a45684fSmrg#   Copyright 1992-2014 Free Software Foundation, Inc.
4e6232409Smrg
56a45684fSmrgtimestamp='2014-12-03'
6e6232409Smrg
76a45684fSmrg# This file is free software; you can redistribute it and/or modify it
86a45684fSmrg# under the terms of the GNU General Public License as published by
96a45684fSmrg# the Free Software Foundation; either version 3 of the License, or
10e6232409Smrg# (at your option) any later version.
11e6232409Smrg#
126a45684fSmrg# This program is distributed in the hope that it will be useful, but
136a45684fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
146a45684fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
156a45684fSmrg# General Public License for more details.
16e6232409Smrg#
17e6232409Smrg# You should have received a copy of the GNU General Public License
186a45684fSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
19e6232409Smrg#
20e6232409Smrg# As a special exception to the GNU General Public License, if you
21e6232409Smrg# distribute this file as part of a program that contains a
22e6232409Smrg# configuration script generated by Autoconf, you may include it under
236a45684fSmrg# the same distribution terms that you use for the rest of that
246a45684fSmrg# program.  This Exception is an additional permission under section 7
256a45684fSmrg# of the GNU General Public License, version 3 ("GPLv3").
26e6232409Smrg
27e6232409Smrg
286a45684fSmrg# Please send patches to <config-patches@gnu.org>.
29e6232409Smrg#
30e6232409Smrg# Configuration subroutine to validate and canonicalize a configuration type.
31e6232409Smrg# Supply the specified configuration type as an argument.
32e6232409Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
33e6232409Smrg# Otherwise, we print the canonical config type on stdout and succeed.
34e6232409Smrg
358fff3f40Smrg# You can get the latest version of this script from:
368fff3f40Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
378fff3f40Smrg
38e6232409Smrg# This file is supposed to be the same for all GNU packages
39e6232409Smrg# and recognize all the CPU types, system types and aliases
40e6232409Smrg# that are meaningful with *any* GNU software.
41e6232409Smrg# Each package is responsible for reporting which valid configurations
42e6232409Smrg# it does not support.  The user should be able to distinguish
43e6232409Smrg# a failure to support a valid configuration from a meaningless
44e6232409Smrg# configuration.
45e6232409Smrg
46e6232409Smrg# The goal of this file is to map all the various variations of a given
47e6232409Smrg# machine specification into a single specification in the form:
48e6232409Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
49e6232409Smrg# or in some cases, the newer four-part form:
50e6232409Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
51e6232409Smrg# It is wrong to echo any other type of specification.
52e6232409Smrg
53e6232409Smrgme=`echo "$0" | sed -e 's,.*/,,'`
54e6232409Smrg
55e6232409Smrgusage="\
56e6232409SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
57e6232409Smrg       $0 [OPTION] ALIAS
58e6232409Smrg
59e6232409SmrgCanonicalize a configuration name.
60e6232409Smrg
61e6232409SmrgOperation modes:
62e6232409Smrg  -h, --help         print this help, then exit
63e6232409Smrg  -t, --time-stamp   print date of last modification, then exit
64e6232409Smrg  -v, --version      print version number, then exit
65e6232409Smrg
66e6232409SmrgReport bugs and patches to <config-patches@gnu.org>."
67e6232409Smrg
68e6232409Smrgversion="\
69e6232409SmrgGNU config.sub ($timestamp)
70e6232409Smrg
716a45684fSmrgCopyright 1992-2014 Free Software Foundation, Inc.
72e6232409Smrg
73e6232409SmrgThis is free software; see the source for copying conditions.  There is NO
74e6232409Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
75e6232409Smrg
76e6232409Smrghelp="
77e6232409SmrgTry \`$me --help' for more information."
78e6232409Smrg
79e6232409Smrg# Parse command line
80e6232409Smrgwhile test $# -gt 0 ; do
81e6232409Smrg  case $1 in
82e6232409Smrg    --time-stamp | --time* | -t )
83e6232409Smrg       echo "$timestamp" ; exit ;;
84e6232409Smrg    --version | -v )
85e6232409Smrg       echo "$version" ; exit ;;
86e6232409Smrg    --help | --h* | -h )
87e6232409Smrg       echo "$usage"; exit ;;
88e6232409Smrg    -- )     # Stop option processing
89e6232409Smrg       shift; break ;;
90e6232409Smrg    - )	# Use stdin as input.
91e6232409Smrg       break ;;
92e6232409Smrg    -* )
93e6232409Smrg       echo "$me: invalid option $1$help"
94e6232409Smrg       exit 1 ;;
95e6232409Smrg
96e6232409Smrg    *local*)
97e6232409Smrg       # First pass through any local machine types.
98e6232409Smrg       echo $1
99e6232409Smrg       exit ;;
100e6232409Smrg
101e6232409Smrg    * )
102e6232409Smrg       break ;;
103e6232409Smrg  esac
104e6232409Smrgdone
105e6232409Smrg
106e6232409Smrgcase $# in
107e6232409Smrg 0) echo "$me: missing argument$help" >&2
108e6232409Smrg    exit 1;;
109e6232409Smrg 1) ;;
110e6232409Smrg *) echo "$me: too many arguments$help" >&2
111e6232409Smrg    exit 1;;
112e6232409Smrgesac
113e6232409Smrg
114e6232409Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
115e6232409Smrg# Here we must recognize all the valid KERNEL-OS combinations.
116e6232409Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
117e6232409Smrgcase $maybe_os in
11894a251fdSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1196a45684fSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12094a251fdSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1218fff3f40Smrg  kopensolaris*-gnu* | \
122e6232409Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
123e6232409Smrg    os=-$maybe_os
124e6232409Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
125e6232409Smrg    ;;
1266a45684fSmrg  android-linux)
1276a45684fSmrg    os=-linux-android
1286a45684fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1296a45684fSmrg    ;;
130e6232409Smrg  *)
131e6232409Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
132e6232409Smrg    if [ $basic_machine != $1 ]
133e6232409Smrg    then os=`echo $1 | sed 's/.*-/-/'`
134e6232409Smrg    else os=; fi
135e6232409Smrg    ;;
136e6232409Smrgesac
137e6232409Smrg
138e6232409Smrg### Let's recognize common machines as not being operating systems so
139e6232409Smrg### that things like config.sub decstation-3100 work.  We also
140e6232409Smrg### recognize some manufacturers as not being operating systems, so we
141e6232409Smrg### can provide default operating systems below.
142e6232409Smrgcase $os in
143e6232409Smrg	-sun*os*)
144e6232409Smrg		# Prevent following clause from handling this invalid input.
145e6232409Smrg		;;
146e6232409Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
147e6232409Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
148e6232409Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
149e6232409Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
150e6232409Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
151e6232409Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1526a45684fSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
153e6232409Smrg		os=
154e6232409Smrg		basic_machine=$1
155e6232409Smrg		;;
15694a251fdSmrg	-bluegene*)
15794a251fdSmrg		os=-cnk
1588fff3f40Smrg		;;
159e6232409Smrg	-sim | -cisco | -oki | -wec | -winbond)
160e6232409Smrg		os=
161e6232409Smrg		basic_machine=$1
162e6232409Smrg		;;
163e6232409Smrg	-scout)
164e6232409Smrg		;;
165e6232409Smrg	-wrs)
166e6232409Smrg		os=-vxworks
167e6232409Smrg		basic_machine=$1
168e6232409Smrg		;;
169e6232409Smrg	-chorusos*)
170e6232409Smrg		os=-chorusos
171e6232409Smrg		basic_machine=$1
172e6232409Smrg		;;
17394a251fdSmrg	-chorusrdb)
17494a251fdSmrg		os=-chorusrdb
175e6232409Smrg		basic_machine=$1
17694a251fdSmrg		;;
177e6232409Smrg	-hiux*)
178e6232409Smrg		os=-hiuxwe2
179e6232409Smrg		;;
180e6232409Smrg	-sco6)
181e6232409Smrg		os=-sco5v6
182e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183e6232409Smrg		;;
184e6232409Smrg	-sco5)
185e6232409Smrg		os=-sco3.2v5
186e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187e6232409Smrg		;;
188e6232409Smrg	-sco4)
189e6232409Smrg		os=-sco3.2v4
190e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191e6232409Smrg		;;
192e6232409Smrg	-sco3.2.[4-9]*)
193e6232409Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
194e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195e6232409Smrg		;;
196e6232409Smrg	-sco3.2v[4-9]*)
197e6232409Smrg		# Don't forget version if it is 3.2v4 or newer.
198e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199e6232409Smrg		;;
200e6232409Smrg	-sco5v6*)
201e6232409Smrg		# Don't forget version if it is 3.2v4 or newer.
202e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203e6232409Smrg		;;
204e6232409Smrg	-sco*)
205e6232409Smrg		os=-sco3.2v2
206e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207e6232409Smrg		;;
208e6232409Smrg	-udk*)
209e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210e6232409Smrg		;;
211e6232409Smrg	-isc)
212e6232409Smrg		os=-isc2.2
213e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214e6232409Smrg		;;
215e6232409Smrg	-clix*)
216e6232409Smrg		basic_machine=clipper-intergraph
217e6232409Smrg		;;
218e6232409Smrg	-isc*)
219e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
220e6232409Smrg		;;
2216a45684fSmrg	-lynx*178)
2226a45684fSmrg		os=-lynxos178
2236a45684fSmrg		;;
2246a45684fSmrg	-lynx*5)
2256a45684fSmrg		os=-lynxos5
2266a45684fSmrg		;;
227e6232409Smrg	-lynx*)
228e6232409Smrg		os=-lynxos
229e6232409Smrg		;;
230e6232409Smrg	-ptx*)
231e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
232e6232409Smrg		;;
233e6232409Smrg	-windowsnt*)
234e6232409Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
235e6232409Smrg		;;
236e6232409Smrg	-psos*)
237e6232409Smrg		os=-psos
238e6232409Smrg		;;
239e6232409Smrg	-mint | -mint[0-9]*)
240e6232409Smrg		basic_machine=m68k-atari
241e6232409Smrg		os=-mint
242e6232409Smrg		;;
243e6232409Smrgesac
244e6232409Smrg
245e6232409Smrg# Decode aliases for certain CPU-COMPANY combinations.
246e6232409Smrgcase $basic_machine in
247e6232409Smrg	# Recognize the basic CPU types without company name.
248e6232409Smrg	# Some are omitted here because they have special meanings below.
249e6232409Smrg	1750a | 580 \
250e6232409Smrg	| a29k \
2516a45684fSmrg	| aarch64 | aarch64_be \
252e6232409Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
253e6232409Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
254e6232409Smrg	| am33_2.0 \
2556a45684fSmrg	| arc | arceb \
2566a45684fSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2576a45684fSmrg	| avr | avr32 \
2586a45684fSmrg	| be32 | be64 \
259e6232409Smrg	| bfin \
2606a45684fSmrg	| c4x | c8051 | clipper \
261e6232409Smrg	| d10v | d30v | dlx | dsp16xx \
26294a251fdSmrg	| epiphany \
263e6232409Smrg	| fido | fr30 | frv \
264e6232409Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26594a251fdSmrg	| hexagon \
266e6232409Smrg	| i370 | i860 | i960 | ia64 \
267e6232409Smrg	| ip2k | iq2000 \
2686a45684fSmrg	| k1om \
26994a251fdSmrg	| le32 | le64 \
2708fff3f40Smrg	| lm32 \
271e6232409Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2726a45684fSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
273e6232409Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
274e6232409Smrg	| mips16 \
275e6232409Smrg	| mips64 | mips64el \
2768fff3f40Smrg	| mips64octeon | mips64octeonel \
277e6232409Smrg	| mips64orion | mips64orionel \
2788fff3f40Smrg	| mips64r5900 | mips64r5900el \
2798fff3f40Smrg	| mips64vr | mips64vrel \
280e6232409Smrg	| mips64vr4100 | mips64vr4100el \
281e6232409Smrg	| mips64vr4300 | mips64vr4300el \
282e6232409Smrg	| mips64vr5000 | mips64vr5000el \
283e6232409Smrg	| mips64vr5900 | mips64vr5900el \
284e6232409Smrg	| mipsisa32 | mipsisa32el \
285e6232409Smrg	| mipsisa32r2 | mipsisa32r2el \
2866a45684fSmrg	| mipsisa32r6 | mipsisa32r6el \
287e6232409Smrg	| mipsisa64 | mipsisa64el \
288e6232409Smrg	| mipsisa64r2 | mipsisa64r2el \
2896a45684fSmrg	| mipsisa64r6 | mipsisa64r6el \
290e6232409Smrg	| mipsisa64sb1 | mipsisa64sb1el \
291e6232409Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2926a45684fSmrg	| mipsr5900 | mipsr5900el \
293e6232409Smrg	| mipstx39 | mipstx39el \
294e6232409Smrg	| mn10200 | mn10300 \
2958fff3f40Smrg	| moxie \
296e6232409Smrg	| mt \
297e6232409Smrg	| msp430 \
29894a251fdSmrg	| nds32 | nds32le | nds32be \
2996a45684fSmrg	| nios | nios2 | nios2eb | nios2el \
300e6232409Smrg	| ns16k | ns32k \
3016a45684fSmrg	| open8 | or1k | or1knd | or32 \
302e6232409Smrg	| pdp10 | pdp11 | pj | pjl \
30394a251fdSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
304e6232409Smrg	| pyramid \
3056a45684fSmrg	| riscv32 | riscv64 \
30694a251fdSmrg	| rl78 | rx \
307e6232409Smrg	| score \
3088fff3f40Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309e6232409Smrg	| sh64 | sh64le \
310e6232409Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311e6232409Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31294a251fdSmrg	| spu \
31394a251fdSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3148fff3f40Smrg	| ubicom32 \
31594a251fdSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3166a45684fSmrg	| visium \
317e6232409Smrg	| we32k \
31894a251fdSmrg	| x86 | xc16x | xstormy16 | xtensa \
3198fff3f40Smrg	| z8k | z80)
320e6232409Smrg		basic_machine=$basic_machine-unknown
321e6232409Smrg		;;
32294a251fdSmrg	c54x)
32394a251fdSmrg		basic_machine=tic54x-unknown
32494a251fdSmrg		;;
32594a251fdSmrg	c55x)
32694a251fdSmrg		basic_machine=tic55x-unknown
32794a251fdSmrg		;;
32894a251fdSmrg	c6x)
32994a251fdSmrg		basic_machine=tic6x-unknown
33094a251fdSmrg		;;
3316a45684fSmrg	leon|leon[3-9])
3326a45684fSmrg		basic_machine=sparc-$basic_machine
3336a45684fSmrg		;;
3346a45684fSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
335e6232409Smrg		basic_machine=$basic_machine-unknown
336e6232409Smrg		os=-none
337e6232409Smrg		;;
338e6232409Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
339e6232409Smrg		;;
340e6232409Smrg	ms1)
341e6232409Smrg		basic_machine=mt-unknown
342e6232409Smrg		;;
343e6232409Smrg
34494a251fdSmrg	strongarm | thumb | xscale)
34594a251fdSmrg		basic_machine=arm-unknown
34694a251fdSmrg		;;
3476a45684fSmrg	xgate)
3486a45684fSmrg		basic_machine=$basic_machine-unknown
3496a45684fSmrg		os=-none
3506a45684fSmrg		;;
35194a251fdSmrg	xscaleeb)
35294a251fdSmrg		basic_machine=armeb-unknown
35394a251fdSmrg		;;
35494a251fdSmrg
35594a251fdSmrg	xscaleel)
35694a251fdSmrg		basic_machine=armel-unknown
35794a251fdSmrg		;;
35894a251fdSmrg
359e6232409Smrg	# We use `pc' rather than `unknown'
360e6232409Smrg	# because (1) that's what they normally are, and
361e6232409Smrg	# (2) the word "unknown" tends to confuse beginning users.
362e6232409Smrg	i*86 | x86_64)
363e6232409Smrg	  basic_machine=$basic_machine-pc
364e6232409Smrg	  ;;
365e6232409Smrg	# Object if more than one company name word.
366e6232409Smrg	*-*-*)
367e6232409Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
368e6232409Smrg		exit 1
369e6232409Smrg		;;
370e6232409Smrg	# Recognize the basic CPU types with company name.
371e6232409Smrg	580-* \
372e6232409Smrg	| a29k-* \
3736a45684fSmrg	| aarch64-* | aarch64_be-* \
374e6232409Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
375e6232409Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3766a45684fSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
377e6232409Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
378e6232409Smrg	| avr-* | avr32-* \
37994a251fdSmrg	| be32-* | be64-* \
380e6232409Smrg	| bfin-* | bs2000-* \
38194a251fdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3826a45684fSmrg	| c8051-* | clipper-* | craynv-* | cydra-* \
383e6232409Smrg	| d10v-* | d30v-* | dlx-* \
384e6232409Smrg	| elxsi-* \
385e6232409Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
386e6232409Smrg	| h8300-* | h8500-* \
387e6232409Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38894a251fdSmrg	| hexagon-* \
389e6232409Smrg	| i*86-* | i860-* | i960-* | ia64-* \
390e6232409Smrg	| ip2k-* | iq2000-* \
3916a45684fSmrg	| k1om-* \
39294a251fdSmrg	| le32-* | le64-* \
3938fff3f40Smrg	| lm32-* \
394e6232409Smrg	| m32c-* | m32r-* | m32rle-* \
395e6232409Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3966a45684fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3976a45684fSmrg	| microblaze-* | microblazeel-* \
398e6232409Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
399e6232409Smrg	| mips16-* \
400e6232409Smrg	| mips64-* | mips64el-* \
4018fff3f40Smrg	| mips64octeon-* | mips64octeonel-* \
402e6232409Smrg	| mips64orion-* | mips64orionel-* \
4038fff3f40Smrg	| mips64r5900-* | mips64r5900el-* \
4048fff3f40Smrg	| mips64vr-* | mips64vrel-* \
405e6232409Smrg	| mips64vr4100-* | mips64vr4100el-* \
406e6232409Smrg	| mips64vr4300-* | mips64vr4300el-* \
407e6232409Smrg	| mips64vr5000-* | mips64vr5000el-* \
408e6232409Smrg	| mips64vr5900-* | mips64vr5900el-* \
409e6232409Smrg	| mipsisa32-* | mipsisa32el-* \
410e6232409Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4116a45684fSmrg	| mipsisa32r6-* | mipsisa32r6el-* \
412e6232409Smrg	| mipsisa64-* | mipsisa64el-* \
413e6232409Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4146a45684fSmrg	| mipsisa64r6-* | mipsisa64r6el-* \
415e6232409Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
416e6232409Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4176a45684fSmrg	| mipsr5900-* | mipsr5900el-* \
418e6232409Smrg	| mipstx39-* | mipstx39el-* \
419e6232409Smrg	| mmix-* \
420e6232409Smrg	| mt-* \
421e6232409Smrg	| msp430-* \
42294a251fdSmrg	| nds32-* | nds32le-* | nds32be-* \
4236a45684fSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
424e6232409Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
42594a251fdSmrg	| open8-* \
4266a45684fSmrg	| or1k*-* \
427e6232409Smrg	| orion-* \
428e6232409Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42994a251fdSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
430e6232409Smrg	| pyramid-* \
43194a251fdSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4328fff3f40Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
433e6232409Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
434e6232409Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
435e6232409Smrg	| sparclite-* \
43694a251fdSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
43794a251fdSmrg	| tahoe-* \
438e6232409Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43994a251fdSmrg	| tile*-* \
440e6232409Smrg	| tron-* \
4418fff3f40Smrg	| ubicom32-* \
44294a251fdSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44394a251fdSmrg	| vax-* \
4446a45684fSmrg	| visium-* \
445e6232409Smrg	| we32k-* \
44694a251fdSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4478fff3f40Smrg	| xstormy16-* | xtensa*-* \
448e6232409Smrg	| ymp-* \
4498fff3f40Smrg	| z8k-* | z80-*)
4508fff3f40Smrg		;;
4518fff3f40Smrg	# Recognize the basic CPU types without company name, with glob match.
4528fff3f40Smrg	xtensa*)
4538fff3f40Smrg		basic_machine=$basic_machine-unknown
454e6232409Smrg		;;
455e6232409Smrg	# Recognize the various machine names and aliases which stand
456e6232409Smrg	# for a CPU type and a company and sometimes even an OS.
457e6232409Smrg	386bsd)
458e6232409Smrg		basic_machine=i386-unknown
459e6232409Smrg		os=-bsd
460e6232409Smrg		;;
461e6232409Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
462e6232409Smrg		basic_machine=m68000-att
463e6232409Smrg		;;
464e6232409Smrg	3b*)
465e6232409Smrg		basic_machine=we32k-att
466e6232409Smrg		;;
467e6232409Smrg	a29khif)
468e6232409Smrg		basic_machine=a29k-amd
469e6232409Smrg		os=-udi
470e6232409Smrg		;;
47194a251fdSmrg	abacus)
472e6232409Smrg		basic_machine=abacus-unknown
473e6232409Smrg		;;
474e6232409Smrg	adobe68k)
475e6232409Smrg		basic_machine=m68010-adobe
476e6232409Smrg		os=-scout
477e6232409Smrg		;;
478e6232409Smrg	alliant | fx80)
479e6232409Smrg		basic_machine=fx80-alliant
480e6232409Smrg		;;
481e6232409Smrg	altos | altos3068)
482e6232409Smrg		basic_machine=m68k-altos
483e6232409Smrg		;;
484e6232409Smrg	am29k)
485e6232409Smrg		basic_machine=a29k-none
486e6232409Smrg		os=-bsd
487e6232409Smrg		;;
488e6232409Smrg	amd64)
489e6232409Smrg		basic_machine=x86_64-pc
490e6232409Smrg		;;
491e6232409Smrg	amd64-*)
492e6232409Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
493e6232409Smrg		;;
494e6232409Smrg	amdahl)
495e6232409Smrg		basic_machine=580-amdahl
496e6232409Smrg		os=-sysv
497e6232409Smrg		;;
498e6232409Smrg	amiga | amiga-*)
499e6232409Smrg		basic_machine=m68k-unknown
500e6232409Smrg		;;
501e6232409Smrg	amigaos | amigados)
502e6232409Smrg		basic_machine=m68k-unknown
503e6232409Smrg		os=-amigaos
504e6232409Smrg		;;
505e6232409Smrg	amigaunix | amix)
506e6232409Smrg		basic_machine=m68k-unknown
507e6232409Smrg		os=-sysv4
508e6232409Smrg		;;
509e6232409Smrg	apollo68)
510e6232409Smrg		basic_machine=m68k-apollo
511e6232409Smrg		os=-sysv
512e6232409Smrg		;;
513e6232409Smrg	apollo68bsd)
514e6232409Smrg		basic_machine=m68k-apollo
515e6232409Smrg		os=-bsd
516e6232409Smrg		;;
5178fff3f40Smrg	aros)
5188fff3f40Smrg		basic_machine=i386-pc
5198fff3f40Smrg		os=-aros
5208fff3f40Smrg		;;
521e6232409Smrg	aux)
522e6232409Smrg		basic_machine=m68k-apple
523e6232409Smrg		os=-aux
524e6232409Smrg		;;
525e6232409Smrg	balance)
526e6232409Smrg		basic_machine=ns32k-sequent
527e6232409Smrg		os=-dynix
528e6232409Smrg		;;
5298fff3f40Smrg	blackfin)
5308fff3f40Smrg		basic_machine=bfin-unknown
5318fff3f40Smrg		os=-linux
5328fff3f40Smrg		;;
5338fff3f40Smrg	blackfin-*)
5348fff3f40Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5358fff3f40Smrg		os=-linux
5368fff3f40Smrg		;;
5378fff3f40Smrg	bluegene*)
5388fff3f40Smrg		basic_machine=powerpc-ibm
5398fff3f40Smrg		os=-cnk
5408fff3f40Smrg		;;
54194a251fdSmrg	c54x-*)
54294a251fdSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54394a251fdSmrg		;;
54494a251fdSmrg	c55x-*)
54594a251fdSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
54694a251fdSmrg		;;
54794a251fdSmrg	c6x-*)
54894a251fdSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
54994a251fdSmrg		;;
550e6232409Smrg	c90)
551e6232409Smrg		basic_machine=c90-cray
552e6232409Smrg		os=-unicos
553e6232409Smrg		;;
55494a251fdSmrg	cegcc)
5558fff3f40Smrg		basic_machine=arm-unknown
5568fff3f40Smrg		os=-cegcc
5578fff3f40Smrg		;;
558e6232409Smrg	convex-c1)
559e6232409Smrg		basic_machine=c1-convex
560e6232409Smrg		os=-bsd
561e6232409Smrg		;;
562e6232409Smrg	convex-c2)
563e6232409Smrg		basic_machine=c2-convex
564e6232409Smrg		os=-bsd
565e6232409Smrg		;;
566e6232409Smrg	convex-c32)
567e6232409Smrg		basic_machine=c32-convex
568e6232409Smrg		os=-bsd
569e6232409Smrg		;;
570e6232409Smrg	convex-c34)
571e6232409Smrg		basic_machine=c34-convex
572e6232409Smrg		os=-bsd
573e6232409Smrg		;;
574e6232409Smrg	convex-c38)
575e6232409Smrg		basic_machine=c38-convex
576e6232409Smrg		os=-bsd
577e6232409Smrg		;;
578e6232409Smrg	cray | j90)
579e6232409Smrg		basic_machine=j90-cray
580e6232409Smrg		os=-unicos
581e6232409Smrg		;;
582e6232409Smrg	craynv)
583e6232409Smrg		basic_machine=craynv-cray
584e6232409Smrg		os=-unicosmp
585e6232409Smrg		;;
58694a251fdSmrg	cr16 | cr16-*)
5878fff3f40Smrg		basic_machine=cr16-unknown
588e6232409Smrg		os=-elf
589e6232409Smrg		;;
590e6232409Smrg	crds | unos)
591e6232409Smrg		basic_machine=m68k-crds
592e6232409Smrg		;;
593e6232409Smrg	crisv32 | crisv32-* | etraxfs*)
594e6232409Smrg		basic_machine=crisv32-axis
595e6232409Smrg		;;
596e6232409Smrg	cris | cris-* | etrax*)
597e6232409Smrg		basic_machine=cris-axis
598e6232409Smrg		;;
599e6232409Smrg	crx)
600e6232409Smrg		basic_machine=crx-unknown
601e6232409Smrg		os=-elf
602e6232409Smrg		;;
603e6232409Smrg	da30 | da30-*)
604e6232409Smrg		basic_machine=m68k-da30
605e6232409Smrg		;;
606e6232409Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
607e6232409Smrg		basic_machine=mips-dec
608e6232409Smrg		;;
609e6232409Smrg	decsystem10* | dec10*)
610e6232409Smrg		basic_machine=pdp10-dec
611e6232409Smrg		os=-tops10
612e6232409Smrg		;;
613e6232409Smrg	decsystem20* | dec20*)
614e6232409Smrg		basic_machine=pdp10-dec
615e6232409Smrg		os=-tops20
616e6232409Smrg		;;
617e6232409Smrg	delta | 3300 | motorola-3300 | motorola-delta \
618e6232409Smrg	      | 3300-motorola | delta-motorola)
619e6232409Smrg		basic_machine=m68k-motorola
620e6232409Smrg		;;
621e6232409Smrg	delta88)
622e6232409Smrg		basic_machine=m88k-motorola
623e6232409Smrg		os=-sysv3
624e6232409Smrg		;;
6258fff3f40Smrg	dicos)
6268fff3f40Smrg		basic_machine=i686-pc
6278fff3f40Smrg		os=-dicos
6288fff3f40Smrg		;;
629e6232409Smrg	djgpp)
630e6232409Smrg		basic_machine=i586-pc
631e6232409Smrg		os=-msdosdjgpp
632e6232409Smrg		;;
633e6232409Smrg	dpx20 | dpx20-*)
634e6232409Smrg		basic_machine=rs6000-bull
635e6232409Smrg		os=-bosx
636e6232409Smrg		;;
637e6232409Smrg	dpx2* | dpx2*-bull)
638e6232409Smrg		basic_machine=m68k-bull
639e6232409Smrg		os=-sysv3
640e6232409Smrg		;;
641e6232409Smrg	ebmon29k)
642e6232409Smrg		basic_machine=a29k-amd
643e6232409Smrg		os=-ebmon
644e6232409Smrg		;;
645e6232409Smrg	elxsi)
646e6232409Smrg		basic_machine=elxsi-elxsi
647e6232409Smrg		os=-bsd
648e6232409Smrg		;;
649e6232409Smrg	encore | umax | mmax)
650e6232409Smrg		basic_machine=ns32k-encore
651e6232409Smrg		;;
652e6232409Smrg	es1800 | OSE68k | ose68k | ose | OSE)
653e6232409Smrg		basic_machine=m68k-ericsson
654e6232409Smrg		os=-ose
655e6232409Smrg		;;
656e6232409Smrg	fx2800)
657e6232409Smrg		basic_machine=i860-alliant
658e6232409Smrg		;;
659e6232409Smrg	genix)
660e6232409Smrg		basic_machine=ns32k-ns
661e6232409Smrg		;;
662e6232409Smrg	gmicro)
663e6232409Smrg		basic_machine=tron-gmicro
664e6232409Smrg		os=-sysv
665e6232409Smrg		;;
666e6232409Smrg	go32)
667e6232409Smrg		basic_machine=i386-pc
668e6232409Smrg		os=-go32
669e6232409Smrg		;;
670e6232409Smrg	h3050r* | hiux*)
671e6232409Smrg		basic_machine=hppa1.1-hitachi
672e6232409Smrg		os=-hiuxwe2
673e6232409Smrg		;;
674e6232409Smrg	h8300hms)
675e6232409Smrg		basic_machine=h8300-hitachi
676e6232409Smrg		os=-hms
677e6232409Smrg		;;
678e6232409Smrg	h8300xray)
679e6232409Smrg		basic_machine=h8300-hitachi
680e6232409Smrg		os=-xray
681e6232409Smrg		;;
682e6232409Smrg	h8500hms)
683e6232409Smrg		basic_machine=h8500-hitachi
684e6232409Smrg		os=-hms
685e6232409Smrg		;;
686e6232409Smrg	harris)
687e6232409Smrg		basic_machine=m88k-harris
688e6232409Smrg		os=-sysv3
689e6232409Smrg		;;
690e6232409Smrg	hp300-*)
691e6232409Smrg		basic_machine=m68k-hp
692e6232409Smrg		;;
693e6232409Smrg	hp300bsd)
694e6232409Smrg		basic_machine=m68k-hp
695e6232409Smrg		os=-bsd
696e6232409Smrg		;;
697e6232409Smrg	hp300hpux)
698e6232409Smrg		basic_machine=m68k-hp
699e6232409Smrg		os=-hpux
700e6232409Smrg		;;
701e6232409Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
702e6232409Smrg		basic_machine=hppa1.0-hp
703e6232409Smrg		;;
704e6232409Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
705e6232409Smrg		basic_machine=m68000-hp
706e6232409Smrg		;;
707e6232409Smrg	hp9k3[2-9][0-9])
708e6232409Smrg		basic_machine=m68k-hp
709e6232409Smrg		;;
710e6232409Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
711e6232409Smrg		basic_machine=hppa1.0-hp
712e6232409Smrg		;;
713e6232409Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
714e6232409Smrg		basic_machine=hppa1.1-hp
715e6232409Smrg		;;
716e6232409Smrg	hp9k78[0-9] | hp78[0-9])
717e6232409Smrg		# FIXME: really hppa2.0-hp
718e6232409Smrg		basic_machine=hppa1.1-hp
719e6232409Smrg		;;
720e6232409Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
721e6232409Smrg		# FIXME: really hppa2.0-hp
722e6232409Smrg		basic_machine=hppa1.1-hp
723e6232409Smrg		;;
724e6232409Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
725e6232409Smrg		basic_machine=hppa1.1-hp
726e6232409Smrg		;;
727e6232409Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
728e6232409Smrg		basic_machine=hppa1.0-hp
729e6232409Smrg		;;
730e6232409Smrg	hppa-next)
731e6232409Smrg		os=-nextstep3
732e6232409Smrg		;;
733e6232409Smrg	hppaosf)
734e6232409Smrg		basic_machine=hppa1.1-hp
735e6232409Smrg		os=-osf
736e6232409Smrg		;;
737e6232409Smrg	hppro)
738e6232409Smrg		basic_machine=hppa1.1-hp
739e6232409Smrg		os=-proelf
740e6232409Smrg		;;
741e6232409Smrg	i370-ibm* | ibm*)
742e6232409Smrg		basic_machine=i370-ibm
743e6232409Smrg		;;
744e6232409Smrg	i*86v32)
745e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
746e6232409Smrg		os=-sysv32
747e6232409Smrg		;;
748e6232409Smrg	i*86v4*)
749e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
750e6232409Smrg		os=-sysv4
751e6232409Smrg		;;
752e6232409Smrg	i*86v)
753e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
754e6232409Smrg		os=-sysv
755e6232409Smrg		;;
756e6232409Smrg	i*86sol2)
757e6232409Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
758e6232409Smrg		os=-solaris2
759e6232409Smrg		;;
760e6232409Smrg	i386mach)
761e6232409Smrg		basic_machine=i386-mach
762e6232409Smrg		os=-mach
763e6232409Smrg		;;
764e6232409Smrg	i386-vsta | vsta)
765e6232409Smrg		basic_machine=i386-unknown
766e6232409Smrg		os=-vsta
767e6232409Smrg		;;
768e6232409Smrg	iris | iris4d)
769e6232409Smrg		basic_machine=mips-sgi
770e6232409Smrg		case $os in
771e6232409Smrg		    -irix*)
772e6232409Smrg			;;
773e6232409Smrg		    *)
774e6232409Smrg			os=-irix4
775e6232409Smrg			;;
776e6232409Smrg		esac
777e6232409Smrg		;;
778e6232409Smrg	isi68 | isi)
779e6232409Smrg		basic_machine=m68k-isi
780e6232409Smrg		os=-sysv
781e6232409Smrg		;;
7826a45684fSmrg	leon-*|leon[3-9]-*)
7836a45684fSmrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
7846a45684fSmrg		;;
7858fff3f40Smrg	m68knommu)
7868fff3f40Smrg		basic_machine=m68k-unknown
7878fff3f40Smrg		os=-linux
7888fff3f40Smrg		;;
7898fff3f40Smrg	m68knommu-*)
7908fff3f40Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7918fff3f40Smrg		os=-linux
7928fff3f40Smrg		;;
793e6232409Smrg	m88k-omron*)
794e6232409Smrg		basic_machine=m88k-omron
795e6232409Smrg		;;
796e6232409Smrg	magnum | m3230)
797e6232409Smrg		basic_machine=mips-mips
798e6232409Smrg		os=-sysv
799e6232409Smrg		;;
800e6232409Smrg	merlin)
801e6232409Smrg		basic_machine=ns32k-utek
802e6232409Smrg		os=-sysv
803e6232409Smrg		;;
8046a45684fSmrg	microblaze*)
8058fff3f40Smrg		basic_machine=microblaze-xilinx
8068fff3f40Smrg		;;
8076a45684fSmrg	mingw64)
8086a45684fSmrg		basic_machine=x86_64-pc
8096a45684fSmrg		os=-mingw64
8106a45684fSmrg		;;
811e6232409Smrg	mingw32)
8126a45684fSmrg		basic_machine=i686-pc
813e6232409Smrg		os=-mingw32
814e6232409Smrg		;;
8158fff3f40Smrg	mingw32ce)
8168fff3f40Smrg		basic_machine=arm-unknown
8178fff3f40Smrg		os=-mingw32ce
8188fff3f40Smrg		;;
819e6232409Smrg	miniframe)
820e6232409Smrg		basic_machine=m68000-convergent
821e6232409Smrg		;;
822e6232409Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
823e6232409Smrg		basic_machine=m68k-atari
824e6232409Smrg		os=-mint
825e6232409Smrg		;;
826e6232409Smrg	mips3*-*)
827e6232409Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
828e6232409Smrg		;;
829e6232409Smrg	mips3*)
830e6232409Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
831e6232409Smrg		;;
832e6232409Smrg	monitor)
833e6232409Smrg		basic_machine=m68k-rom68k
834e6232409Smrg		os=-coff
835e6232409Smrg		;;
836e6232409Smrg	morphos)
837e6232409Smrg		basic_machine=powerpc-unknown
838e6232409Smrg		os=-morphos
839e6232409Smrg		;;
8406a45684fSmrg	moxiebox)
8416a45684fSmrg		basic_machine=moxie-unknown
8426a45684fSmrg		os=-moxiebox
8436a45684fSmrg		;;
844e6232409Smrg	msdos)
845e6232409Smrg		basic_machine=i386-pc
846e6232409Smrg		os=-msdos
847e6232409Smrg		;;
848e6232409Smrg	ms1-*)
849e6232409Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
850e6232409Smrg		;;
85194a251fdSmrg	msys)
8526a45684fSmrg		basic_machine=i686-pc
85394a251fdSmrg		os=-msys
85494a251fdSmrg		;;
855e6232409Smrg	mvs)
856e6232409Smrg		basic_machine=i370-ibm
857e6232409Smrg		os=-mvs
858e6232409Smrg		;;
85994a251fdSmrg	nacl)
86094a251fdSmrg		basic_machine=le32-unknown
86194a251fdSmrg		os=-nacl
86294a251fdSmrg		;;
863e6232409Smrg	ncr3000)
864e6232409Smrg		basic_machine=i486-ncr
865e6232409Smrg		os=-sysv4
866e6232409Smrg		;;
867e6232409Smrg	netbsd386)
868e6232409Smrg		basic_machine=i386-unknown
869e6232409Smrg		os=-netbsd
870e6232409Smrg		;;
871e6232409Smrg	netwinder)
872e6232409Smrg		basic_machine=armv4l-rebel
873e6232409Smrg		os=-linux
874e6232409Smrg		;;
875e6232409Smrg	news | news700 | news800 | news900)
876e6232409Smrg		basic_machine=m68k-sony
877e6232409Smrg		os=-newsos
878e6232409Smrg		;;
879e6232409Smrg	news1000)
880e6232409Smrg		basic_machine=m68030-sony
881e6232409Smrg		os=-newsos
882e6232409Smrg		;;
883e6232409Smrg	news-3600 | risc-news)
884e6232409Smrg		basic_machine=mips-sony
885e6232409Smrg		os=-newsos
886e6232409Smrg		;;
887e6232409Smrg	necv70)
888e6232409Smrg		basic_machine=v70-nec
889e6232409Smrg		os=-sysv
890e6232409Smrg		;;
891e6232409Smrg	next | m*-next )
892e6232409Smrg		basic_machine=m68k-next
893e6232409Smrg		case $os in
894e6232409Smrg		    -nextstep* )
895e6232409Smrg			;;
896e6232409Smrg		    -ns2*)
897e6232409Smrg		      os=-nextstep2
898e6232409Smrg			;;
899e6232409Smrg		    *)
900e6232409Smrg		      os=-nextstep3
901e6232409Smrg			;;
902e6232409Smrg		esac
903e6232409Smrg		;;
904e6232409Smrg	nh3000)
905e6232409Smrg		basic_machine=m68k-harris
906e6232409Smrg		os=-cxux
907e6232409Smrg		;;
908e6232409Smrg	nh[45]000)
909e6232409Smrg		basic_machine=m88k-harris
910e6232409Smrg		os=-cxux
911e6232409Smrg		;;
912e6232409Smrg	nindy960)
913e6232409Smrg		basic_machine=i960-intel
914e6232409Smrg		os=-nindy
915e6232409Smrg		;;
916e6232409Smrg	mon960)
917e6232409Smrg		basic_machine=i960-intel
918e6232409Smrg		os=-mon960
919e6232409Smrg		;;
920e6232409Smrg	nonstopux)
921e6232409Smrg		basic_machine=mips-compaq
922e6232409Smrg		os=-nonstopux
923e6232409Smrg		;;
924e6232409Smrg	np1)
925e6232409Smrg		basic_machine=np1-gould
926e6232409Smrg		;;
92794a251fdSmrg	neo-tandem)
92894a251fdSmrg		basic_machine=neo-tandem
92994a251fdSmrg		;;
93094a251fdSmrg	nse-tandem)
93194a251fdSmrg		basic_machine=nse-tandem
93294a251fdSmrg		;;
933e6232409Smrg	nsr-tandem)
934e6232409Smrg		basic_machine=nsr-tandem
935e6232409Smrg		;;
936e6232409Smrg	op50n-* | op60c-*)
937e6232409Smrg		basic_machine=hppa1.1-oki
938e6232409Smrg		os=-proelf
939e6232409Smrg		;;
940e6232409Smrg	openrisc | openrisc-*)
941e6232409Smrg		basic_machine=or32-unknown
942e6232409Smrg		;;
943e6232409Smrg	os400)
944e6232409Smrg		basic_machine=powerpc-ibm
945e6232409Smrg		os=-os400
946e6232409Smrg		;;
947e6232409Smrg	OSE68000 | ose68000)
948e6232409Smrg		basic_machine=m68000-ericsson
949e6232409Smrg		os=-ose
950e6232409Smrg		;;
951e6232409Smrg	os68k)
952e6232409Smrg		basic_machine=m68k-none
953e6232409Smrg		os=-os68k
954e6232409Smrg		;;
955e6232409Smrg	pa-hitachi)
956e6232409Smrg		basic_machine=hppa1.1-hitachi
957e6232409Smrg		os=-hiuxwe2
958e6232409Smrg		;;
959e6232409Smrg	paragon)
960e6232409Smrg		basic_machine=i860-intel
961e6232409Smrg		os=-osf
962e6232409Smrg		;;
9638fff3f40Smrg	parisc)
9648fff3f40Smrg		basic_machine=hppa-unknown
9658fff3f40Smrg		os=-linux
9668fff3f40Smrg		;;
9678fff3f40Smrg	parisc-*)
9688fff3f40Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9698fff3f40Smrg		os=-linux
9708fff3f40Smrg		;;
971e6232409Smrg	pbd)
972e6232409Smrg		basic_machine=sparc-tti
973e6232409Smrg		;;
974e6232409Smrg	pbb)
975e6232409Smrg		basic_machine=m68k-tti
976e6232409Smrg		;;
977e6232409Smrg	pc532 | pc532-*)
978e6232409Smrg		basic_machine=ns32k-pc532
979e6232409Smrg		;;
980e6232409Smrg	pc98)
981e6232409Smrg		basic_machine=i386-pc
982e6232409Smrg		;;
983e6232409Smrg	pc98-*)
984e6232409Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
985e6232409Smrg		;;
986e6232409Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
987e6232409Smrg		basic_machine=i586-pc
988e6232409Smrg		;;
989e6232409Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
990e6232409Smrg		basic_machine=i686-pc
991e6232409Smrg		;;
992e6232409Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
993e6232409Smrg		basic_machine=i686-pc
994e6232409Smrg		;;
995e6232409Smrg	pentium4)
996e6232409Smrg		basic_machine=i786-pc
997e6232409Smrg		;;
998e6232409Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
999e6232409Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1000e6232409Smrg		;;
1001e6232409Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
1002e6232409Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1003e6232409Smrg		;;
1004e6232409Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1005e6232409Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1006e6232409Smrg		;;
1007e6232409Smrg	pentium4-*)
1008e6232409Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1009e6232409Smrg		;;
1010e6232409Smrg	pn)
1011e6232409Smrg		basic_machine=pn-gould
1012e6232409Smrg		;;
1013e6232409Smrg	power)	basic_machine=power-ibm
1014e6232409Smrg		;;
101594a251fdSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
1016e6232409Smrg		;;
101794a251fdSmrg	ppc-* | ppcbe-*)
101894a251fdSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1019e6232409Smrg		;;
1020e6232409Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
1021e6232409Smrg		basic_machine=powerpcle-unknown
1022e6232409Smrg		;;
1023e6232409Smrg	ppcle-* | powerpclittle-*)
1024e6232409Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1025e6232409Smrg		;;
1026e6232409Smrg	ppc64)	basic_machine=powerpc64-unknown
1027e6232409Smrg		;;
1028e6232409Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1029e6232409Smrg		;;
1030e6232409Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1031e6232409Smrg		basic_machine=powerpc64le-unknown
1032e6232409Smrg		;;
1033e6232409Smrg	ppc64le-* | powerpc64little-*)
1034e6232409Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1035e6232409Smrg		;;
1036e6232409Smrg	ps2)
1037e6232409Smrg		basic_machine=i386-ibm
1038e6232409Smrg		;;
1039e6232409Smrg	pw32)
1040e6232409Smrg		basic_machine=i586-unknown
1041e6232409Smrg		os=-pw32
1042e6232409Smrg		;;
10436a45684fSmrg	rdos | rdos64)
10446a45684fSmrg		basic_machine=x86_64-pc
10456a45684fSmrg		os=-rdos
10466a45684fSmrg		;;
10476a45684fSmrg	rdos32)
1048e6232409Smrg		basic_machine=i386-pc
1049e6232409Smrg		os=-rdos
1050e6232409Smrg		;;
1051e6232409Smrg	rom68k)
1052e6232409Smrg		basic_machine=m68k-rom68k
1053e6232409Smrg		os=-coff
1054e6232409Smrg		;;
1055e6232409Smrg	rm[46]00)
1056e6232409Smrg		basic_machine=mips-siemens
1057e6232409Smrg		;;
1058e6232409Smrg	rtpc | rtpc-*)
1059e6232409Smrg		basic_machine=romp-ibm
1060e6232409Smrg		;;
1061e6232409Smrg	s390 | s390-*)
1062e6232409Smrg		basic_machine=s390-ibm
1063e6232409Smrg		;;
1064e6232409Smrg	s390x | s390x-*)
1065e6232409Smrg		basic_machine=s390x-ibm
1066e6232409Smrg		;;
1067e6232409Smrg	sa29200)
1068e6232409Smrg		basic_machine=a29k-amd
1069e6232409Smrg		os=-udi
1070e6232409Smrg		;;
1071e6232409Smrg	sb1)
1072e6232409Smrg		basic_machine=mipsisa64sb1-unknown
1073e6232409Smrg		;;
1074e6232409Smrg	sb1el)
1075e6232409Smrg		basic_machine=mipsisa64sb1el-unknown
1076e6232409Smrg		;;
1077e6232409Smrg	sde)
1078e6232409Smrg		basic_machine=mipsisa32-sde
1079e6232409Smrg		os=-elf
1080e6232409Smrg		;;
1081e6232409Smrg	sei)
1082e6232409Smrg		basic_machine=mips-sei
1083e6232409Smrg		os=-seiux
1084e6232409Smrg		;;
1085e6232409Smrg	sequent)
1086e6232409Smrg		basic_machine=i386-sequent
1087e6232409Smrg		;;
1088e6232409Smrg	sh)
1089e6232409Smrg		basic_machine=sh-hitachi
1090e6232409Smrg		os=-hms
1091e6232409Smrg		;;
1092e6232409Smrg	sh5el)
1093e6232409Smrg		basic_machine=sh5le-unknown
1094e6232409Smrg		;;
1095e6232409Smrg	sh64)
1096e6232409Smrg		basic_machine=sh64-unknown
1097e6232409Smrg		;;
1098e6232409Smrg	sparclite-wrs | simso-wrs)
1099e6232409Smrg		basic_machine=sparclite-wrs
1100e6232409Smrg		os=-vxworks
1101e6232409Smrg		;;
1102e6232409Smrg	sps7)
1103e6232409Smrg		basic_machine=m68k-bull
1104e6232409Smrg		os=-sysv2
1105e6232409Smrg		;;
1106e6232409Smrg	spur)
1107e6232409Smrg		basic_machine=spur-unknown
1108e6232409Smrg		;;
1109e6232409Smrg	st2000)
1110e6232409Smrg		basic_machine=m68k-tandem
1111e6232409Smrg		;;
1112e6232409Smrg	stratus)
1113e6232409Smrg		basic_machine=i860-stratus
1114e6232409Smrg		os=-sysv4
1115e6232409Smrg		;;
111694a251fdSmrg	strongarm-* | thumb-*)
111794a251fdSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
111894a251fdSmrg		;;
1119e6232409Smrg	sun2)
1120e6232409Smrg		basic_machine=m68000-sun
1121e6232409Smrg		;;
1122e6232409Smrg	sun2os3)
1123e6232409Smrg		basic_machine=m68000-sun
1124e6232409Smrg		os=-sunos3
1125e6232409Smrg		;;
1126e6232409Smrg	sun2os4)
1127e6232409Smrg		basic_machine=m68000-sun
1128e6232409Smrg		os=-sunos4
1129e6232409Smrg		;;
1130e6232409Smrg	sun3os3)
1131e6232409Smrg		basic_machine=m68k-sun
1132e6232409Smrg		os=-sunos3
1133e6232409Smrg		;;
1134e6232409Smrg	sun3os4)
1135e6232409Smrg		basic_machine=m68k-sun
1136e6232409Smrg		os=-sunos4
1137e6232409Smrg		;;
1138e6232409Smrg	sun4os3)
1139e6232409Smrg		basic_machine=sparc-sun
1140e6232409Smrg		os=-sunos3
1141e6232409Smrg		;;
1142e6232409Smrg	sun4os4)
1143e6232409Smrg		basic_machine=sparc-sun
1144e6232409Smrg		os=-sunos4
1145e6232409Smrg		;;
1146e6232409Smrg	sun4sol2)
1147e6232409Smrg		basic_machine=sparc-sun
1148e6232409Smrg		os=-solaris2
1149e6232409Smrg		;;
1150e6232409Smrg	sun3 | sun3-*)
1151e6232409Smrg		basic_machine=m68k-sun
1152e6232409Smrg		;;
1153e6232409Smrg	sun4)
1154e6232409Smrg		basic_machine=sparc-sun
1155e6232409Smrg		;;
1156e6232409Smrg	sun386 | sun386i | roadrunner)
1157e6232409Smrg		basic_machine=i386-sun
1158e6232409Smrg		;;
1159e6232409Smrg	sv1)
1160e6232409Smrg		basic_machine=sv1-cray
1161e6232409Smrg		os=-unicos
1162e6232409Smrg		;;
1163e6232409Smrg	symmetry)
1164e6232409Smrg		basic_machine=i386-sequent
1165e6232409Smrg		os=-dynix
1166e6232409Smrg		;;
1167e6232409Smrg	t3e)
1168e6232409Smrg		basic_machine=alphaev5-cray
1169e6232409Smrg		os=-unicos
1170e6232409Smrg		;;
1171e6232409Smrg	t90)
1172e6232409Smrg		basic_machine=t90-cray
1173e6232409Smrg		os=-unicos
1174e6232409Smrg		;;
11758fff3f40Smrg	tile*)
117694a251fdSmrg		basic_machine=$basic_machine-unknown
11778fff3f40Smrg		os=-linux-gnu
11788fff3f40Smrg		;;
1179e6232409Smrg	tx39)
1180e6232409Smrg		basic_machine=mipstx39-unknown
1181e6232409Smrg		;;
1182e6232409Smrg	tx39el)
1183e6232409Smrg		basic_machine=mipstx39el-unknown
1184e6232409Smrg		;;
1185e6232409Smrg	toad1)
1186e6232409Smrg		basic_machine=pdp10-xkl
1187e6232409Smrg		os=-tops20
1188e6232409Smrg		;;
1189e6232409Smrg	tower | tower-32)
1190e6232409Smrg		basic_machine=m68k-ncr
1191e6232409Smrg		;;
1192e6232409Smrg	tpf)
1193e6232409Smrg		basic_machine=s390x-ibm
1194e6232409Smrg		os=-tpf
1195e6232409Smrg		;;
1196e6232409Smrg	udi29k)
1197e6232409Smrg		basic_machine=a29k-amd
1198e6232409Smrg		os=-udi
1199e6232409Smrg		;;
1200e6232409Smrg	ultra3)
1201e6232409Smrg		basic_machine=a29k-nyu
1202e6232409Smrg		os=-sym1
1203e6232409Smrg		;;
1204e6232409Smrg	v810 | necv810)
1205e6232409Smrg		basic_machine=v810-nec
1206e6232409Smrg		os=-none
1207e6232409Smrg		;;
1208e6232409Smrg	vaxv)
1209e6232409Smrg		basic_machine=vax-dec
1210e6232409Smrg		os=-sysv
1211e6232409Smrg		;;
1212e6232409Smrg	vms)
1213e6232409Smrg		basic_machine=vax-dec
1214e6232409Smrg		os=-vms
1215e6232409Smrg		;;
1216e6232409Smrg	vpp*|vx|vx-*)
1217e6232409Smrg		basic_machine=f301-fujitsu
1218e6232409Smrg		;;
1219e6232409Smrg	vxworks960)
1220e6232409Smrg		basic_machine=i960-wrs
1221e6232409Smrg		os=-vxworks
1222e6232409Smrg		;;
1223e6232409Smrg	vxworks68)
1224e6232409Smrg		basic_machine=m68k-wrs
1225e6232409Smrg		os=-vxworks
1226e6232409Smrg		;;
1227e6232409Smrg	vxworks29k)
1228e6232409Smrg		basic_machine=a29k-wrs
1229e6232409Smrg		os=-vxworks
1230e6232409Smrg		;;
1231e6232409Smrg	w65*)
1232e6232409Smrg		basic_machine=w65-wdc
1233e6232409Smrg		os=-none
1234e6232409Smrg		;;
1235e6232409Smrg	w89k-*)
1236e6232409Smrg		basic_machine=hppa1.1-winbond
1237e6232409Smrg		os=-proelf
1238e6232409Smrg		;;
1239e6232409Smrg	xbox)
1240e6232409Smrg		basic_machine=i686-pc
1241e6232409Smrg		os=-mingw32
1242e6232409Smrg		;;
1243e6232409Smrg	xps | xps100)
1244e6232409Smrg		basic_machine=xps100-honeywell
1245e6232409Smrg		;;
124694a251fdSmrg	xscale-* | xscalee[bl]-*)
124794a251fdSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
124894a251fdSmrg		;;
1249e6232409Smrg	ymp)
1250e6232409Smrg		basic_machine=ymp-cray
1251e6232409Smrg		os=-unicos
1252e6232409Smrg		;;
1253e6232409Smrg	z8k-*-coff)
1254e6232409Smrg		basic_machine=z8k-unknown
1255e6232409Smrg		os=-sim
1256e6232409Smrg		;;
12578fff3f40Smrg	z80-*-coff)
12588fff3f40Smrg		basic_machine=z80-unknown
12598fff3f40Smrg		os=-sim
12608fff3f40Smrg		;;
1261e6232409Smrg	none)
1262e6232409Smrg		basic_machine=none-none
1263e6232409Smrg		os=-none
1264e6232409Smrg		;;
1265e6232409Smrg
1266e6232409Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1267e6232409Smrg# some cases the only manufacturer, in others, it is the most popular.
1268e6232409Smrg	w89k)
1269e6232409Smrg		basic_machine=hppa1.1-winbond
1270e6232409Smrg		;;
1271e6232409Smrg	op50n)
1272e6232409Smrg		basic_machine=hppa1.1-oki
1273e6232409Smrg		;;
1274e6232409Smrg	op60c)
1275e6232409Smrg		basic_machine=hppa1.1-oki
1276e6232409Smrg		;;
1277e6232409Smrg	romp)
1278e6232409Smrg		basic_machine=romp-ibm
1279e6232409Smrg		;;
1280e6232409Smrg	mmix)
1281e6232409Smrg		basic_machine=mmix-knuth
1282e6232409Smrg		;;
1283e6232409Smrg	rs6000)
1284e6232409Smrg		basic_machine=rs6000-ibm
1285e6232409Smrg		;;
1286e6232409Smrg	vax)
1287e6232409Smrg		basic_machine=vax-dec
1288e6232409Smrg		;;
1289e6232409Smrg	pdp10)
1290e6232409Smrg		# there are many clones, so DEC is not a safe bet
1291e6232409Smrg		basic_machine=pdp10-unknown
1292e6232409Smrg		;;
1293e6232409Smrg	pdp11)
1294e6232409Smrg		basic_machine=pdp11-dec
1295e6232409Smrg		;;
1296e6232409Smrg	we32k)
1297e6232409Smrg		basic_machine=we32k-att
1298e6232409Smrg		;;
12998fff3f40Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1300e6232409Smrg		basic_machine=sh-unknown
1301e6232409Smrg		;;
1302e6232409Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1303e6232409Smrg		basic_machine=sparc-sun
1304e6232409Smrg		;;
1305e6232409Smrg	cydra)
1306e6232409Smrg		basic_machine=cydra-cydrome
1307e6232409Smrg		;;
1308e6232409Smrg	orion)
1309e6232409Smrg		basic_machine=orion-highlevel
1310e6232409Smrg		;;
1311e6232409Smrg	orion105)
1312e6232409Smrg		basic_machine=clipper-highlevel
1313e6232409Smrg		;;
1314e6232409Smrg	mac | mpw | mac-mpw)
1315e6232409Smrg		basic_machine=m68k-apple
1316e6232409Smrg		;;
1317e6232409Smrg	pmac | pmac-mpw)
1318e6232409Smrg		basic_machine=powerpc-apple
1319e6232409Smrg		;;
1320e6232409Smrg	*-unknown)
1321e6232409Smrg		# Make sure to match an already-canonicalized machine name.
1322e6232409Smrg		;;
1323e6232409Smrg	*)
1324e6232409Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1325e6232409Smrg		exit 1
1326e6232409Smrg		;;
1327e6232409Smrgesac
1328e6232409Smrg
1329e6232409Smrg# Here we canonicalize certain aliases for manufacturers.
1330e6232409Smrgcase $basic_machine in
1331e6232409Smrg	*-digital*)
1332e6232409Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1333e6232409Smrg		;;
1334e6232409Smrg	*-commodore*)
1335e6232409Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1336e6232409Smrg		;;
1337e6232409Smrg	*)
1338e6232409Smrg		;;
1339e6232409Smrgesac
1340e6232409Smrg
1341e6232409Smrg# Decode manufacturer-specific aliases for certain operating systems.
1342e6232409Smrg
1343e6232409Smrgif [ x"$os" != x"" ]
1344e6232409Smrgthen
1345e6232409Smrgcase $os in
134694a251fdSmrg	# First match some system type aliases
134794a251fdSmrg	# that might get confused with valid system types.
1348e6232409Smrg	# -solaris* is a basic system type, with this one exception.
134994a251fdSmrg	-auroraux)
135094a251fdSmrg		os=-auroraux
13518fff3f40Smrg		;;
1352e6232409Smrg	-solaris1 | -solaris1.*)
1353e6232409Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1354e6232409Smrg		;;
1355e6232409Smrg	-solaris)
1356e6232409Smrg		os=-solaris2
1357e6232409Smrg		;;
1358e6232409Smrg	-svr4*)
1359e6232409Smrg		os=-sysv4
1360e6232409Smrg		;;
1361e6232409Smrg	-unixware*)
1362e6232409Smrg		os=-sysv4.2uw
1363e6232409Smrg		;;
1364e6232409Smrg	-gnu/linux*)
1365e6232409Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1366e6232409Smrg		;;
1367e6232409Smrg	# First accept the basic system types.
1368e6232409Smrg	# The portable systems comes first.
1369e6232409Smrg	# Each alternative MUST END IN A *, to match a version number.
1370e6232409Smrg	# -sysv* is not here because it comes later, after sysvr4.
1371e6232409Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13728fff3f40Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13738fff3f40Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13746a45684fSmrg	      | -sym* | -kopensolaris* | -plan9* \
1375e6232409Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13768fff3f40Smrg	      | -aos* | -aros* \
1377e6232409Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1378e6232409Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1379e6232409Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13806a45684fSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
1381e6232409Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1382e6232409Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1383e6232409Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1384e6232409Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13858fff3f40Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
138694a251fdSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13876a45684fSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
13886a45684fSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13896a45684fSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1390e6232409Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1391e6232409Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1392e6232409Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1393e6232409Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1394e6232409Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1395e6232409Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13966a45684fSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
1397e6232409Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1398e6232409Smrg		;;
1399e6232409Smrg	-qnx*)
1400e6232409Smrg		case $basic_machine in
1401e6232409Smrg		    x86-* | i*86-*)
1402e6232409Smrg			;;
1403e6232409Smrg		    *)
1404e6232409Smrg			os=-nto$os
1405e6232409Smrg			;;
1406e6232409Smrg		esac
1407e6232409Smrg		;;
1408e6232409Smrg	-nto-qnx*)
1409e6232409Smrg		;;
1410e6232409Smrg	-nto*)
1411e6232409Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1412e6232409Smrg		;;
1413e6232409Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1414e6232409Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1415e6232409Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1416e6232409Smrg		;;
1417e6232409Smrg	-mac*)
1418e6232409Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1419e6232409Smrg		;;
1420e6232409Smrg	-linux-dietlibc)
1421e6232409Smrg		os=-linux-dietlibc
1422e6232409Smrg		;;
1423e6232409Smrg	-linux*)
1424e6232409Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1425e6232409Smrg		;;
1426e6232409Smrg	-sunos5*)
1427e6232409Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1428e6232409Smrg		;;
1429e6232409Smrg	-sunos6*)
1430e6232409Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1431e6232409Smrg		;;
1432e6232409Smrg	-opened*)
1433e6232409Smrg		os=-openedition
1434e6232409Smrg		;;
143594a251fdSmrg	-os400*)
1436e6232409Smrg		os=-os400
1437e6232409Smrg		;;
1438e6232409Smrg	-wince*)
1439e6232409Smrg		os=-wince
1440e6232409Smrg		;;
1441e6232409Smrg	-osfrose*)
1442e6232409Smrg		os=-osfrose
1443e6232409Smrg		;;
1444e6232409Smrg	-osf*)
1445e6232409Smrg		os=-osf
1446e6232409Smrg		;;
1447e6232409Smrg	-utek*)
1448e6232409Smrg		os=-bsd
1449e6232409Smrg		;;
1450e6232409Smrg	-dynix*)
1451e6232409Smrg		os=-bsd
1452e6232409Smrg		;;
1453e6232409Smrg	-acis*)
1454e6232409Smrg		os=-aos
1455e6232409Smrg		;;
1456e6232409Smrg	-atheos*)
1457e6232409Smrg		os=-atheos
1458e6232409Smrg		;;
1459e6232409Smrg	-syllable*)
1460e6232409Smrg		os=-syllable
1461e6232409Smrg		;;
1462e6232409Smrg	-386bsd)
1463e6232409Smrg		os=-bsd
1464e6232409Smrg		;;
1465e6232409Smrg	-ctix* | -uts*)
1466e6232409Smrg		os=-sysv
1467e6232409Smrg		;;
1468e6232409Smrg	-nova*)
1469e6232409Smrg		os=-rtmk-nova
1470e6232409Smrg		;;
1471e6232409Smrg	-ns2 )
1472e6232409Smrg		os=-nextstep2
1473e6232409Smrg		;;
1474e6232409Smrg	-nsk*)
1475e6232409Smrg		os=-nsk
1476e6232409Smrg		;;
1477e6232409Smrg	# Preserve the version number of sinix5.
1478e6232409Smrg	-sinix5.*)
1479e6232409Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1480e6232409Smrg		;;
1481e6232409Smrg	-sinix*)
1482e6232409Smrg		os=-sysv4
1483e6232409Smrg		;;
148494a251fdSmrg	-tpf*)
1485e6232409Smrg		os=-tpf
1486e6232409Smrg		;;
1487e6232409Smrg	-triton*)
1488e6232409Smrg		os=-sysv3
1489e6232409Smrg		;;
1490e6232409Smrg	-oss*)
1491e6232409Smrg		os=-sysv3
1492e6232409Smrg		;;
1493e6232409Smrg	-svr4)
1494e6232409Smrg		os=-sysv4
1495e6232409Smrg		;;
1496e6232409Smrg	-svr3)
1497e6232409Smrg		os=-sysv3
1498e6232409Smrg		;;
1499e6232409Smrg	-sysvr4)
1500e6232409Smrg		os=-sysv4
1501e6232409Smrg		;;
1502e6232409Smrg	# This must come after -sysvr4.
1503e6232409Smrg	-sysv*)
1504e6232409Smrg		;;
1505e6232409Smrg	-ose*)
1506e6232409Smrg		os=-ose
1507e6232409Smrg		;;
1508e6232409Smrg	-es1800*)
1509e6232409Smrg		os=-ose
1510e6232409Smrg		;;
1511e6232409Smrg	-xenix)
1512e6232409Smrg		os=-xenix
1513e6232409Smrg		;;
1514e6232409Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1515e6232409Smrg		os=-mint
1516e6232409Smrg		;;
1517e6232409Smrg	-aros*)
1518e6232409Smrg		os=-aros
1519e6232409Smrg		;;
1520e6232409Smrg	-zvmoe)
1521e6232409Smrg		os=-zvmoe
1522e6232409Smrg		;;
15238fff3f40Smrg	-dicos*)
15248fff3f40Smrg		os=-dicos
15258fff3f40Smrg		;;
152694a251fdSmrg	-nacl*)
152794a251fdSmrg		;;
1528e6232409Smrg	-none)
1529e6232409Smrg		;;
1530e6232409Smrg	*)
1531e6232409Smrg		# Get rid of the `-' at the beginning of $os.
1532e6232409Smrg		os=`echo $os | sed 's/[^-]*-//'`
1533e6232409Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1534e6232409Smrg		exit 1
1535e6232409Smrg		;;
1536e6232409Smrgesac
1537e6232409Smrgelse
1538e6232409Smrg
1539e6232409Smrg# Here we handle the default operating systems that come with various machines.
1540e6232409Smrg# The value should be what the vendor currently ships out the door with their
1541e6232409Smrg# machine or put another way, the most popular os provided with the machine.
1542e6232409Smrg
1543e6232409Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1544e6232409Smrg# "-sun"), then you have to tell the case statement up towards the top
1545e6232409Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1546e6232409Smrg# will signal an error saying that MANUFACTURER isn't an operating
1547e6232409Smrg# system, and we'll never get to this point.
1548e6232409Smrg
1549e6232409Smrgcase $basic_machine in
155094a251fdSmrg	score-*)
1551e6232409Smrg		os=-elf
1552e6232409Smrg		;;
155394a251fdSmrg	spu-*)
1554e6232409Smrg		os=-elf
1555e6232409Smrg		;;
1556e6232409Smrg	*-acorn)
1557e6232409Smrg		os=-riscix1.2
1558e6232409Smrg		;;
1559e6232409Smrg	arm*-rebel)
1560e6232409Smrg		os=-linux
1561e6232409Smrg		;;
1562e6232409Smrg	arm*-semi)
1563e6232409Smrg		os=-aout
1564e6232409Smrg		;;
156594a251fdSmrg	c4x-* | tic4x-*)
156694a251fdSmrg		os=-coff
156794a251fdSmrg		;;
15686a45684fSmrg	c8051-*)
15696a45684fSmrg		os=-elf
15706a45684fSmrg		;;
15716a45684fSmrg	hexagon-*)
15726a45684fSmrg		os=-elf
15736a45684fSmrg		;;
157494a251fdSmrg	tic54x-*)
157594a251fdSmrg		os=-coff
157694a251fdSmrg		;;
157794a251fdSmrg	tic55x-*)
157894a251fdSmrg		os=-coff
157994a251fdSmrg		;;
158094a251fdSmrg	tic6x-*)
158194a251fdSmrg		os=-coff
1582e6232409Smrg		;;
1583e6232409Smrg	# This must come before the *-dec entry.
1584e6232409Smrg	pdp10-*)
1585e6232409Smrg		os=-tops20
1586e6232409Smrg		;;
1587e6232409Smrg	pdp11-*)
1588e6232409Smrg		os=-none
1589e6232409Smrg		;;
1590e6232409Smrg	*-dec | vax-*)
1591e6232409Smrg		os=-ultrix4.2
1592e6232409Smrg		;;
1593e6232409Smrg	m68*-apollo)
1594e6232409Smrg		os=-domain
1595e6232409Smrg		;;
1596e6232409Smrg	i386-sun)
1597e6232409Smrg		os=-sunos4.0.2
1598e6232409Smrg		;;
1599e6232409Smrg	m68000-sun)
1600e6232409Smrg		os=-sunos3
1601e6232409Smrg		;;
1602e6232409Smrg	m68*-cisco)
1603e6232409Smrg		os=-aout
1604e6232409Smrg		;;
160594a251fdSmrg	mep-*)
16068fff3f40Smrg		os=-elf
16078fff3f40Smrg		;;
1608e6232409Smrg	mips*-cisco)
1609e6232409Smrg		os=-elf
1610e6232409Smrg		;;
1611e6232409Smrg	mips*-*)
1612e6232409Smrg		os=-elf
1613e6232409Smrg		;;
1614e6232409Smrg	or32-*)
1615e6232409Smrg		os=-coff
1616e6232409Smrg		;;
1617e6232409Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1618e6232409Smrg		os=-sysv3
1619e6232409Smrg		;;
1620e6232409Smrg	sparc-* | *-sun)
1621e6232409Smrg		os=-sunos4.1.1
1622e6232409Smrg		;;
1623e6232409Smrg	*-be)
1624e6232409Smrg		os=-beos
1625e6232409Smrg		;;
1626e6232409Smrg	*-haiku)
1627e6232409Smrg		os=-haiku
1628e6232409Smrg		;;
1629e6232409Smrg	*-ibm)
1630e6232409Smrg		os=-aix
1631e6232409Smrg		;;
163294a251fdSmrg	*-knuth)
1633e6232409Smrg		os=-mmixware
1634e6232409Smrg		;;
1635e6232409Smrg	*-wec)
1636e6232409Smrg		os=-proelf
1637e6232409Smrg		;;
1638e6232409Smrg	*-winbond)
1639e6232409Smrg		os=-proelf
1640e6232409Smrg		;;
1641e6232409Smrg	*-oki)
1642e6232409Smrg		os=-proelf
1643e6232409Smrg		;;
1644e6232409Smrg	*-hp)
1645e6232409Smrg		os=-hpux
1646e6232409Smrg		;;
1647e6232409Smrg	*-hitachi)
1648e6232409Smrg		os=-hiux
1649e6232409Smrg		;;
1650e6232409Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1651e6232409Smrg		os=-sysv
1652e6232409Smrg		;;
1653e6232409Smrg	*-cbm)
1654e6232409Smrg		os=-amigaos
1655e6232409Smrg		;;
1656e6232409Smrg	*-dg)
1657e6232409Smrg		os=-dgux
1658e6232409Smrg		;;
1659e6232409Smrg	*-dolphin)
1660e6232409Smrg		os=-sysv3
1661e6232409Smrg		;;
1662e6232409Smrg	m68k-ccur)
1663e6232409Smrg		os=-rtu
1664e6232409Smrg		;;
1665e6232409Smrg	m88k-omron*)
1666e6232409Smrg		os=-luna
1667e6232409Smrg		;;
1668e6232409Smrg	*-next )
1669e6232409Smrg		os=-nextstep
1670e6232409Smrg		;;
1671e6232409Smrg	*-sequent)
1672e6232409Smrg		os=-ptx
1673e6232409Smrg		;;
1674e6232409Smrg	*-crds)
1675e6232409Smrg		os=-unos
1676e6232409Smrg		;;
1677e6232409Smrg	*-ns)
1678e6232409Smrg		os=-genix
1679e6232409Smrg		;;
1680e6232409Smrg	i370-*)
1681e6232409Smrg		os=-mvs
1682e6232409Smrg		;;
1683e6232409Smrg	*-next)
1684e6232409Smrg		os=-nextstep3
1685e6232409Smrg		;;
1686e6232409Smrg	*-gould)
1687e6232409Smrg		os=-sysv
1688e6232409Smrg		;;
1689e6232409Smrg	*-highlevel)
1690e6232409Smrg		os=-bsd
1691e6232409Smrg		;;
1692e6232409Smrg	*-encore)
1693e6232409Smrg		os=-bsd
1694e6232409Smrg		;;
1695e6232409Smrg	*-sgi)
1696e6232409Smrg		os=-irix
1697e6232409Smrg		;;
1698e6232409Smrg	*-siemens)
1699e6232409Smrg		os=-sysv4
1700e6232409Smrg		;;
1701e6232409Smrg	*-masscomp)
1702e6232409Smrg		os=-rtu
1703e6232409Smrg		;;
1704e6232409Smrg	f30[01]-fujitsu | f700-fujitsu)
1705e6232409Smrg		os=-uxpv
1706e6232409Smrg		;;
1707e6232409Smrg	*-rom68k)
1708e6232409Smrg		os=-coff
1709e6232409Smrg		;;
1710e6232409Smrg	*-*bug)
1711e6232409Smrg		os=-coff
1712e6232409Smrg		;;
1713e6232409Smrg	*-apple)
1714e6232409Smrg		os=-macos
1715e6232409Smrg		;;
1716e6232409Smrg	*-atari*)
1717e6232409Smrg		os=-mint
1718e6232409Smrg		;;
1719e6232409Smrg	*)
1720e6232409Smrg		os=-none
1721e6232409Smrg		;;
1722e6232409Smrgesac
1723e6232409Smrgfi
1724e6232409Smrg
1725e6232409Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1726e6232409Smrg# manufacturer.  We pick the logical manufacturer.
1727e6232409Smrgvendor=unknown
1728e6232409Smrgcase $basic_machine in
1729e6232409Smrg	*-unknown)
1730e6232409Smrg		case $os in
1731e6232409Smrg			-riscix*)
1732e6232409Smrg				vendor=acorn
1733e6232409Smrg				;;
1734e6232409Smrg			-sunos*)
1735e6232409Smrg				vendor=sun
1736e6232409Smrg				;;
17378fff3f40Smrg			-cnk*|-aix*)
1738e6232409Smrg				vendor=ibm
1739e6232409Smrg				;;
1740e6232409Smrg			-beos*)
1741e6232409Smrg				vendor=be
1742e6232409Smrg				;;
1743e6232409Smrg			-hpux*)
1744e6232409Smrg				vendor=hp
1745e6232409Smrg				;;
1746e6232409Smrg			-mpeix*)
1747e6232409Smrg				vendor=hp
1748e6232409Smrg				;;
1749e6232409Smrg			-hiux*)
1750e6232409Smrg				vendor=hitachi
1751e6232409Smrg				;;
1752e6232409Smrg			-unos*)
1753e6232409Smrg				vendor=crds
1754e6232409Smrg				;;
1755e6232409Smrg			-dgux*)
1756e6232409Smrg				vendor=dg
1757e6232409Smrg				;;
1758e6232409Smrg			-luna*)
1759e6232409Smrg				vendor=omron
1760e6232409Smrg				;;
1761e6232409Smrg			-genix*)
1762e6232409Smrg				vendor=ns
1763e6232409Smrg				;;
1764e6232409Smrg			-mvs* | -opened*)
1765e6232409Smrg				vendor=ibm
1766e6232409Smrg				;;
1767e6232409Smrg			-os400*)
1768e6232409Smrg				vendor=ibm
1769e6232409Smrg				;;
1770e6232409Smrg			-ptx*)
1771e6232409Smrg				vendor=sequent
1772e6232409Smrg				;;
1773e6232409Smrg			-tpf*)
1774e6232409Smrg				vendor=ibm
1775e6232409Smrg				;;
1776e6232409Smrg			-vxsim* | -vxworks* | -windiss*)
1777e6232409Smrg				vendor=wrs
1778e6232409Smrg				;;
1779e6232409Smrg			-aux*)
1780e6232409Smrg				vendor=apple
1781e6232409Smrg				;;
1782e6232409Smrg			-hms*)
1783e6232409Smrg				vendor=hitachi
1784e6232409Smrg				;;
1785e6232409Smrg			-mpw* | -macos*)
1786e6232409Smrg				vendor=apple
1787e6232409Smrg				;;
1788e6232409Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1789e6232409Smrg				vendor=atari
1790e6232409Smrg				;;
1791e6232409Smrg			-vos*)
1792e6232409Smrg				vendor=stratus
1793e6232409Smrg				;;
1794e6232409Smrg		esac
1795e6232409Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1796e6232409Smrg		;;
1797e6232409Smrgesac
1798e6232409Smrg
1799e6232409Smrgecho $basic_machine$os
1800e6232409Smrgexit
1801e6232409Smrg
1802e6232409Smrg# Local variables:
1803e6232409Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1804e6232409Smrg# time-stamp-start: "timestamp='"
1805e6232409Smrg# time-stamp-format: "%:y-%02m-%02d"
1806e6232409Smrg# time-stamp-end: "'"
1807e6232409Smrg# End:
1808