1966bf024Smrg#! /bin/sh
2966bf024Smrg# Configuration validation subroutine script.
3966bf024Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
49384b2f3Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
59384b2f3Smrg#   2011, 2012, 2013 Free Software Foundation, Inc.
6966bf024Smrg
79384b2f3Smrgtimestamp='2012-12-29'
8966bf024Smrg
99384b2f3Smrg# This file is free software; you can redistribute it and/or modify it
109384b2f3Smrg# under the terms of the GNU General Public License as published by
119384b2f3Smrg# the Free Software Foundation; either version 3 of the License, or
12966bf024Smrg# (at your option) any later version.
13966bf024Smrg#
149384b2f3Smrg# This program is distributed in the hope that it will be useful, but
159384b2f3Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
169384b2f3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
179384b2f3Smrg# General Public License for more details.
18966bf024Smrg#
19966bf024Smrg# You should have received a copy of the GNU General Public License
209384b2f3Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
219384b2f3Smrg#
22966bf024Smrg# As a special exception to the GNU General Public License, if you
23966bf024Smrg# distribute this file as part of a program that contains a
24966bf024Smrg# configuration script generated by Autoconf, you may include it under
259384b2f3Smrg# the same distribution terms that you use for the rest of that
269384b2f3Smrg# program.  This Exception is an additional permission under section 7
279384b2f3Smrg# of the GNU General Public License, version 3 ("GPLv3").
28966bf024Smrg
299384b2f3Smrg
309384b2f3Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
31966bf024Smrg#
32966bf024Smrg# Configuration subroutine to validate and canonicalize a configuration type.
33966bf024Smrg# Supply the specified configuration type as an argument.
34966bf024Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
35966bf024Smrg# Otherwise, we print the canonical config type on stdout and succeed.
36966bf024Smrg
379384b2f3Smrg# You can get the latest version of this script from:
389384b2f3Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
399384b2f3Smrg
40966bf024Smrg# This file is supposed to be the same for all GNU packages
41966bf024Smrg# and recognize all the CPU types, system types and aliases
42966bf024Smrg# that are meaningful with *any* GNU software.
43966bf024Smrg# Each package is responsible for reporting which valid configurations
44966bf024Smrg# it does not support.  The user should be able to distinguish
45966bf024Smrg# a failure to support a valid configuration from a meaningless
46966bf024Smrg# configuration.
47966bf024Smrg
48966bf024Smrg# The goal of this file is to map all the various variations of a given
49966bf024Smrg# machine specification into a single specification in the form:
50966bf024Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51966bf024Smrg# or in some cases, the newer four-part form:
52966bf024Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53966bf024Smrg# It is wrong to echo any other type of specification.
54966bf024Smrg
55966bf024Smrgme=`echo "$0" | sed -e 's,.*/,,'`
56966bf024Smrg
57966bf024Smrgusage="\
58966bf024SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
59966bf024Smrg       $0 [OPTION] ALIAS
60966bf024Smrg
61966bf024SmrgCanonicalize a configuration name.
62966bf024Smrg
63966bf024SmrgOperation modes:
64966bf024Smrg  -h, --help         print this help, then exit
65966bf024Smrg  -t, --time-stamp   print date of last modification, then exit
66966bf024Smrg  -v, --version      print version number, then exit
67966bf024Smrg
68966bf024SmrgReport bugs and patches to <config-patches@gnu.org>."
69966bf024Smrg
70966bf024Smrgversion="\
71966bf024SmrgGNU config.sub ($timestamp)
72966bf024Smrg
739384b2f3SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
749384b2f3Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
759384b2f3Smrg2012, 2013 Free Software Foundation, Inc.
76966bf024Smrg
77966bf024SmrgThis is free software; see the source for copying conditions.  There is NO
78966bf024Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
79966bf024Smrg
80966bf024Smrghelp="
81966bf024SmrgTry \`$me --help' for more information."
82966bf024Smrg
83966bf024Smrg# Parse command line
84966bf024Smrgwhile test $# -gt 0 ; do
85966bf024Smrg  case $1 in
86966bf024Smrg    --time-stamp | --time* | -t )
879384b2f3Smrg       echo "$timestamp" ; exit ;;
88966bf024Smrg    --version | -v )
899384b2f3Smrg       echo "$version" ; exit ;;
90966bf024Smrg    --help | --h* | -h )
919384b2f3Smrg       echo "$usage"; exit ;;
92966bf024Smrg    -- )     # Stop option processing
93966bf024Smrg       shift; break ;;
94966bf024Smrg    - )	# Use stdin as input.
95966bf024Smrg       break ;;
96966bf024Smrg    -* )
97966bf024Smrg       echo "$me: invalid option $1$help"
98966bf024Smrg       exit 1 ;;
99966bf024Smrg
100966bf024Smrg    *local*)
101966bf024Smrg       # First pass through any local machine types.
102966bf024Smrg       echo $1
1039384b2f3Smrg       exit ;;
104966bf024Smrg
105966bf024Smrg    * )
106966bf024Smrg       break ;;
107966bf024Smrg  esac
108966bf024Smrgdone
109966bf024Smrg
110966bf024Smrgcase $# in
111966bf024Smrg 0) echo "$me: missing argument$help" >&2
112966bf024Smrg    exit 1;;
113966bf024Smrg 1) ;;
114966bf024Smrg *) echo "$me: too many arguments$help" >&2
115966bf024Smrg    exit 1;;
116966bf024Smrgesac
117966bf024Smrg
118966bf024Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119966bf024Smrg# Here we must recognize all the valid KERNEL-OS combinations.
120966bf024Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
121966bf024Smrgcase $maybe_os in
1229384b2f3Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1239384b2f3Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1249384b2f3Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1259384b2f3Smrg  kopensolaris*-gnu* | \
1269384b2f3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
127966bf024Smrg    os=-$maybe_os
128966bf024Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
129966bf024Smrg    ;;
1309384b2f3Smrg  android-linux)
1319384b2f3Smrg    os=-linux-android
1329384b2f3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1339384b2f3Smrg    ;;
134966bf024Smrg  *)
135966bf024Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136966bf024Smrg    if [ $basic_machine != $1 ]
137966bf024Smrg    then os=`echo $1 | sed 's/.*-/-/'`
138966bf024Smrg    else os=; fi
139966bf024Smrg    ;;
140966bf024Smrgesac
141966bf024Smrg
142966bf024Smrg### Let's recognize common machines as not being operating systems so
143966bf024Smrg### that things like config.sub decstation-3100 work.  We also
144966bf024Smrg### recognize some manufacturers as not being operating systems, so we
145966bf024Smrg### can provide default operating systems below.
146966bf024Smrgcase $os in
147966bf024Smrg	-sun*os*)
148966bf024Smrg		# Prevent following clause from handling this invalid input.
149966bf024Smrg		;;
150966bf024Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151966bf024Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152966bf024Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153966bf024Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154966bf024Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155966bf024Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1569384b2f3Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
157966bf024Smrg		os=
158966bf024Smrg		basic_machine=$1
159966bf024Smrg		;;
1609384b2f3Smrg	-bluegene*)
1619384b2f3Smrg		os=-cnk
1629384b2f3Smrg		;;
163966bf024Smrg	-sim | -cisco | -oki | -wec | -winbond)
164966bf024Smrg		os=
165966bf024Smrg		basic_machine=$1
166966bf024Smrg		;;
167966bf024Smrg	-scout)
168966bf024Smrg		;;
169966bf024Smrg	-wrs)
170966bf024Smrg		os=-vxworks
171966bf024Smrg		basic_machine=$1
172966bf024Smrg		;;
173966bf024Smrg	-chorusos*)
174966bf024Smrg		os=-chorusos
175966bf024Smrg		basic_machine=$1
176966bf024Smrg		;;
1779384b2f3Smrg	-chorusrdb)
1789384b2f3Smrg		os=-chorusrdb
179966bf024Smrg		basic_machine=$1
1809384b2f3Smrg		;;
181966bf024Smrg	-hiux*)
182966bf024Smrg		os=-hiuxwe2
183966bf024Smrg		;;
1849384b2f3Smrg	-sco6)
1859384b2f3Smrg		os=-sco5v6
1869384b2f3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1879384b2f3Smrg		;;
188966bf024Smrg	-sco5)
189966bf024Smrg		os=-sco3.2v5
190966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191966bf024Smrg		;;
192966bf024Smrg	-sco4)
193966bf024Smrg		os=-sco3.2v4
194966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195966bf024Smrg		;;
196966bf024Smrg	-sco3.2.[4-9]*)
197966bf024Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199966bf024Smrg		;;
200966bf024Smrg	-sco3.2v[4-9]*)
201966bf024Smrg		# Don't forget version if it is 3.2v4 or newer.
202966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203966bf024Smrg		;;
2049384b2f3Smrg	-sco5v6*)
2059384b2f3Smrg		# Don't forget version if it is 3.2v4 or newer.
2069384b2f3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2079384b2f3Smrg		;;
208966bf024Smrg	-sco*)
209966bf024Smrg		os=-sco3.2v2
210966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211966bf024Smrg		;;
212966bf024Smrg	-udk*)
213966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214966bf024Smrg		;;
215966bf024Smrg	-isc)
216966bf024Smrg		os=-isc2.2
217966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218966bf024Smrg		;;
219966bf024Smrg	-clix*)
220966bf024Smrg		basic_machine=clipper-intergraph
221966bf024Smrg		;;
222966bf024Smrg	-isc*)
223966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
224966bf024Smrg		;;
2259384b2f3Smrg	-lynx*178)
2269384b2f3Smrg		os=-lynxos178
2279384b2f3Smrg		;;
2289384b2f3Smrg	-lynx*5)
2299384b2f3Smrg		os=-lynxos5
2309384b2f3Smrg		;;
231966bf024Smrg	-lynx*)
232966bf024Smrg		os=-lynxos
233966bf024Smrg		;;
234966bf024Smrg	-ptx*)
235966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
236966bf024Smrg		;;
237966bf024Smrg	-windowsnt*)
238966bf024Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
239966bf024Smrg		;;
240966bf024Smrg	-psos*)
241966bf024Smrg		os=-psos
242966bf024Smrg		;;
243966bf024Smrg	-mint | -mint[0-9]*)
244966bf024Smrg		basic_machine=m68k-atari
245966bf024Smrg		os=-mint
246966bf024Smrg		;;
247966bf024Smrgesac
248966bf024Smrg
249966bf024Smrg# Decode aliases for certain CPU-COMPANY combinations.
250966bf024Smrgcase $basic_machine in
251966bf024Smrg	# Recognize the basic CPU types without company name.
252966bf024Smrg	# Some are omitted here because they have special meanings below.
253966bf024Smrg	1750a | 580 \
254966bf024Smrg	| a29k \
2559384b2f3Smrg	| aarch64 | aarch64_be \
256966bf024Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
257966bf024Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2589384b2f3Smrg	| am33_2.0 \
2599384b2f3Smrg	| arc \
2609384b2f3Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2619384b2f3Smrg	| avr | avr32 \
2629384b2f3Smrg	| be32 | be64 \
2639384b2f3Smrg	| bfin \
264966bf024Smrg	| c4x | clipper \
265966bf024Smrg	| d10v | d30v | dlx | dsp16xx \
2669384b2f3Smrg	| epiphany \
2679384b2f3Smrg	| fido | fr30 | frv \
268966bf024Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2699384b2f3Smrg	| hexagon \
270966bf024Smrg	| i370 | i860 | i960 | ia64 \
2719384b2f3Smrg	| ip2k | iq2000 \
2729384b2f3Smrg	| le32 | le64 \
2739384b2f3Smrg	| lm32 \
2749384b2f3Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2759384b2f3Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
276966bf024Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
277966bf024Smrg	| mips16 \
278966bf024Smrg	| mips64 | mips64el \
2799384b2f3Smrg	| mips64octeon | mips64octeonel \
280966bf024Smrg	| mips64orion | mips64orionel \
2819384b2f3Smrg	| mips64r5900 | mips64r5900el \
2829384b2f3Smrg	| mips64vr | mips64vrel \
283966bf024Smrg	| mips64vr4100 | mips64vr4100el \
284966bf024Smrg	| mips64vr4300 | mips64vr4300el \
285966bf024Smrg	| mips64vr5000 | mips64vr5000el \
2869384b2f3Smrg	| mips64vr5900 | mips64vr5900el \
287966bf024Smrg	| mipsisa32 | mipsisa32el \
288966bf024Smrg	| mipsisa32r2 | mipsisa32r2el \
289966bf024Smrg	| mipsisa64 | mipsisa64el \
2909384b2f3Smrg	| mipsisa64r2 | mipsisa64r2el \
291966bf024Smrg	| mipsisa64sb1 | mipsisa64sb1el \
292966bf024Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
293966bf024Smrg	| mipstx39 | mipstx39el \
294966bf024Smrg	| mn10200 | mn10300 \
2959384b2f3Smrg	| moxie \
2969384b2f3Smrg	| mt \
297966bf024Smrg	| msp430 \
2989384b2f3Smrg	| nds32 | nds32le | nds32be \
2999384b2f3Smrg	| nios | nios2 \
300966bf024Smrg	| ns16k | ns32k \
3019384b2f3Smrg	| open8 \
3029384b2f3Smrg	| or32 \
303966bf024Smrg	| pdp10 | pdp11 | pj | pjl \
3049384b2f3Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
305966bf024Smrg	| pyramid \
3069384b2f3Smrg	| rl78 | rx \
3079384b2f3Smrg	| score \
3089384b2f3Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309966bf024Smrg	| sh64 | sh64le \
3109384b2f3Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3119384b2f3Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3129384b2f3Smrg	| spu \
3139384b2f3Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3149384b2f3Smrg	| ubicom32 \
3159384b2f3Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316966bf024Smrg	| we32k \
3179384b2f3Smrg	| x86 | xc16x | xstormy16 | xtensa \
3189384b2f3Smrg	| z8k | z80)
319966bf024Smrg		basic_machine=$basic_machine-unknown
320966bf024Smrg		;;
3219384b2f3Smrg	c54x)
3229384b2f3Smrg		basic_machine=tic54x-unknown
3239384b2f3Smrg		;;
3249384b2f3Smrg	c55x)
3259384b2f3Smrg		basic_machine=tic55x-unknown
3269384b2f3Smrg		;;
3279384b2f3Smrg	c6x)
3289384b2f3Smrg		basic_machine=tic6x-unknown
3299384b2f3Smrg		;;
3309384b2f3Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
331966bf024Smrg		basic_machine=$basic_machine-unknown
332966bf024Smrg		os=-none
333966bf024Smrg		;;
334966bf024Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
335966bf024Smrg		;;
3369384b2f3Smrg	ms1)
3379384b2f3Smrg		basic_machine=mt-unknown
3389384b2f3Smrg		;;
3399384b2f3Smrg
3409384b2f3Smrg	strongarm | thumb | xscale)
3419384b2f3Smrg		basic_machine=arm-unknown
3429384b2f3Smrg		;;
3439384b2f3Smrg	xgate)
3449384b2f3Smrg		basic_machine=$basic_machine-unknown
3459384b2f3Smrg		os=-none
3469384b2f3Smrg		;;
3479384b2f3Smrg	xscaleeb)
3489384b2f3Smrg		basic_machine=armeb-unknown
3499384b2f3Smrg		;;
3509384b2f3Smrg
3519384b2f3Smrg	xscaleel)
3529384b2f3Smrg		basic_machine=armel-unknown
3539384b2f3Smrg		;;
354966bf024Smrg
355966bf024Smrg	# We use `pc' rather than `unknown'
356966bf024Smrg	# because (1) that's what they normally are, and
357966bf024Smrg	# (2) the word "unknown" tends to confuse beginning users.
358966bf024Smrg	i*86 | x86_64)
359966bf024Smrg	  basic_machine=$basic_machine-pc
360966bf024Smrg	  ;;
361966bf024Smrg	# Object if more than one company name word.
362966bf024Smrg	*-*-*)
363966bf024Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
364966bf024Smrg		exit 1
365966bf024Smrg		;;
366966bf024Smrg	# Recognize the basic CPU types with company name.
367966bf024Smrg	580-* \
368966bf024Smrg	| a29k-* \
3699384b2f3Smrg	| aarch64-* | aarch64_be-* \
370966bf024Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
371966bf024Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
372966bf024Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
373966bf024Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3749384b2f3Smrg	| avr-* | avr32-* \
3759384b2f3Smrg	| be32-* | be64-* \
3769384b2f3Smrg	| bfin-* | bs2000-* \
3779384b2f3Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3789384b2f3Smrg	| clipper-* | craynv-* | cydra-* \
379966bf024Smrg	| d10v-* | d30v-* | dlx-* \
380966bf024Smrg	| elxsi-* \
3819384b2f3Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
382966bf024Smrg	| h8300-* | h8500-* \
383966bf024Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3849384b2f3Smrg	| hexagon-* \
385966bf024Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3869384b2f3Smrg	| ip2k-* | iq2000-* \
3879384b2f3Smrg	| le32-* | le64-* \
3889384b2f3Smrg	| lm32-* \
3899384b2f3Smrg	| m32c-* | m32r-* | m32rle-* \
390966bf024Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3919384b2f3Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3929384b2f3Smrg	| microblaze-* | microblazeel-* \
393966bf024Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394966bf024Smrg	| mips16-* \
395966bf024Smrg	| mips64-* | mips64el-* \
3969384b2f3Smrg	| mips64octeon-* | mips64octeonel-* \
397966bf024Smrg	| mips64orion-* | mips64orionel-* \
3989384b2f3Smrg	| mips64r5900-* | mips64r5900el-* \
3999384b2f3Smrg	| mips64vr-* | mips64vrel-* \
400966bf024Smrg	| mips64vr4100-* | mips64vr4100el-* \
401966bf024Smrg	| mips64vr4300-* | mips64vr4300el-* \
402966bf024Smrg	| mips64vr5000-* | mips64vr5000el-* \
4039384b2f3Smrg	| mips64vr5900-* | mips64vr5900el-* \
404966bf024Smrg	| mipsisa32-* | mipsisa32el-* \
405966bf024Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
406966bf024Smrg	| mipsisa64-* | mipsisa64el-* \
4079384b2f3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
408966bf024Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
409966bf024Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410966bf024Smrg	| mipstx39-* | mipstx39el-* \
4119384b2f3Smrg	| mmix-* \
4129384b2f3Smrg	| mt-* \
413966bf024Smrg	| msp430-* \
4149384b2f3Smrg	| nds32-* | nds32le-* | nds32be-* \
4159384b2f3Smrg	| nios-* | nios2-* \
4169384b2f3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4179384b2f3Smrg	| open8-* \
418966bf024Smrg	| orion-* \
419966bf024Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4209384b2f3Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421966bf024Smrg	| pyramid-* \
4229384b2f3Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
4239384b2f3Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424966bf024Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4259384b2f3Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4269384b2f3Smrg	| sparclite-* \
4279384b2f3Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4289384b2f3Smrg	| tahoe-* \
429966bf024Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4309384b2f3Smrg	| tile*-* \
431966bf024Smrg	| tron-* \
4329384b2f3Smrg	| ubicom32-* \
4339384b2f3Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4349384b2f3Smrg	| vax-* \
435966bf024Smrg	| we32k-* \
4369384b2f3Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4379384b2f3Smrg	| xstormy16-* | xtensa*-* \
438966bf024Smrg	| ymp-* \
4399384b2f3Smrg	| z8k-* | z80-*)
4409384b2f3Smrg		;;
4419384b2f3Smrg	# Recognize the basic CPU types without company name, with glob match.
4429384b2f3Smrg	xtensa*)
4439384b2f3Smrg		basic_machine=$basic_machine-unknown
444966bf024Smrg		;;
445966bf024Smrg	# Recognize the various machine names and aliases which stand
446966bf024Smrg	# for a CPU type and a company and sometimes even an OS.
447966bf024Smrg	386bsd)
448966bf024Smrg		basic_machine=i386-unknown
449966bf024Smrg		os=-bsd
450966bf024Smrg		;;
451966bf024Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452966bf024Smrg		basic_machine=m68000-att
453966bf024Smrg		;;
454966bf024Smrg	3b*)
455966bf024Smrg		basic_machine=we32k-att
456966bf024Smrg		;;
457966bf024Smrg	a29khif)
458966bf024Smrg		basic_machine=a29k-amd
459966bf024Smrg		os=-udi
460966bf024Smrg		;;
4619384b2f3Smrg	abacus)
4629384b2f3Smrg		basic_machine=abacus-unknown
4639384b2f3Smrg		;;
464966bf024Smrg	adobe68k)
465966bf024Smrg		basic_machine=m68010-adobe
466966bf024Smrg		os=-scout
467966bf024Smrg		;;
468966bf024Smrg	alliant | fx80)
469966bf024Smrg		basic_machine=fx80-alliant
470966bf024Smrg		;;
471966bf024Smrg	altos | altos3068)
472966bf024Smrg		basic_machine=m68k-altos
473966bf024Smrg		;;
474966bf024Smrg	am29k)
475966bf024Smrg		basic_machine=a29k-none
476966bf024Smrg		os=-bsd
477966bf024Smrg		;;
478966bf024Smrg	amd64)
479966bf024Smrg		basic_machine=x86_64-pc
480966bf024Smrg		;;
4819384b2f3Smrg	amd64-*)
4829384b2f3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4839384b2f3Smrg		;;
484966bf024Smrg	amdahl)
485966bf024Smrg		basic_machine=580-amdahl
486966bf024Smrg		os=-sysv
487966bf024Smrg		;;
488966bf024Smrg	amiga | amiga-*)
489966bf024Smrg		basic_machine=m68k-unknown
490966bf024Smrg		;;
491966bf024Smrg	amigaos | amigados)
492966bf024Smrg		basic_machine=m68k-unknown
493966bf024Smrg		os=-amigaos
494966bf024Smrg		;;
495966bf024Smrg	amigaunix | amix)
496966bf024Smrg		basic_machine=m68k-unknown
497966bf024Smrg		os=-sysv4
498966bf024Smrg		;;
499966bf024Smrg	apollo68)
500966bf024Smrg		basic_machine=m68k-apollo
501966bf024Smrg		os=-sysv
502966bf024Smrg		;;
503966bf024Smrg	apollo68bsd)
504966bf024Smrg		basic_machine=m68k-apollo
505966bf024Smrg		os=-bsd
506966bf024Smrg		;;
5079384b2f3Smrg	aros)
5089384b2f3Smrg		basic_machine=i386-pc
5099384b2f3Smrg		os=-aros
5109384b2f3Smrg		;;
511966bf024Smrg	aux)
512966bf024Smrg		basic_machine=m68k-apple
513966bf024Smrg		os=-aux
514966bf024Smrg		;;
515966bf024Smrg	balance)
516966bf024Smrg		basic_machine=ns32k-sequent
517966bf024Smrg		os=-dynix
518966bf024Smrg		;;
5199384b2f3Smrg	blackfin)
5209384b2f3Smrg		basic_machine=bfin-unknown
5219384b2f3Smrg		os=-linux
5229384b2f3Smrg		;;
5239384b2f3Smrg	blackfin-*)
5249384b2f3Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5259384b2f3Smrg		os=-linux
5269384b2f3Smrg		;;
5279384b2f3Smrg	bluegene*)
5289384b2f3Smrg		basic_machine=powerpc-ibm
5299384b2f3Smrg		os=-cnk
5309384b2f3Smrg		;;
5319384b2f3Smrg	c54x-*)
5329384b2f3Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5339384b2f3Smrg		;;
5349384b2f3Smrg	c55x-*)
5359384b2f3Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5369384b2f3Smrg		;;
5379384b2f3Smrg	c6x-*)
5389384b2f3Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5399384b2f3Smrg		;;
540966bf024Smrg	c90)
541966bf024Smrg		basic_machine=c90-cray
542966bf024Smrg		os=-unicos
543966bf024Smrg		;;
5449384b2f3Smrg	cegcc)
5459384b2f3Smrg		basic_machine=arm-unknown
5469384b2f3Smrg		os=-cegcc
5479384b2f3Smrg		;;
548966bf024Smrg	convex-c1)
549966bf024Smrg		basic_machine=c1-convex
550966bf024Smrg		os=-bsd
551966bf024Smrg		;;
552966bf024Smrg	convex-c2)
553966bf024Smrg		basic_machine=c2-convex
554966bf024Smrg		os=-bsd
555966bf024Smrg		;;
556966bf024Smrg	convex-c32)
557966bf024Smrg		basic_machine=c32-convex
558966bf024Smrg		os=-bsd
559966bf024Smrg		;;
560966bf024Smrg	convex-c34)
561966bf024Smrg		basic_machine=c34-convex
562966bf024Smrg		os=-bsd
563966bf024Smrg		;;
564966bf024Smrg	convex-c38)
565966bf024Smrg		basic_machine=c38-convex
566966bf024Smrg		os=-bsd
567966bf024Smrg		;;
568966bf024Smrg	cray | j90)
569966bf024Smrg		basic_machine=j90-cray
570966bf024Smrg		os=-unicos
571966bf024Smrg		;;
5729384b2f3Smrg	craynv)
5739384b2f3Smrg		basic_machine=craynv-cray
5749384b2f3Smrg		os=-unicosmp
5759384b2f3Smrg		;;
5769384b2f3Smrg	cr16 | cr16-*)
5779384b2f3Smrg		basic_machine=cr16-unknown
5789384b2f3Smrg		os=-elf
5799384b2f3Smrg		;;
580966bf024Smrg	crds | unos)
581966bf024Smrg		basic_machine=m68k-crds
582966bf024Smrg		;;
5839384b2f3Smrg	crisv32 | crisv32-* | etraxfs*)
5849384b2f3Smrg		basic_machine=crisv32-axis
5859384b2f3Smrg		;;
586966bf024Smrg	cris | cris-* | etrax*)
587966bf024Smrg		basic_machine=cris-axis
588966bf024Smrg		;;
5899384b2f3Smrg	crx)
5909384b2f3Smrg		basic_machine=crx-unknown
5919384b2f3Smrg		os=-elf
5929384b2f3Smrg		;;
593966bf024Smrg	da30 | da30-*)
594966bf024Smrg		basic_machine=m68k-da30
595966bf024Smrg		;;
596966bf024Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597966bf024Smrg		basic_machine=mips-dec
598966bf024Smrg		;;
599966bf024Smrg	decsystem10* | dec10*)
600966bf024Smrg		basic_machine=pdp10-dec
601966bf024Smrg		os=-tops10
602966bf024Smrg		;;
603966bf024Smrg	decsystem20* | dec20*)
604966bf024Smrg		basic_machine=pdp10-dec
605966bf024Smrg		os=-tops20
606966bf024Smrg		;;
607966bf024Smrg	delta | 3300 | motorola-3300 | motorola-delta \
608966bf024Smrg	      | 3300-motorola | delta-motorola)
609966bf024Smrg		basic_machine=m68k-motorola
610966bf024Smrg		;;
611966bf024Smrg	delta88)
612966bf024Smrg		basic_machine=m88k-motorola
613966bf024Smrg		os=-sysv3
614966bf024Smrg		;;
6159384b2f3Smrg	dicos)
6169384b2f3Smrg		basic_machine=i686-pc
6179384b2f3Smrg		os=-dicos
6189384b2f3Smrg		;;
6199384b2f3Smrg	djgpp)
6209384b2f3Smrg		basic_machine=i586-pc
6219384b2f3Smrg		os=-msdosdjgpp
6229384b2f3Smrg		;;
623966bf024Smrg	dpx20 | dpx20-*)
624966bf024Smrg		basic_machine=rs6000-bull
625966bf024Smrg		os=-bosx
626966bf024Smrg		;;
627966bf024Smrg	dpx2* | dpx2*-bull)
628966bf024Smrg		basic_machine=m68k-bull
629966bf024Smrg		os=-sysv3
630966bf024Smrg		;;
631966bf024Smrg	ebmon29k)
632966bf024Smrg		basic_machine=a29k-amd
633966bf024Smrg		os=-ebmon
634966bf024Smrg		;;
635966bf024Smrg	elxsi)
636966bf024Smrg		basic_machine=elxsi-elxsi
637966bf024Smrg		os=-bsd
638966bf024Smrg		;;
639966bf024Smrg	encore | umax | mmax)
640966bf024Smrg		basic_machine=ns32k-encore
641966bf024Smrg		;;
642966bf024Smrg	es1800 | OSE68k | ose68k | ose | OSE)
643966bf024Smrg		basic_machine=m68k-ericsson
644966bf024Smrg		os=-ose
645966bf024Smrg		;;
646966bf024Smrg	fx2800)
647966bf024Smrg		basic_machine=i860-alliant
648966bf024Smrg		;;
649966bf024Smrg	genix)
650966bf024Smrg		basic_machine=ns32k-ns
651966bf024Smrg		;;
652966bf024Smrg	gmicro)
653966bf024Smrg		basic_machine=tron-gmicro
654966bf024Smrg		os=-sysv
655966bf024Smrg		;;
656966bf024Smrg	go32)
657966bf024Smrg		basic_machine=i386-pc
658966bf024Smrg		os=-go32
659966bf024Smrg		;;
660966bf024Smrg	h3050r* | hiux*)
661966bf024Smrg		basic_machine=hppa1.1-hitachi
662966bf024Smrg		os=-hiuxwe2
663966bf024Smrg		;;
664966bf024Smrg	h8300hms)
665966bf024Smrg		basic_machine=h8300-hitachi
666966bf024Smrg		os=-hms
667966bf024Smrg		;;
668966bf024Smrg	h8300xray)
669966bf024Smrg		basic_machine=h8300-hitachi
670966bf024Smrg		os=-xray
671966bf024Smrg		;;
672966bf024Smrg	h8500hms)
673966bf024Smrg		basic_machine=h8500-hitachi
674966bf024Smrg		os=-hms
675966bf024Smrg		;;
676966bf024Smrg	harris)
677966bf024Smrg		basic_machine=m88k-harris
678966bf024Smrg		os=-sysv3
679966bf024Smrg		;;
680966bf024Smrg	hp300-*)
681966bf024Smrg		basic_machine=m68k-hp
682966bf024Smrg		;;
683966bf024Smrg	hp300bsd)
684966bf024Smrg		basic_machine=m68k-hp
685966bf024Smrg		os=-bsd
686966bf024Smrg		;;
687966bf024Smrg	hp300hpux)
688966bf024Smrg		basic_machine=m68k-hp
689966bf024Smrg		os=-hpux
690966bf024Smrg		;;
691966bf024Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
692966bf024Smrg		basic_machine=hppa1.0-hp
693966bf024Smrg		;;
694966bf024Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
695966bf024Smrg		basic_machine=m68000-hp
696966bf024Smrg		;;
697966bf024Smrg	hp9k3[2-9][0-9])
698966bf024Smrg		basic_machine=m68k-hp
699966bf024Smrg		;;
700966bf024Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
701966bf024Smrg		basic_machine=hppa1.0-hp
702966bf024Smrg		;;
703966bf024Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
704966bf024Smrg		basic_machine=hppa1.1-hp
705966bf024Smrg		;;
706966bf024Smrg	hp9k78[0-9] | hp78[0-9])
707966bf024Smrg		# FIXME: really hppa2.0-hp
708966bf024Smrg		basic_machine=hppa1.1-hp
709966bf024Smrg		;;
710966bf024Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711966bf024Smrg		# FIXME: really hppa2.0-hp
712966bf024Smrg		basic_machine=hppa1.1-hp
713966bf024Smrg		;;
714966bf024Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
715966bf024Smrg		basic_machine=hppa1.1-hp
716966bf024Smrg		;;
717966bf024Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
718966bf024Smrg		basic_machine=hppa1.0-hp
719966bf024Smrg		;;
720966bf024Smrg	hppa-next)
721966bf024Smrg		os=-nextstep3
722966bf024Smrg		;;
723966bf024Smrg	hppaosf)
724966bf024Smrg		basic_machine=hppa1.1-hp
725966bf024Smrg		os=-osf
726966bf024Smrg		;;
727966bf024Smrg	hppro)
728966bf024Smrg		basic_machine=hppa1.1-hp
729966bf024Smrg		os=-proelf
730966bf024Smrg		;;
731966bf024Smrg	i370-ibm* | ibm*)
732966bf024Smrg		basic_machine=i370-ibm
733966bf024Smrg		;;
734966bf024Smrg	i*86v32)
735966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
736966bf024Smrg		os=-sysv32
737966bf024Smrg		;;
738966bf024Smrg	i*86v4*)
739966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740966bf024Smrg		os=-sysv4
741966bf024Smrg		;;
742966bf024Smrg	i*86v)
743966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744966bf024Smrg		os=-sysv
745966bf024Smrg		;;
746966bf024Smrg	i*86sol2)
747966bf024Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748966bf024Smrg		os=-solaris2
749966bf024Smrg		;;
750966bf024Smrg	i386mach)
751966bf024Smrg		basic_machine=i386-mach
752966bf024Smrg		os=-mach
753966bf024Smrg		;;
754966bf024Smrg	i386-vsta | vsta)
755966bf024Smrg		basic_machine=i386-unknown
756966bf024Smrg		os=-vsta
757966bf024Smrg		;;
758966bf024Smrg	iris | iris4d)
759966bf024Smrg		basic_machine=mips-sgi
760966bf024Smrg		case $os in
761966bf024Smrg		    -irix*)
762966bf024Smrg			;;
763966bf024Smrg		    *)
764966bf024Smrg			os=-irix4
765966bf024Smrg			;;
766966bf024Smrg		esac
767966bf024Smrg		;;
768966bf024Smrg	isi68 | isi)
769966bf024Smrg		basic_machine=m68k-isi
770966bf024Smrg		os=-sysv
771966bf024Smrg		;;
7729384b2f3Smrg	m68knommu)
7739384b2f3Smrg		basic_machine=m68k-unknown
7749384b2f3Smrg		os=-linux
7759384b2f3Smrg		;;
7769384b2f3Smrg	m68knommu-*)
7779384b2f3Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7789384b2f3Smrg		os=-linux
7799384b2f3Smrg		;;
780966bf024Smrg	m88k-omron*)
781966bf024Smrg		basic_machine=m88k-omron
782966bf024Smrg		;;
783966bf024Smrg	magnum | m3230)
784966bf024Smrg		basic_machine=mips-mips
785966bf024Smrg		os=-sysv
786966bf024Smrg		;;
787966bf024Smrg	merlin)
788966bf024Smrg		basic_machine=ns32k-utek
789966bf024Smrg		os=-sysv
790966bf024Smrg		;;
7919384b2f3Smrg	microblaze*)
7929384b2f3Smrg		basic_machine=microblaze-xilinx
7939384b2f3Smrg		;;
7949384b2f3Smrg	mingw64)
7959384b2f3Smrg		basic_machine=x86_64-pc
7969384b2f3Smrg		os=-mingw64
7979384b2f3Smrg		;;
798966bf024Smrg	mingw32)
799966bf024Smrg		basic_machine=i386-pc
800966bf024Smrg		os=-mingw32
801966bf024Smrg		;;
8029384b2f3Smrg	mingw32ce)
8039384b2f3Smrg		basic_machine=arm-unknown
8049384b2f3Smrg		os=-mingw32ce
8059384b2f3Smrg		;;
806966bf024Smrg	miniframe)
807966bf024Smrg		basic_machine=m68000-convergent
808966bf024Smrg		;;
809966bf024Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
810966bf024Smrg		basic_machine=m68k-atari
811966bf024Smrg		os=-mint
812966bf024Smrg		;;
813966bf024Smrg	mips3*-*)
814966bf024Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
815966bf024Smrg		;;
816966bf024Smrg	mips3*)
817966bf024Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
818966bf024Smrg		;;
819966bf024Smrg	monitor)
820966bf024Smrg		basic_machine=m68k-rom68k
821966bf024Smrg		os=-coff
822966bf024Smrg		;;
823966bf024Smrg	morphos)
824966bf024Smrg		basic_machine=powerpc-unknown
825966bf024Smrg		os=-morphos
826966bf024Smrg		;;
827966bf024Smrg	msdos)
828966bf024Smrg		basic_machine=i386-pc
829966bf024Smrg		os=-msdos
830966bf024Smrg		;;
8319384b2f3Smrg	ms1-*)
8329384b2f3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8339384b2f3Smrg		;;
8349384b2f3Smrg	msys)
8359384b2f3Smrg		basic_machine=i386-pc
8369384b2f3Smrg		os=-msys
8379384b2f3Smrg		;;
838966bf024Smrg	mvs)
839966bf024Smrg		basic_machine=i370-ibm
840966bf024Smrg		os=-mvs
841966bf024Smrg		;;
8429384b2f3Smrg	nacl)
8439384b2f3Smrg		basic_machine=le32-unknown
8449384b2f3Smrg		os=-nacl
8459384b2f3Smrg		;;
846966bf024Smrg	ncr3000)
847966bf024Smrg		basic_machine=i486-ncr
848966bf024Smrg		os=-sysv4
849966bf024Smrg		;;
850966bf024Smrg	netbsd386)
851966bf024Smrg		basic_machine=i386-unknown
852966bf024Smrg		os=-netbsd
853966bf024Smrg		;;
854966bf024Smrg	netwinder)
855966bf024Smrg		basic_machine=armv4l-rebel
856966bf024Smrg		os=-linux
857966bf024Smrg		;;
858966bf024Smrg	news | news700 | news800 | news900)
859966bf024Smrg		basic_machine=m68k-sony
860966bf024Smrg		os=-newsos
861966bf024Smrg		;;
862966bf024Smrg	news1000)
863966bf024Smrg		basic_machine=m68030-sony
864966bf024Smrg		os=-newsos
865966bf024Smrg		;;
866966bf024Smrg	news-3600 | risc-news)
867966bf024Smrg		basic_machine=mips-sony
868966bf024Smrg		os=-newsos
869966bf024Smrg		;;
870966bf024Smrg	necv70)
871966bf024Smrg		basic_machine=v70-nec
872966bf024Smrg		os=-sysv
873966bf024Smrg		;;
874966bf024Smrg	next | m*-next )
875966bf024Smrg		basic_machine=m68k-next
876966bf024Smrg		case $os in
877966bf024Smrg		    -nextstep* )
878966bf024Smrg			;;
879966bf024Smrg		    -ns2*)
880966bf024Smrg		      os=-nextstep2
881966bf024Smrg			;;
882966bf024Smrg		    *)
883966bf024Smrg		      os=-nextstep3
884966bf024Smrg			;;
885966bf024Smrg		esac
886966bf024Smrg		;;
887966bf024Smrg	nh3000)
888966bf024Smrg		basic_machine=m68k-harris
889966bf024Smrg		os=-cxux
890966bf024Smrg		;;
891966bf024Smrg	nh[45]000)
892966bf024Smrg		basic_machine=m88k-harris
893966bf024Smrg		os=-cxux
894966bf024Smrg		;;
895966bf024Smrg	nindy960)
896966bf024Smrg		basic_machine=i960-intel
897966bf024Smrg		os=-nindy
898966bf024Smrg		;;
899966bf024Smrg	mon960)
900966bf024Smrg		basic_machine=i960-intel
901966bf024Smrg		os=-mon960
902966bf024Smrg		;;
903966bf024Smrg	nonstopux)
904966bf024Smrg		basic_machine=mips-compaq
905966bf024Smrg		os=-nonstopux
906966bf024Smrg		;;
907966bf024Smrg	np1)
908966bf024Smrg		basic_machine=np1-gould
909966bf024Smrg		;;
9109384b2f3Smrg	neo-tandem)
9119384b2f3Smrg		basic_machine=neo-tandem
9129384b2f3Smrg		;;
9139384b2f3Smrg	nse-tandem)
9149384b2f3Smrg		basic_machine=nse-tandem
915966bf024Smrg		;;
916966bf024Smrg	nsr-tandem)
917966bf024Smrg		basic_machine=nsr-tandem
918966bf024Smrg		;;
919966bf024Smrg	op50n-* | op60c-*)
920966bf024Smrg		basic_machine=hppa1.1-oki
921966bf024Smrg		os=-proelf
922966bf024Smrg		;;
9239384b2f3Smrg	openrisc | openrisc-*)
924966bf024Smrg		basic_machine=or32-unknown
9259384b2f3Smrg		;;
9269384b2f3Smrg	os400)
9279384b2f3Smrg		basic_machine=powerpc-ibm
9289384b2f3Smrg		os=-os400
929966bf024Smrg		;;
930966bf024Smrg	OSE68000 | ose68000)
931966bf024Smrg		basic_machine=m68000-ericsson
932966bf024Smrg		os=-ose
933966bf024Smrg		;;
934966bf024Smrg	os68k)
935966bf024Smrg		basic_machine=m68k-none
936966bf024Smrg		os=-os68k
937966bf024Smrg		;;
938966bf024Smrg	pa-hitachi)
939966bf024Smrg		basic_machine=hppa1.1-hitachi
940966bf024Smrg		os=-hiuxwe2
941966bf024Smrg		;;
942966bf024Smrg	paragon)
943966bf024Smrg		basic_machine=i860-intel
944966bf024Smrg		os=-osf
945966bf024Smrg		;;
9469384b2f3Smrg	parisc)
9479384b2f3Smrg		basic_machine=hppa-unknown
9489384b2f3Smrg		os=-linux
9499384b2f3Smrg		;;
9509384b2f3Smrg	parisc-*)
9519384b2f3Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9529384b2f3Smrg		os=-linux
9539384b2f3Smrg		;;
954966bf024Smrg	pbd)
955966bf024Smrg		basic_machine=sparc-tti
956966bf024Smrg		;;
957966bf024Smrg	pbb)
958966bf024Smrg		basic_machine=m68k-tti
959966bf024Smrg		;;
960966bf024Smrg	pc532 | pc532-*)
961966bf024Smrg		basic_machine=ns32k-pc532
962966bf024Smrg		;;
9639384b2f3Smrg	pc98)
9649384b2f3Smrg		basic_machine=i386-pc
9659384b2f3Smrg		;;
9669384b2f3Smrg	pc98-*)
9679384b2f3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9689384b2f3Smrg		;;
969966bf024Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
970966bf024Smrg		basic_machine=i586-pc
971966bf024Smrg		;;
972966bf024Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
973966bf024Smrg		basic_machine=i686-pc
974966bf024Smrg		;;
975966bf024Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
976966bf024Smrg		basic_machine=i686-pc
977966bf024Smrg		;;
978966bf024Smrg	pentium4)
979966bf024Smrg		basic_machine=i786-pc
980966bf024Smrg		;;
981966bf024Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
982966bf024Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
983966bf024Smrg		;;
984966bf024Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
985966bf024Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
986966bf024Smrg		;;
987966bf024Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
988966bf024Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
989966bf024Smrg		;;
990966bf024Smrg	pentium4-*)
991966bf024Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
992966bf024Smrg		;;
993966bf024Smrg	pn)
994966bf024Smrg		basic_machine=pn-gould
995966bf024Smrg		;;
996966bf024Smrg	power)	basic_machine=power-ibm
997966bf024Smrg		;;
9989384b2f3Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
999966bf024Smrg		;;
10009384b2f3Smrg	ppc-* | ppcbe-*)
10019384b2f3Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1002966bf024Smrg		;;
1003966bf024Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
1004966bf024Smrg		basic_machine=powerpcle-unknown
1005966bf024Smrg		;;
1006966bf024Smrg	ppcle-* | powerpclittle-*)
1007966bf024Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1008966bf024Smrg		;;
1009966bf024Smrg	ppc64)	basic_machine=powerpc64-unknown
1010966bf024Smrg		;;
1011966bf024Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1012966bf024Smrg		;;
1013966bf024Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1014966bf024Smrg		basic_machine=powerpc64le-unknown
1015966bf024Smrg		;;
1016966bf024Smrg	ppc64le-* | powerpc64little-*)
1017966bf024Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1018966bf024Smrg		;;
1019966bf024Smrg	ps2)
1020966bf024Smrg		basic_machine=i386-ibm
1021966bf024Smrg		;;
1022966bf024Smrg	pw32)
1023966bf024Smrg		basic_machine=i586-unknown
1024966bf024Smrg		os=-pw32
1025966bf024Smrg		;;
10269384b2f3Smrg	rdos | rdos64)
10279384b2f3Smrg		basic_machine=x86_64-pc
10289384b2f3Smrg		os=-rdos
10299384b2f3Smrg		;;
10309384b2f3Smrg	rdos32)
10319384b2f3Smrg		basic_machine=i386-pc
10329384b2f3Smrg		os=-rdos
10339384b2f3Smrg		;;
1034966bf024Smrg	rom68k)
1035966bf024Smrg		basic_machine=m68k-rom68k
1036966bf024Smrg		os=-coff
1037966bf024Smrg		;;
1038966bf024Smrg	rm[46]00)
1039966bf024Smrg		basic_machine=mips-siemens
1040966bf024Smrg		;;
1041966bf024Smrg	rtpc | rtpc-*)
1042966bf024Smrg		basic_machine=romp-ibm
1043966bf024Smrg		;;
10449384b2f3Smrg	s390 | s390-*)
10459384b2f3Smrg		basic_machine=s390-ibm
10469384b2f3Smrg		;;
10479384b2f3Smrg	s390x | s390x-*)
10489384b2f3Smrg		basic_machine=s390x-ibm
10499384b2f3Smrg		;;
1050966bf024Smrg	sa29200)
1051966bf024Smrg		basic_machine=a29k-amd
1052966bf024Smrg		os=-udi
1053966bf024Smrg		;;
1054966bf024Smrg	sb1)
1055966bf024Smrg		basic_machine=mipsisa64sb1-unknown
1056966bf024Smrg		;;
1057966bf024Smrg	sb1el)
1058966bf024Smrg		basic_machine=mipsisa64sb1el-unknown
1059966bf024Smrg		;;
10609384b2f3Smrg	sde)
10619384b2f3Smrg		basic_machine=mipsisa32-sde
10629384b2f3Smrg		os=-elf
10639384b2f3Smrg		;;
1064966bf024Smrg	sei)
1065966bf024Smrg		basic_machine=mips-sei
1066966bf024Smrg		os=-seiux
1067966bf024Smrg		;;
1068966bf024Smrg	sequent)
1069966bf024Smrg		basic_machine=i386-sequent
1070966bf024Smrg		;;
1071966bf024Smrg	sh)
1072966bf024Smrg		basic_machine=sh-hitachi
1073966bf024Smrg		os=-hms
1074966bf024Smrg		;;
10759384b2f3Smrg	sh5el)
10769384b2f3Smrg		basic_machine=sh5le-unknown
10779384b2f3Smrg		;;
1078966bf024Smrg	sh64)
1079966bf024Smrg		basic_machine=sh64-unknown
1080966bf024Smrg		;;
1081966bf024Smrg	sparclite-wrs | simso-wrs)
1082966bf024Smrg		basic_machine=sparclite-wrs
1083966bf024Smrg		os=-vxworks
1084966bf024Smrg		;;
1085966bf024Smrg	sps7)
1086966bf024Smrg		basic_machine=m68k-bull
1087966bf024Smrg		os=-sysv2
1088966bf024Smrg		;;
1089966bf024Smrg	spur)
1090966bf024Smrg		basic_machine=spur-unknown
1091966bf024Smrg		;;
1092966bf024Smrg	st2000)
1093966bf024Smrg		basic_machine=m68k-tandem
1094966bf024Smrg		;;
1095966bf024Smrg	stratus)
1096966bf024Smrg		basic_machine=i860-stratus
1097966bf024Smrg		os=-sysv4
1098966bf024Smrg		;;
10999384b2f3Smrg	strongarm-* | thumb-*)
11009384b2f3Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
11019384b2f3Smrg		;;
1102966bf024Smrg	sun2)
1103966bf024Smrg		basic_machine=m68000-sun
1104966bf024Smrg		;;
1105966bf024Smrg	sun2os3)
1106966bf024Smrg		basic_machine=m68000-sun
1107966bf024Smrg		os=-sunos3
1108966bf024Smrg		;;
1109966bf024Smrg	sun2os4)
1110966bf024Smrg		basic_machine=m68000-sun
1111966bf024Smrg		os=-sunos4
1112966bf024Smrg		;;
1113966bf024Smrg	sun3os3)
1114966bf024Smrg		basic_machine=m68k-sun
1115966bf024Smrg		os=-sunos3
1116966bf024Smrg		;;
1117966bf024Smrg	sun3os4)
1118966bf024Smrg		basic_machine=m68k-sun
1119966bf024Smrg		os=-sunos4
1120966bf024Smrg		;;
1121966bf024Smrg	sun4os3)
1122966bf024Smrg		basic_machine=sparc-sun
1123966bf024Smrg		os=-sunos3
1124966bf024Smrg		;;
1125966bf024Smrg	sun4os4)
1126966bf024Smrg		basic_machine=sparc-sun
1127966bf024Smrg		os=-sunos4
1128966bf024Smrg		;;
1129966bf024Smrg	sun4sol2)
1130966bf024Smrg		basic_machine=sparc-sun
1131966bf024Smrg		os=-solaris2
1132966bf024Smrg		;;
1133966bf024Smrg	sun3 | sun3-*)
1134966bf024Smrg		basic_machine=m68k-sun
1135966bf024Smrg		;;
1136966bf024Smrg	sun4)
1137966bf024Smrg		basic_machine=sparc-sun
1138966bf024Smrg		;;
1139966bf024Smrg	sun386 | sun386i | roadrunner)
1140966bf024Smrg		basic_machine=i386-sun
1141966bf024Smrg		;;
1142966bf024Smrg	sv1)
1143966bf024Smrg		basic_machine=sv1-cray
1144966bf024Smrg		os=-unicos
1145966bf024Smrg		;;
1146966bf024Smrg	symmetry)
1147966bf024Smrg		basic_machine=i386-sequent
1148966bf024Smrg		os=-dynix
1149966bf024Smrg		;;
1150966bf024Smrg	t3e)
1151966bf024Smrg		basic_machine=alphaev5-cray
1152966bf024Smrg		os=-unicos
1153966bf024Smrg		;;
1154966bf024Smrg	t90)
1155966bf024Smrg		basic_machine=t90-cray
1156966bf024Smrg		os=-unicos
1157966bf024Smrg		;;
11589384b2f3Smrg	tile*)
11599384b2f3Smrg		basic_machine=$basic_machine-unknown
11609384b2f3Smrg		os=-linux-gnu
1161966bf024Smrg		;;
1162966bf024Smrg	tx39)
1163966bf024Smrg		basic_machine=mipstx39-unknown
1164966bf024Smrg		;;
1165966bf024Smrg	tx39el)
1166966bf024Smrg		basic_machine=mipstx39el-unknown
1167966bf024Smrg		;;
1168966bf024Smrg	toad1)
1169966bf024Smrg		basic_machine=pdp10-xkl
1170966bf024Smrg		os=-tops20
1171966bf024Smrg		;;
1172966bf024Smrg	tower | tower-32)
1173966bf024Smrg		basic_machine=m68k-ncr
1174966bf024Smrg		;;
11759384b2f3Smrg	tpf)
11769384b2f3Smrg		basic_machine=s390x-ibm
11779384b2f3Smrg		os=-tpf
11789384b2f3Smrg		;;
1179966bf024Smrg	udi29k)
1180966bf024Smrg		basic_machine=a29k-amd
1181966bf024Smrg		os=-udi
1182966bf024Smrg		;;
1183966bf024Smrg	ultra3)
1184966bf024Smrg		basic_machine=a29k-nyu
1185966bf024Smrg		os=-sym1
1186966bf024Smrg		;;
1187966bf024Smrg	v810 | necv810)
1188966bf024Smrg		basic_machine=v810-nec
1189966bf024Smrg		os=-none
1190966bf024Smrg		;;
1191966bf024Smrg	vaxv)
1192966bf024Smrg		basic_machine=vax-dec
1193966bf024Smrg		os=-sysv
1194966bf024Smrg		;;
1195966bf024Smrg	vms)
1196966bf024Smrg		basic_machine=vax-dec
1197966bf024Smrg		os=-vms
1198966bf024Smrg		;;
1199966bf024Smrg	vpp*|vx|vx-*)
1200966bf024Smrg		basic_machine=f301-fujitsu
1201966bf024Smrg		;;
1202966bf024Smrg	vxworks960)
1203966bf024Smrg		basic_machine=i960-wrs
1204966bf024Smrg		os=-vxworks
1205966bf024Smrg		;;
1206966bf024Smrg	vxworks68)
1207966bf024Smrg		basic_machine=m68k-wrs
1208966bf024Smrg		os=-vxworks
1209966bf024Smrg		;;
1210966bf024Smrg	vxworks29k)
1211966bf024Smrg		basic_machine=a29k-wrs
1212966bf024Smrg		os=-vxworks
1213966bf024Smrg		;;
1214966bf024Smrg	w65*)
1215966bf024Smrg		basic_machine=w65-wdc
1216966bf024Smrg		os=-none
1217966bf024Smrg		;;
1218966bf024Smrg	w89k-*)
1219966bf024Smrg		basic_machine=hppa1.1-winbond
1220966bf024Smrg		os=-proelf
1221966bf024Smrg		;;
12229384b2f3Smrg	xbox)
12239384b2f3Smrg		basic_machine=i686-pc
12249384b2f3Smrg		os=-mingw32
12259384b2f3Smrg		;;
1226966bf024Smrg	xps | xps100)
1227966bf024Smrg		basic_machine=xps100-honeywell
1228966bf024Smrg		;;
12299384b2f3Smrg	xscale-* | xscalee[bl]-*)
12309384b2f3Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12319384b2f3Smrg		;;
1232966bf024Smrg	ymp)
1233966bf024Smrg		basic_machine=ymp-cray
1234966bf024Smrg		os=-unicos
1235966bf024Smrg		;;
1236966bf024Smrg	z8k-*-coff)
1237966bf024Smrg		basic_machine=z8k-unknown
1238966bf024Smrg		os=-sim
1239966bf024Smrg		;;
12409384b2f3Smrg	z80-*-coff)
12419384b2f3Smrg		basic_machine=z80-unknown
12429384b2f3Smrg		os=-sim
12439384b2f3Smrg		;;
1244966bf024Smrg	none)
1245966bf024Smrg		basic_machine=none-none
1246966bf024Smrg		os=-none
1247966bf024Smrg		;;
1248966bf024Smrg
1249966bf024Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1250966bf024Smrg# some cases the only manufacturer, in others, it is the most popular.
1251966bf024Smrg	w89k)
1252966bf024Smrg		basic_machine=hppa1.1-winbond
1253966bf024Smrg		;;
1254966bf024Smrg	op50n)
1255966bf024Smrg		basic_machine=hppa1.1-oki
1256966bf024Smrg		;;
1257966bf024Smrg	op60c)
1258966bf024Smrg		basic_machine=hppa1.1-oki
1259966bf024Smrg		;;
1260966bf024Smrg	romp)
1261966bf024Smrg		basic_machine=romp-ibm
1262966bf024Smrg		;;
12639384b2f3Smrg	mmix)
12649384b2f3Smrg		basic_machine=mmix-knuth
12659384b2f3Smrg		;;
1266966bf024Smrg	rs6000)
1267966bf024Smrg		basic_machine=rs6000-ibm
1268966bf024Smrg		;;
1269966bf024Smrg	vax)
1270966bf024Smrg		basic_machine=vax-dec
1271966bf024Smrg		;;
1272966bf024Smrg	pdp10)
1273966bf024Smrg		# there are many clones, so DEC is not a safe bet
1274966bf024Smrg		basic_machine=pdp10-unknown
1275966bf024Smrg		;;
1276966bf024Smrg	pdp11)
1277966bf024Smrg		basic_machine=pdp11-dec
1278966bf024Smrg		;;
1279966bf024Smrg	we32k)
1280966bf024Smrg		basic_machine=we32k-att
1281966bf024Smrg		;;
12829384b2f3Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1283966bf024Smrg		basic_machine=sh-unknown
1284966bf024Smrg		;;
12859384b2f3Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1286966bf024Smrg		basic_machine=sparc-sun
1287966bf024Smrg		;;
1288966bf024Smrg	cydra)
1289966bf024Smrg		basic_machine=cydra-cydrome
1290966bf024Smrg		;;
1291966bf024Smrg	orion)
1292966bf024Smrg		basic_machine=orion-highlevel
1293966bf024Smrg		;;
1294966bf024Smrg	orion105)
1295966bf024Smrg		basic_machine=clipper-highlevel
1296966bf024Smrg		;;
1297966bf024Smrg	mac | mpw | mac-mpw)
1298966bf024Smrg		basic_machine=m68k-apple
1299966bf024Smrg		;;
1300966bf024Smrg	pmac | pmac-mpw)
1301966bf024Smrg		basic_machine=powerpc-apple
1302966bf024Smrg		;;
1303966bf024Smrg	*-unknown)
1304966bf024Smrg		# Make sure to match an already-canonicalized machine name.
1305966bf024Smrg		;;
1306966bf024Smrg	*)
1307966bf024Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1308966bf024Smrg		exit 1
1309966bf024Smrg		;;
1310966bf024Smrgesac
1311966bf024Smrg
1312966bf024Smrg# Here we canonicalize certain aliases for manufacturers.
1313966bf024Smrgcase $basic_machine in
1314966bf024Smrg	*-digital*)
1315966bf024Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1316966bf024Smrg		;;
1317966bf024Smrg	*-commodore*)
1318966bf024Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1319966bf024Smrg		;;
1320966bf024Smrg	*)
1321966bf024Smrg		;;
1322966bf024Smrgesac
1323966bf024Smrg
1324966bf024Smrg# Decode manufacturer-specific aliases for certain operating systems.
1325966bf024Smrg
1326966bf024Smrgif [ x"$os" != x"" ]
1327966bf024Smrgthen
1328966bf024Smrgcase $os in
13299384b2f3Smrg	# First match some system type aliases
13309384b2f3Smrg	# that might get confused with valid system types.
1331966bf024Smrg	# -solaris* is a basic system type, with this one exception.
13329384b2f3Smrg	-auroraux)
13339384b2f3Smrg		os=-auroraux
13349384b2f3Smrg		;;
1335966bf024Smrg	-solaris1 | -solaris1.*)
1336966bf024Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1337966bf024Smrg		;;
1338966bf024Smrg	-solaris)
1339966bf024Smrg		os=-solaris2
1340966bf024Smrg		;;
1341966bf024Smrg	-svr4*)
1342966bf024Smrg		os=-sysv4
1343966bf024Smrg		;;
1344966bf024Smrg	-unixware*)
1345966bf024Smrg		os=-sysv4.2uw
1346966bf024Smrg		;;
1347966bf024Smrg	-gnu/linux*)
1348966bf024Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1349966bf024Smrg		;;
1350966bf024Smrg	# First accept the basic system types.
1351966bf024Smrg	# The portable systems comes first.
1352966bf024Smrg	# Each alternative MUST END IN A *, to match a version number.
1353966bf024Smrg	# -sysv* is not here because it comes later, after sysvr4.
1354966bf024Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13559384b2f3Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13569384b2f3Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13579384b2f3Smrg	      | -sym* | -kopensolaris* \
1358966bf024Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13599384b2f3Smrg	      | -aos* | -aros* \
1360966bf024Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1361966bf024Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13629384b2f3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13639384b2f3Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
13649384b2f3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13659384b2f3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1366966bf024Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1367966bf024Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13689384b2f3Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13699384b2f3Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13709384b2f3Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
13719384b2f3Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13729384b2f3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1373966bf024Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1374966bf024Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1375966bf024Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1376966bf024Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1377966bf024Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13789384b2f3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13799384b2f3Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1380966bf024Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1381966bf024Smrg		;;
1382966bf024Smrg	-qnx*)
1383966bf024Smrg		case $basic_machine in
1384966bf024Smrg		    x86-* | i*86-*)
1385966bf024Smrg			;;
1386966bf024Smrg		    *)
1387966bf024Smrg			os=-nto$os
1388966bf024Smrg			;;
1389966bf024Smrg		esac
1390966bf024Smrg		;;
1391966bf024Smrg	-nto-qnx*)
1392966bf024Smrg		;;
1393966bf024Smrg	-nto*)
1394966bf024Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1395966bf024Smrg		;;
1396966bf024Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13979384b2f3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1398966bf024Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1399966bf024Smrg		;;
1400966bf024Smrg	-mac*)
1401966bf024Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1402966bf024Smrg		;;
14039384b2f3Smrg	-linux-dietlibc)
14049384b2f3Smrg		os=-linux-dietlibc
14059384b2f3Smrg		;;
1406966bf024Smrg	-linux*)
1407966bf024Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1408966bf024Smrg		;;
1409966bf024Smrg	-sunos5*)
1410966bf024Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1411966bf024Smrg		;;
1412966bf024Smrg	-sunos6*)
1413966bf024Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1414966bf024Smrg		;;
1415966bf024Smrg	-opened*)
1416966bf024Smrg		os=-openedition
1417966bf024Smrg		;;
14189384b2f3Smrg	-os400*)
14199384b2f3Smrg		os=-os400
14209384b2f3Smrg		;;
1421966bf024Smrg	-wince*)
1422966bf024Smrg		os=-wince
1423966bf024Smrg		;;
1424966bf024Smrg	-osfrose*)
1425966bf024Smrg		os=-osfrose
1426966bf024Smrg		;;
1427966bf024Smrg	-osf*)
1428966bf024Smrg		os=-osf
1429966bf024Smrg		;;
1430966bf024Smrg	-utek*)
1431966bf024Smrg		os=-bsd
1432966bf024Smrg		;;
1433966bf024Smrg	-dynix*)
1434966bf024Smrg		os=-bsd
1435966bf024Smrg		;;
1436966bf024Smrg	-acis*)
1437966bf024Smrg		os=-aos
1438966bf024Smrg		;;
1439966bf024Smrg	-atheos*)
1440966bf024Smrg		os=-atheos
1441966bf024Smrg		;;
14429384b2f3Smrg	-syllable*)
14439384b2f3Smrg		os=-syllable
14449384b2f3Smrg		;;
1445966bf024Smrg	-386bsd)
1446966bf024Smrg		os=-bsd
1447966bf024Smrg		;;
1448966bf024Smrg	-ctix* | -uts*)
1449966bf024Smrg		os=-sysv
1450966bf024Smrg		;;
1451966bf024Smrg	-nova*)
1452966bf024Smrg		os=-rtmk-nova
1453966bf024Smrg		;;
1454966bf024Smrg	-ns2 )
1455966bf024Smrg		os=-nextstep2
1456966bf024Smrg		;;
1457966bf024Smrg	-nsk*)
1458966bf024Smrg		os=-nsk
1459966bf024Smrg		;;
1460966bf024Smrg	# Preserve the version number of sinix5.
1461966bf024Smrg	-sinix5.*)
1462966bf024Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1463966bf024Smrg		;;
1464966bf024Smrg	-sinix*)
1465966bf024Smrg		os=-sysv4
1466966bf024Smrg		;;
14679384b2f3Smrg	-tpf*)
14689384b2f3Smrg		os=-tpf
14699384b2f3Smrg		;;
1470966bf024Smrg	-triton*)
1471966bf024Smrg		os=-sysv3
1472966bf024Smrg		;;
1473966bf024Smrg	-oss*)
1474966bf024Smrg		os=-sysv3
1475966bf024Smrg		;;
1476966bf024Smrg	-svr4)
1477966bf024Smrg		os=-sysv4
1478966bf024Smrg		;;
1479966bf024Smrg	-svr3)
1480966bf024Smrg		os=-sysv3
1481966bf024Smrg		;;
1482966bf024Smrg	-sysvr4)
1483966bf024Smrg		os=-sysv4
1484966bf024Smrg		;;
1485966bf024Smrg	# This must come after -sysvr4.
1486966bf024Smrg	-sysv*)
1487966bf024Smrg		;;
1488966bf024Smrg	-ose*)
1489966bf024Smrg		os=-ose
1490966bf024Smrg		;;
1491966bf024Smrg	-es1800*)
1492966bf024Smrg		os=-ose
1493966bf024Smrg		;;
1494966bf024Smrg	-xenix)
1495966bf024Smrg		os=-xenix
1496966bf024Smrg		;;
1497966bf024Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1498966bf024Smrg		os=-mint
1499966bf024Smrg		;;
1500966bf024Smrg	-aros*)
1501966bf024Smrg		os=-aros
1502966bf024Smrg		;;
1503966bf024Smrg	-kaos*)
1504966bf024Smrg		os=-kaos
1505966bf024Smrg		;;
15069384b2f3Smrg	-zvmoe)
15079384b2f3Smrg		os=-zvmoe
15089384b2f3Smrg		;;
15099384b2f3Smrg	-dicos*)
15109384b2f3Smrg		os=-dicos
15119384b2f3Smrg		;;
15129384b2f3Smrg	-nacl*)
15139384b2f3Smrg		;;
1514966bf024Smrg	-none)
1515966bf024Smrg		;;
1516966bf024Smrg	*)
1517966bf024Smrg		# Get rid of the `-' at the beginning of $os.
1518966bf024Smrg		os=`echo $os | sed 's/[^-]*-//'`
1519966bf024Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1520966bf024Smrg		exit 1
1521966bf024Smrg		;;
1522966bf024Smrgesac
1523966bf024Smrgelse
1524966bf024Smrg
1525966bf024Smrg# Here we handle the default operating systems that come with various machines.
1526966bf024Smrg# The value should be what the vendor currently ships out the door with their
1527966bf024Smrg# machine or put another way, the most popular os provided with the machine.
1528966bf024Smrg
1529966bf024Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1530966bf024Smrg# "-sun"), then you have to tell the case statement up towards the top
1531966bf024Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1532966bf024Smrg# will signal an error saying that MANUFACTURER isn't an operating
1533966bf024Smrg# system, and we'll never get to this point.
1534966bf024Smrg
1535966bf024Smrgcase $basic_machine in
15369384b2f3Smrg	score-*)
15379384b2f3Smrg		os=-elf
15389384b2f3Smrg		;;
15399384b2f3Smrg	spu-*)
15409384b2f3Smrg		os=-elf
15419384b2f3Smrg		;;
1542966bf024Smrg	*-acorn)
1543966bf024Smrg		os=-riscix1.2
1544966bf024Smrg		;;
1545966bf024Smrg	arm*-rebel)
1546966bf024Smrg		os=-linux
1547966bf024Smrg		;;
1548966bf024Smrg	arm*-semi)
1549966bf024Smrg		os=-aout
1550966bf024Smrg		;;
1551966bf024Smrg	c4x-* | tic4x-*)
1552966bf024Smrg		os=-coff
1553966bf024Smrg		;;
15549384b2f3Smrg	hexagon-*)
15559384b2f3Smrg		os=-elf
15569384b2f3Smrg		;;
15579384b2f3Smrg	tic54x-*)
15589384b2f3Smrg		os=-coff
15599384b2f3Smrg		;;
15609384b2f3Smrg	tic55x-*)
15619384b2f3Smrg		os=-coff
15629384b2f3Smrg		;;
15639384b2f3Smrg	tic6x-*)
15649384b2f3Smrg		os=-coff
15659384b2f3Smrg		;;
1566966bf024Smrg	# This must come before the *-dec entry.
1567966bf024Smrg	pdp10-*)
1568966bf024Smrg		os=-tops20
1569966bf024Smrg		;;
1570966bf024Smrg	pdp11-*)
1571966bf024Smrg		os=-none
1572966bf024Smrg		;;
1573966bf024Smrg	*-dec | vax-*)
1574966bf024Smrg		os=-ultrix4.2
1575966bf024Smrg		;;
1576966bf024Smrg	m68*-apollo)
1577966bf024Smrg		os=-domain
1578966bf024Smrg		;;
1579966bf024Smrg	i386-sun)
1580966bf024Smrg		os=-sunos4.0.2
1581966bf024Smrg		;;
1582966bf024Smrg	m68000-sun)
1583966bf024Smrg		os=-sunos3
1584966bf024Smrg		;;
1585966bf024Smrg	m68*-cisco)
1586966bf024Smrg		os=-aout
1587966bf024Smrg		;;
15889384b2f3Smrg	mep-*)
15899384b2f3Smrg		os=-elf
15909384b2f3Smrg		;;
1591966bf024Smrg	mips*-cisco)
1592966bf024Smrg		os=-elf
1593966bf024Smrg		;;
1594966bf024Smrg	mips*-*)
1595966bf024Smrg		os=-elf
1596966bf024Smrg		;;
1597966bf024Smrg	or32-*)
1598966bf024Smrg		os=-coff
1599966bf024Smrg		;;
1600966bf024Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1601966bf024Smrg		os=-sysv3
1602966bf024Smrg		;;
1603966bf024Smrg	sparc-* | *-sun)
1604966bf024Smrg		os=-sunos4.1.1
1605966bf024Smrg		;;
1606966bf024Smrg	*-be)
1607966bf024Smrg		os=-beos
1608966bf024Smrg		;;
16099384b2f3Smrg	*-haiku)
16109384b2f3Smrg		os=-haiku
16119384b2f3Smrg		;;
1612966bf024Smrg	*-ibm)
1613966bf024Smrg		os=-aix
1614966bf024Smrg		;;
16159384b2f3Smrg	*-knuth)
16169384b2f3Smrg		os=-mmixware
16179384b2f3Smrg		;;
1618966bf024Smrg	*-wec)
1619966bf024Smrg		os=-proelf
1620966bf024Smrg		;;
1621966bf024Smrg	*-winbond)
1622966bf024Smrg		os=-proelf
1623966bf024Smrg		;;
1624966bf024Smrg	*-oki)
1625966bf024Smrg		os=-proelf
1626966bf024Smrg		;;
1627966bf024Smrg	*-hp)
1628966bf024Smrg		os=-hpux
1629966bf024Smrg		;;
1630966bf024Smrg	*-hitachi)
1631966bf024Smrg		os=-hiux
1632966bf024Smrg		;;
1633966bf024Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1634966bf024Smrg		os=-sysv
1635966bf024Smrg		;;
1636966bf024Smrg	*-cbm)
1637966bf024Smrg		os=-amigaos
1638966bf024Smrg		;;
1639966bf024Smrg	*-dg)
1640966bf024Smrg		os=-dgux
1641966bf024Smrg		;;
1642966bf024Smrg	*-dolphin)
1643966bf024Smrg		os=-sysv3
1644966bf024Smrg		;;
1645966bf024Smrg	m68k-ccur)
1646966bf024Smrg		os=-rtu
1647966bf024Smrg		;;
1648966bf024Smrg	m88k-omron*)
1649966bf024Smrg		os=-luna
1650966bf024Smrg		;;
1651966bf024Smrg	*-next )
1652966bf024Smrg		os=-nextstep
1653966bf024Smrg		;;
1654966bf024Smrg	*-sequent)
1655966bf024Smrg		os=-ptx
1656966bf024Smrg		;;
1657966bf024Smrg	*-crds)
1658966bf024Smrg		os=-unos
1659966bf024Smrg		;;
1660966bf024Smrg	*-ns)
1661966bf024Smrg		os=-genix
1662966bf024Smrg		;;
1663966bf024Smrg	i370-*)
1664966bf024Smrg		os=-mvs
1665966bf024Smrg		;;
1666966bf024Smrg	*-next)
1667966bf024Smrg		os=-nextstep3
1668966bf024Smrg		;;
1669966bf024Smrg	*-gould)
1670966bf024Smrg		os=-sysv
1671966bf024Smrg		;;
1672966bf024Smrg	*-highlevel)
1673966bf024Smrg		os=-bsd
1674966bf024Smrg		;;
1675966bf024Smrg	*-encore)
1676966bf024Smrg		os=-bsd
1677966bf024Smrg		;;
1678966bf024Smrg	*-sgi)
1679966bf024Smrg		os=-irix
1680966bf024Smrg		;;
1681966bf024Smrg	*-siemens)
1682966bf024Smrg		os=-sysv4
1683966bf024Smrg		;;
1684966bf024Smrg	*-masscomp)
1685966bf024Smrg		os=-rtu
1686966bf024Smrg		;;
1687966bf024Smrg	f30[01]-fujitsu | f700-fujitsu)
1688966bf024Smrg		os=-uxpv
1689966bf024Smrg		;;
1690966bf024Smrg	*-rom68k)
1691966bf024Smrg		os=-coff
1692966bf024Smrg		;;
1693966bf024Smrg	*-*bug)
1694966bf024Smrg		os=-coff
1695966bf024Smrg		;;
1696966bf024Smrg	*-apple)
1697966bf024Smrg		os=-macos
1698966bf024Smrg		;;
1699966bf024Smrg	*-atari*)
1700966bf024Smrg		os=-mint
1701966bf024Smrg		;;
1702966bf024Smrg	*)
1703966bf024Smrg		os=-none
1704966bf024Smrg		;;
1705966bf024Smrgesac
1706966bf024Smrgfi
1707966bf024Smrg
1708966bf024Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1709966bf024Smrg# manufacturer.  We pick the logical manufacturer.
1710966bf024Smrgvendor=unknown
1711966bf024Smrgcase $basic_machine in
1712966bf024Smrg	*-unknown)
1713966bf024Smrg		case $os in
1714966bf024Smrg			-riscix*)
1715966bf024Smrg				vendor=acorn
1716966bf024Smrg				;;
1717966bf024Smrg			-sunos*)
1718966bf024Smrg				vendor=sun
1719966bf024Smrg				;;
17209384b2f3Smrg			-cnk*|-aix*)
1721966bf024Smrg				vendor=ibm
1722966bf024Smrg				;;
1723966bf024Smrg			-beos*)
1724966bf024Smrg				vendor=be
1725966bf024Smrg				;;
1726966bf024Smrg			-hpux*)
1727966bf024Smrg				vendor=hp
1728966bf024Smrg				;;
1729966bf024Smrg			-mpeix*)
1730966bf024Smrg				vendor=hp
1731966bf024Smrg				;;
1732966bf024Smrg			-hiux*)
1733966bf024Smrg				vendor=hitachi
1734966bf024Smrg				;;
1735966bf024Smrg			-unos*)
1736966bf024Smrg				vendor=crds
1737966bf024Smrg				;;
1738966bf024Smrg			-dgux*)
1739966bf024Smrg				vendor=dg
1740966bf024Smrg				;;
1741966bf024Smrg			-luna*)
1742966bf024Smrg				vendor=omron
1743966bf024Smrg				;;
1744966bf024Smrg			-genix*)
1745966bf024Smrg				vendor=ns
1746966bf024Smrg				;;
1747966bf024Smrg			-mvs* | -opened*)
1748966bf024Smrg				vendor=ibm
1749966bf024Smrg				;;
17509384b2f3Smrg			-os400*)
17519384b2f3Smrg				vendor=ibm
17529384b2f3Smrg				;;
1753966bf024Smrg			-ptx*)
1754966bf024Smrg				vendor=sequent
1755966bf024Smrg				;;
17569384b2f3Smrg			-tpf*)
17579384b2f3Smrg				vendor=ibm
17589384b2f3Smrg				;;
1759966bf024Smrg			-vxsim* | -vxworks* | -windiss*)
1760966bf024Smrg				vendor=wrs
1761966bf024Smrg				;;
1762966bf024Smrg			-aux*)
1763966bf024Smrg				vendor=apple
1764966bf024Smrg				;;
1765966bf024Smrg			-hms*)
1766966bf024Smrg				vendor=hitachi
1767966bf024Smrg				;;
1768966bf024Smrg			-mpw* | -macos*)
1769966bf024Smrg				vendor=apple
1770966bf024Smrg				;;
1771966bf024Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1772966bf024Smrg				vendor=atari
1773966bf024Smrg				;;
1774966bf024Smrg			-vos*)
1775966bf024Smrg				vendor=stratus
1776966bf024Smrg				;;
1777966bf024Smrg		esac
1778966bf024Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1779966bf024Smrg		;;
1780966bf024Smrgesac
1781966bf024Smrg
1782966bf024Smrgecho $basic_machine$os
17839384b2f3Smrgexit
1784966bf024Smrg
1785966bf024Smrg# Local variables:
1786966bf024Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1787966bf024Smrg# time-stamp-start: "timestamp='"
1788966bf024Smrg# time-stamp-format: "%:y-%02m-%02d"
1789966bf024Smrg# time-stamp-end: "'"
1790966bf024Smrg# End:
1791