config.sub revision 4b9470b1
1d983712dSmrg#! /bin/sh
2d983712dSmrg# Configuration validation subroutine script.
3d983712dSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
44b9470b1Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
54b9470b1Smrg#   2011, 2012 Free Software Foundation, Inc.
6d983712dSmrg
74b9470b1Smrgtimestamp='2012-01-01'
8d983712dSmrg
9d983712dSmrg# This file is (in principle) common to ALL GNU software.
10d983712dSmrg# The presence of a machine in this file suggests that SOME GNU software
11d983712dSmrg# can handle that machine.  It does not imply ALL GNU software can.
12d983712dSmrg#
13d983712dSmrg# This file is free software; you can redistribute it and/or modify
14d983712dSmrg# it under the terms of the GNU General Public License as published by
15d983712dSmrg# the Free Software Foundation; either version 2 of the License, or
16d983712dSmrg# (at your option) any later version.
17d983712dSmrg#
18d983712dSmrg# This program is distributed in the hope that it will be useful,
19d983712dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20d983712dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21d983712dSmrg# GNU General Public License for more details.
22d983712dSmrg#
23d983712dSmrg# You should have received a copy of the GNU General Public License
24d983712dSmrg# along with this program; if not, write to the Free Software
25962c3257Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26962c3257Smrg# 02110-1301, USA.
27962c3257Smrg#
28d983712dSmrg# As a special exception to the GNU General Public License, if you
29d983712dSmrg# distribute this file as part of a program that contains a
30d983712dSmrg# configuration script generated by Autoconf, you may include it under
31d983712dSmrg# the same distribution terms that you use for the rest of that program.
32d983712dSmrg
33962c3257Smrg
34d983712dSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
354b9470b1Smrg# diff and a properly formatted GNU ChangeLog entry.
36d983712dSmrg#
37d983712dSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38d983712dSmrg# Supply the specified configuration type as an argument.
39d983712dSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40d983712dSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41d983712dSmrg
424b9470b1Smrg# You can get the latest version of this script from:
434b9470b1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
444b9470b1Smrg
45d983712dSmrg# This file is supposed to be the same for all GNU packages
46d983712dSmrg# and recognize all the CPU types, system types and aliases
47d983712dSmrg# that are meaningful with *any* GNU software.
48d983712dSmrg# Each package is responsible for reporting which valid configurations
49d983712dSmrg# it does not support.  The user should be able to distinguish
50d983712dSmrg# a failure to support a valid configuration from a meaningless
51d983712dSmrg# configuration.
52d983712dSmrg
53d983712dSmrg# The goal of this file is to map all the various variations of a given
54d983712dSmrg# machine specification into a single specification in the form:
55d983712dSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56d983712dSmrg# or in some cases, the newer four-part form:
57d983712dSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58d983712dSmrg# It is wrong to echo any other type of specification.
59d983712dSmrg
60d983712dSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61d983712dSmrg
62d983712dSmrgusage="\
63d983712dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64d983712dSmrg       $0 [OPTION] ALIAS
65d983712dSmrg
66d983712dSmrgCanonicalize a configuration name.
67d983712dSmrg
68d983712dSmrgOperation modes:
69d983712dSmrg  -h, --help         print this help, then exit
70d983712dSmrg  -t, --time-stamp   print date of last modification, then exit
71d983712dSmrg  -v, --version      print version number, then exit
72d983712dSmrg
73d983712dSmrgReport bugs and patches to <config-patches@gnu.org>."
74d983712dSmrg
75d983712dSmrgversion="\
76d983712dSmrgGNU config.sub ($timestamp)
77d983712dSmrg
784b9470b1SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
794b9470b1Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
804b9470b1SmrgFree Software Foundation, Inc.
81d983712dSmrg
82d983712dSmrgThis is free software; see the source for copying conditions.  There is NO
83d983712dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84d983712dSmrg
85d983712dSmrghelp="
86d983712dSmrgTry \`$me --help' for more information."
87d983712dSmrg
88d983712dSmrg# Parse command line
89d983712dSmrgwhile test $# -gt 0 ; do
90d983712dSmrg  case $1 in
91d983712dSmrg    --time-stamp | --time* | -t )
92962c3257Smrg       echo "$timestamp" ; exit ;;
93d983712dSmrg    --version | -v )
94962c3257Smrg       echo "$version" ; exit ;;
95d983712dSmrg    --help | --h* | -h )
96962c3257Smrg       echo "$usage"; exit ;;
97d983712dSmrg    -- )     # Stop option processing
98d983712dSmrg       shift; break ;;
99d983712dSmrg    - )	# Use stdin as input.
100d983712dSmrg       break ;;
101d983712dSmrg    -* )
102d983712dSmrg       echo "$me: invalid option $1$help"
103d983712dSmrg       exit 1 ;;
104d983712dSmrg
105d983712dSmrg    *local*)
106d983712dSmrg       # First pass through any local machine types.
107d983712dSmrg       echo $1
108962c3257Smrg       exit ;;
109d983712dSmrg
110d983712dSmrg    * )
111d983712dSmrg       break ;;
112d983712dSmrg  esac
113d983712dSmrgdone
114d983712dSmrg
115d983712dSmrgcase $# in
116d983712dSmrg 0) echo "$me: missing argument$help" >&2
117d983712dSmrg    exit 1;;
118d983712dSmrg 1) ;;
119d983712dSmrg *) echo "$me: too many arguments$help" >&2
120d983712dSmrg    exit 1;;
121d983712dSmrgesac
122d983712dSmrg
123d983712dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124d983712dSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125d983712dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126d983712dSmrgcase $maybe_os in
1274b9470b1Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1284b9470b1Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1294b9470b1Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1304b9470b1Smrg  kopensolaris*-gnu* | \
131962c3257Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132d983712dSmrg    os=-$maybe_os
133d983712dSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134d983712dSmrg    ;;
135d983712dSmrg  *)
136d983712dSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137d983712dSmrg    if [ $basic_machine != $1 ]
138d983712dSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139d983712dSmrg    else os=; fi
140d983712dSmrg    ;;
141d983712dSmrgesac
142d983712dSmrg
143d983712dSmrg### Let's recognize common machines as not being operating systems so
144d983712dSmrg### that things like config.sub decstation-3100 work.  We also
145d983712dSmrg### recognize some manufacturers as not being operating systems, so we
146d983712dSmrg### can provide default operating systems below.
147d983712dSmrgcase $os in
148d983712dSmrg	-sun*os*)
149d983712dSmrg		# Prevent following clause from handling this invalid input.
150d983712dSmrg		;;
151d983712dSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152d983712dSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153d983712dSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154d983712dSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155d983712dSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156d983712dSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1574b9470b1Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158d983712dSmrg		os=
159d983712dSmrg		basic_machine=$1
160d983712dSmrg		;;
1614b9470b1Smrg	-bluegene*)
1624b9470b1Smrg		os=-cnk
1634b9470b1Smrg		;;
164d983712dSmrg	-sim | -cisco | -oki | -wec | -winbond)
165d983712dSmrg		os=
166d983712dSmrg		basic_machine=$1
167d983712dSmrg		;;
168d983712dSmrg	-scout)
169d983712dSmrg		;;
170d983712dSmrg	-wrs)
171d983712dSmrg		os=-vxworks
172d983712dSmrg		basic_machine=$1
173d983712dSmrg		;;
174d983712dSmrg	-chorusos*)
175d983712dSmrg		os=-chorusos
176d983712dSmrg		basic_machine=$1
177d983712dSmrg		;;
1784b9470b1Smrg	-chorusrdb)
1794b9470b1Smrg		os=-chorusrdb
180d983712dSmrg		basic_machine=$1
1814b9470b1Smrg		;;
182d983712dSmrg	-hiux*)
183d983712dSmrg		os=-hiuxwe2
184d983712dSmrg		;;
185962c3257Smrg	-sco6)
186962c3257Smrg		os=-sco5v6
187962c3257Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188962c3257Smrg		;;
189d983712dSmrg	-sco5)
190d983712dSmrg		os=-sco3.2v5
191d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192d983712dSmrg		;;
193d983712dSmrg	-sco4)
194d983712dSmrg		os=-sco3.2v4
195d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196d983712dSmrg		;;
197d983712dSmrg	-sco3.2.[4-9]*)
198d983712dSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200d983712dSmrg		;;
201d983712dSmrg	-sco3.2v[4-9]*)
202d983712dSmrg		# Don't forget version if it is 3.2v4 or newer.
203d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204d983712dSmrg		;;
205962c3257Smrg	-sco5v6*)
206962c3257Smrg		# Don't forget version if it is 3.2v4 or newer.
207962c3257Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208962c3257Smrg		;;
209d983712dSmrg	-sco*)
210d983712dSmrg		os=-sco3.2v2
211d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212d983712dSmrg		;;
213d983712dSmrg	-udk*)
214d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215d983712dSmrg		;;
216d983712dSmrg	-isc)
217d983712dSmrg		os=-isc2.2
218d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219d983712dSmrg		;;
220d983712dSmrg	-clix*)
221d983712dSmrg		basic_machine=clipper-intergraph
222d983712dSmrg		;;
223d983712dSmrg	-isc*)
224d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225d983712dSmrg		;;
226d983712dSmrg	-lynx*)
227d983712dSmrg		os=-lynxos
228d983712dSmrg		;;
229d983712dSmrg	-ptx*)
230d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231d983712dSmrg		;;
232d983712dSmrg	-windowsnt*)
233d983712dSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234d983712dSmrg		;;
235d983712dSmrg	-psos*)
236d983712dSmrg		os=-psos
237d983712dSmrg		;;
238d983712dSmrg	-mint | -mint[0-9]*)
239d983712dSmrg		basic_machine=m68k-atari
240d983712dSmrg		os=-mint
241d983712dSmrg		;;
242d983712dSmrgesac
243d983712dSmrg
244d983712dSmrg# Decode aliases for certain CPU-COMPANY combinations.
245d983712dSmrgcase $basic_machine in
246d983712dSmrg	# Recognize the basic CPU types without company name.
247d983712dSmrg	# Some are omitted here because they have special meanings below.
248d983712dSmrg	1750a | 580 \
249d983712dSmrg	| a29k \
250d983712dSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251d983712dSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252962c3257Smrg	| am33_2.0 \
253962c3257Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2544b9470b1Smrg        | be32 | be64 \
255962c3257Smrg	| bfin \
256d983712dSmrg	| c4x | clipper \
257d983712dSmrg	| d10v | d30v | dlx | dsp16xx \
2584b9470b1Smrg	| epiphany \
259962c3257Smrg	| fido | fr30 | frv \
260d983712dSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2614b9470b1Smrg	| hexagon \
262d983712dSmrg	| i370 | i860 | i960 | ia64 \
263962c3257Smrg	| ip2k | iq2000 \
2644b9470b1Smrg	| le32 | le64 \
2654b9470b1Smrg	| lm32 \
266962c3257Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2674b9470b1Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268d983712dSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269d983712dSmrg	| mips16 \
270d983712dSmrg	| mips64 | mips64el \
2714b9470b1Smrg	| mips64octeon | mips64octeonel \
272d03ff4acSmrg	| mips64orion | mips64orionel \
2734b9470b1Smrg	| mips64r5900 | mips64r5900el \
2744b9470b1Smrg	| mips64vr | mips64vrel \
275d983712dSmrg	| mips64vr4100 | mips64vr4100el \
276d983712dSmrg	| mips64vr4300 | mips64vr4300el \
277d983712dSmrg	| mips64vr5000 | mips64vr5000el \
278962c3257Smrg	| mips64vr5900 | mips64vr5900el \
279d983712dSmrg	| mipsisa32 | mipsisa32el \
280d983712dSmrg	| mipsisa32r2 | mipsisa32r2el \
281d983712dSmrg	| mipsisa64 | mipsisa64el \
282962c3257Smrg	| mipsisa64r2 | mipsisa64r2el \
283d983712dSmrg	| mipsisa64sb1 | mipsisa64sb1el \
284d983712dSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
285d983712dSmrg	| mipstx39 | mipstx39el \
286d983712dSmrg	| mn10200 | mn10300 \
2874b9470b1Smrg	| moxie \
288962c3257Smrg	| mt \
289d983712dSmrg	| msp430 \
2904b9470b1Smrg	| nds32 | nds32le | nds32be \
291962c3257Smrg	| nios | nios2 \
292d983712dSmrg	| ns16k | ns32k \
2934b9470b1Smrg	| open8 \
294962c3257Smrg	| or32 \
295d983712dSmrg	| pdp10 | pdp11 | pj | pjl \
2964b9470b1Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297d983712dSmrg	| pyramid \
2984b9470b1Smrg	| rl78 | rx \
299962c3257Smrg	| score \
3004b9470b1Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301d983712dSmrg	| sh64 | sh64le \
302962c3257Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303962c3257Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3044b9470b1Smrg	| spu \
3054b9470b1Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3064b9470b1Smrg	| ubicom32 \
3074b9470b1Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308d983712dSmrg	| we32k \
3094b9470b1Smrg	| x86 | xc16x | xstormy16 | xtensa \
3104b9470b1Smrg	| z8k | z80)
311d983712dSmrg		basic_machine=$basic_machine-unknown
312d983712dSmrg		;;
3134b9470b1Smrg	c54x)
3144b9470b1Smrg		basic_machine=tic54x-unknown
3154b9470b1Smrg		;;
3164b9470b1Smrg	c55x)
3174b9470b1Smrg		basic_machine=tic55x-unknown
3184b9470b1Smrg		;;
3194b9470b1Smrg	c6x)
3204b9470b1Smrg		basic_machine=tic6x-unknown
3214b9470b1Smrg		;;
3224b9470b1Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323d983712dSmrg		basic_machine=$basic_machine-unknown
324d983712dSmrg		os=-none
325d983712dSmrg		;;
326d983712dSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
327d983712dSmrg		;;
328962c3257Smrg	ms1)
329962c3257Smrg		basic_machine=mt-unknown
330962c3257Smrg		;;
331d983712dSmrg
3324b9470b1Smrg	strongarm | thumb | xscale)
3334b9470b1Smrg		basic_machine=arm-unknown
3344b9470b1Smrg		;;
3354b9470b1Smrg
3364b9470b1Smrg	xscaleeb)
3374b9470b1Smrg		basic_machine=armeb-unknown
3384b9470b1Smrg		;;
3394b9470b1Smrg
3404b9470b1Smrg	xscaleel)
3414b9470b1Smrg		basic_machine=armel-unknown
3424b9470b1Smrg		;;
3434b9470b1Smrg
344d983712dSmrg	# We use `pc' rather than `unknown'
345d983712dSmrg	# because (1) that's what they normally are, and
346d983712dSmrg	# (2) the word "unknown" tends to confuse beginning users.
347d983712dSmrg	i*86 | x86_64)
348d983712dSmrg	  basic_machine=$basic_machine-pc
349d983712dSmrg	  ;;
350d983712dSmrg	# Object if more than one company name word.
351d983712dSmrg	*-*-*)
352d983712dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
353d983712dSmrg		exit 1
354d983712dSmrg		;;
355d983712dSmrg	# Recognize the basic CPU types with company name.
356d983712dSmrg	580-* \
357d983712dSmrg	| a29k-* \
358d983712dSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
359d983712dSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
360d983712dSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
361d983712dSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
362962c3257Smrg	| avr-* | avr32-* \
3634b9470b1Smrg	| be32-* | be64-* \
364962c3257Smrg	| bfin-* | bs2000-* \
3654b9470b1Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
366962c3257Smrg	| clipper-* | craynv-* | cydra-* \
367d983712dSmrg	| d10v-* | d30v-* | dlx-* \
368d983712dSmrg	| elxsi-* \
369962c3257Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
370d983712dSmrg	| h8300-* | h8500-* \
371d983712dSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3724b9470b1Smrg	| hexagon-* \
373d983712dSmrg	| i*86-* | i860-* | i960-* | ia64-* \
374962c3257Smrg	| ip2k-* | iq2000-* \
3754b9470b1Smrg	| le32-* | le64-* \
3764b9470b1Smrg	| lm32-* \
377962c3257Smrg	| m32c-* | m32r-* | m32rle-* \
378d983712dSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3794b9470b1Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
380d983712dSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
381d983712dSmrg	| mips16-* \
382d983712dSmrg	| mips64-* | mips64el-* \
3834b9470b1Smrg	| mips64octeon-* | mips64octeonel-* \
384d03ff4acSmrg	| mips64orion-* | mips64orionel-* \
3854b9470b1Smrg	| mips64r5900-* | mips64r5900el-* \
3864b9470b1Smrg	| mips64vr-* | mips64vrel-* \
387d983712dSmrg	| mips64vr4100-* | mips64vr4100el-* \
388d983712dSmrg	| mips64vr4300-* | mips64vr4300el-* \
389d983712dSmrg	| mips64vr5000-* | mips64vr5000el-* \
390962c3257Smrg	| mips64vr5900-* | mips64vr5900el-* \
391d983712dSmrg	| mipsisa32-* | mipsisa32el-* \
392d983712dSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
393d983712dSmrg	| mipsisa64-* | mipsisa64el-* \
394962c3257Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
395d983712dSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
396d983712dSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
397d983712dSmrg	| mipstx39-* | mipstx39el-* \
398962c3257Smrg	| mmix-* \
399962c3257Smrg	| mt-* \
400d983712dSmrg	| msp430-* \
4014b9470b1Smrg	| nds32-* | nds32le-* | nds32be-* \
402962c3257Smrg	| nios-* | nios2-* \
403962c3257Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4044b9470b1Smrg	| open8-* \
405d983712dSmrg	| orion-* \
406d983712dSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4074b9470b1Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
408d983712dSmrg	| pyramid-* \
4094b9470b1Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
4104b9470b1Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
411d983712dSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
412962c3257Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
413962c3257Smrg	| sparclite-* \
4144b9470b1Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4154b9470b1Smrg	| tahoe-* \
416d03ff4acSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4174b9470b1Smrg	| tile*-* \
418d983712dSmrg	| tron-* \
4194b9470b1Smrg	| ubicom32-* \
4204b9470b1Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4214b9470b1Smrg	| vax-* \
422d983712dSmrg	| we32k-* \
4234b9470b1Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
424962c3257Smrg	| xstormy16-* | xtensa*-* \
425d983712dSmrg	| ymp-* \
4264b9470b1Smrg	| z8k-* | z80-*)
427d983712dSmrg		;;
428962c3257Smrg	# Recognize the basic CPU types without company name, with glob match.
429962c3257Smrg	xtensa*)
430962c3257Smrg		basic_machine=$basic_machine-unknown
431962c3257Smrg		;;
432d983712dSmrg	# Recognize the various machine names and aliases which stand
433d983712dSmrg	# for a CPU type and a company and sometimes even an OS.
434d983712dSmrg	386bsd)
435d983712dSmrg		basic_machine=i386-unknown
436d983712dSmrg		os=-bsd
437d983712dSmrg		;;
438d983712dSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
439d983712dSmrg		basic_machine=m68000-att
440d983712dSmrg		;;
441d983712dSmrg	3b*)
442d983712dSmrg		basic_machine=we32k-att
443d983712dSmrg		;;
444d983712dSmrg	a29khif)
445d983712dSmrg		basic_machine=a29k-amd
446d983712dSmrg		os=-udi
447d983712dSmrg		;;
4484b9470b1Smrg	abacus)
449962c3257Smrg		basic_machine=abacus-unknown
450962c3257Smrg		;;
451d983712dSmrg	adobe68k)
452d983712dSmrg		basic_machine=m68010-adobe
453d983712dSmrg		os=-scout
454d983712dSmrg		;;
455d983712dSmrg	alliant | fx80)
456d983712dSmrg		basic_machine=fx80-alliant
457d983712dSmrg		;;
458d983712dSmrg	altos | altos3068)
459d983712dSmrg		basic_machine=m68k-altos
460d983712dSmrg		;;
461d983712dSmrg	am29k)
462d983712dSmrg		basic_machine=a29k-none
463d983712dSmrg		os=-bsd
464d983712dSmrg		;;
465d983712dSmrg	amd64)
466d983712dSmrg		basic_machine=x86_64-pc
467d983712dSmrg		;;
468962c3257Smrg	amd64-*)
469962c3257Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
470962c3257Smrg		;;
471d983712dSmrg	amdahl)
472d983712dSmrg		basic_machine=580-amdahl
473d983712dSmrg		os=-sysv
474d983712dSmrg		;;
475d983712dSmrg	amiga | amiga-*)
476d983712dSmrg		basic_machine=m68k-unknown
477d983712dSmrg		;;
478d983712dSmrg	amigaos | amigados)
479d983712dSmrg		basic_machine=m68k-unknown
480d983712dSmrg		os=-amigaos
481d983712dSmrg		;;
482d983712dSmrg	amigaunix | amix)
483d983712dSmrg		basic_machine=m68k-unknown
484d983712dSmrg		os=-sysv4
485d983712dSmrg		;;
486d983712dSmrg	apollo68)
487d983712dSmrg		basic_machine=m68k-apollo
488d983712dSmrg		os=-sysv
489d983712dSmrg		;;
490d983712dSmrg	apollo68bsd)
491d983712dSmrg		basic_machine=m68k-apollo
492d983712dSmrg		os=-bsd
493d983712dSmrg		;;
4944b9470b1Smrg	aros)
4954b9470b1Smrg		basic_machine=i386-pc
4964b9470b1Smrg		os=-aros
4974b9470b1Smrg		;;
498d983712dSmrg	aux)
499d983712dSmrg		basic_machine=m68k-apple
500d983712dSmrg		os=-aux
501d983712dSmrg		;;
502d983712dSmrg	balance)
503d983712dSmrg		basic_machine=ns32k-sequent
504d983712dSmrg		os=-dynix
505d983712dSmrg		;;
506962c3257Smrg	blackfin)
507962c3257Smrg		basic_machine=bfin-unknown
508962c3257Smrg		os=-linux
509962c3257Smrg		;;
510962c3257Smrg	blackfin-*)
511962c3257Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
512962c3257Smrg		os=-linux
513962c3257Smrg		;;
5144b9470b1Smrg	bluegene*)
5154b9470b1Smrg		basic_machine=powerpc-ibm
5164b9470b1Smrg		os=-cnk
5174b9470b1Smrg		;;
5184b9470b1Smrg	c54x-*)
5194b9470b1Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5204b9470b1Smrg		;;
5214b9470b1Smrg	c55x-*)
5224b9470b1Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5234b9470b1Smrg		;;
5244b9470b1Smrg	c6x-*)
5254b9470b1Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5264b9470b1Smrg		;;
527d983712dSmrg	c90)
528d983712dSmrg		basic_machine=c90-cray
529d983712dSmrg		os=-unicos
530d983712dSmrg		;;
5314b9470b1Smrg	cegcc)
5324b9470b1Smrg		basic_machine=arm-unknown
5334b9470b1Smrg		os=-cegcc
5344b9470b1Smrg		;;
535d983712dSmrg	convex-c1)
536d983712dSmrg		basic_machine=c1-convex
537d983712dSmrg		os=-bsd
538d983712dSmrg		;;
539d983712dSmrg	convex-c2)
540d983712dSmrg		basic_machine=c2-convex
541d983712dSmrg		os=-bsd
542d983712dSmrg		;;
543d983712dSmrg	convex-c32)
544d983712dSmrg		basic_machine=c32-convex
545d983712dSmrg		os=-bsd
546d983712dSmrg		;;
547d983712dSmrg	convex-c34)
548d983712dSmrg		basic_machine=c34-convex
549d983712dSmrg		os=-bsd
550d983712dSmrg		;;
551d983712dSmrg	convex-c38)
552d983712dSmrg		basic_machine=c38-convex
553d983712dSmrg		os=-bsd
554d983712dSmrg		;;
555d983712dSmrg	cray | j90)
556d983712dSmrg		basic_machine=j90-cray
557d983712dSmrg		os=-unicos
558d983712dSmrg		;;
559962c3257Smrg	craynv)
560962c3257Smrg		basic_machine=craynv-cray
561962c3257Smrg		os=-unicosmp
562962c3257Smrg		;;
5634b9470b1Smrg	cr16 | cr16-*)
564962c3257Smrg		basic_machine=cr16-unknown
565962c3257Smrg		os=-elf
566962c3257Smrg		;;
567d983712dSmrg	crds | unos)
568d983712dSmrg		basic_machine=m68k-crds
569d983712dSmrg		;;
570962c3257Smrg	crisv32 | crisv32-* | etraxfs*)
571962c3257Smrg		basic_machine=crisv32-axis
572962c3257Smrg		;;
573d983712dSmrg	cris | cris-* | etrax*)
574d983712dSmrg		basic_machine=cris-axis
575d983712dSmrg		;;
576962c3257Smrg	crx)
577962c3257Smrg		basic_machine=crx-unknown
578962c3257Smrg		os=-elf
579962c3257Smrg		;;
580d983712dSmrg	da30 | da30-*)
581d983712dSmrg		basic_machine=m68k-da30
582d983712dSmrg		;;
583d983712dSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
584d983712dSmrg		basic_machine=mips-dec
585d983712dSmrg		;;
586d983712dSmrg	decsystem10* | dec10*)
587d983712dSmrg		basic_machine=pdp10-dec
588d983712dSmrg		os=-tops10
589d983712dSmrg		;;
590d983712dSmrg	decsystem20* | dec20*)
591d983712dSmrg		basic_machine=pdp10-dec
592d983712dSmrg		os=-tops20
593d983712dSmrg		;;
594d983712dSmrg	delta | 3300 | motorola-3300 | motorola-delta \
595d983712dSmrg	      | 3300-motorola | delta-motorola)
596d983712dSmrg		basic_machine=m68k-motorola
597d983712dSmrg		;;
598d983712dSmrg	delta88)
599d983712dSmrg		basic_machine=m88k-motorola
600d983712dSmrg		os=-sysv3
601d983712dSmrg		;;
6024b9470b1Smrg	dicos)
6034b9470b1Smrg		basic_machine=i686-pc
6044b9470b1Smrg		os=-dicos
6054b9470b1Smrg		;;
606962c3257Smrg	djgpp)
607962c3257Smrg		basic_machine=i586-pc
608962c3257Smrg		os=-msdosdjgpp
609962c3257Smrg		;;
610d983712dSmrg	dpx20 | dpx20-*)
611d983712dSmrg		basic_machine=rs6000-bull
612d983712dSmrg		os=-bosx
613d983712dSmrg		;;
614d983712dSmrg	dpx2* | dpx2*-bull)
615d983712dSmrg		basic_machine=m68k-bull
616d983712dSmrg		os=-sysv3
617d983712dSmrg		;;
618d983712dSmrg	ebmon29k)
619d983712dSmrg		basic_machine=a29k-amd
620d983712dSmrg		os=-ebmon
621d983712dSmrg		;;
622d983712dSmrg	elxsi)
623d983712dSmrg		basic_machine=elxsi-elxsi
624d983712dSmrg		os=-bsd
625d983712dSmrg		;;
626d983712dSmrg	encore | umax | mmax)
627d983712dSmrg		basic_machine=ns32k-encore
628d983712dSmrg		;;
629d983712dSmrg	es1800 | OSE68k | ose68k | ose | OSE)
630d983712dSmrg		basic_machine=m68k-ericsson
631d983712dSmrg		os=-ose
632d983712dSmrg		;;
633d983712dSmrg	fx2800)
634d983712dSmrg		basic_machine=i860-alliant
635d983712dSmrg		;;
636d983712dSmrg	genix)
637d983712dSmrg		basic_machine=ns32k-ns
638d983712dSmrg		;;
639d983712dSmrg	gmicro)
640d983712dSmrg		basic_machine=tron-gmicro
641d983712dSmrg		os=-sysv
642d983712dSmrg		;;
643d983712dSmrg	go32)
644d983712dSmrg		basic_machine=i386-pc
645d983712dSmrg		os=-go32
646d983712dSmrg		;;
647d983712dSmrg	h3050r* | hiux*)
648d983712dSmrg		basic_machine=hppa1.1-hitachi
649d983712dSmrg		os=-hiuxwe2
650d983712dSmrg		;;
651d983712dSmrg	h8300hms)
652d983712dSmrg		basic_machine=h8300-hitachi
653d983712dSmrg		os=-hms
654d983712dSmrg		;;
655d983712dSmrg	h8300xray)
656d983712dSmrg		basic_machine=h8300-hitachi
657d983712dSmrg		os=-xray
658d983712dSmrg		;;
659d983712dSmrg	h8500hms)
660d983712dSmrg		basic_machine=h8500-hitachi
661d983712dSmrg		os=-hms
662d983712dSmrg		;;
663d983712dSmrg	harris)
664d983712dSmrg		basic_machine=m88k-harris
665d983712dSmrg		os=-sysv3
666d983712dSmrg		;;
667d983712dSmrg	hp300-*)
668d983712dSmrg		basic_machine=m68k-hp
669d983712dSmrg		;;
670d983712dSmrg	hp300bsd)
671d983712dSmrg		basic_machine=m68k-hp
672d983712dSmrg		os=-bsd
673d983712dSmrg		;;
674d983712dSmrg	hp300hpux)
675d983712dSmrg		basic_machine=m68k-hp
676d983712dSmrg		os=-hpux
677d983712dSmrg		;;
678d983712dSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
679d983712dSmrg		basic_machine=hppa1.0-hp
680d983712dSmrg		;;
681d983712dSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
682d983712dSmrg		basic_machine=m68000-hp
683d983712dSmrg		;;
684d983712dSmrg	hp9k3[2-9][0-9])
685d983712dSmrg		basic_machine=m68k-hp
686d983712dSmrg		;;
687d983712dSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
688d983712dSmrg		basic_machine=hppa1.0-hp
689d983712dSmrg		;;
690d983712dSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
691d983712dSmrg		basic_machine=hppa1.1-hp
692d983712dSmrg		;;
693d983712dSmrg	hp9k78[0-9] | hp78[0-9])
694d983712dSmrg		# FIXME: really hppa2.0-hp
695d983712dSmrg		basic_machine=hppa1.1-hp
696d983712dSmrg		;;
697d983712dSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
698d983712dSmrg		# FIXME: really hppa2.0-hp
699d983712dSmrg		basic_machine=hppa1.1-hp
700d983712dSmrg		;;
701d983712dSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
702d983712dSmrg		basic_machine=hppa1.1-hp
703d983712dSmrg		;;
704d983712dSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
705d983712dSmrg		basic_machine=hppa1.0-hp
706d983712dSmrg		;;
707d983712dSmrg	hppa-next)
708d983712dSmrg		os=-nextstep3
709d983712dSmrg		;;
710d983712dSmrg	hppaosf)
711d983712dSmrg		basic_machine=hppa1.1-hp
712d983712dSmrg		os=-osf
713d983712dSmrg		;;
714d983712dSmrg	hppro)
715d983712dSmrg		basic_machine=hppa1.1-hp
716d983712dSmrg		os=-proelf
717d983712dSmrg		;;
718d983712dSmrg	i370-ibm* | ibm*)
719d983712dSmrg		basic_machine=i370-ibm
720d983712dSmrg		;;
721d983712dSmrg	i*86v32)
722d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
723d983712dSmrg		os=-sysv32
724d983712dSmrg		;;
725d983712dSmrg	i*86v4*)
726d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727d983712dSmrg		os=-sysv4
728d983712dSmrg		;;
729d983712dSmrg	i*86v)
730d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731d983712dSmrg		os=-sysv
732d983712dSmrg		;;
733d983712dSmrg	i*86sol2)
734d983712dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735d983712dSmrg		os=-solaris2
736d983712dSmrg		;;
737d983712dSmrg	i386mach)
738d983712dSmrg		basic_machine=i386-mach
739d983712dSmrg		os=-mach
740d983712dSmrg		;;
741d983712dSmrg	i386-vsta | vsta)
742d983712dSmrg		basic_machine=i386-unknown
743d983712dSmrg		os=-vsta
744d983712dSmrg		;;
745d983712dSmrg	iris | iris4d)
746d983712dSmrg		basic_machine=mips-sgi
747d983712dSmrg		case $os in
748d983712dSmrg		    -irix*)
749d983712dSmrg			;;
750d983712dSmrg		    *)
751d983712dSmrg			os=-irix4
752d983712dSmrg			;;
753d983712dSmrg		esac
754d983712dSmrg		;;
755d983712dSmrg	isi68 | isi)
756d983712dSmrg		basic_machine=m68k-isi
757d983712dSmrg		os=-sysv
758d983712dSmrg		;;
759962c3257Smrg	m68knommu)
760962c3257Smrg		basic_machine=m68k-unknown
761962c3257Smrg		os=-linux
762962c3257Smrg		;;
763962c3257Smrg	m68knommu-*)
764962c3257Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
765962c3257Smrg		os=-linux
766962c3257Smrg		;;
767d983712dSmrg	m88k-omron*)
768d983712dSmrg		basic_machine=m88k-omron
769d983712dSmrg		;;
770d983712dSmrg	magnum | m3230)
771d983712dSmrg		basic_machine=mips-mips
772d983712dSmrg		os=-sysv
773d983712dSmrg		;;
774d983712dSmrg	merlin)
775d983712dSmrg		basic_machine=ns32k-utek
776d983712dSmrg		os=-sysv
777d983712dSmrg		;;
7784b9470b1Smrg	microblaze)
7794b9470b1Smrg		basic_machine=microblaze-xilinx
7804b9470b1Smrg		;;
781d983712dSmrg	mingw32)
782d983712dSmrg		basic_machine=i386-pc
783d983712dSmrg		os=-mingw32
784d983712dSmrg		;;
785962c3257Smrg	mingw32ce)
786962c3257Smrg		basic_machine=arm-unknown
787962c3257Smrg		os=-mingw32ce
788962c3257Smrg		;;
789d983712dSmrg	miniframe)
790d983712dSmrg		basic_machine=m68000-convergent
791d983712dSmrg		;;
792d983712dSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
793d983712dSmrg		basic_machine=m68k-atari
794d983712dSmrg		os=-mint
795d983712dSmrg		;;
796d983712dSmrg	mips3*-*)
797d983712dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
798d983712dSmrg		;;
799d983712dSmrg	mips3*)
800d983712dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
801d983712dSmrg		;;
802d983712dSmrg	monitor)
803d983712dSmrg		basic_machine=m68k-rom68k
804d983712dSmrg		os=-coff
805d983712dSmrg		;;
806d983712dSmrg	morphos)
807d983712dSmrg		basic_machine=powerpc-unknown
808d983712dSmrg		os=-morphos
809d983712dSmrg		;;
810d983712dSmrg	msdos)
811d983712dSmrg		basic_machine=i386-pc
812d983712dSmrg		os=-msdos
813d983712dSmrg		;;
814962c3257Smrg	ms1-*)
815962c3257Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
816962c3257Smrg		;;
8174b9470b1Smrg	msys)
8184b9470b1Smrg		basic_machine=i386-pc
8194b9470b1Smrg		os=-msys
8204b9470b1Smrg		;;
821d983712dSmrg	mvs)
822d983712dSmrg		basic_machine=i370-ibm
823d983712dSmrg		os=-mvs
824d983712dSmrg		;;
8254b9470b1Smrg	nacl)
8264b9470b1Smrg		basic_machine=le32-unknown
8274b9470b1Smrg		os=-nacl
8284b9470b1Smrg		;;
829d983712dSmrg	ncr3000)
830d983712dSmrg		basic_machine=i486-ncr
831d983712dSmrg		os=-sysv4
832d983712dSmrg		;;
833d983712dSmrg	netbsd386)
834d983712dSmrg		basic_machine=i386-unknown
835d983712dSmrg		os=-netbsd
836d983712dSmrg		;;
837d983712dSmrg	netwinder)
838d983712dSmrg		basic_machine=armv4l-rebel
839d983712dSmrg		os=-linux
840d983712dSmrg		;;
841d983712dSmrg	news | news700 | news800 | news900)
842d983712dSmrg		basic_machine=m68k-sony
843d983712dSmrg		os=-newsos
844d983712dSmrg		;;
845d983712dSmrg	news1000)
846d983712dSmrg		basic_machine=m68030-sony
847d983712dSmrg		os=-newsos
848d983712dSmrg		;;
849d983712dSmrg	news-3600 | risc-news)
850d983712dSmrg		basic_machine=mips-sony
851d983712dSmrg		os=-newsos
852d983712dSmrg		;;
853d983712dSmrg	necv70)
854d983712dSmrg		basic_machine=v70-nec
855d983712dSmrg		os=-sysv
856d983712dSmrg		;;
857d983712dSmrg	next | m*-next )
858d983712dSmrg		basic_machine=m68k-next
859d983712dSmrg		case $os in
860d983712dSmrg		    -nextstep* )
861d983712dSmrg			;;
862d983712dSmrg		    -ns2*)
863d983712dSmrg		      os=-nextstep2
864d983712dSmrg			;;
865d983712dSmrg		    *)
866d983712dSmrg		      os=-nextstep3
867d983712dSmrg			;;
868d983712dSmrg		esac
869d983712dSmrg		;;
870d983712dSmrg	nh3000)
871d983712dSmrg		basic_machine=m68k-harris
872d983712dSmrg		os=-cxux
873d983712dSmrg		;;
874d983712dSmrg	nh[45]000)
875d983712dSmrg		basic_machine=m88k-harris
876d983712dSmrg		os=-cxux
877d983712dSmrg		;;
878d983712dSmrg	nindy960)
879d983712dSmrg		basic_machine=i960-intel
880d983712dSmrg		os=-nindy
881d983712dSmrg		;;
882d983712dSmrg	mon960)
883d983712dSmrg		basic_machine=i960-intel
884d983712dSmrg		os=-mon960
885d983712dSmrg		;;
886d983712dSmrg	nonstopux)
887d983712dSmrg		basic_machine=mips-compaq
888d983712dSmrg		os=-nonstopux
889d983712dSmrg		;;
890d983712dSmrg	np1)
891d983712dSmrg		basic_machine=np1-gould
892d983712dSmrg		;;
8934b9470b1Smrg	neo-tandem)
8944b9470b1Smrg		basic_machine=neo-tandem
8954b9470b1Smrg		;;
8964b9470b1Smrg	nse-tandem)
8974b9470b1Smrg		basic_machine=nse-tandem
8984b9470b1Smrg		;;
899d983712dSmrg	nsr-tandem)
900d983712dSmrg		basic_machine=nsr-tandem
901d983712dSmrg		;;
902d983712dSmrg	op50n-* | op60c-*)
903d983712dSmrg		basic_machine=hppa1.1-oki
904d983712dSmrg		os=-proelf
905d983712dSmrg		;;
906962c3257Smrg	openrisc | openrisc-*)
907d983712dSmrg		basic_machine=or32-unknown
908962c3257Smrg		;;
909962c3257Smrg	os400)
910962c3257Smrg		basic_machine=powerpc-ibm
911962c3257Smrg		os=-os400
912d983712dSmrg		;;
913d983712dSmrg	OSE68000 | ose68000)
914d983712dSmrg		basic_machine=m68000-ericsson
915d983712dSmrg		os=-ose
916d983712dSmrg		;;
917d983712dSmrg	os68k)
918d983712dSmrg		basic_machine=m68k-none
919d983712dSmrg		os=-os68k
920d983712dSmrg		;;
921d983712dSmrg	pa-hitachi)
922d983712dSmrg		basic_machine=hppa1.1-hitachi
923d983712dSmrg		os=-hiuxwe2
924d983712dSmrg		;;
925d983712dSmrg	paragon)
926d983712dSmrg		basic_machine=i860-intel
927d983712dSmrg		os=-osf
928d983712dSmrg		;;
929962c3257Smrg	parisc)
930962c3257Smrg		basic_machine=hppa-unknown
931962c3257Smrg		os=-linux
932962c3257Smrg		;;
933962c3257Smrg	parisc-*)
934962c3257Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
935962c3257Smrg		os=-linux
936962c3257Smrg		;;
937d983712dSmrg	pbd)
938d983712dSmrg		basic_machine=sparc-tti
939d983712dSmrg		;;
940d983712dSmrg	pbb)
941d983712dSmrg		basic_machine=m68k-tti
942d983712dSmrg		;;
943d983712dSmrg	pc532 | pc532-*)
944d983712dSmrg		basic_machine=ns32k-pc532
945d983712dSmrg		;;
946962c3257Smrg	pc98)
947962c3257Smrg		basic_machine=i386-pc
948962c3257Smrg		;;
949962c3257Smrg	pc98-*)
950962c3257Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
951962c3257Smrg		;;
952d983712dSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
953d983712dSmrg		basic_machine=i586-pc
954d983712dSmrg		;;
955d983712dSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
956d983712dSmrg		basic_machine=i686-pc
957d983712dSmrg		;;
958d983712dSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
959d983712dSmrg		basic_machine=i686-pc
960d983712dSmrg		;;
961d983712dSmrg	pentium4)
962d983712dSmrg		basic_machine=i786-pc
963d983712dSmrg		;;
964d983712dSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
965d983712dSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
966d983712dSmrg		;;
967d983712dSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
968d983712dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
969d983712dSmrg		;;
970d983712dSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
971d983712dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
972d983712dSmrg		;;
973d983712dSmrg	pentium4-*)
974d983712dSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
975d983712dSmrg		;;
976d983712dSmrg	pn)
977d983712dSmrg		basic_machine=pn-gould
978d983712dSmrg		;;
979d983712dSmrg	power)	basic_machine=power-ibm
980d983712dSmrg		;;
9814b9470b1Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
982d983712dSmrg		;;
9834b9470b1Smrg	ppc-* | ppcbe-*)
9844b9470b1Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
985d983712dSmrg		;;
986d983712dSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
987d983712dSmrg		basic_machine=powerpcle-unknown
988d983712dSmrg		;;
989d983712dSmrg	ppcle-* | powerpclittle-*)
990d983712dSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
991d983712dSmrg		;;
992d983712dSmrg	ppc64)	basic_machine=powerpc64-unknown
993d983712dSmrg		;;
994d983712dSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
995d983712dSmrg		;;
996d983712dSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
997d983712dSmrg		basic_machine=powerpc64le-unknown
998d983712dSmrg		;;
999d983712dSmrg	ppc64le-* | powerpc64little-*)
1000d983712dSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1001d983712dSmrg		;;
1002d983712dSmrg	ps2)
1003d983712dSmrg		basic_machine=i386-ibm
1004d983712dSmrg		;;
1005d983712dSmrg	pw32)
1006d983712dSmrg		basic_machine=i586-unknown
1007d983712dSmrg		os=-pw32
1008d983712dSmrg		;;
1009962c3257Smrg	rdos)
1010962c3257Smrg		basic_machine=i386-pc
1011962c3257Smrg		os=-rdos
1012962c3257Smrg		;;
1013d983712dSmrg	rom68k)
1014d983712dSmrg		basic_machine=m68k-rom68k
1015d983712dSmrg		os=-coff
1016d983712dSmrg		;;
1017d983712dSmrg	rm[46]00)
1018d983712dSmrg		basic_machine=mips-siemens
1019d983712dSmrg		;;
1020d983712dSmrg	rtpc | rtpc-*)
1021d983712dSmrg		basic_machine=romp-ibm
1022d983712dSmrg		;;
1023962c3257Smrg	s390 | s390-*)
1024962c3257Smrg		basic_machine=s390-ibm
1025962c3257Smrg		;;
1026962c3257Smrg	s390x | s390x-*)
1027962c3257Smrg		basic_machine=s390x-ibm
1028962c3257Smrg		;;
1029d983712dSmrg	sa29200)
1030d983712dSmrg		basic_machine=a29k-amd
1031d983712dSmrg		os=-udi
1032d983712dSmrg		;;
1033d983712dSmrg	sb1)
1034d983712dSmrg		basic_machine=mipsisa64sb1-unknown
1035d983712dSmrg		;;
1036d983712dSmrg	sb1el)
1037d983712dSmrg		basic_machine=mipsisa64sb1el-unknown
1038d983712dSmrg		;;
1039962c3257Smrg	sde)
1040962c3257Smrg		basic_machine=mipsisa32-sde
1041962c3257Smrg		os=-elf
1042962c3257Smrg		;;
1043d983712dSmrg	sei)
1044d983712dSmrg		basic_machine=mips-sei
1045d983712dSmrg		os=-seiux
1046d983712dSmrg		;;
1047d983712dSmrg	sequent)
1048d983712dSmrg		basic_machine=i386-sequent
1049d983712dSmrg		;;
1050d983712dSmrg	sh)
1051d983712dSmrg		basic_machine=sh-hitachi
1052d983712dSmrg		os=-hms
1053d983712dSmrg		;;
1054962c3257Smrg	sh5el)
1055962c3257Smrg		basic_machine=sh5le-unknown
1056962c3257Smrg		;;
1057d983712dSmrg	sh64)
1058d983712dSmrg		basic_machine=sh64-unknown
1059d983712dSmrg		;;
1060d983712dSmrg	sparclite-wrs | simso-wrs)
1061d983712dSmrg		basic_machine=sparclite-wrs
1062d983712dSmrg		os=-vxworks
1063d983712dSmrg		;;
1064d983712dSmrg	sps7)
1065d983712dSmrg		basic_machine=m68k-bull
1066d983712dSmrg		os=-sysv2
1067d983712dSmrg		;;
1068d983712dSmrg	spur)
1069d983712dSmrg		basic_machine=spur-unknown
1070d983712dSmrg		;;
1071d983712dSmrg	st2000)
1072d983712dSmrg		basic_machine=m68k-tandem
1073d983712dSmrg		;;
1074d983712dSmrg	stratus)
1075d983712dSmrg		basic_machine=i860-stratus
1076d983712dSmrg		os=-sysv4
1077d983712dSmrg		;;
10784b9470b1Smrg	strongarm-* | thumb-*)
10794b9470b1Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10804b9470b1Smrg		;;
1081d983712dSmrg	sun2)
1082d983712dSmrg		basic_machine=m68000-sun
1083d983712dSmrg		;;
1084d983712dSmrg	sun2os3)
1085d983712dSmrg		basic_machine=m68000-sun
1086d983712dSmrg		os=-sunos3
1087d983712dSmrg		;;
1088d983712dSmrg	sun2os4)
1089d983712dSmrg		basic_machine=m68000-sun
1090d983712dSmrg		os=-sunos4
1091d983712dSmrg		;;
1092d983712dSmrg	sun3os3)
1093d983712dSmrg		basic_machine=m68k-sun
1094d983712dSmrg		os=-sunos3
1095d983712dSmrg		;;
1096d983712dSmrg	sun3os4)
1097d983712dSmrg		basic_machine=m68k-sun
1098d983712dSmrg		os=-sunos4
1099d983712dSmrg		;;
1100d983712dSmrg	sun4os3)
1101d983712dSmrg		basic_machine=sparc-sun
1102d983712dSmrg		os=-sunos3
1103d983712dSmrg		;;
1104d983712dSmrg	sun4os4)
1105d983712dSmrg		basic_machine=sparc-sun
1106d983712dSmrg		os=-sunos4
1107d983712dSmrg		;;
1108d983712dSmrg	sun4sol2)
1109d983712dSmrg		basic_machine=sparc-sun
1110d983712dSmrg		os=-solaris2
1111d983712dSmrg		;;
1112d983712dSmrg	sun3 | sun3-*)
1113d983712dSmrg		basic_machine=m68k-sun
1114d983712dSmrg		;;
1115d983712dSmrg	sun4)
1116d983712dSmrg		basic_machine=sparc-sun
1117d983712dSmrg		;;
1118d983712dSmrg	sun386 | sun386i | roadrunner)
1119d983712dSmrg		basic_machine=i386-sun
1120d983712dSmrg		;;
1121d983712dSmrg	sv1)
1122d983712dSmrg		basic_machine=sv1-cray
1123d983712dSmrg		os=-unicos
1124d983712dSmrg		;;
1125d983712dSmrg	symmetry)
1126d983712dSmrg		basic_machine=i386-sequent
1127d983712dSmrg		os=-dynix
1128d983712dSmrg		;;
1129d983712dSmrg	t3e)
1130d983712dSmrg		basic_machine=alphaev5-cray
1131d983712dSmrg		os=-unicos
1132d983712dSmrg		;;
1133d983712dSmrg	t90)
1134d983712dSmrg		basic_machine=t90-cray
1135d983712dSmrg		os=-unicos
1136d983712dSmrg		;;
1137962c3257Smrg	tile*)
11384b9470b1Smrg		basic_machine=$basic_machine-unknown
1139962c3257Smrg		os=-linux-gnu
1140962c3257Smrg		;;
1141d983712dSmrg	tx39)
1142d983712dSmrg		basic_machine=mipstx39-unknown
1143d983712dSmrg		;;
1144d983712dSmrg	tx39el)
1145d983712dSmrg		basic_machine=mipstx39el-unknown
1146d983712dSmrg		;;
1147d983712dSmrg	toad1)
1148d983712dSmrg		basic_machine=pdp10-xkl
1149d983712dSmrg		os=-tops20
1150d983712dSmrg		;;
1151d983712dSmrg	tower | tower-32)
1152d983712dSmrg		basic_machine=m68k-ncr
1153d983712dSmrg		;;
1154962c3257Smrg	tpf)
1155962c3257Smrg		basic_machine=s390x-ibm
1156962c3257Smrg		os=-tpf
1157962c3257Smrg		;;
1158d983712dSmrg	udi29k)
1159d983712dSmrg		basic_machine=a29k-amd
1160d983712dSmrg		os=-udi
1161d983712dSmrg		;;
1162d983712dSmrg	ultra3)
1163d983712dSmrg		basic_machine=a29k-nyu
1164d983712dSmrg		os=-sym1
1165d983712dSmrg		;;
1166d983712dSmrg	v810 | necv810)
1167d983712dSmrg		basic_machine=v810-nec
1168d983712dSmrg		os=-none
1169d983712dSmrg		;;
1170d983712dSmrg	vaxv)
1171d983712dSmrg		basic_machine=vax-dec
1172d983712dSmrg		os=-sysv
1173d983712dSmrg		;;
1174d983712dSmrg	vms)
1175d983712dSmrg		basic_machine=vax-dec
1176d983712dSmrg		os=-vms
1177d983712dSmrg		;;
1178d983712dSmrg	vpp*|vx|vx-*)
1179d983712dSmrg		basic_machine=f301-fujitsu
1180d983712dSmrg		;;
1181d983712dSmrg	vxworks960)
1182d983712dSmrg		basic_machine=i960-wrs
1183d983712dSmrg		os=-vxworks
1184d983712dSmrg		;;
1185d983712dSmrg	vxworks68)
1186d983712dSmrg		basic_machine=m68k-wrs
1187d983712dSmrg		os=-vxworks
1188d983712dSmrg		;;
1189d983712dSmrg	vxworks29k)
1190d983712dSmrg		basic_machine=a29k-wrs
1191d983712dSmrg		os=-vxworks
1192d983712dSmrg		;;
1193d983712dSmrg	w65*)
1194d983712dSmrg		basic_machine=w65-wdc
1195d983712dSmrg		os=-none
1196d983712dSmrg		;;
1197d983712dSmrg	w89k-*)
1198d983712dSmrg		basic_machine=hppa1.1-winbond
1199d983712dSmrg		os=-proelf
1200d983712dSmrg		;;
1201962c3257Smrg	xbox)
1202962c3257Smrg		basic_machine=i686-pc
1203962c3257Smrg		os=-mingw32
1204962c3257Smrg		;;
1205d983712dSmrg	xps | xps100)
1206d983712dSmrg		basic_machine=xps100-honeywell
1207d983712dSmrg		;;
12084b9470b1Smrg	xscale-* | xscalee[bl]-*)
12094b9470b1Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12104b9470b1Smrg		;;
1211d983712dSmrg	ymp)
1212d983712dSmrg		basic_machine=ymp-cray
1213d983712dSmrg		os=-unicos
1214d983712dSmrg		;;
1215d983712dSmrg	z8k-*-coff)
1216d983712dSmrg		basic_machine=z8k-unknown
1217d983712dSmrg		os=-sim
1218d983712dSmrg		;;
12194b9470b1Smrg	z80-*-coff)
12204b9470b1Smrg		basic_machine=z80-unknown
12214b9470b1Smrg		os=-sim
12224b9470b1Smrg		;;
1223d983712dSmrg	none)
1224d983712dSmrg		basic_machine=none-none
1225d983712dSmrg		os=-none
1226d983712dSmrg		;;
1227d983712dSmrg
1228d983712dSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1229d983712dSmrg# some cases the only manufacturer, in others, it is the most popular.
1230d983712dSmrg	w89k)
1231d983712dSmrg		basic_machine=hppa1.1-winbond
1232d983712dSmrg		;;
1233d983712dSmrg	op50n)
1234d983712dSmrg		basic_machine=hppa1.1-oki
1235d983712dSmrg		;;
1236d983712dSmrg	op60c)
1237d983712dSmrg		basic_machine=hppa1.1-oki
1238d983712dSmrg		;;
1239d983712dSmrg	romp)
1240d983712dSmrg		basic_machine=romp-ibm
1241d983712dSmrg		;;
1242962c3257Smrg	mmix)
1243962c3257Smrg		basic_machine=mmix-knuth
1244962c3257Smrg		;;
1245d983712dSmrg	rs6000)
1246d983712dSmrg		basic_machine=rs6000-ibm
1247d983712dSmrg		;;
1248d983712dSmrg	vax)
1249d983712dSmrg		basic_machine=vax-dec
1250d983712dSmrg		;;
1251d983712dSmrg	pdp10)
1252d983712dSmrg		# there are many clones, so DEC is not a safe bet
1253d983712dSmrg		basic_machine=pdp10-unknown
1254d983712dSmrg		;;
1255d983712dSmrg	pdp11)
1256d983712dSmrg		basic_machine=pdp11-dec
1257d983712dSmrg		;;
1258d983712dSmrg	we32k)
1259d983712dSmrg		basic_machine=we32k-att
1260d983712dSmrg		;;
12614b9470b1Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1262d983712dSmrg		basic_machine=sh-unknown
1263d983712dSmrg		;;
1264962c3257Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1265d983712dSmrg		basic_machine=sparc-sun
1266d983712dSmrg		;;
1267d983712dSmrg	cydra)
1268d983712dSmrg		basic_machine=cydra-cydrome
1269d983712dSmrg		;;
1270d983712dSmrg	orion)
1271d983712dSmrg		basic_machine=orion-highlevel
1272d983712dSmrg		;;
1273d983712dSmrg	orion105)
1274d983712dSmrg		basic_machine=clipper-highlevel
1275d983712dSmrg		;;
1276d983712dSmrg	mac | mpw | mac-mpw)
1277d983712dSmrg		basic_machine=m68k-apple
1278d983712dSmrg		;;
1279d983712dSmrg	pmac | pmac-mpw)
1280d983712dSmrg		basic_machine=powerpc-apple
1281d983712dSmrg		;;
1282d983712dSmrg	*-unknown)
1283d983712dSmrg		# Make sure to match an already-canonicalized machine name.
1284d983712dSmrg		;;
1285d983712dSmrg	*)
1286d983712dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1287d983712dSmrg		exit 1
1288d983712dSmrg		;;
1289d983712dSmrgesac
1290d983712dSmrg
1291d983712dSmrg# Here we canonicalize certain aliases for manufacturers.
1292d983712dSmrgcase $basic_machine in
1293d983712dSmrg	*-digital*)
1294d983712dSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1295d983712dSmrg		;;
1296d983712dSmrg	*-commodore*)
1297d983712dSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1298d983712dSmrg		;;
1299d983712dSmrg	*)
1300d983712dSmrg		;;
1301d983712dSmrgesac
1302d983712dSmrg
1303d983712dSmrg# Decode manufacturer-specific aliases for certain operating systems.
1304d983712dSmrg
1305d983712dSmrgif [ x"$os" != x"" ]
1306d983712dSmrgthen
1307d983712dSmrgcase $os in
13084b9470b1Smrg	# First match some system type aliases
13094b9470b1Smrg	# that might get confused with valid system types.
1310d983712dSmrg	# -solaris* is a basic system type, with this one exception.
13114b9470b1Smrg	-auroraux)
13124b9470b1Smrg		os=-auroraux
13134b9470b1Smrg		;;
1314d983712dSmrg	-solaris1 | -solaris1.*)
1315d983712dSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1316d983712dSmrg		;;
1317d983712dSmrg	-solaris)
1318d983712dSmrg		os=-solaris2
1319d983712dSmrg		;;
1320d983712dSmrg	-svr4*)
1321d983712dSmrg		os=-sysv4
1322d983712dSmrg		;;
1323d983712dSmrg	-unixware*)
1324d983712dSmrg		os=-sysv4.2uw
1325d983712dSmrg		;;
1326d983712dSmrg	-gnu/linux*)
1327d983712dSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1328d983712dSmrg		;;
1329d983712dSmrg	# First accept the basic system types.
1330d983712dSmrg	# The portable systems comes first.
1331d983712dSmrg	# Each alternative MUST END IN A *, to match a version number.
1332d983712dSmrg	# -sysv* is not here because it comes later, after sysvr4.
1333d983712dSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13344b9470b1Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13354b9470b1Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13364b9470b1Smrg	      | -sym* | -kopensolaris* \
1337d983712dSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13384b9470b1Smrg	      | -aos* | -aros* \
1339d983712dSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1340d983712dSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1341962c3257Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1342962c3257Smrg	      | -openbsd* | -solidbsd* \
1343962c3257Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1344962c3257Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1345d983712dSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1346d983712dSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13474b9470b1Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13484b9470b1Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13494b9470b1Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13504b9470b1Smrg	      | -linux-newlib* | -linux-uclibc* \
1351962c3257Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1352d983712dSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1353d983712dSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1354d983712dSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1355d983712dSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1356d983712dSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1357962c3257Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13584b9470b1Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1359d983712dSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1360d983712dSmrg		;;
1361d983712dSmrg	-qnx*)
1362d983712dSmrg		case $basic_machine in
1363d983712dSmrg		    x86-* | i*86-*)
1364d983712dSmrg			;;
1365d983712dSmrg		    *)
1366d983712dSmrg			os=-nto$os
1367d983712dSmrg			;;
1368d983712dSmrg		esac
1369d983712dSmrg		;;
1370d983712dSmrg	-nto-qnx*)
1371d983712dSmrg		;;
1372d983712dSmrg	-nto*)
1373d983712dSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1374d983712dSmrg		;;
1375d983712dSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1376962c3257Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1377d983712dSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1378d983712dSmrg		;;
1379d983712dSmrg	-mac*)
1380d983712dSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1381d983712dSmrg		;;
1382962c3257Smrg	-linux-dietlibc)
1383962c3257Smrg		os=-linux-dietlibc
1384962c3257Smrg		;;
1385d983712dSmrg	-linux*)
1386d983712dSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1387d983712dSmrg		;;
1388d983712dSmrg	-sunos5*)
1389d983712dSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1390d983712dSmrg		;;
1391d983712dSmrg	-sunos6*)
1392d983712dSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1393d983712dSmrg		;;
1394d983712dSmrg	-opened*)
1395d983712dSmrg		os=-openedition
1396d983712dSmrg		;;
13974b9470b1Smrg	-os400*)
1398962c3257Smrg		os=-os400
1399962c3257Smrg		;;
1400d983712dSmrg	-wince*)
1401d983712dSmrg		os=-wince
1402d983712dSmrg		;;
1403d983712dSmrg	-osfrose*)
1404d983712dSmrg		os=-osfrose
1405d983712dSmrg		;;
1406d983712dSmrg	-osf*)
1407d983712dSmrg		os=-osf
1408d983712dSmrg		;;
1409d983712dSmrg	-utek*)
1410d983712dSmrg		os=-bsd
1411d983712dSmrg		;;
1412d983712dSmrg	-dynix*)
1413d983712dSmrg		os=-bsd
1414d983712dSmrg		;;
1415d983712dSmrg	-acis*)
1416d983712dSmrg		os=-aos
1417d983712dSmrg		;;
1418d983712dSmrg	-atheos*)
1419d983712dSmrg		os=-atheos
1420d983712dSmrg		;;
1421962c3257Smrg	-syllable*)
1422962c3257Smrg		os=-syllable
1423962c3257Smrg		;;
1424d983712dSmrg	-386bsd)
1425d983712dSmrg		os=-bsd
1426d983712dSmrg		;;
1427d983712dSmrg	-ctix* | -uts*)
1428d983712dSmrg		os=-sysv
1429d983712dSmrg		;;
1430d983712dSmrg	-nova*)
1431d983712dSmrg		os=-rtmk-nova
1432d983712dSmrg		;;
1433d983712dSmrg	-ns2 )
1434d983712dSmrg		os=-nextstep2
1435d983712dSmrg		;;
1436d983712dSmrg	-nsk*)
1437d983712dSmrg		os=-nsk
1438d983712dSmrg		;;
1439d983712dSmrg	# Preserve the version number of sinix5.
1440d983712dSmrg	-sinix5.*)
1441d983712dSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1442d983712dSmrg		;;
1443d983712dSmrg	-sinix*)
1444d983712dSmrg		os=-sysv4
1445d983712dSmrg		;;
14464b9470b1Smrg	-tpf*)
1447962c3257Smrg		os=-tpf
1448962c3257Smrg		;;
1449d983712dSmrg	-triton*)
1450d983712dSmrg		os=-sysv3
1451d983712dSmrg		;;
1452d983712dSmrg	-oss*)
1453d983712dSmrg		os=-sysv3
1454d983712dSmrg		;;
1455d983712dSmrg	-svr4)
1456d983712dSmrg		os=-sysv4
1457d983712dSmrg		;;
1458d983712dSmrg	-svr3)
1459d983712dSmrg		os=-sysv3
1460d983712dSmrg		;;
1461d983712dSmrg	-sysvr4)
1462d983712dSmrg		os=-sysv4
1463d983712dSmrg		;;
1464d983712dSmrg	# This must come after -sysvr4.
1465d983712dSmrg	-sysv*)
1466d983712dSmrg		;;
1467d983712dSmrg	-ose*)
1468d983712dSmrg		os=-ose
1469d983712dSmrg		;;
1470d983712dSmrg	-es1800*)
1471d983712dSmrg		os=-ose
1472d983712dSmrg		;;
1473d983712dSmrg	-xenix)
1474d983712dSmrg		os=-xenix
1475d983712dSmrg		;;
1476d983712dSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1477d983712dSmrg		os=-mint
1478d983712dSmrg		;;
1479d983712dSmrg	-aros*)
1480d983712dSmrg		os=-aros
1481d983712dSmrg		;;
1482d983712dSmrg	-kaos*)
1483d983712dSmrg		os=-kaos
1484d983712dSmrg		;;
1485962c3257Smrg	-zvmoe)
1486962c3257Smrg		os=-zvmoe
1487962c3257Smrg		;;
14884b9470b1Smrg	-dicos*)
14894b9470b1Smrg		os=-dicos
14904b9470b1Smrg		;;
14914b9470b1Smrg	-nacl*)
14924b9470b1Smrg		;;
1493d983712dSmrg	-none)
1494d983712dSmrg		;;
1495d983712dSmrg	*)
1496d983712dSmrg		# Get rid of the `-' at the beginning of $os.
1497d983712dSmrg		os=`echo $os | sed 's/[^-]*-//'`
1498d983712dSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1499d983712dSmrg		exit 1
1500d983712dSmrg		;;
1501d983712dSmrgesac
1502d983712dSmrgelse
1503d983712dSmrg
1504d983712dSmrg# Here we handle the default operating systems that come with various machines.
1505d983712dSmrg# The value should be what the vendor currently ships out the door with their
1506d983712dSmrg# machine or put another way, the most popular os provided with the machine.
1507d983712dSmrg
1508d983712dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1509d983712dSmrg# "-sun"), then you have to tell the case statement up towards the top
1510d983712dSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1511d983712dSmrg# will signal an error saying that MANUFACTURER isn't an operating
1512d983712dSmrg# system, and we'll never get to this point.
1513d983712dSmrg
1514d983712dSmrgcase $basic_machine in
15154b9470b1Smrg	score-*)
1516962c3257Smrg		os=-elf
1517962c3257Smrg		;;
15184b9470b1Smrg	spu-*)
1519962c3257Smrg		os=-elf
1520962c3257Smrg		;;
1521d983712dSmrg	*-acorn)
1522d983712dSmrg		os=-riscix1.2
1523d983712dSmrg		;;
1524d983712dSmrg	arm*-rebel)
1525d983712dSmrg		os=-linux
1526d983712dSmrg		;;
1527d983712dSmrg	arm*-semi)
1528d983712dSmrg		os=-aout
1529d983712dSmrg		;;
15304b9470b1Smrg	c4x-* | tic4x-*)
15314b9470b1Smrg		os=-coff
15324b9470b1Smrg		;;
15334b9470b1Smrg	tic54x-*)
15344b9470b1Smrg		os=-coff
15354b9470b1Smrg		;;
15364b9470b1Smrg	tic55x-*)
15374b9470b1Smrg		os=-coff
15384b9470b1Smrg		;;
15394b9470b1Smrg	tic6x-*)
15404b9470b1Smrg		os=-coff
1541d983712dSmrg		;;
1542d983712dSmrg	# This must come before the *-dec entry.
1543d983712dSmrg	pdp10-*)
1544d983712dSmrg		os=-tops20
1545d983712dSmrg		;;
1546d983712dSmrg	pdp11-*)
1547d983712dSmrg		os=-none
1548d983712dSmrg		;;
1549d983712dSmrg	*-dec | vax-*)
1550d983712dSmrg		os=-ultrix4.2
1551d983712dSmrg		;;
1552d983712dSmrg	m68*-apollo)
1553d983712dSmrg		os=-domain
1554d983712dSmrg		;;
1555d983712dSmrg	i386-sun)
1556d983712dSmrg		os=-sunos4.0.2
1557d983712dSmrg		;;
1558d983712dSmrg	m68000-sun)
1559d983712dSmrg		os=-sunos3
1560d983712dSmrg		;;
1561d983712dSmrg	m68*-cisco)
1562d983712dSmrg		os=-aout
1563d983712dSmrg		;;
15644b9470b1Smrg	mep-*)
1565962c3257Smrg		os=-elf
1566962c3257Smrg		;;
1567d983712dSmrg	mips*-cisco)
1568d983712dSmrg		os=-elf
1569d983712dSmrg		;;
1570d983712dSmrg	mips*-*)
1571d983712dSmrg		os=-elf
1572d983712dSmrg		;;
1573d983712dSmrg	or32-*)
1574d983712dSmrg		os=-coff
1575d983712dSmrg		;;
1576d983712dSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1577d983712dSmrg		os=-sysv3
1578d983712dSmrg		;;
1579d983712dSmrg	sparc-* | *-sun)
1580d983712dSmrg		os=-sunos4.1.1
1581d983712dSmrg		;;
1582d983712dSmrg	*-be)
1583d983712dSmrg		os=-beos
1584d983712dSmrg		;;
1585962c3257Smrg	*-haiku)
1586962c3257Smrg		os=-haiku
1587962c3257Smrg		;;
1588d983712dSmrg	*-ibm)
1589d983712dSmrg		os=-aix
1590d983712dSmrg		;;
15914b9470b1Smrg	*-knuth)
1592962c3257Smrg		os=-mmixware
1593962c3257Smrg		;;
1594d983712dSmrg	*-wec)
1595d983712dSmrg		os=-proelf
1596d983712dSmrg		;;
1597d983712dSmrg	*-winbond)
1598d983712dSmrg		os=-proelf
1599d983712dSmrg		;;
1600d983712dSmrg	*-oki)
1601d983712dSmrg		os=-proelf
1602d983712dSmrg		;;
1603d983712dSmrg	*-hp)
1604d983712dSmrg		os=-hpux
1605d983712dSmrg		;;
1606d983712dSmrg	*-hitachi)
1607d983712dSmrg		os=-hiux
1608d983712dSmrg		;;
1609d983712dSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1610d983712dSmrg		os=-sysv
1611d983712dSmrg		;;
1612d983712dSmrg	*-cbm)
1613d983712dSmrg		os=-amigaos
1614d983712dSmrg		;;
1615d983712dSmrg	*-dg)
1616d983712dSmrg		os=-dgux
1617d983712dSmrg		;;
1618d983712dSmrg	*-dolphin)
1619d983712dSmrg		os=-sysv3
1620d983712dSmrg		;;
1621d983712dSmrg	m68k-ccur)
1622d983712dSmrg		os=-rtu
1623d983712dSmrg		;;
1624d983712dSmrg	m88k-omron*)
1625d983712dSmrg		os=-luna
1626d983712dSmrg		;;
1627d983712dSmrg	*-next )
1628d983712dSmrg		os=-nextstep
1629d983712dSmrg		;;
1630d983712dSmrg	*-sequent)
1631d983712dSmrg		os=-ptx
1632d983712dSmrg		;;
1633d983712dSmrg	*-crds)
1634d983712dSmrg		os=-unos
1635d983712dSmrg		;;
1636d983712dSmrg	*-ns)
1637d983712dSmrg		os=-genix
1638d983712dSmrg		;;
1639d983712dSmrg	i370-*)
1640d983712dSmrg		os=-mvs
1641d983712dSmrg		;;
1642d983712dSmrg	*-next)
1643d983712dSmrg		os=-nextstep3
1644d983712dSmrg		;;
1645d983712dSmrg	*-gould)
1646d983712dSmrg		os=-sysv
1647d983712dSmrg		;;
1648d983712dSmrg	*-highlevel)
1649d983712dSmrg		os=-bsd
1650d983712dSmrg		;;
1651d983712dSmrg	*-encore)
1652d983712dSmrg		os=-bsd
1653d983712dSmrg		;;
1654d983712dSmrg	*-sgi)
1655d983712dSmrg		os=-irix
1656d983712dSmrg		;;
1657d983712dSmrg	*-siemens)
1658d983712dSmrg		os=-sysv4
1659d983712dSmrg		;;
1660d983712dSmrg	*-masscomp)
1661d983712dSmrg		os=-rtu
1662d983712dSmrg		;;
1663d983712dSmrg	f30[01]-fujitsu | f700-fujitsu)
1664d983712dSmrg		os=-uxpv
1665d983712dSmrg		;;
1666d983712dSmrg	*-rom68k)
1667d983712dSmrg		os=-coff
1668d983712dSmrg		;;
1669d983712dSmrg	*-*bug)
1670d983712dSmrg		os=-coff
1671d983712dSmrg		;;
1672d983712dSmrg	*-apple)
1673d983712dSmrg		os=-macos
1674d983712dSmrg		;;
1675d983712dSmrg	*-atari*)
1676d983712dSmrg		os=-mint
1677d983712dSmrg		;;
1678d983712dSmrg	*)
1679d983712dSmrg		os=-none
1680d983712dSmrg		;;
1681d983712dSmrgesac
1682d983712dSmrgfi
1683d983712dSmrg
1684d983712dSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1685d983712dSmrg# manufacturer.  We pick the logical manufacturer.
1686d983712dSmrgvendor=unknown
1687d983712dSmrgcase $basic_machine in
1688d983712dSmrg	*-unknown)
1689d983712dSmrg		case $os in
1690d983712dSmrg			-riscix*)
1691d983712dSmrg				vendor=acorn
1692d983712dSmrg				;;
1693d983712dSmrg			-sunos*)
1694d983712dSmrg				vendor=sun
1695d983712dSmrg				;;
16964b9470b1Smrg			-cnk*|-aix*)
1697d983712dSmrg				vendor=ibm
1698d983712dSmrg				;;
1699d983712dSmrg			-beos*)
1700d983712dSmrg				vendor=be
1701d983712dSmrg				;;
1702d983712dSmrg			-hpux*)
1703d983712dSmrg				vendor=hp
1704d983712dSmrg				;;
1705d983712dSmrg			-mpeix*)
1706d983712dSmrg				vendor=hp
1707d983712dSmrg				;;
1708d983712dSmrg			-hiux*)
1709d983712dSmrg				vendor=hitachi
1710d983712dSmrg				;;
1711d983712dSmrg			-unos*)
1712d983712dSmrg				vendor=crds
1713d983712dSmrg				;;
1714d983712dSmrg			-dgux*)
1715d983712dSmrg				vendor=dg
1716d983712dSmrg				;;
1717d983712dSmrg			-luna*)
1718d983712dSmrg				vendor=omron
1719d983712dSmrg				;;
1720d983712dSmrg			-genix*)
1721d983712dSmrg				vendor=ns
1722d983712dSmrg				;;
1723d983712dSmrg			-mvs* | -opened*)
1724d983712dSmrg				vendor=ibm
1725d983712dSmrg				;;
1726962c3257Smrg			-os400*)
1727962c3257Smrg				vendor=ibm
1728962c3257Smrg				;;
1729d983712dSmrg			-ptx*)
1730d983712dSmrg				vendor=sequent
1731d983712dSmrg				;;
1732962c3257Smrg			-tpf*)
1733962c3257Smrg				vendor=ibm
1734962c3257Smrg				;;
1735d983712dSmrg			-vxsim* | -vxworks* | -windiss*)
1736d983712dSmrg				vendor=wrs
1737d983712dSmrg				;;
1738d983712dSmrg			-aux*)
1739d983712dSmrg				vendor=apple
1740d983712dSmrg				;;
1741d983712dSmrg			-hms*)
1742d983712dSmrg				vendor=hitachi
1743d983712dSmrg				;;
1744d983712dSmrg			-mpw* | -macos*)
1745d983712dSmrg				vendor=apple
1746d983712dSmrg				;;
1747d983712dSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1748d983712dSmrg				vendor=atari
1749d983712dSmrg				;;
1750d983712dSmrg			-vos*)
1751d983712dSmrg				vendor=stratus
1752d983712dSmrg				;;
1753d983712dSmrg		esac
1754d983712dSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1755d983712dSmrg		;;
1756d983712dSmrgesac
1757d983712dSmrg
1758d983712dSmrgecho $basic_machine$os
1759962c3257Smrgexit
1760d983712dSmrg
1761d983712dSmrg# Local variables:
1762d983712dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1763d983712dSmrg# time-stamp-start: "timestamp='"
1764d983712dSmrg# time-stamp-format: "%:y-%02m-%02d"
1765d983712dSmrg# time-stamp-end: "'"
1766d983712dSmrg# End:
1767