config.sub revision 8831d3fb
1100ae103Smrg#! /bin/sh
2100ae103Smrg# Configuration validation subroutine script.
3100ae103Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
48831d3fbSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
58831d3fbSmrg#   2011 Free Software Foundation, Inc.
6100ae103Smrg
78831d3fbSmrgtimestamp='2011-11-11'
8100ae103Smrg
9100ae103Smrg# This file is (in principle) common to ALL GNU software.
10100ae103Smrg# The presence of a machine in this file suggests that SOME GNU software
11100ae103Smrg# can handle that machine.  It does not imply ALL GNU software can.
12100ae103Smrg#
13100ae103Smrg# This file is free software; you can redistribute it and/or modify
14100ae103Smrg# it under the terms of the GNU General Public License as published by
15100ae103Smrg# the Free Software Foundation; either version 2 of the License, or
16100ae103Smrg# (at your option) any later version.
17100ae103Smrg#
18100ae103Smrg# This program is distributed in the hope that it will be useful,
19100ae103Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20100ae103Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21100ae103Smrg# GNU General Public License for more details.
22100ae103Smrg#
23100ae103Smrg# You should have received a copy of the GNU General Public License
24100ae103Smrg# along with this program; if not, write to the Free Software
25100ae103Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26100ae103Smrg# 02110-1301, USA.
27100ae103Smrg#
28100ae103Smrg# As a special exception to the GNU General Public License, if you
29100ae103Smrg# distribute this file as part of a program that contains a
30100ae103Smrg# configuration script generated by Autoconf, you may include it under
31100ae103Smrg# the same distribution terms that you use for the rest of that program.
32100ae103Smrg
33100ae103Smrg
34100ae103Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35165cb819Smrg# diff and a properly formatted GNU ChangeLog entry.
36100ae103Smrg#
37100ae103Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38100ae103Smrg# Supply the specified configuration type as an argument.
39100ae103Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40100ae103Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41100ae103Smrg
42165cb819Smrg# You can get the latest version of this script from:
43165cb819Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44165cb819Smrg
45100ae103Smrg# This file is supposed to be the same for all GNU packages
46100ae103Smrg# and recognize all the CPU types, system types and aliases
47100ae103Smrg# that are meaningful with *any* GNU software.
48100ae103Smrg# Each package is responsible for reporting which valid configurations
49100ae103Smrg# it does not support.  The user should be able to distinguish
50100ae103Smrg# a failure to support a valid configuration from a meaningless
51100ae103Smrg# configuration.
52100ae103Smrg
53100ae103Smrg# The goal of this file is to map all the various variations of a given
54100ae103Smrg# machine specification into a single specification in the form:
55100ae103Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56100ae103Smrg# or in some cases, the newer four-part form:
57100ae103Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58100ae103Smrg# It is wrong to echo any other type of specification.
59100ae103Smrg
60100ae103Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61100ae103Smrg
62100ae103Smrgusage="\
63100ae103SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64100ae103Smrg       $0 [OPTION] ALIAS
65100ae103Smrg
66100ae103SmrgCanonicalize a configuration name.
67100ae103Smrg
68100ae103SmrgOperation modes:
69100ae103Smrg  -h, --help         print this help, then exit
70100ae103Smrg  -t, --time-stamp   print date of last modification, then exit
71100ae103Smrg  -v, --version      print version number, then exit
72100ae103Smrg
73100ae103SmrgReport bugs and patches to <config-patches@gnu.org>."
74100ae103Smrg
75100ae103Smrgversion="\
76100ae103SmrgGNU config.sub ($timestamp)
77100ae103Smrg
788831d3fbSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
798831d3fbSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
808831d3fbSmrgSoftware Foundation, Inc.
81100ae103Smrg
82100ae103SmrgThis is free software; see the source for copying conditions.  There is NO
83100ae103Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84100ae103Smrg
85100ae103Smrghelp="
86100ae103SmrgTry \`$me --help' for more information."
87100ae103Smrg
88100ae103Smrg# Parse command line
89100ae103Smrgwhile test $# -gt 0 ; do
90100ae103Smrg  case $1 in
91100ae103Smrg    --time-stamp | --time* | -t )
92100ae103Smrg       echo "$timestamp" ; exit ;;
93100ae103Smrg    --version | -v )
94100ae103Smrg       echo "$version" ; exit ;;
95100ae103Smrg    --help | --h* | -h )
96100ae103Smrg       echo "$usage"; exit ;;
97100ae103Smrg    -- )     # Stop option processing
98100ae103Smrg       shift; break ;;
99100ae103Smrg    - )	# Use stdin as input.
100100ae103Smrg       break ;;
101100ae103Smrg    -* )
102100ae103Smrg       echo "$me: invalid option $1$help"
103100ae103Smrg       exit 1 ;;
104100ae103Smrg
105100ae103Smrg    *local*)
106100ae103Smrg       # First pass through any local machine types.
107100ae103Smrg       echo $1
108100ae103Smrg       exit ;;
109100ae103Smrg
110100ae103Smrg    * )
111100ae103Smrg       break ;;
112100ae103Smrg  esac
113100ae103Smrgdone
114100ae103Smrg
115100ae103Smrgcase $# in
116100ae103Smrg 0) echo "$me: missing argument$help" >&2
117100ae103Smrg    exit 1;;
118100ae103Smrg 1) ;;
119100ae103Smrg *) echo "$me: too many arguments$help" >&2
120100ae103Smrg    exit 1;;
121100ae103Smrgesac
122100ae103Smrg
123100ae103Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124100ae103Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125100ae103Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126100ae103Smrgcase $maybe_os in
1278831d3fbSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1288831d3fbSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1298831d3fbSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130165cb819Smrg  kopensolaris*-gnu* | \
131165cb819Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132100ae103Smrg    os=-$maybe_os
133100ae103Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134100ae103Smrg    ;;
135100ae103Smrg  *)
136100ae103Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137100ae103Smrg    if [ $basic_machine != $1 ]
138100ae103Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139100ae103Smrg    else os=; fi
140100ae103Smrg    ;;
141100ae103Smrgesac
142100ae103Smrg
143100ae103Smrg### Let's recognize common machines as not being operating systems so
144100ae103Smrg### that things like config.sub decstation-3100 work.  We also
145100ae103Smrg### recognize some manufacturers as not being operating systems, so we
146100ae103Smrg### can provide default operating systems below.
147100ae103Smrgcase $os in
148100ae103Smrg	-sun*os*)
149100ae103Smrg		# Prevent following clause from handling this invalid input.
150100ae103Smrg		;;
151100ae103Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152100ae103Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153100ae103Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154100ae103Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155100ae103Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156100ae103Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157165cb819Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158100ae103Smrg		os=
159100ae103Smrg		basic_machine=$1
160100ae103Smrg		;;
1618831d3fbSmrg	-bluegene*)
1628831d3fbSmrg		os=-cnk
163165cb819Smrg		;;
164100ae103Smrg	-sim | -cisco | -oki | -wec | -winbond)
165100ae103Smrg		os=
166100ae103Smrg		basic_machine=$1
167100ae103Smrg		;;
168100ae103Smrg	-scout)
169100ae103Smrg		;;
170100ae103Smrg	-wrs)
171100ae103Smrg		os=-vxworks
172100ae103Smrg		basic_machine=$1
173100ae103Smrg		;;
174100ae103Smrg	-chorusos*)
175100ae103Smrg		os=-chorusos
176100ae103Smrg		basic_machine=$1
177100ae103Smrg		;;
1788831d3fbSmrg	-chorusrdb)
1798831d3fbSmrg		os=-chorusrdb
180100ae103Smrg		basic_machine=$1
1818831d3fbSmrg		;;
182100ae103Smrg	-hiux*)
183100ae103Smrg		os=-hiuxwe2
184100ae103Smrg		;;
185165cb819Smrg	-sco6)
186165cb819Smrg		os=-sco5v6
187165cb819Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188165cb819Smrg		;;
189100ae103Smrg	-sco5)
190100ae103Smrg		os=-sco3.2v5
191100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192100ae103Smrg		;;
193100ae103Smrg	-sco4)
194100ae103Smrg		os=-sco3.2v4
195100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196100ae103Smrg		;;
197100ae103Smrg	-sco3.2.[4-9]*)
198100ae103Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200100ae103Smrg		;;
201100ae103Smrg	-sco3.2v[4-9]*)
202100ae103Smrg		# Don't forget version if it is 3.2v4 or newer.
203100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204100ae103Smrg		;;
205165cb819Smrg	-sco5v6*)
206165cb819Smrg		# Don't forget version if it is 3.2v4 or newer.
207165cb819Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208165cb819Smrg		;;
209100ae103Smrg	-sco*)
210100ae103Smrg		os=-sco3.2v2
211100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212100ae103Smrg		;;
213100ae103Smrg	-udk*)
214100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215100ae103Smrg		;;
216100ae103Smrg	-isc)
217100ae103Smrg		os=-isc2.2
218100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219100ae103Smrg		;;
220100ae103Smrg	-clix*)
221100ae103Smrg		basic_machine=clipper-intergraph
222100ae103Smrg		;;
223100ae103Smrg	-isc*)
224100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225100ae103Smrg		;;
226100ae103Smrg	-lynx*)
227100ae103Smrg		os=-lynxos
228100ae103Smrg		;;
229100ae103Smrg	-ptx*)
230100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231100ae103Smrg		;;
232100ae103Smrg	-windowsnt*)
233100ae103Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234100ae103Smrg		;;
235100ae103Smrg	-psos*)
236100ae103Smrg		os=-psos
237100ae103Smrg		;;
238100ae103Smrg	-mint | -mint[0-9]*)
239100ae103Smrg		basic_machine=m68k-atari
240100ae103Smrg		os=-mint
241100ae103Smrg		;;
242100ae103Smrgesac
243100ae103Smrg
244100ae103Smrg# Decode aliases for certain CPU-COMPANY combinations.
245100ae103Smrgcase $basic_machine in
246100ae103Smrg	# Recognize the basic CPU types without company name.
247100ae103Smrg	# Some are omitted here because they have special meanings below.
248100ae103Smrg	1750a | 580 \
249100ae103Smrg	| a29k \
250100ae103Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251100ae103Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252100ae103Smrg	| am33_2.0 \
253165cb819Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2548831d3fbSmrg        | be32 | be64 \
255100ae103Smrg	| bfin \
256100ae103Smrg	| c4x | clipper \
257100ae103Smrg	| d10v | d30v | dlx | dsp16xx \
2588831d3fbSmrg	| epiphany \
259165cb819Smrg	| fido | fr30 | frv \
260100ae103Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2618831d3fbSmrg	| hexagon \
262100ae103Smrg	| i370 | i860 | i960 | ia64 \
263100ae103Smrg	| ip2k | iq2000 \
2648831d3fbSmrg	| le32 | le64 \
265165cb819Smrg	| lm32 \
266165cb819Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267165cb819Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268100ae103Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269100ae103Smrg	| mips16 \
270100ae103Smrg	| mips64 | mips64el \
271165cb819Smrg	| mips64octeon | mips64octeonel \
272100ae103Smrg	| mips64orion | mips64orionel \
273165cb819Smrg	| mips64r5900 | mips64r5900el \
274165cb819Smrg	| mips64vr | mips64vrel \
275100ae103Smrg	| mips64vr4100 | mips64vr4100el \
276100ae103Smrg	| mips64vr4300 | mips64vr4300el \
277100ae103Smrg	| mips64vr5000 | mips64vr5000el \
278100ae103Smrg	| mips64vr5900 | mips64vr5900el \
279100ae103Smrg	| mipsisa32 | mipsisa32el \
280100ae103Smrg	| mipsisa32r2 | mipsisa32r2el \
281100ae103Smrg	| mipsisa64 | mipsisa64el \
282100ae103Smrg	| mipsisa64r2 | mipsisa64r2el \
283100ae103Smrg	| mipsisa64sb1 | mipsisa64sb1el \
284100ae103Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
285100ae103Smrg	| mipstx39 | mipstx39el \
286100ae103Smrg	| mn10200 | mn10300 \
287165cb819Smrg	| moxie \
288165cb819Smrg	| mt \
289100ae103Smrg	| msp430 \
2908831d3fbSmrg	| nds32 | nds32le | nds32be \
291165cb819Smrg	| nios | nios2 \
292100ae103Smrg	| ns16k | ns32k \
2938831d3fbSmrg	| open8 \
294100ae103Smrg	| or32 \
295100ae103Smrg	| pdp10 | pdp11 | pj | pjl \
2968831d3fbSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297100ae103Smrg	| pyramid \
2988831d3fbSmrg	| rl78 | rx \
299165cb819Smrg	| score \
300165cb819Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301100ae103Smrg	| sh64 | sh64le \
302165cb819Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303165cb819Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3048831d3fbSmrg	| spu \
3058831d3fbSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306165cb819Smrg	| ubicom32 \
3078831d3fbSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308100ae103Smrg	| we32k \
3098831d3fbSmrg	| x86 | xc16x | xstormy16 | xtensa \
310165cb819Smrg	| z8k | z80)
311100ae103Smrg		basic_machine=$basic_machine-unknown
312100ae103Smrg		;;
3138831d3fbSmrg	c54x)
3148831d3fbSmrg		basic_machine=tic54x-unknown
3158831d3fbSmrg		;;
3168831d3fbSmrg	c55x)
3178831d3fbSmrg		basic_machine=tic55x-unknown
3188831d3fbSmrg		;;
3198831d3fbSmrg	c6x)
3208831d3fbSmrg		basic_machine=tic6x-unknown
3218831d3fbSmrg		;;
322165cb819Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323100ae103Smrg		# Motorola 68HC11/12.
324100ae103Smrg		basic_machine=$basic_machine-unknown
325100ae103Smrg		os=-none
326100ae103Smrg		;;
327100ae103Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
328100ae103Smrg		;;
329165cb819Smrg	ms1)
330165cb819Smrg		basic_machine=mt-unknown
331165cb819Smrg		;;
332100ae103Smrg
3338831d3fbSmrg	strongarm | thumb | xscale)
3348831d3fbSmrg		basic_machine=arm-unknown
3358831d3fbSmrg		;;
3368831d3fbSmrg
3378831d3fbSmrg	xscaleeb)
3388831d3fbSmrg		basic_machine=armeb-unknown
3398831d3fbSmrg		;;
3408831d3fbSmrg
3418831d3fbSmrg	xscaleel)
3428831d3fbSmrg		basic_machine=armel-unknown
3438831d3fbSmrg		;;
3448831d3fbSmrg
345100ae103Smrg	# We use `pc' rather than `unknown'
346100ae103Smrg	# because (1) that's what they normally are, and
347100ae103Smrg	# (2) the word "unknown" tends to confuse beginning users.
348100ae103Smrg	i*86 | x86_64)
349100ae103Smrg	  basic_machine=$basic_machine-pc
350100ae103Smrg	  ;;
351100ae103Smrg	# Object if more than one company name word.
352100ae103Smrg	*-*-*)
353100ae103Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
354100ae103Smrg		exit 1
355100ae103Smrg		;;
356100ae103Smrg	# Recognize the basic CPU types with company name.
357100ae103Smrg	580-* \
358100ae103Smrg	| a29k-* \
359100ae103Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
360100ae103Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
361100ae103Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
362100ae103Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
363165cb819Smrg	| avr-* | avr32-* \
3648831d3fbSmrg	| be32-* | be64-* \
365100ae103Smrg	| bfin-* | bs2000-* \
3668831d3fbSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
367100ae103Smrg	| clipper-* | craynv-* | cydra-* \
368100ae103Smrg	| d10v-* | d30v-* | dlx-* \
369100ae103Smrg	| elxsi-* \
370165cb819Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
371100ae103Smrg	| h8300-* | h8500-* \
372100ae103Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3738831d3fbSmrg	| hexagon-* \
374100ae103Smrg	| i*86-* | i860-* | i960-* | ia64-* \
375100ae103Smrg	| ip2k-* | iq2000-* \
3768831d3fbSmrg	| le32-* | le64-* \
377165cb819Smrg	| lm32-* \
378165cb819Smrg	| m32c-* | m32r-* | m32rle-* \
379100ae103Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
380165cb819Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
381100ae103Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
382100ae103Smrg	| mips16-* \
383100ae103Smrg	| mips64-* | mips64el-* \
384165cb819Smrg	| mips64octeon-* | mips64octeonel-* \
385100ae103Smrg	| mips64orion-* | mips64orionel-* \
386165cb819Smrg	| mips64r5900-* | mips64r5900el-* \
387165cb819Smrg	| mips64vr-* | mips64vrel-* \
388100ae103Smrg	| mips64vr4100-* | mips64vr4100el-* \
389100ae103Smrg	| mips64vr4300-* | mips64vr4300el-* \
390100ae103Smrg	| mips64vr5000-* | mips64vr5000el-* \
391100ae103Smrg	| mips64vr5900-* | mips64vr5900el-* \
392100ae103Smrg	| mipsisa32-* | mipsisa32el-* \
393100ae103Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
394100ae103Smrg	| mipsisa64-* | mipsisa64el-* \
395100ae103Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
396100ae103Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
397100ae103Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
398100ae103Smrg	| mipstx39-* | mipstx39el-* \
399100ae103Smrg	| mmix-* \
400165cb819Smrg	| mt-* \
401100ae103Smrg	| msp430-* \
4028831d3fbSmrg	| nds32-* | nds32le-* | nds32be-* \
403165cb819Smrg	| nios-* | nios2-* \
404100ae103Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4058831d3fbSmrg	| open8-* \
406100ae103Smrg	| orion-* \
407100ae103Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4088831d3fbSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
409100ae103Smrg	| pyramid-* \
4108831d3fbSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
411165cb819Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
412100ae103Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
413165cb819Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
414100ae103Smrg	| sparclite-* \
4158831d3fbSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4168831d3fbSmrg	| tahoe-* \
4178831d3fbSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4188831d3fbSmrg	| tile*-* \
419100ae103Smrg	| tron-* \
420165cb819Smrg	| ubicom32-* \
4218831d3fbSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4228831d3fbSmrg	| vax-* \
423100ae103Smrg	| we32k-* \
4248831d3fbSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425165cb819Smrg	| xstormy16-* | xtensa*-* \
426100ae103Smrg	| ymp-* \
427165cb819Smrg	| z8k-* | z80-*)
428100ae103Smrg		;;
429165cb819Smrg	# Recognize the basic CPU types without company name, with glob match.
430165cb819Smrg	xtensa*)
431165cb819Smrg		basic_machine=$basic_machine-unknown
432100ae103Smrg		;;
433100ae103Smrg	# Recognize the various machine names and aliases which stand
434100ae103Smrg	# for a CPU type and a company and sometimes even an OS.
435100ae103Smrg	386bsd)
436100ae103Smrg		basic_machine=i386-unknown
437100ae103Smrg		os=-bsd
438100ae103Smrg		;;
439100ae103Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
440100ae103Smrg		basic_machine=m68000-att
441100ae103Smrg		;;
442100ae103Smrg	3b*)
443100ae103Smrg		basic_machine=we32k-att
444100ae103Smrg		;;
445100ae103Smrg	a29khif)
446100ae103Smrg		basic_machine=a29k-amd
447100ae103Smrg		os=-udi
448100ae103Smrg		;;
4498831d3fbSmrg	abacus)
450100ae103Smrg		basic_machine=abacus-unknown
451100ae103Smrg		;;
452100ae103Smrg	adobe68k)
453100ae103Smrg		basic_machine=m68010-adobe
454100ae103Smrg		os=-scout
455100ae103Smrg		;;
456100ae103Smrg	alliant | fx80)
457100ae103Smrg		basic_machine=fx80-alliant
458100ae103Smrg		;;
459100ae103Smrg	altos | altos3068)
460100ae103Smrg		basic_machine=m68k-altos
461100ae103Smrg		;;
462100ae103Smrg	am29k)
463100ae103Smrg		basic_machine=a29k-none
464100ae103Smrg		os=-bsd
465100ae103Smrg		;;
466100ae103Smrg	amd64)
467100ae103Smrg		basic_machine=x86_64-pc
468100ae103Smrg		;;
469100ae103Smrg	amd64-*)
470100ae103Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
471100ae103Smrg		;;
472100ae103Smrg	amdahl)
473100ae103Smrg		basic_machine=580-amdahl
474100ae103Smrg		os=-sysv
475100ae103Smrg		;;
476100ae103Smrg	amiga | amiga-*)
477100ae103Smrg		basic_machine=m68k-unknown
478100ae103Smrg		;;
479100ae103Smrg	amigaos | amigados)
480100ae103Smrg		basic_machine=m68k-unknown
481100ae103Smrg		os=-amigaos
482100ae103Smrg		;;
483100ae103Smrg	amigaunix | amix)
484100ae103Smrg		basic_machine=m68k-unknown
485100ae103Smrg		os=-sysv4
486100ae103Smrg		;;
487100ae103Smrg	apollo68)
488100ae103Smrg		basic_machine=m68k-apollo
489100ae103Smrg		os=-sysv
490100ae103Smrg		;;
491100ae103Smrg	apollo68bsd)
492100ae103Smrg		basic_machine=m68k-apollo
493100ae103Smrg		os=-bsd
494100ae103Smrg		;;
495165cb819Smrg	aros)
496165cb819Smrg		basic_machine=i386-pc
497165cb819Smrg		os=-aros
498165cb819Smrg		;;
499100ae103Smrg	aux)
500100ae103Smrg		basic_machine=m68k-apple
501100ae103Smrg		os=-aux
502100ae103Smrg		;;
503100ae103Smrg	balance)
504100ae103Smrg		basic_machine=ns32k-sequent
505100ae103Smrg		os=-dynix
506100ae103Smrg		;;
507165cb819Smrg	blackfin)
508165cb819Smrg		basic_machine=bfin-unknown
509165cb819Smrg		os=-linux
510165cb819Smrg		;;
511165cb819Smrg	blackfin-*)
512165cb819Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513165cb819Smrg		os=-linux
514165cb819Smrg		;;
515165cb819Smrg	bluegene*)
516165cb819Smrg		basic_machine=powerpc-ibm
517165cb819Smrg		os=-cnk
518165cb819Smrg		;;
5198831d3fbSmrg	c54x-*)
5208831d3fbSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5218831d3fbSmrg		;;
5228831d3fbSmrg	c55x-*)
5238831d3fbSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5248831d3fbSmrg		;;
5258831d3fbSmrg	c6x-*)
5268831d3fbSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5278831d3fbSmrg		;;
528100ae103Smrg	c90)
529100ae103Smrg		basic_machine=c90-cray
530100ae103Smrg		os=-unicos
531100ae103Smrg		;;
5328831d3fbSmrg	cegcc)
533165cb819Smrg		basic_machine=arm-unknown
534165cb819Smrg		os=-cegcc
535165cb819Smrg		;;
536100ae103Smrg	convex-c1)
537100ae103Smrg		basic_machine=c1-convex
538100ae103Smrg		os=-bsd
539100ae103Smrg		;;
540100ae103Smrg	convex-c2)
541100ae103Smrg		basic_machine=c2-convex
542100ae103Smrg		os=-bsd
543100ae103Smrg		;;
544100ae103Smrg	convex-c32)
545100ae103Smrg		basic_machine=c32-convex
546100ae103Smrg		os=-bsd
547100ae103Smrg		;;
548100ae103Smrg	convex-c34)
549100ae103Smrg		basic_machine=c34-convex
550100ae103Smrg		os=-bsd
551100ae103Smrg		;;
552100ae103Smrg	convex-c38)
553100ae103Smrg		basic_machine=c38-convex
554100ae103Smrg		os=-bsd
555100ae103Smrg		;;
556100ae103Smrg	cray | j90)
557100ae103Smrg		basic_machine=j90-cray
558100ae103Smrg		os=-unicos
559100ae103Smrg		;;
560100ae103Smrg	craynv)
561100ae103Smrg		basic_machine=craynv-cray
562100ae103Smrg		os=-unicosmp
563100ae103Smrg		;;
5648831d3fbSmrg	cr16 | cr16-*)
565165cb819Smrg		basic_machine=cr16-unknown
566100ae103Smrg		os=-elf
567100ae103Smrg		;;
568100ae103Smrg	crds | unos)
569100ae103Smrg		basic_machine=m68k-crds
570100ae103Smrg		;;
571100ae103Smrg	crisv32 | crisv32-* | etraxfs*)
572100ae103Smrg		basic_machine=crisv32-axis
573100ae103Smrg		;;
574100ae103Smrg	cris | cris-* | etrax*)
575100ae103Smrg		basic_machine=cris-axis
576100ae103Smrg		;;
577100ae103Smrg	crx)
578100ae103Smrg		basic_machine=crx-unknown
579100ae103Smrg		os=-elf
580100ae103Smrg		;;
581100ae103Smrg	da30 | da30-*)
582100ae103Smrg		basic_machine=m68k-da30
583100ae103Smrg		;;
584100ae103Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
585100ae103Smrg		basic_machine=mips-dec
586100ae103Smrg		;;
587100ae103Smrg	decsystem10* | dec10*)
588100ae103Smrg		basic_machine=pdp10-dec
589100ae103Smrg		os=-tops10
590100ae103Smrg		;;
591100ae103Smrg	decsystem20* | dec20*)
592100ae103Smrg		basic_machine=pdp10-dec
593100ae103Smrg		os=-tops20
594100ae103Smrg		;;
595100ae103Smrg	delta | 3300 | motorola-3300 | motorola-delta \
596100ae103Smrg	      | 3300-motorola | delta-motorola)
597100ae103Smrg		basic_machine=m68k-motorola
598100ae103Smrg		;;
599100ae103Smrg	delta88)
600100ae103Smrg		basic_machine=m88k-motorola
601100ae103Smrg		os=-sysv3
602100ae103Smrg		;;
603165cb819Smrg	dicos)
604165cb819Smrg		basic_machine=i686-pc
605165cb819Smrg		os=-dicos
606165cb819Smrg		;;
607100ae103Smrg	djgpp)
608100ae103Smrg		basic_machine=i586-pc
609100ae103Smrg		os=-msdosdjgpp
610100ae103Smrg		;;
611100ae103Smrg	dpx20 | dpx20-*)
612100ae103Smrg		basic_machine=rs6000-bull
613100ae103Smrg		os=-bosx
614100ae103Smrg		;;
615100ae103Smrg	dpx2* | dpx2*-bull)
616100ae103Smrg		basic_machine=m68k-bull
617100ae103Smrg		os=-sysv3
618100ae103Smrg		;;
619100ae103Smrg	ebmon29k)
620100ae103Smrg		basic_machine=a29k-amd
621100ae103Smrg		os=-ebmon
622100ae103Smrg		;;
623100ae103Smrg	elxsi)
624100ae103Smrg		basic_machine=elxsi-elxsi
625100ae103Smrg		os=-bsd
626100ae103Smrg		;;
627100ae103Smrg	encore | umax | mmax)
628100ae103Smrg		basic_machine=ns32k-encore
629100ae103Smrg		;;
630100ae103Smrg	es1800 | OSE68k | ose68k | ose | OSE)
631100ae103Smrg		basic_machine=m68k-ericsson
632100ae103Smrg		os=-ose
633100ae103Smrg		;;
634100ae103Smrg	fx2800)
635100ae103Smrg		basic_machine=i860-alliant
636100ae103Smrg		;;
637100ae103Smrg	genix)
638100ae103Smrg		basic_machine=ns32k-ns
639100ae103Smrg		;;
640100ae103Smrg	gmicro)
641100ae103Smrg		basic_machine=tron-gmicro
642100ae103Smrg		os=-sysv
643100ae103Smrg		;;
644100ae103Smrg	go32)
645100ae103Smrg		basic_machine=i386-pc
646100ae103Smrg		os=-go32
647100ae103Smrg		;;
648100ae103Smrg	h3050r* | hiux*)
649100ae103Smrg		basic_machine=hppa1.1-hitachi
650100ae103Smrg		os=-hiuxwe2
651100ae103Smrg		;;
652100ae103Smrg	h8300hms)
653100ae103Smrg		basic_machine=h8300-hitachi
654100ae103Smrg		os=-hms
655100ae103Smrg		;;
656100ae103Smrg	h8300xray)
657100ae103Smrg		basic_machine=h8300-hitachi
658100ae103Smrg		os=-xray
659100ae103Smrg		;;
660100ae103Smrg	h8500hms)
661100ae103Smrg		basic_machine=h8500-hitachi
662100ae103Smrg		os=-hms
663100ae103Smrg		;;
664100ae103Smrg	harris)
665100ae103Smrg		basic_machine=m88k-harris
666100ae103Smrg		os=-sysv3
667100ae103Smrg		;;
668100ae103Smrg	hp300-*)
669100ae103Smrg		basic_machine=m68k-hp
670100ae103Smrg		;;
671100ae103Smrg	hp300bsd)
672100ae103Smrg		basic_machine=m68k-hp
673100ae103Smrg		os=-bsd
674100ae103Smrg		;;
675100ae103Smrg	hp300hpux)
676100ae103Smrg		basic_machine=m68k-hp
677100ae103Smrg		os=-hpux
678100ae103Smrg		;;
679100ae103Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
680100ae103Smrg		basic_machine=hppa1.0-hp
681100ae103Smrg		;;
682100ae103Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
683100ae103Smrg		basic_machine=m68000-hp
684100ae103Smrg		;;
685100ae103Smrg	hp9k3[2-9][0-9])
686100ae103Smrg		basic_machine=m68k-hp
687100ae103Smrg		;;
688100ae103Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
689100ae103Smrg		basic_machine=hppa1.0-hp
690100ae103Smrg		;;
691100ae103Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
692100ae103Smrg		basic_machine=hppa1.1-hp
693100ae103Smrg		;;
694100ae103Smrg	hp9k78[0-9] | hp78[0-9])
695100ae103Smrg		# FIXME: really hppa2.0-hp
696100ae103Smrg		basic_machine=hppa1.1-hp
697100ae103Smrg		;;
698100ae103Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
699100ae103Smrg		# FIXME: really hppa2.0-hp
700100ae103Smrg		basic_machine=hppa1.1-hp
701100ae103Smrg		;;
702100ae103Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
703100ae103Smrg		basic_machine=hppa1.1-hp
704100ae103Smrg		;;
705100ae103Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
706100ae103Smrg		basic_machine=hppa1.0-hp
707100ae103Smrg		;;
708100ae103Smrg	hppa-next)
709100ae103Smrg		os=-nextstep3
710100ae103Smrg		;;
711100ae103Smrg	hppaosf)
712100ae103Smrg		basic_machine=hppa1.1-hp
713100ae103Smrg		os=-osf
714100ae103Smrg		;;
715100ae103Smrg	hppro)
716100ae103Smrg		basic_machine=hppa1.1-hp
717100ae103Smrg		os=-proelf
718100ae103Smrg		;;
719100ae103Smrg	i370-ibm* | ibm*)
720100ae103Smrg		basic_machine=i370-ibm
721100ae103Smrg		;;
722100ae103Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
723100ae103Smrg	i*86v32)
724100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725100ae103Smrg		os=-sysv32
726100ae103Smrg		;;
727100ae103Smrg	i*86v4*)
728100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
729100ae103Smrg		os=-sysv4
730100ae103Smrg		;;
731100ae103Smrg	i*86v)
732100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
733100ae103Smrg		os=-sysv
734100ae103Smrg		;;
735100ae103Smrg	i*86sol2)
736100ae103Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
737100ae103Smrg		os=-solaris2
738100ae103Smrg		;;
739100ae103Smrg	i386mach)
740100ae103Smrg		basic_machine=i386-mach
741100ae103Smrg		os=-mach
742100ae103Smrg		;;
743100ae103Smrg	i386-vsta | vsta)
744100ae103Smrg		basic_machine=i386-unknown
745100ae103Smrg		os=-vsta
746100ae103Smrg		;;
747100ae103Smrg	iris | iris4d)
748100ae103Smrg		basic_machine=mips-sgi
749100ae103Smrg		case $os in
750100ae103Smrg		    -irix*)
751100ae103Smrg			;;
752100ae103Smrg		    *)
753100ae103Smrg			os=-irix4
754100ae103Smrg			;;
755100ae103Smrg		esac
756100ae103Smrg		;;
757100ae103Smrg	isi68 | isi)
758100ae103Smrg		basic_machine=m68k-isi
759100ae103Smrg		os=-sysv
760100ae103Smrg		;;
761165cb819Smrg	m68knommu)
762165cb819Smrg		basic_machine=m68k-unknown
763165cb819Smrg		os=-linux
764165cb819Smrg		;;
765165cb819Smrg	m68knommu-*)
766165cb819Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767165cb819Smrg		os=-linux
768165cb819Smrg		;;
769100ae103Smrg	m88k-omron*)
770100ae103Smrg		basic_machine=m88k-omron
771100ae103Smrg		;;
772100ae103Smrg	magnum | m3230)
773100ae103Smrg		basic_machine=mips-mips
774100ae103Smrg		os=-sysv
775100ae103Smrg		;;
776100ae103Smrg	merlin)
777100ae103Smrg		basic_machine=ns32k-utek
778100ae103Smrg		os=-sysv
779100ae103Smrg		;;
7808831d3fbSmrg	microblaze)
781165cb819Smrg		basic_machine=microblaze-xilinx
782165cb819Smrg		;;
783100ae103Smrg	mingw32)
784100ae103Smrg		basic_machine=i386-pc
785100ae103Smrg		os=-mingw32
786100ae103Smrg		;;
787165cb819Smrg	mingw32ce)
788165cb819Smrg		basic_machine=arm-unknown
789165cb819Smrg		os=-mingw32ce
790165cb819Smrg		;;
791100ae103Smrg	miniframe)
792100ae103Smrg		basic_machine=m68000-convergent
793100ae103Smrg		;;
794100ae103Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
795100ae103Smrg		basic_machine=m68k-atari
796100ae103Smrg		os=-mint
797100ae103Smrg		;;
798100ae103Smrg	mips3*-*)
799100ae103Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
800100ae103Smrg		;;
801100ae103Smrg	mips3*)
802100ae103Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
803100ae103Smrg		;;
804100ae103Smrg	monitor)
805100ae103Smrg		basic_machine=m68k-rom68k
806100ae103Smrg		os=-coff
807100ae103Smrg		;;
808100ae103Smrg	morphos)
809100ae103Smrg		basic_machine=powerpc-unknown
810100ae103Smrg		os=-morphos
811100ae103Smrg		;;
812100ae103Smrg	msdos)
813100ae103Smrg		basic_machine=i386-pc
814100ae103Smrg		os=-msdos
815100ae103Smrg		;;
816165cb819Smrg	ms1-*)
817165cb819Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
818165cb819Smrg		;;
8198831d3fbSmrg	msys)
8208831d3fbSmrg		basic_machine=i386-pc
8218831d3fbSmrg		os=-msys
8228831d3fbSmrg		;;
823100ae103Smrg	mvs)
824100ae103Smrg		basic_machine=i370-ibm
825100ae103Smrg		os=-mvs
826100ae103Smrg		;;
8278831d3fbSmrg	nacl)
8288831d3fbSmrg		basic_machine=le32-unknown
8298831d3fbSmrg		os=-nacl
8308831d3fbSmrg		;;
831100ae103Smrg	ncr3000)
832100ae103Smrg		basic_machine=i486-ncr
833100ae103Smrg		os=-sysv4
834100ae103Smrg		;;
835100ae103Smrg	netbsd386)
836100ae103Smrg		basic_machine=i386-unknown
837100ae103Smrg		os=-netbsd
838100ae103Smrg		;;
839100ae103Smrg	netwinder)
840100ae103Smrg		basic_machine=armv4l-rebel
841100ae103Smrg		os=-linux
842100ae103Smrg		;;
843100ae103Smrg	news | news700 | news800 | news900)
844100ae103Smrg		basic_machine=m68k-sony
845100ae103Smrg		os=-newsos
846100ae103Smrg		;;
847100ae103Smrg	news1000)
848100ae103Smrg		basic_machine=m68030-sony
849100ae103Smrg		os=-newsos
850100ae103Smrg		;;
851100ae103Smrg	news-3600 | risc-news)
852100ae103Smrg		basic_machine=mips-sony
853100ae103Smrg		os=-newsos
854100ae103Smrg		;;
855100ae103Smrg	necv70)
856100ae103Smrg		basic_machine=v70-nec
857100ae103Smrg		os=-sysv
858100ae103Smrg		;;
859100ae103Smrg	next | m*-next )
860100ae103Smrg		basic_machine=m68k-next
861100ae103Smrg		case $os in
862100ae103Smrg		    -nextstep* )
863100ae103Smrg			;;
864100ae103Smrg		    -ns2*)
865100ae103Smrg		      os=-nextstep2
866100ae103Smrg			;;
867100ae103Smrg		    *)
868100ae103Smrg		      os=-nextstep3
869100ae103Smrg			;;
870100ae103Smrg		esac
871100ae103Smrg		;;
872100ae103Smrg	nh3000)
873100ae103Smrg		basic_machine=m68k-harris
874100ae103Smrg		os=-cxux
875100ae103Smrg		;;
876100ae103Smrg	nh[45]000)
877100ae103Smrg		basic_machine=m88k-harris
878100ae103Smrg		os=-cxux
879100ae103Smrg		;;
880100ae103Smrg	nindy960)
881100ae103Smrg		basic_machine=i960-intel
882100ae103Smrg		os=-nindy
883100ae103Smrg		;;
884100ae103Smrg	mon960)
885100ae103Smrg		basic_machine=i960-intel
886100ae103Smrg		os=-mon960
887100ae103Smrg		;;
888100ae103Smrg	nonstopux)
889100ae103Smrg		basic_machine=mips-compaq
890100ae103Smrg		os=-nonstopux
891100ae103Smrg		;;
892100ae103Smrg	np1)
893100ae103Smrg		basic_machine=np1-gould
894100ae103Smrg		;;
8958831d3fbSmrg	neo-tandem)
8968831d3fbSmrg		basic_machine=neo-tandem
8978831d3fbSmrg		;;
8988831d3fbSmrg	nse-tandem)
8998831d3fbSmrg		basic_machine=nse-tandem
9008831d3fbSmrg		;;
901100ae103Smrg	nsr-tandem)
902100ae103Smrg		basic_machine=nsr-tandem
903100ae103Smrg		;;
904100ae103Smrg	op50n-* | op60c-*)
905100ae103Smrg		basic_machine=hppa1.1-oki
906100ae103Smrg		os=-proelf
907100ae103Smrg		;;
908100ae103Smrg	openrisc | openrisc-*)
909100ae103Smrg		basic_machine=or32-unknown
910100ae103Smrg		;;
911100ae103Smrg	os400)
912100ae103Smrg		basic_machine=powerpc-ibm
913100ae103Smrg		os=-os400
914100ae103Smrg		;;
915100ae103Smrg	OSE68000 | ose68000)
916100ae103Smrg		basic_machine=m68000-ericsson
917100ae103Smrg		os=-ose
918100ae103Smrg		;;
919100ae103Smrg	os68k)
920100ae103Smrg		basic_machine=m68k-none
921100ae103Smrg		os=-os68k
922100ae103Smrg		;;
923100ae103Smrg	pa-hitachi)
924100ae103Smrg		basic_machine=hppa1.1-hitachi
925100ae103Smrg		os=-hiuxwe2
926100ae103Smrg		;;
927100ae103Smrg	paragon)
928100ae103Smrg		basic_machine=i860-intel
929100ae103Smrg		os=-osf
930100ae103Smrg		;;
931165cb819Smrg	parisc)
932165cb819Smrg		basic_machine=hppa-unknown
933165cb819Smrg		os=-linux
934165cb819Smrg		;;
935165cb819Smrg	parisc-*)
936165cb819Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937165cb819Smrg		os=-linux
938165cb819Smrg		;;
939100ae103Smrg	pbd)
940100ae103Smrg		basic_machine=sparc-tti
941100ae103Smrg		;;
942100ae103Smrg	pbb)
943100ae103Smrg		basic_machine=m68k-tti
944100ae103Smrg		;;
945100ae103Smrg	pc532 | pc532-*)
946100ae103Smrg		basic_machine=ns32k-pc532
947100ae103Smrg		;;
948165cb819Smrg	pc98)
949165cb819Smrg		basic_machine=i386-pc
950165cb819Smrg		;;
951165cb819Smrg	pc98-*)
952165cb819Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
953165cb819Smrg		;;
954100ae103Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
955100ae103Smrg		basic_machine=i586-pc
956100ae103Smrg		;;
957100ae103Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
958100ae103Smrg		basic_machine=i686-pc
959100ae103Smrg		;;
960100ae103Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
961100ae103Smrg		basic_machine=i686-pc
962100ae103Smrg		;;
963100ae103Smrg	pentium4)
964100ae103Smrg		basic_machine=i786-pc
965100ae103Smrg		;;
966100ae103Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
967100ae103Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
968100ae103Smrg		;;
969100ae103Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
970100ae103Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
971100ae103Smrg		;;
972100ae103Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
973100ae103Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
974100ae103Smrg		;;
975100ae103Smrg	pentium4-*)
976100ae103Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
977100ae103Smrg		;;
978100ae103Smrg	pn)
979100ae103Smrg		basic_machine=pn-gould
980100ae103Smrg		;;
981100ae103Smrg	power)	basic_machine=power-ibm
982100ae103Smrg		;;
9838831d3fbSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
984100ae103Smrg		;;
9858831d3fbSmrg	ppc-* | ppcbe-*)
9868831d3fbSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
987100ae103Smrg		;;
988100ae103Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
989100ae103Smrg		basic_machine=powerpcle-unknown
990100ae103Smrg		;;
991100ae103Smrg	ppcle-* | powerpclittle-*)
992100ae103Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
993100ae103Smrg		;;
994100ae103Smrg	ppc64)	basic_machine=powerpc64-unknown
995100ae103Smrg		;;
996100ae103Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
997100ae103Smrg		;;
998100ae103Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
999100ae103Smrg		basic_machine=powerpc64le-unknown
1000100ae103Smrg		;;
1001100ae103Smrg	ppc64le-* | powerpc64little-*)
1002100ae103Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1003100ae103Smrg		;;
1004100ae103Smrg	ps2)
1005100ae103Smrg		basic_machine=i386-ibm
1006100ae103Smrg		;;
1007100ae103Smrg	pw32)
1008100ae103Smrg		basic_machine=i586-unknown
1009100ae103Smrg		os=-pw32
1010100ae103Smrg		;;
1011165cb819Smrg	rdos)
1012165cb819Smrg		basic_machine=i386-pc
1013165cb819Smrg		os=-rdos
1014165cb819Smrg		;;
1015100ae103Smrg	rom68k)
1016100ae103Smrg		basic_machine=m68k-rom68k
1017100ae103Smrg		os=-coff
1018100ae103Smrg		;;
1019100ae103Smrg	rm[46]00)
1020100ae103Smrg		basic_machine=mips-siemens
1021100ae103Smrg		;;
1022100ae103Smrg	rtpc | rtpc-*)
1023100ae103Smrg		basic_machine=romp-ibm
1024100ae103Smrg		;;
1025100ae103Smrg	s390 | s390-*)
1026100ae103Smrg		basic_machine=s390-ibm
1027100ae103Smrg		;;
1028100ae103Smrg	s390x | s390x-*)
1029100ae103Smrg		basic_machine=s390x-ibm
1030100ae103Smrg		;;
1031100ae103Smrg	sa29200)
1032100ae103Smrg		basic_machine=a29k-amd
1033100ae103Smrg		os=-udi
1034100ae103Smrg		;;
1035100ae103Smrg	sb1)
1036100ae103Smrg		basic_machine=mipsisa64sb1-unknown
1037100ae103Smrg		;;
1038100ae103Smrg	sb1el)
1039100ae103Smrg		basic_machine=mipsisa64sb1el-unknown
1040100ae103Smrg		;;
1041165cb819Smrg	sde)
1042165cb819Smrg		basic_machine=mipsisa32-sde
1043165cb819Smrg		os=-elf
1044165cb819Smrg		;;
1045100ae103Smrg	sei)
1046100ae103Smrg		basic_machine=mips-sei
1047100ae103Smrg		os=-seiux
1048100ae103Smrg		;;
1049100ae103Smrg	sequent)
1050100ae103Smrg		basic_machine=i386-sequent
1051100ae103Smrg		;;
1052100ae103Smrg	sh)
1053100ae103Smrg		basic_machine=sh-hitachi
1054100ae103Smrg		os=-hms
1055100ae103Smrg		;;
1056165cb819Smrg	sh5el)
1057165cb819Smrg		basic_machine=sh5le-unknown
1058165cb819Smrg		;;
1059100ae103Smrg	sh64)
1060100ae103Smrg		basic_machine=sh64-unknown
1061100ae103Smrg		;;
1062100ae103Smrg	sparclite-wrs | simso-wrs)
1063100ae103Smrg		basic_machine=sparclite-wrs
1064100ae103Smrg		os=-vxworks
1065100ae103Smrg		;;
1066100ae103Smrg	sps7)
1067100ae103Smrg		basic_machine=m68k-bull
1068100ae103Smrg		os=-sysv2
1069100ae103Smrg		;;
1070100ae103Smrg	spur)
1071100ae103Smrg		basic_machine=spur-unknown
1072100ae103Smrg		;;
1073100ae103Smrg	st2000)
1074100ae103Smrg		basic_machine=m68k-tandem
1075100ae103Smrg		;;
1076100ae103Smrg	stratus)
1077100ae103Smrg		basic_machine=i860-stratus
1078100ae103Smrg		os=-sysv4
1079100ae103Smrg		;;
10808831d3fbSmrg	strongarm-* | thumb-*)
10818831d3fbSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10828831d3fbSmrg		;;
1083100ae103Smrg	sun2)
1084100ae103Smrg		basic_machine=m68000-sun
1085100ae103Smrg		;;
1086100ae103Smrg	sun2os3)
1087100ae103Smrg		basic_machine=m68000-sun
1088100ae103Smrg		os=-sunos3
1089100ae103Smrg		;;
1090100ae103Smrg	sun2os4)
1091100ae103Smrg		basic_machine=m68000-sun
1092100ae103Smrg		os=-sunos4
1093100ae103Smrg		;;
1094100ae103Smrg	sun3os3)
1095100ae103Smrg		basic_machine=m68k-sun
1096100ae103Smrg		os=-sunos3
1097100ae103Smrg		;;
1098100ae103Smrg	sun3os4)
1099100ae103Smrg		basic_machine=m68k-sun
1100100ae103Smrg		os=-sunos4
1101100ae103Smrg		;;
1102100ae103Smrg	sun4os3)
1103100ae103Smrg		basic_machine=sparc-sun
1104100ae103Smrg		os=-sunos3
1105100ae103Smrg		;;
1106100ae103Smrg	sun4os4)
1107100ae103Smrg		basic_machine=sparc-sun
1108100ae103Smrg		os=-sunos4
1109100ae103Smrg		;;
1110100ae103Smrg	sun4sol2)
1111100ae103Smrg		basic_machine=sparc-sun
1112100ae103Smrg		os=-solaris2
1113100ae103Smrg		;;
1114100ae103Smrg	sun3 | sun3-*)
1115100ae103Smrg		basic_machine=m68k-sun
1116100ae103Smrg		;;
1117100ae103Smrg	sun4)
1118100ae103Smrg		basic_machine=sparc-sun
1119100ae103Smrg		;;
1120100ae103Smrg	sun386 | sun386i | roadrunner)
1121100ae103Smrg		basic_machine=i386-sun
1122100ae103Smrg		;;
1123100ae103Smrg	sv1)
1124100ae103Smrg		basic_machine=sv1-cray
1125100ae103Smrg		os=-unicos
1126100ae103Smrg		;;
1127100ae103Smrg	symmetry)
1128100ae103Smrg		basic_machine=i386-sequent
1129100ae103Smrg		os=-dynix
1130100ae103Smrg		;;
1131100ae103Smrg	t3e)
1132100ae103Smrg		basic_machine=alphaev5-cray
1133100ae103Smrg		os=-unicos
1134100ae103Smrg		;;
1135100ae103Smrg	t90)
1136100ae103Smrg		basic_machine=t90-cray
1137100ae103Smrg		os=-unicos
1138100ae103Smrg		;;
1139165cb819Smrg	tile*)
11408831d3fbSmrg		basic_machine=$basic_machine-unknown
1141165cb819Smrg		os=-linux-gnu
1142165cb819Smrg		;;
1143100ae103Smrg	tx39)
1144100ae103Smrg		basic_machine=mipstx39-unknown
1145100ae103Smrg		;;
1146100ae103Smrg	tx39el)
1147100ae103Smrg		basic_machine=mipstx39el-unknown
1148100ae103Smrg		;;
1149100ae103Smrg	toad1)
1150100ae103Smrg		basic_machine=pdp10-xkl
1151100ae103Smrg		os=-tops20
1152100ae103Smrg		;;
1153100ae103Smrg	tower | tower-32)
1154100ae103Smrg		basic_machine=m68k-ncr
1155100ae103Smrg		;;
1156100ae103Smrg	tpf)
1157100ae103Smrg		basic_machine=s390x-ibm
1158100ae103Smrg		os=-tpf
1159100ae103Smrg		;;
1160100ae103Smrg	udi29k)
1161100ae103Smrg		basic_machine=a29k-amd
1162100ae103Smrg		os=-udi
1163100ae103Smrg		;;
1164100ae103Smrg	ultra3)
1165100ae103Smrg		basic_machine=a29k-nyu
1166100ae103Smrg		os=-sym1
1167100ae103Smrg		;;
1168100ae103Smrg	v810 | necv810)
1169100ae103Smrg		basic_machine=v810-nec
1170100ae103Smrg		os=-none
1171100ae103Smrg		;;
1172100ae103Smrg	vaxv)
1173100ae103Smrg		basic_machine=vax-dec
1174100ae103Smrg		os=-sysv
1175100ae103Smrg		;;
1176100ae103Smrg	vms)
1177100ae103Smrg		basic_machine=vax-dec
1178100ae103Smrg		os=-vms
1179100ae103Smrg		;;
1180100ae103Smrg	vpp*|vx|vx-*)
1181100ae103Smrg		basic_machine=f301-fujitsu
1182100ae103Smrg		;;
1183100ae103Smrg	vxworks960)
1184100ae103Smrg		basic_machine=i960-wrs
1185100ae103Smrg		os=-vxworks
1186100ae103Smrg		;;
1187100ae103Smrg	vxworks68)
1188100ae103Smrg		basic_machine=m68k-wrs
1189100ae103Smrg		os=-vxworks
1190100ae103Smrg		;;
1191100ae103Smrg	vxworks29k)
1192100ae103Smrg		basic_machine=a29k-wrs
1193100ae103Smrg		os=-vxworks
1194100ae103Smrg		;;
1195100ae103Smrg	w65*)
1196100ae103Smrg		basic_machine=w65-wdc
1197100ae103Smrg		os=-none
1198100ae103Smrg		;;
1199100ae103Smrg	w89k-*)
1200100ae103Smrg		basic_machine=hppa1.1-winbond
1201100ae103Smrg		os=-proelf
1202100ae103Smrg		;;
1203100ae103Smrg	xbox)
1204100ae103Smrg		basic_machine=i686-pc
1205100ae103Smrg		os=-mingw32
1206100ae103Smrg		;;
1207100ae103Smrg	xps | xps100)
1208100ae103Smrg		basic_machine=xps100-honeywell
1209100ae103Smrg		;;
12108831d3fbSmrg	xscale-* | xscalee[bl]-*)
12118831d3fbSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12128831d3fbSmrg		;;
1213100ae103Smrg	ymp)
1214100ae103Smrg		basic_machine=ymp-cray
1215100ae103Smrg		os=-unicos
1216100ae103Smrg		;;
1217100ae103Smrg	z8k-*-coff)
1218100ae103Smrg		basic_machine=z8k-unknown
1219100ae103Smrg		os=-sim
1220100ae103Smrg		;;
1221165cb819Smrg	z80-*-coff)
1222165cb819Smrg		basic_machine=z80-unknown
1223165cb819Smrg		os=-sim
1224165cb819Smrg		;;
1225100ae103Smrg	none)
1226100ae103Smrg		basic_machine=none-none
1227100ae103Smrg		os=-none
1228100ae103Smrg		;;
1229100ae103Smrg
1230100ae103Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1231100ae103Smrg# some cases the only manufacturer, in others, it is the most popular.
1232100ae103Smrg	w89k)
1233100ae103Smrg		basic_machine=hppa1.1-winbond
1234100ae103Smrg		;;
1235100ae103Smrg	op50n)
1236100ae103Smrg		basic_machine=hppa1.1-oki
1237100ae103Smrg		;;
1238100ae103Smrg	op60c)
1239100ae103Smrg		basic_machine=hppa1.1-oki
1240100ae103Smrg		;;
1241100ae103Smrg	romp)
1242100ae103Smrg		basic_machine=romp-ibm
1243100ae103Smrg		;;
1244100ae103Smrg	mmix)
1245100ae103Smrg		basic_machine=mmix-knuth
1246100ae103Smrg		;;
1247100ae103Smrg	rs6000)
1248100ae103Smrg		basic_machine=rs6000-ibm
1249100ae103Smrg		;;
1250100ae103Smrg	vax)
1251100ae103Smrg		basic_machine=vax-dec
1252100ae103Smrg		;;
1253100ae103Smrg	pdp10)
1254100ae103Smrg		# there are many clones, so DEC is not a safe bet
1255100ae103Smrg		basic_machine=pdp10-unknown
1256100ae103Smrg		;;
1257100ae103Smrg	pdp11)
1258100ae103Smrg		basic_machine=pdp11-dec
1259100ae103Smrg		;;
1260100ae103Smrg	we32k)
1261100ae103Smrg		basic_machine=we32k-att
1262100ae103Smrg		;;
1263165cb819Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1264100ae103Smrg		basic_machine=sh-unknown
1265100ae103Smrg		;;
1266165cb819Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1267100ae103Smrg		basic_machine=sparc-sun
1268100ae103Smrg		;;
1269100ae103Smrg	cydra)
1270100ae103Smrg		basic_machine=cydra-cydrome
1271100ae103Smrg		;;
1272100ae103Smrg	orion)
1273100ae103Smrg		basic_machine=orion-highlevel
1274100ae103Smrg		;;
1275100ae103Smrg	orion105)
1276100ae103Smrg		basic_machine=clipper-highlevel
1277100ae103Smrg		;;
1278100ae103Smrg	mac | mpw | mac-mpw)
1279100ae103Smrg		basic_machine=m68k-apple
1280100ae103Smrg		;;
1281100ae103Smrg	pmac | pmac-mpw)
1282100ae103Smrg		basic_machine=powerpc-apple
1283100ae103Smrg		;;
1284100ae103Smrg	*-unknown)
1285100ae103Smrg		# Make sure to match an already-canonicalized machine name.
1286100ae103Smrg		;;
1287100ae103Smrg	*)
1288100ae103Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1289100ae103Smrg		exit 1
1290100ae103Smrg		;;
1291100ae103Smrgesac
1292100ae103Smrg
1293100ae103Smrg# Here we canonicalize certain aliases for manufacturers.
1294100ae103Smrgcase $basic_machine in
1295100ae103Smrg	*-digital*)
1296100ae103Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1297100ae103Smrg		;;
1298100ae103Smrg	*-commodore*)
1299100ae103Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1300100ae103Smrg		;;
1301100ae103Smrg	*)
1302100ae103Smrg		;;
1303100ae103Smrgesac
1304100ae103Smrg
1305100ae103Smrg# Decode manufacturer-specific aliases for certain operating systems.
1306100ae103Smrg
1307100ae103Smrgif [ x"$os" != x"" ]
1308100ae103Smrgthen
1309100ae103Smrgcase $os in
13108831d3fbSmrg	# First match some system type aliases
13118831d3fbSmrg	# that might get confused with valid system types.
1312100ae103Smrg	# -solaris* is a basic system type, with this one exception.
13138831d3fbSmrg	-auroraux)
13148831d3fbSmrg		os=-auroraux
1315165cb819Smrg		;;
1316100ae103Smrg	-solaris1 | -solaris1.*)
1317100ae103Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1318100ae103Smrg		;;
1319100ae103Smrg	-solaris)
1320100ae103Smrg		os=-solaris2
1321100ae103Smrg		;;
1322100ae103Smrg	-svr4*)
1323100ae103Smrg		os=-sysv4
1324100ae103Smrg		;;
1325100ae103Smrg	-unixware*)
1326100ae103Smrg		os=-sysv4.2uw
1327100ae103Smrg		;;
1328100ae103Smrg	-gnu/linux*)
1329100ae103Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1330100ae103Smrg		;;
1331100ae103Smrg	# First accept the basic system types.
1332100ae103Smrg	# The portable systems comes first.
1333100ae103Smrg	# Each alternative MUST END IN A *, to match a version number.
1334100ae103Smrg	# -sysv* is not here because it comes later, after sysvr4.
1335100ae103Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1336165cb819Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1337165cb819Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1338165cb819Smrg	      | -sym* | -kopensolaris* \
1339100ae103Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1340165cb819Smrg	      | -aos* | -aros* \
1341100ae103Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1342100ae103Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1343165cb819Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1344165cb819Smrg	      | -openbsd* | -solidbsd* \
1345100ae103Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1346100ae103Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1347100ae103Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1348100ae103Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1349165cb819Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13508831d3fbSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13518831d3fbSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13528831d3fbSmrg	      | -linux-newlib* | -linux-uclibc* \
1353165cb819Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1354100ae103Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1355100ae103Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1356100ae103Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1357100ae103Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1358100ae103Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1359100ae103Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1360165cb819Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1361100ae103Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1362100ae103Smrg		;;
1363100ae103Smrg	-qnx*)
1364100ae103Smrg		case $basic_machine in
1365100ae103Smrg		    x86-* | i*86-*)
1366100ae103Smrg			;;
1367100ae103Smrg		    *)
1368100ae103Smrg			os=-nto$os
1369100ae103Smrg			;;
1370100ae103Smrg		esac
1371100ae103Smrg		;;
1372100ae103Smrg	-nto-qnx*)
1373100ae103Smrg		;;
1374100ae103Smrg	-nto*)
1375100ae103Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1376100ae103Smrg		;;
1377100ae103Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1378100ae103Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1379100ae103Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1380100ae103Smrg		;;
1381100ae103Smrg	-mac*)
1382100ae103Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1383100ae103Smrg		;;
1384100ae103Smrg	-linux-dietlibc)
1385100ae103Smrg		os=-linux-dietlibc
1386100ae103Smrg		;;
1387100ae103Smrg	-linux*)
1388100ae103Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1389100ae103Smrg		;;
1390100ae103Smrg	-sunos5*)
1391100ae103Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1392100ae103Smrg		;;
1393100ae103Smrg	-sunos6*)
1394100ae103Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1395100ae103Smrg		;;
1396100ae103Smrg	-opened*)
1397100ae103Smrg		os=-openedition
1398100ae103Smrg		;;
13998831d3fbSmrg	-os400*)
1400100ae103Smrg		os=-os400
1401100ae103Smrg		;;
1402100ae103Smrg	-wince*)
1403100ae103Smrg		os=-wince
1404100ae103Smrg		;;
1405100ae103Smrg	-osfrose*)
1406100ae103Smrg		os=-osfrose
1407100ae103Smrg		;;
1408100ae103Smrg	-osf*)
1409100ae103Smrg		os=-osf
1410100ae103Smrg		;;
1411100ae103Smrg	-utek*)
1412100ae103Smrg		os=-bsd
1413100ae103Smrg		;;
1414100ae103Smrg	-dynix*)
1415100ae103Smrg		os=-bsd
1416100ae103Smrg		;;
1417100ae103Smrg	-acis*)
1418100ae103Smrg		os=-aos
1419100ae103Smrg		;;
1420100ae103Smrg	-atheos*)
1421100ae103Smrg		os=-atheos
1422100ae103Smrg		;;
1423100ae103Smrg	-syllable*)
1424100ae103Smrg		os=-syllable
1425100ae103Smrg		;;
1426100ae103Smrg	-386bsd)
1427100ae103Smrg		os=-bsd
1428100ae103Smrg		;;
1429100ae103Smrg	-ctix* | -uts*)
1430100ae103Smrg		os=-sysv
1431100ae103Smrg		;;
1432100ae103Smrg	-nova*)
1433100ae103Smrg		os=-rtmk-nova
1434100ae103Smrg		;;
1435100ae103Smrg	-ns2 )
1436100ae103Smrg		os=-nextstep2
1437100ae103Smrg		;;
1438100ae103Smrg	-nsk*)
1439100ae103Smrg		os=-nsk
1440100ae103Smrg		;;
1441100ae103Smrg	# Preserve the version number of sinix5.
1442100ae103Smrg	-sinix5.*)
1443100ae103Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1444100ae103Smrg		;;
1445100ae103Smrg	-sinix*)
1446100ae103Smrg		os=-sysv4
1447100ae103Smrg		;;
14488831d3fbSmrg	-tpf*)
1449100ae103Smrg		os=-tpf
1450100ae103Smrg		;;
1451100ae103Smrg	-triton*)
1452100ae103Smrg		os=-sysv3
1453100ae103Smrg		;;
1454100ae103Smrg	-oss*)
1455100ae103Smrg		os=-sysv3
1456100ae103Smrg		;;
1457100ae103Smrg	-svr4)
1458100ae103Smrg		os=-sysv4
1459100ae103Smrg		;;
1460100ae103Smrg	-svr3)
1461100ae103Smrg		os=-sysv3
1462100ae103Smrg		;;
1463100ae103Smrg	-sysvr4)
1464100ae103Smrg		os=-sysv4
1465100ae103Smrg		;;
1466100ae103Smrg	# This must come after -sysvr4.
1467100ae103Smrg	-sysv*)
1468100ae103Smrg		;;
1469100ae103Smrg	-ose*)
1470100ae103Smrg		os=-ose
1471100ae103Smrg		;;
1472100ae103Smrg	-es1800*)
1473100ae103Smrg		os=-ose
1474100ae103Smrg		;;
1475100ae103Smrg	-xenix)
1476100ae103Smrg		os=-xenix
1477100ae103Smrg		;;
1478100ae103Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1479100ae103Smrg		os=-mint
1480100ae103Smrg		;;
1481100ae103Smrg	-aros*)
1482100ae103Smrg		os=-aros
1483100ae103Smrg		;;
1484100ae103Smrg	-kaos*)
1485100ae103Smrg		os=-kaos
1486100ae103Smrg		;;
1487100ae103Smrg	-zvmoe)
1488100ae103Smrg		os=-zvmoe
1489100ae103Smrg		;;
1490165cb819Smrg	-dicos*)
1491165cb819Smrg		os=-dicos
1492165cb819Smrg		;;
14938831d3fbSmrg	-nacl*)
14948831d3fbSmrg		;;
1495100ae103Smrg	-none)
1496100ae103Smrg		;;
1497100ae103Smrg	*)
1498100ae103Smrg		# Get rid of the `-' at the beginning of $os.
1499100ae103Smrg		os=`echo $os | sed 's/[^-]*-//'`
1500100ae103Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1501100ae103Smrg		exit 1
1502100ae103Smrg		;;
1503100ae103Smrgesac
1504100ae103Smrgelse
1505100ae103Smrg
1506100ae103Smrg# Here we handle the default operating systems that come with various machines.
1507100ae103Smrg# The value should be what the vendor currently ships out the door with their
1508100ae103Smrg# machine or put another way, the most popular os provided with the machine.
1509100ae103Smrg
1510100ae103Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1511100ae103Smrg# "-sun"), then you have to tell the case statement up towards the top
1512100ae103Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1513100ae103Smrg# will signal an error saying that MANUFACTURER isn't an operating
1514100ae103Smrg# system, and we'll never get to this point.
1515100ae103Smrg
1516100ae103Smrgcase $basic_machine in
15178831d3fbSmrg	score-*)
1518165cb819Smrg		os=-elf
1519165cb819Smrg		;;
15208831d3fbSmrg	spu-*)
1521165cb819Smrg		os=-elf
1522165cb819Smrg		;;
1523100ae103Smrg	*-acorn)
1524100ae103Smrg		os=-riscix1.2
1525100ae103Smrg		;;
1526100ae103Smrg	arm*-rebel)
1527100ae103Smrg		os=-linux
1528100ae103Smrg		;;
1529100ae103Smrg	arm*-semi)
1530100ae103Smrg		os=-aout
1531100ae103Smrg		;;
15328831d3fbSmrg	c4x-* | tic4x-*)
15338831d3fbSmrg		os=-coff
15348831d3fbSmrg		;;
15358831d3fbSmrg	tic54x-*)
15368831d3fbSmrg		os=-coff
15378831d3fbSmrg		;;
15388831d3fbSmrg	tic55x-*)
15398831d3fbSmrg		os=-coff
15408831d3fbSmrg		;;
15418831d3fbSmrg	tic6x-*)
15428831d3fbSmrg		os=-coff
1543165cb819Smrg		;;
1544100ae103Smrg	# This must come before the *-dec entry.
1545100ae103Smrg	pdp10-*)
1546100ae103Smrg		os=-tops20
1547100ae103Smrg		;;
1548100ae103Smrg	pdp11-*)
1549100ae103Smrg		os=-none
1550100ae103Smrg		;;
1551100ae103Smrg	*-dec | vax-*)
1552100ae103Smrg		os=-ultrix4.2
1553100ae103Smrg		;;
1554100ae103Smrg	m68*-apollo)
1555100ae103Smrg		os=-domain
1556100ae103Smrg		;;
1557100ae103Smrg	i386-sun)
1558100ae103Smrg		os=-sunos4.0.2
1559100ae103Smrg		;;
1560100ae103Smrg	m68000-sun)
1561100ae103Smrg		os=-sunos3
1562100ae103Smrg		# This also exists in the configure program, but was not the
1563100ae103Smrg		# default.
1564100ae103Smrg		# os=-sunos4
1565100ae103Smrg		;;
1566100ae103Smrg	m68*-cisco)
1567100ae103Smrg		os=-aout
1568100ae103Smrg		;;
15698831d3fbSmrg	mep-*)
1570165cb819Smrg		os=-elf
1571165cb819Smrg		;;
1572100ae103Smrg	mips*-cisco)
1573100ae103Smrg		os=-elf
1574100ae103Smrg		;;
1575100ae103Smrg	mips*-*)
1576100ae103Smrg		os=-elf
1577100ae103Smrg		;;
1578100ae103Smrg	or32-*)
1579100ae103Smrg		os=-coff
1580100ae103Smrg		;;
1581100ae103Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1582100ae103Smrg		os=-sysv3
1583100ae103Smrg		;;
1584100ae103Smrg	sparc-* | *-sun)
1585100ae103Smrg		os=-sunos4.1.1
1586100ae103Smrg		;;
1587100ae103Smrg	*-be)
1588100ae103Smrg		os=-beos
1589100ae103Smrg		;;
1590100ae103Smrg	*-haiku)
1591100ae103Smrg		os=-haiku
1592100ae103Smrg		;;
1593100ae103Smrg	*-ibm)
1594100ae103Smrg		os=-aix
1595100ae103Smrg		;;
15968831d3fbSmrg	*-knuth)
1597100ae103Smrg		os=-mmixware
1598100ae103Smrg		;;
1599100ae103Smrg	*-wec)
1600100ae103Smrg		os=-proelf
1601100ae103Smrg		;;
1602100ae103Smrg	*-winbond)
1603100ae103Smrg		os=-proelf
1604100ae103Smrg		;;
1605100ae103Smrg	*-oki)
1606100ae103Smrg		os=-proelf
1607100ae103Smrg		;;
1608100ae103Smrg	*-hp)
1609100ae103Smrg		os=-hpux
1610100ae103Smrg		;;
1611100ae103Smrg	*-hitachi)
1612100ae103Smrg		os=-hiux
1613100ae103Smrg		;;
1614100ae103Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1615100ae103Smrg		os=-sysv
1616100ae103Smrg		;;
1617100ae103Smrg	*-cbm)
1618100ae103Smrg		os=-amigaos
1619100ae103Smrg		;;
1620100ae103Smrg	*-dg)
1621100ae103Smrg		os=-dgux
1622100ae103Smrg		;;
1623100ae103Smrg	*-dolphin)
1624100ae103Smrg		os=-sysv3
1625100ae103Smrg		;;
1626100ae103Smrg	m68k-ccur)
1627100ae103Smrg		os=-rtu
1628100ae103Smrg		;;
1629100ae103Smrg	m88k-omron*)
1630100ae103Smrg		os=-luna
1631100ae103Smrg		;;
1632100ae103Smrg	*-next )
1633100ae103Smrg		os=-nextstep
1634100ae103Smrg		;;
1635100ae103Smrg	*-sequent)
1636100ae103Smrg		os=-ptx
1637100ae103Smrg		;;
1638100ae103Smrg	*-crds)
1639100ae103Smrg		os=-unos
1640100ae103Smrg		;;
1641100ae103Smrg	*-ns)
1642100ae103Smrg		os=-genix
1643100ae103Smrg		;;
1644100ae103Smrg	i370-*)
1645100ae103Smrg		os=-mvs
1646100ae103Smrg		;;
1647100ae103Smrg	*-next)
1648100ae103Smrg		os=-nextstep3
1649100ae103Smrg		;;
1650100ae103Smrg	*-gould)
1651100ae103Smrg		os=-sysv
1652100ae103Smrg		;;
1653100ae103Smrg	*-highlevel)
1654100ae103Smrg		os=-bsd
1655100ae103Smrg		;;
1656100ae103Smrg	*-encore)
1657100ae103Smrg		os=-bsd
1658100ae103Smrg		;;
1659100ae103Smrg	*-sgi)
1660100ae103Smrg		os=-irix
1661100ae103Smrg		;;
1662100ae103Smrg	*-siemens)
1663100ae103Smrg		os=-sysv4
1664100ae103Smrg		;;
1665100ae103Smrg	*-masscomp)
1666100ae103Smrg		os=-rtu
1667100ae103Smrg		;;
1668100ae103Smrg	f30[01]-fujitsu | f700-fujitsu)
1669100ae103Smrg		os=-uxpv
1670100ae103Smrg		;;
1671100ae103Smrg	*-rom68k)
1672100ae103Smrg		os=-coff
1673100ae103Smrg		;;
1674100ae103Smrg	*-*bug)
1675100ae103Smrg		os=-coff
1676100ae103Smrg		;;
1677100ae103Smrg	*-apple)
1678100ae103Smrg		os=-macos
1679100ae103Smrg		;;
1680100ae103Smrg	*-atari*)
1681100ae103Smrg		os=-mint
1682100ae103Smrg		;;
1683100ae103Smrg	*)
1684100ae103Smrg		os=-none
1685100ae103Smrg		;;
1686100ae103Smrgesac
1687100ae103Smrgfi
1688100ae103Smrg
1689100ae103Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1690100ae103Smrg# manufacturer.  We pick the logical manufacturer.
1691100ae103Smrgvendor=unknown
1692100ae103Smrgcase $basic_machine in
1693100ae103Smrg	*-unknown)
1694100ae103Smrg		case $os in
1695100ae103Smrg			-riscix*)
1696100ae103Smrg				vendor=acorn
1697100ae103Smrg				;;
1698100ae103Smrg			-sunos*)
1699100ae103Smrg				vendor=sun
1700100ae103Smrg				;;
1701165cb819Smrg			-cnk*|-aix*)
1702100ae103Smrg				vendor=ibm
1703100ae103Smrg				;;
1704100ae103Smrg			-beos*)
1705100ae103Smrg				vendor=be
1706100ae103Smrg				;;
1707100ae103Smrg			-hpux*)
1708100ae103Smrg				vendor=hp
1709100ae103Smrg				;;
1710100ae103Smrg			-mpeix*)
1711100ae103Smrg				vendor=hp
1712100ae103Smrg				;;
1713100ae103Smrg			-hiux*)
1714100ae103Smrg				vendor=hitachi
1715100ae103Smrg				;;
1716100ae103Smrg			-unos*)
1717100ae103Smrg				vendor=crds
1718100ae103Smrg				;;
1719100ae103Smrg			-dgux*)
1720100ae103Smrg				vendor=dg
1721100ae103Smrg				;;
1722100ae103Smrg			-luna*)
1723100ae103Smrg				vendor=omron
1724100ae103Smrg				;;
1725100ae103Smrg			-genix*)
1726100ae103Smrg				vendor=ns
1727100ae103Smrg				;;
1728100ae103Smrg			-mvs* | -opened*)
1729100ae103Smrg				vendor=ibm
1730100ae103Smrg				;;
1731100ae103Smrg			-os400*)
1732100ae103Smrg				vendor=ibm
1733100ae103Smrg				;;
1734100ae103Smrg			-ptx*)
1735100ae103Smrg				vendor=sequent
1736100ae103Smrg				;;
1737100ae103Smrg			-tpf*)
1738100ae103Smrg				vendor=ibm
1739100ae103Smrg				;;
1740100ae103Smrg			-vxsim* | -vxworks* | -windiss*)
1741100ae103Smrg				vendor=wrs
1742100ae103Smrg				;;
1743100ae103Smrg			-aux*)
1744100ae103Smrg				vendor=apple
1745100ae103Smrg				;;
1746100ae103Smrg			-hms*)
1747100ae103Smrg				vendor=hitachi
1748100ae103Smrg				;;
1749100ae103Smrg			-mpw* | -macos*)
1750100ae103Smrg				vendor=apple
1751100ae103Smrg				;;
1752100ae103Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1753100ae103Smrg				vendor=atari
1754100ae103Smrg				;;
1755100ae103Smrg			-vos*)
1756100ae103Smrg				vendor=stratus
1757100ae103Smrg				;;
1758100ae103Smrg		esac
1759100ae103Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1760100ae103Smrg		;;
1761100ae103Smrgesac
1762100ae103Smrg
1763100ae103Smrgecho $basic_machine$os
1764100ae103Smrgexit
1765100ae103Smrg
1766100ae103Smrg# Local variables:
1767100ae103Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1768100ae103Smrg# time-stamp-start: "timestamp='"
1769100ae103Smrg# time-stamp-format: "%:y-%02m-%02d"
1770100ae103Smrg# time-stamp-end: "'"
1771100ae103Smrg# End:
1772