config.sub revision 2adc0320
1a9a39c43Smrg#! /bin/sh
2a9a39c43Smrg# Configuration validation subroutine script.
3a9a39c43Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4a9a39c43Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5a9a39c43Smrg#   Free Software Foundation, Inc.
6a9a39c43Smrg
7a9a39c43Smrgtimestamp='2009-04-17'
8a9a39c43Smrg
9a9a39c43Smrg# This file is (in principle) common to ALL GNU software.
10a9a39c43Smrg# The presence of a machine in this file suggests that SOME GNU software
11a9a39c43Smrg# can handle that machine.  It does not imply ALL GNU software can.
12a9a39c43Smrg#
13a9a39c43Smrg# This file is free software; you can redistribute it and/or modify
14a9a39c43Smrg# it under the terms of the GNU General Public License as published by
15a9a39c43Smrg# the Free Software Foundation; either version 2 of the License, or
16a9a39c43Smrg# (at your option) any later version.
17a9a39c43Smrg#
18a9a39c43Smrg# This program is distributed in the hope that it will be useful,
19a9a39c43Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20a9a39c43Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21a9a39c43Smrg# GNU General Public License for more details.
22a9a39c43Smrg#
23a9a39c43Smrg# You should have received a copy of the GNU General Public License
24a9a39c43Smrg# along with this program; if not, write to the Free Software
25a9a39c43Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26a9a39c43Smrg# 02110-1301, USA.
27a9a39c43Smrg#
28a9a39c43Smrg# As a special exception to the GNU General Public License, if you
29a9a39c43Smrg# distribute this file as part of a program that contains a
30a9a39c43Smrg# configuration script generated by Autoconf, you may include it under
31a9a39c43Smrg# the same distribution terms that you use for the rest of that program.
32a9a39c43Smrg
33a9a39c43Smrg
34a9a39c43Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35a9a39c43Smrg# diff and a properly formatted ChangeLog entry.
36a9a39c43Smrg#
37a9a39c43Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38a9a39c43Smrg# Supply the specified configuration type as an argument.
39a9a39c43Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40a9a39c43Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41a9a39c43Smrg
42a9a39c43Smrg# This file is supposed to be the same for all GNU packages
43a9a39c43Smrg# and recognize all the CPU types, system types and aliases
44a9a39c43Smrg# that are meaningful with *any* GNU software.
45a9a39c43Smrg# Each package is responsible for reporting which valid configurations
46a9a39c43Smrg# it does not support.  The user should be able to distinguish
47a9a39c43Smrg# a failure to support a valid configuration from a meaningless
48a9a39c43Smrg# configuration.
49a9a39c43Smrg
50a9a39c43Smrg# The goal of this file is to map all the various variations of a given
51a9a39c43Smrg# machine specification into a single specification in the form:
52a9a39c43Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
53a9a39c43Smrg# or in some cases, the newer four-part form:
54a9a39c43Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
55a9a39c43Smrg# It is wrong to echo any other type of specification.
56a9a39c43Smrg
57a9a39c43Smrgme=`echo "$0" | sed -e 's,.*/,,'`
58a9a39c43Smrg
59a9a39c43Smrgusage="\
60a9a39c43SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
61a9a39c43Smrg       $0 [OPTION] ALIAS
62a9a39c43Smrg
63a9a39c43SmrgCanonicalize a configuration name.
64a9a39c43Smrg
65a9a39c43SmrgOperation modes:
66a9a39c43Smrg  -h, --help         print this help, then exit
67a9a39c43Smrg  -t, --time-stamp   print date of last modification, then exit
68a9a39c43Smrg  -v, --version      print version number, then exit
69a9a39c43Smrg
70a9a39c43SmrgReport bugs and patches to <config-patches@gnu.org>."
71a9a39c43Smrg
72a9a39c43Smrgversion="\
73a9a39c43SmrgGNU config.sub ($timestamp)
74a9a39c43Smrg
75a9a39c43SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76a9a39c43Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
77a9a39c43Smrg
78a9a39c43SmrgThis is free software; see the source for copying conditions.  There is NO
79a9a39c43Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
80a9a39c43Smrg
81a9a39c43Smrghelp="
82a9a39c43SmrgTry \`$me --help' for more information."
83a9a39c43Smrg
84a9a39c43Smrg# Parse command line
85a9a39c43Smrgwhile test $# -gt 0 ; do
86a9a39c43Smrg  case $1 in
87a9a39c43Smrg    --time-stamp | --time* | -t )
88a9a39c43Smrg       echo "$timestamp" ; exit ;;
89a9a39c43Smrg    --version | -v )
90a9a39c43Smrg       echo "$version" ; exit ;;
91a9a39c43Smrg    --help | --h* | -h )
92a9a39c43Smrg       echo "$usage"; exit ;;
93a9a39c43Smrg    -- )     # Stop option processing
94a9a39c43Smrg       shift; break ;;
95a9a39c43Smrg    - )	# Use stdin as input.
96a9a39c43Smrg       break ;;
97a9a39c43Smrg    -* )
98a9a39c43Smrg       echo "$me: invalid option $1$help"
99a9a39c43Smrg       exit 1 ;;
100a9a39c43Smrg
101a9a39c43Smrg    *local*)
102a9a39c43Smrg       # First pass through any local machine types.
103a9a39c43Smrg       echo $1
104a9a39c43Smrg       exit ;;
105a9a39c43Smrg
106a9a39c43Smrg    * )
107a9a39c43Smrg       break ;;
108a9a39c43Smrg  esac
109a9a39c43Smrgdone
110a9a39c43Smrg
111a9a39c43Smrgcase $# in
112a9a39c43Smrg 0) echo "$me: missing argument$help" >&2
113a9a39c43Smrg    exit 1;;
114a9a39c43Smrg 1) ;;
115a9a39c43Smrg *) echo "$me: too many arguments$help" >&2
116a9a39c43Smrg    exit 1;;
117a9a39c43Smrgesac
118a9a39c43Smrg
119a9a39c43Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
120a9a39c43Smrg# Here we must recognize all the valid KERNEL-OS combinations.
121a9a39c43Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122a9a39c43Smrgcase $maybe_os in
123a9a39c43Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124a9a39c43Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125a9a39c43Smrg  kopensolaris*-gnu* | \
126a9a39c43Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
127a9a39c43Smrg    os=-$maybe_os
128a9a39c43Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
129a9a39c43Smrg    ;;
130a9a39c43Smrg  *)
131a9a39c43Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
132a9a39c43Smrg    if [ $basic_machine != $1 ]
133a9a39c43Smrg    then os=`echo $1 | sed 's/.*-/-/'`
134a9a39c43Smrg    else os=; fi
135a9a39c43Smrg    ;;
136a9a39c43Smrgesac
137a9a39c43Smrg
138a9a39c43Smrg### Let's recognize common machines as not being operating systems so
139a9a39c43Smrg### that things like config.sub decstation-3100 work.  We also
140a9a39c43Smrg### recognize some manufacturers as not being operating systems, so we
141a9a39c43Smrg### can provide default operating systems below.
142a9a39c43Smrgcase $os in
143a9a39c43Smrg	-sun*os*)
144a9a39c43Smrg		# Prevent following clause from handling this invalid input.
145a9a39c43Smrg		;;
146a9a39c43Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
147a9a39c43Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
148a9a39c43Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
149a9a39c43Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
150a9a39c43Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
151a9a39c43Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152a9a39c43Smrg	-apple | -axis | -knuth | -cray)
153a9a39c43Smrg		os=
154a9a39c43Smrg		basic_machine=$1
155a9a39c43Smrg		;;
156a9a39c43Smrg	-sim | -cisco | -oki | -wec | -winbond)
157a9a39c43Smrg		os=
158a9a39c43Smrg		basic_machine=$1
159a9a39c43Smrg		;;
160a9a39c43Smrg	-scout)
161a9a39c43Smrg		;;
162a9a39c43Smrg	-wrs)
163a9a39c43Smrg		os=-vxworks
164a9a39c43Smrg		basic_machine=$1
165a9a39c43Smrg		;;
166a9a39c43Smrg	-chorusos*)
167a9a39c43Smrg		os=-chorusos
168a9a39c43Smrg		basic_machine=$1
169a9a39c43Smrg		;;
170a9a39c43Smrg 	-chorusrdb)
171a9a39c43Smrg 		os=-chorusrdb
172a9a39c43Smrg		basic_machine=$1
173a9a39c43Smrg 		;;
174a9a39c43Smrg	-hiux*)
175a9a39c43Smrg		os=-hiuxwe2
176a9a39c43Smrg		;;
177a9a39c43Smrg	-sco6)
178a9a39c43Smrg		os=-sco5v6
179a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
180a9a39c43Smrg		;;
181a9a39c43Smrg	-sco5)
182a9a39c43Smrg		os=-sco3.2v5
183a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
184a9a39c43Smrg		;;
185a9a39c43Smrg	-sco4)
186a9a39c43Smrg		os=-sco3.2v4
187a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188a9a39c43Smrg		;;
189a9a39c43Smrg	-sco3.2.[4-9]*)
190a9a39c43Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
191a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192a9a39c43Smrg		;;
193a9a39c43Smrg	-sco3.2v[4-9]*)
194a9a39c43Smrg		# Don't forget version if it is 3.2v4 or newer.
195a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196a9a39c43Smrg		;;
197a9a39c43Smrg	-sco5v6*)
198a9a39c43Smrg		# Don't forget version if it is 3.2v4 or newer.
199a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200a9a39c43Smrg		;;
201a9a39c43Smrg	-sco*)
202a9a39c43Smrg		os=-sco3.2v2
203a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204a9a39c43Smrg		;;
205a9a39c43Smrg	-udk*)
206a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207a9a39c43Smrg		;;
208a9a39c43Smrg	-isc)
209a9a39c43Smrg		os=-isc2.2
210a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211a9a39c43Smrg		;;
212a9a39c43Smrg	-clix*)
213a9a39c43Smrg		basic_machine=clipper-intergraph
214a9a39c43Smrg		;;
215a9a39c43Smrg	-isc*)
216a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217a9a39c43Smrg		;;
218a9a39c43Smrg	-lynx*)
219a9a39c43Smrg		os=-lynxos
220a9a39c43Smrg		;;
221a9a39c43Smrg	-ptx*)
222a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
223a9a39c43Smrg		;;
224a9a39c43Smrg	-windowsnt*)
225a9a39c43Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
226a9a39c43Smrg		;;
227a9a39c43Smrg	-psos*)
228a9a39c43Smrg		os=-psos
229a9a39c43Smrg		;;
230a9a39c43Smrg	-mint | -mint[0-9]*)
231a9a39c43Smrg		basic_machine=m68k-atari
232a9a39c43Smrg		os=-mint
233a9a39c43Smrg		;;
234a9a39c43Smrgesac
235a9a39c43Smrg
236a9a39c43Smrg# Decode aliases for certain CPU-COMPANY combinations.
237a9a39c43Smrgcase $basic_machine in
238a9a39c43Smrg	# Recognize the basic CPU types without company name.
239a9a39c43Smrg	# Some are omitted here because they have special meanings below.
240a9a39c43Smrg	1750a | 580 \
241a9a39c43Smrg	| a29k \
242a9a39c43Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
243a9a39c43Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
244a9a39c43Smrg	| am33_2.0 \
245a9a39c43Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
246a9a39c43Smrg	| bfin \
247a9a39c43Smrg	| c4x | clipper \
248a9a39c43Smrg	| d10v | d30v | dlx | dsp16xx \
249a9a39c43Smrg	| fido | fr30 | frv \
250a9a39c43Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
251a9a39c43Smrg	| i370 | i860 | i960 | ia64 \
252a9a39c43Smrg	| ip2k | iq2000 \
253a9a39c43Smrg	| lm32 \
254a9a39c43Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
255a9a39c43Smrg	| maxq | mb | microblaze | mcore | mep | metag \
256a9a39c43Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
257a9a39c43Smrg	| mips16 \
258a9a39c43Smrg	| mips64 | mips64el \
259a9a39c43Smrg	| mips64octeon | mips64octeonel \
260a9a39c43Smrg	| mips64orion | mips64orionel \
261a9a39c43Smrg	| mips64r5900 | mips64r5900el \
262a9a39c43Smrg	| mips64vr | mips64vrel \
263a9a39c43Smrg	| mips64vr4100 | mips64vr4100el \
264a9a39c43Smrg	| mips64vr4300 | mips64vr4300el \
265a9a39c43Smrg	| mips64vr5000 | mips64vr5000el \
266a9a39c43Smrg	| mips64vr5900 | mips64vr5900el \
267a9a39c43Smrg	| mipsisa32 | mipsisa32el \
268a9a39c43Smrg	| mipsisa32r2 | mipsisa32r2el \
269a9a39c43Smrg	| mipsisa64 | mipsisa64el \
270a9a39c43Smrg	| mipsisa64r2 | mipsisa64r2el \
271a9a39c43Smrg	| mipsisa64sb1 | mipsisa64sb1el \
272a9a39c43Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
273a9a39c43Smrg	| mipstx39 | mipstx39el \
274a9a39c43Smrg	| mn10200 | mn10300 \
275a9a39c43Smrg	| moxie \
276a9a39c43Smrg	| mt \
277a9a39c43Smrg	| msp430 \
278a9a39c43Smrg	| nios | nios2 \
279a9a39c43Smrg	| ns16k | ns32k \
280a9a39c43Smrg	| or32 \
281a9a39c43Smrg	| pdp10 | pdp11 | pj | pjl \
282a9a39c43Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
283a9a39c43Smrg	| pyramid \
284a9a39c43Smrg	| score \
285a9a39c43Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
286a9a39c43Smrg	| sh64 | sh64le \
287a9a39c43Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
288a9a39c43Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
289a9a39c43Smrg	| spu | strongarm \
290a9a39c43Smrg	| tahoe | thumb | tic4x | tic80 | tron \
291a9a39c43Smrg	| v850 | v850e \
292a9a39c43Smrg	| we32k \
293a9a39c43Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
294a9a39c43Smrg	| z8k | z80)
295a9a39c43Smrg		basic_machine=$basic_machine-unknown
296a9a39c43Smrg		;;
297a9a39c43Smrg	m6811 | m68hc11 | m6812 | m68hc12)
298a9a39c43Smrg		# Motorola 68HC11/12.
299a9a39c43Smrg		basic_machine=$basic_machine-unknown
300a9a39c43Smrg		os=-none
301a9a39c43Smrg		;;
302a9a39c43Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
303a9a39c43Smrg		;;
304a9a39c43Smrg	ms1)
305a9a39c43Smrg		basic_machine=mt-unknown
306a9a39c43Smrg		;;
307a9a39c43Smrg
308a9a39c43Smrg	# We use `pc' rather than `unknown'
309a9a39c43Smrg	# because (1) that's what they normally are, and
310a9a39c43Smrg	# (2) the word "unknown" tends to confuse beginning users.
311a9a39c43Smrg	i*86 | x86_64)
312a9a39c43Smrg	  basic_machine=$basic_machine-pc
313a9a39c43Smrg	  ;;
314a9a39c43Smrg	# Object if more than one company name word.
315a9a39c43Smrg	*-*-*)
316a9a39c43Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
317a9a39c43Smrg		exit 1
318a9a39c43Smrg		;;
319a9a39c43Smrg	# Recognize the basic CPU types with company name.
320a9a39c43Smrg	580-* \
321a9a39c43Smrg	| a29k-* \
322a9a39c43Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
323a9a39c43Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
324a9a39c43Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
325a9a39c43Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
326a9a39c43Smrg	| avr-* | avr32-* \
327a9a39c43Smrg	| bfin-* | bs2000-* \
328a9a39c43Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
329a9a39c43Smrg	| clipper-* | craynv-* | cydra-* \
330a9a39c43Smrg	| d10v-* | d30v-* | dlx-* \
331a9a39c43Smrg	| elxsi-* \
332a9a39c43Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
333a9a39c43Smrg	| h8300-* | h8500-* \
334a9a39c43Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
335a9a39c43Smrg	| i*86-* | i860-* | i960-* | ia64-* \
336a9a39c43Smrg	| ip2k-* | iq2000-* \
337a9a39c43Smrg	| lm32-* \
338a9a39c43Smrg	| m32c-* | m32r-* | m32rle-* \
339a9a39c43Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
340a9a39c43Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
341a9a39c43Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
342a9a39c43Smrg	| mips16-* \
343a9a39c43Smrg	| mips64-* | mips64el-* \
344a9a39c43Smrg	| mips64octeon-* | mips64octeonel-* \
345a9a39c43Smrg	| mips64orion-* | mips64orionel-* \
346a9a39c43Smrg	| mips64r5900-* | mips64r5900el-* \
347a9a39c43Smrg	| mips64vr-* | mips64vrel-* \
348a9a39c43Smrg	| mips64vr4100-* | mips64vr4100el-* \
349a9a39c43Smrg	| mips64vr4300-* | mips64vr4300el-* \
350a9a39c43Smrg	| mips64vr5000-* | mips64vr5000el-* \
351a9a39c43Smrg	| mips64vr5900-* | mips64vr5900el-* \
352a9a39c43Smrg	| mipsisa32-* | mipsisa32el-* \
353a9a39c43Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
354a9a39c43Smrg	| mipsisa64-* | mipsisa64el-* \
355a9a39c43Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
356a9a39c43Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
357a9a39c43Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
358a9a39c43Smrg	| mipstx39-* | mipstx39el-* \
359a9a39c43Smrg	| mmix-* \
360a9a39c43Smrg	| mt-* \
361a9a39c43Smrg	| msp430-* \
362a9a39c43Smrg	| nios-* | nios2-* \
363a9a39c43Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
364a9a39c43Smrg	| orion-* \
365a9a39c43Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
366a9a39c43Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
367a9a39c43Smrg	| pyramid-* \
368a9a39c43Smrg	| romp-* | rs6000-* \
369a9a39c43Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
370a9a39c43Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
371a9a39c43Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
372a9a39c43Smrg	| sparclite-* \
373a9a39c43Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
374a9a39c43Smrg	| tahoe-* | thumb-* \
375a9a39c43Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
376a9a39c43Smrg	| tron-* \
377a9a39c43Smrg	| v850-* | v850e-* | vax-* \
378a9a39c43Smrg	| we32k-* \
379a9a39c43Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
380a9a39c43Smrg	| xstormy16-* | xtensa*-* \
381a9a39c43Smrg	| ymp-* \
382a9a39c43Smrg	| z8k-* | z80-*)
383a9a39c43Smrg		;;
384a9a39c43Smrg	# Recognize the basic CPU types without company name, with glob match.
385a9a39c43Smrg	xtensa*)
386a9a39c43Smrg		basic_machine=$basic_machine-unknown
387a9a39c43Smrg		;;
388a9a39c43Smrg	# Recognize the various machine names and aliases which stand
389a9a39c43Smrg	# for a CPU type and a company and sometimes even an OS.
390a9a39c43Smrg	386bsd)
391a9a39c43Smrg		basic_machine=i386-unknown
392a9a39c43Smrg		os=-bsd
393a9a39c43Smrg		;;
394a9a39c43Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
395a9a39c43Smrg		basic_machine=m68000-att
396a9a39c43Smrg		;;
397a9a39c43Smrg	3b*)
398a9a39c43Smrg		basic_machine=we32k-att
399a9a39c43Smrg		;;
400a9a39c43Smrg	a29khif)
401a9a39c43Smrg		basic_machine=a29k-amd
402a9a39c43Smrg		os=-udi
403a9a39c43Smrg		;;
404a9a39c43Smrg    	abacus)
405a9a39c43Smrg		basic_machine=abacus-unknown
406a9a39c43Smrg		;;
407a9a39c43Smrg	adobe68k)
408a9a39c43Smrg		basic_machine=m68010-adobe
409a9a39c43Smrg		os=-scout
410a9a39c43Smrg		;;
411a9a39c43Smrg	alliant | fx80)
412a9a39c43Smrg		basic_machine=fx80-alliant
413a9a39c43Smrg		;;
414a9a39c43Smrg	altos | altos3068)
415a9a39c43Smrg		basic_machine=m68k-altos
416a9a39c43Smrg		;;
417a9a39c43Smrg	am29k)
418a9a39c43Smrg		basic_machine=a29k-none
419a9a39c43Smrg		os=-bsd
420a9a39c43Smrg		;;
421a9a39c43Smrg	amd64)
422a9a39c43Smrg		basic_machine=x86_64-pc
423a9a39c43Smrg		;;
424a9a39c43Smrg	amd64-*)
425a9a39c43Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
426a9a39c43Smrg		;;
427a9a39c43Smrg	amdahl)
428a9a39c43Smrg		basic_machine=580-amdahl
429a9a39c43Smrg		os=-sysv
430a9a39c43Smrg		;;
431a9a39c43Smrg	amiga | amiga-*)
432a9a39c43Smrg		basic_machine=m68k-unknown
433a9a39c43Smrg		;;
434a9a39c43Smrg	amigaos | amigados)
435a9a39c43Smrg		basic_machine=m68k-unknown
436a9a39c43Smrg		os=-amigaos
437a9a39c43Smrg		;;
438a9a39c43Smrg	amigaunix | amix)
439a9a39c43Smrg		basic_machine=m68k-unknown
440a9a39c43Smrg		os=-sysv4
441a9a39c43Smrg		;;
442a9a39c43Smrg	apollo68)
443a9a39c43Smrg		basic_machine=m68k-apollo
444a9a39c43Smrg		os=-sysv
445a9a39c43Smrg		;;
446a9a39c43Smrg	apollo68bsd)
447a9a39c43Smrg		basic_machine=m68k-apollo
448a9a39c43Smrg		os=-bsd
449a9a39c43Smrg		;;
450a9a39c43Smrg	aros)
451a9a39c43Smrg		basic_machine=i386-pc
452a9a39c43Smrg		os=-aros
453a9a39c43Smrg		;;
454a9a39c43Smrg	aux)
455a9a39c43Smrg		basic_machine=m68k-apple
456a9a39c43Smrg		os=-aux
457a9a39c43Smrg		;;
458a9a39c43Smrg	balance)
459a9a39c43Smrg		basic_machine=ns32k-sequent
460a9a39c43Smrg		os=-dynix
461a9a39c43Smrg		;;
462a9a39c43Smrg	blackfin)
463a9a39c43Smrg		basic_machine=bfin-unknown
464a9a39c43Smrg		os=-linux
465a9a39c43Smrg		;;
466a9a39c43Smrg	blackfin-*)
467a9a39c43Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
468a9a39c43Smrg		os=-linux
469a9a39c43Smrg		;;
470a9a39c43Smrg	c90)
471a9a39c43Smrg		basic_machine=c90-cray
472a9a39c43Smrg		os=-unicos
473a9a39c43Smrg		;;
474a9a39c43Smrg        cegcc)
475a9a39c43Smrg		basic_machine=arm-unknown
476a9a39c43Smrg		os=-cegcc
477a9a39c43Smrg		;;
478a9a39c43Smrg	convex-c1)
479a9a39c43Smrg		basic_machine=c1-convex
480a9a39c43Smrg		os=-bsd
481a9a39c43Smrg		;;
482a9a39c43Smrg	convex-c2)
483a9a39c43Smrg		basic_machine=c2-convex
484a9a39c43Smrg		os=-bsd
485a9a39c43Smrg		;;
486a9a39c43Smrg	convex-c32)
487a9a39c43Smrg		basic_machine=c32-convex
488a9a39c43Smrg		os=-bsd
489a9a39c43Smrg		;;
490a9a39c43Smrg	convex-c34)
491a9a39c43Smrg		basic_machine=c34-convex
492a9a39c43Smrg		os=-bsd
493a9a39c43Smrg		;;
494a9a39c43Smrg	convex-c38)
495a9a39c43Smrg		basic_machine=c38-convex
496a9a39c43Smrg		os=-bsd
497a9a39c43Smrg		;;
498a9a39c43Smrg	cray | j90)
499a9a39c43Smrg		basic_machine=j90-cray
500a9a39c43Smrg		os=-unicos
501a9a39c43Smrg		;;
502a9a39c43Smrg	craynv)
503a9a39c43Smrg		basic_machine=craynv-cray
504a9a39c43Smrg		os=-unicosmp
505a9a39c43Smrg		;;
506a9a39c43Smrg	cr16)
507a9a39c43Smrg		basic_machine=cr16-unknown
508a9a39c43Smrg		os=-elf
509a9a39c43Smrg		;;
510a9a39c43Smrg	crds | unos)
511a9a39c43Smrg		basic_machine=m68k-crds
512a9a39c43Smrg		;;
513a9a39c43Smrg	crisv32 | crisv32-* | etraxfs*)
514a9a39c43Smrg		basic_machine=crisv32-axis
515a9a39c43Smrg		;;
516a9a39c43Smrg	cris | cris-* | etrax*)
517a9a39c43Smrg		basic_machine=cris-axis
518a9a39c43Smrg		;;
519a9a39c43Smrg	crx)
520a9a39c43Smrg		basic_machine=crx-unknown
521a9a39c43Smrg		os=-elf
522a9a39c43Smrg		;;
523a9a39c43Smrg	da30 | da30-*)
524a9a39c43Smrg		basic_machine=m68k-da30
525a9a39c43Smrg		;;
526a9a39c43Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
527a9a39c43Smrg		basic_machine=mips-dec
528a9a39c43Smrg		;;
529a9a39c43Smrg	decsystem10* | dec10*)
530a9a39c43Smrg		basic_machine=pdp10-dec
531a9a39c43Smrg		os=-tops10
532a9a39c43Smrg		;;
533a9a39c43Smrg	decsystem20* | dec20*)
534a9a39c43Smrg		basic_machine=pdp10-dec
535a9a39c43Smrg		os=-tops20
536a9a39c43Smrg		;;
537a9a39c43Smrg	delta | 3300 | motorola-3300 | motorola-delta \
538a9a39c43Smrg	      | 3300-motorola | delta-motorola)
539a9a39c43Smrg		basic_machine=m68k-motorola
540a9a39c43Smrg		;;
541a9a39c43Smrg	delta88)
542a9a39c43Smrg		basic_machine=m88k-motorola
543a9a39c43Smrg		os=-sysv3
544a9a39c43Smrg		;;
545a9a39c43Smrg	dicos)
546a9a39c43Smrg		basic_machine=i686-pc
547a9a39c43Smrg		os=-dicos
548a9a39c43Smrg		;;
549a9a39c43Smrg	djgpp)
550a9a39c43Smrg		basic_machine=i586-pc
551a9a39c43Smrg		os=-msdosdjgpp
552a9a39c43Smrg		;;
553a9a39c43Smrg	dpx20 | dpx20-*)
554a9a39c43Smrg		basic_machine=rs6000-bull
555a9a39c43Smrg		os=-bosx
556a9a39c43Smrg		;;
557a9a39c43Smrg	dpx2* | dpx2*-bull)
558a9a39c43Smrg		basic_machine=m68k-bull
559a9a39c43Smrg		os=-sysv3
560a9a39c43Smrg		;;
561a9a39c43Smrg	ebmon29k)
562a9a39c43Smrg		basic_machine=a29k-amd
563a9a39c43Smrg		os=-ebmon
564a9a39c43Smrg		;;
565a9a39c43Smrg	elxsi)
566a9a39c43Smrg		basic_machine=elxsi-elxsi
567a9a39c43Smrg		os=-bsd
568a9a39c43Smrg		;;
569a9a39c43Smrg	encore | umax | mmax)
570a9a39c43Smrg		basic_machine=ns32k-encore
571a9a39c43Smrg		;;
572a9a39c43Smrg	es1800 | OSE68k | ose68k | ose | OSE)
573a9a39c43Smrg		basic_machine=m68k-ericsson
574a9a39c43Smrg		os=-ose
575a9a39c43Smrg		;;
576a9a39c43Smrg	fx2800)
577a9a39c43Smrg		basic_machine=i860-alliant
578a9a39c43Smrg		;;
579a9a39c43Smrg	genix)
580a9a39c43Smrg		basic_machine=ns32k-ns
581a9a39c43Smrg		;;
582a9a39c43Smrg	gmicro)
583a9a39c43Smrg		basic_machine=tron-gmicro
584a9a39c43Smrg		os=-sysv
585a9a39c43Smrg		;;
586a9a39c43Smrg	go32)
587a9a39c43Smrg		basic_machine=i386-pc
588a9a39c43Smrg		os=-go32
589a9a39c43Smrg		;;
590a9a39c43Smrg	h3050r* | hiux*)
591a9a39c43Smrg		basic_machine=hppa1.1-hitachi
592a9a39c43Smrg		os=-hiuxwe2
593a9a39c43Smrg		;;
594a9a39c43Smrg	h8300hms)
595a9a39c43Smrg		basic_machine=h8300-hitachi
596a9a39c43Smrg		os=-hms
597a9a39c43Smrg		;;
598a9a39c43Smrg	h8300xray)
599a9a39c43Smrg		basic_machine=h8300-hitachi
600a9a39c43Smrg		os=-xray
601a9a39c43Smrg		;;
602a9a39c43Smrg	h8500hms)
603a9a39c43Smrg		basic_machine=h8500-hitachi
604a9a39c43Smrg		os=-hms
605a9a39c43Smrg		;;
606a9a39c43Smrg	harris)
607a9a39c43Smrg		basic_machine=m88k-harris
608a9a39c43Smrg		os=-sysv3
609a9a39c43Smrg		;;
610a9a39c43Smrg	hp300-*)
611a9a39c43Smrg		basic_machine=m68k-hp
612a9a39c43Smrg		;;
613a9a39c43Smrg	hp300bsd)
614a9a39c43Smrg		basic_machine=m68k-hp
615a9a39c43Smrg		os=-bsd
616a9a39c43Smrg		;;
617a9a39c43Smrg	hp300hpux)
618a9a39c43Smrg		basic_machine=m68k-hp
619a9a39c43Smrg		os=-hpux
620a9a39c43Smrg		;;
621a9a39c43Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
622a9a39c43Smrg		basic_machine=hppa1.0-hp
623a9a39c43Smrg		;;
624a9a39c43Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
625a9a39c43Smrg		basic_machine=m68000-hp
626a9a39c43Smrg		;;
627a9a39c43Smrg	hp9k3[2-9][0-9])
628a9a39c43Smrg		basic_machine=m68k-hp
629a9a39c43Smrg		;;
630a9a39c43Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
631a9a39c43Smrg		basic_machine=hppa1.0-hp
632a9a39c43Smrg		;;
633a9a39c43Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
634a9a39c43Smrg		basic_machine=hppa1.1-hp
635a9a39c43Smrg		;;
636a9a39c43Smrg	hp9k78[0-9] | hp78[0-9])
637a9a39c43Smrg		# FIXME: really hppa2.0-hp
638a9a39c43Smrg		basic_machine=hppa1.1-hp
639a9a39c43Smrg		;;
640a9a39c43Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
641a9a39c43Smrg		# FIXME: really hppa2.0-hp
642a9a39c43Smrg		basic_machine=hppa1.1-hp
643a9a39c43Smrg		;;
644a9a39c43Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
645a9a39c43Smrg		basic_machine=hppa1.1-hp
646a9a39c43Smrg		;;
647a9a39c43Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
648a9a39c43Smrg		basic_machine=hppa1.0-hp
649a9a39c43Smrg		;;
650a9a39c43Smrg	hppa-next)
651a9a39c43Smrg		os=-nextstep3
652a9a39c43Smrg		;;
653a9a39c43Smrg	hppaosf)
654a9a39c43Smrg		basic_machine=hppa1.1-hp
655a9a39c43Smrg		os=-osf
656a9a39c43Smrg		;;
657a9a39c43Smrg	hppro)
658a9a39c43Smrg		basic_machine=hppa1.1-hp
659a9a39c43Smrg		os=-proelf
660a9a39c43Smrg		;;
661a9a39c43Smrg	i370-ibm* | ibm*)
662a9a39c43Smrg		basic_machine=i370-ibm
663a9a39c43Smrg		;;
664a9a39c43Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
665a9a39c43Smrg	i*86v32)
666a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
667a9a39c43Smrg		os=-sysv32
668a9a39c43Smrg		;;
669a9a39c43Smrg	i*86v4*)
670a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
671a9a39c43Smrg		os=-sysv4
672a9a39c43Smrg		;;
673a9a39c43Smrg	i*86v)
674a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
675a9a39c43Smrg		os=-sysv
676a9a39c43Smrg		;;
677a9a39c43Smrg	i*86sol2)
678a9a39c43Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
679a9a39c43Smrg		os=-solaris2
680a9a39c43Smrg		;;
681a9a39c43Smrg	i386mach)
682a9a39c43Smrg		basic_machine=i386-mach
683a9a39c43Smrg		os=-mach
684a9a39c43Smrg		;;
685a9a39c43Smrg	i386-vsta | vsta)
686a9a39c43Smrg		basic_machine=i386-unknown
687a9a39c43Smrg		os=-vsta
688a9a39c43Smrg		;;
689a9a39c43Smrg	iris | iris4d)
690a9a39c43Smrg		basic_machine=mips-sgi
691a9a39c43Smrg		case $os in
692a9a39c43Smrg		    -irix*)
693a9a39c43Smrg			;;
694a9a39c43Smrg		    *)
695a9a39c43Smrg			os=-irix4
696a9a39c43Smrg			;;
697a9a39c43Smrg		esac
698a9a39c43Smrg		;;
699a9a39c43Smrg	isi68 | isi)
700a9a39c43Smrg		basic_machine=m68k-isi
701a9a39c43Smrg		os=-sysv
702a9a39c43Smrg		;;
703a9a39c43Smrg	m68knommu)
704a9a39c43Smrg		basic_machine=m68k-unknown
705a9a39c43Smrg		os=-linux
706a9a39c43Smrg		;;
707a9a39c43Smrg	m68knommu-*)
708a9a39c43Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
709a9a39c43Smrg		os=-linux
710a9a39c43Smrg		;;
711a9a39c43Smrg	m88k-omron*)
712a9a39c43Smrg		basic_machine=m88k-omron
713a9a39c43Smrg		;;
714a9a39c43Smrg	magnum | m3230)
715a9a39c43Smrg		basic_machine=mips-mips
716a9a39c43Smrg		os=-sysv
717a9a39c43Smrg		;;
718a9a39c43Smrg	merlin)
719a9a39c43Smrg		basic_machine=ns32k-utek
720a9a39c43Smrg		os=-sysv
721a9a39c43Smrg		;;
722a9a39c43Smrg	mingw32)
723a9a39c43Smrg		basic_machine=i386-pc
724a9a39c43Smrg		os=-mingw32
725a9a39c43Smrg		;;
726a9a39c43Smrg	mingw32ce)
727a9a39c43Smrg		basic_machine=arm-unknown
728a9a39c43Smrg		os=-mingw32ce
729a9a39c43Smrg		;;
730a9a39c43Smrg	miniframe)
731a9a39c43Smrg		basic_machine=m68000-convergent
732a9a39c43Smrg		;;
733a9a39c43Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
734a9a39c43Smrg		basic_machine=m68k-atari
735a9a39c43Smrg		os=-mint
736a9a39c43Smrg		;;
737a9a39c43Smrg	mips3*-*)
738a9a39c43Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
739a9a39c43Smrg		;;
740a9a39c43Smrg	mips3*)
741a9a39c43Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
742a9a39c43Smrg		;;
743a9a39c43Smrg	monitor)
744a9a39c43Smrg		basic_machine=m68k-rom68k
745a9a39c43Smrg		os=-coff
746a9a39c43Smrg		;;
747a9a39c43Smrg	morphos)
748a9a39c43Smrg		basic_machine=powerpc-unknown
749a9a39c43Smrg		os=-morphos
750a9a39c43Smrg		;;
751a9a39c43Smrg	msdos)
752a9a39c43Smrg		basic_machine=i386-pc
753a9a39c43Smrg		os=-msdos
754a9a39c43Smrg		;;
755a9a39c43Smrg	ms1-*)
756a9a39c43Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
757a9a39c43Smrg		;;
758a9a39c43Smrg	mvs)
759a9a39c43Smrg		basic_machine=i370-ibm
760a9a39c43Smrg		os=-mvs
761a9a39c43Smrg		;;
762a9a39c43Smrg	ncr3000)
763a9a39c43Smrg		basic_machine=i486-ncr
764a9a39c43Smrg		os=-sysv4
765a9a39c43Smrg		;;
766a9a39c43Smrg	netbsd386)
767a9a39c43Smrg		basic_machine=i386-unknown
768a9a39c43Smrg		os=-netbsd
769a9a39c43Smrg		;;
770a9a39c43Smrg	netwinder)
771a9a39c43Smrg		basic_machine=armv4l-rebel
772a9a39c43Smrg		os=-linux
773a9a39c43Smrg		;;
774a9a39c43Smrg	news | news700 | news800 | news900)
775a9a39c43Smrg		basic_machine=m68k-sony
776a9a39c43Smrg		os=-newsos
777a9a39c43Smrg		;;
778a9a39c43Smrg	news1000)
779a9a39c43Smrg		basic_machine=m68030-sony
780a9a39c43Smrg		os=-newsos
781a9a39c43Smrg		;;
782a9a39c43Smrg	news-3600 | risc-news)
783a9a39c43Smrg		basic_machine=mips-sony
784a9a39c43Smrg		os=-newsos
785a9a39c43Smrg		;;
786a9a39c43Smrg	necv70)
787a9a39c43Smrg		basic_machine=v70-nec
788a9a39c43Smrg		os=-sysv
789a9a39c43Smrg		;;
790a9a39c43Smrg	next | m*-next )
791a9a39c43Smrg		basic_machine=m68k-next
792a9a39c43Smrg		case $os in
793a9a39c43Smrg		    -nextstep* )
794a9a39c43Smrg			;;
795a9a39c43Smrg		    -ns2*)
796a9a39c43Smrg		      os=-nextstep2
797a9a39c43Smrg			;;
798a9a39c43Smrg		    *)
799a9a39c43Smrg		      os=-nextstep3
800a9a39c43Smrg			;;
801a9a39c43Smrg		esac
802a9a39c43Smrg		;;
803a9a39c43Smrg	nh3000)
804a9a39c43Smrg		basic_machine=m68k-harris
805a9a39c43Smrg		os=-cxux
806a9a39c43Smrg		;;
807a9a39c43Smrg	nh[45]000)
808a9a39c43Smrg		basic_machine=m88k-harris
809a9a39c43Smrg		os=-cxux
810a9a39c43Smrg		;;
811a9a39c43Smrg	nindy960)
812a9a39c43Smrg		basic_machine=i960-intel
813a9a39c43Smrg		os=-nindy
814a9a39c43Smrg		;;
815a9a39c43Smrg	mon960)
816a9a39c43Smrg		basic_machine=i960-intel
817a9a39c43Smrg		os=-mon960
818a9a39c43Smrg		;;
819a9a39c43Smrg	nonstopux)
820a9a39c43Smrg		basic_machine=mips-compaq
821a9a39c43Smrg		os=-nonstopux
822a9a39c43Smrg		;;
823a9a39c43Smrg	np1)
824a9a39c43Smrg		basic_machine=np1-gould
825a9a39c43Smrg		;;
826a9a39c43Smrg	nsr-tandem)
827a9a39c43Smrg		basic_machine=nsr-tandem
828a9a39c43Smrg		;;
829a9a39c43Smrg	op50n-* | op60c-*)
830a9a39c43Smrg		basic_machine=hppa1.1-oki
831a9a39c43Smrg		os=-proelf
832a9a39c43Smrg		;;
833a9a39c43Smrg	openrisc | openrisc-*)
834a9a39c43Smrg		basic_machine=or32-unknown
835a9a39c43Smrg		;;
836a9a39c43Smrg	os400)
837a9a39c43Smrg		basic_machine=powerpc-ibm
838a9a39c43Smrg		os=-os400
839a9a39c43Smrg		;;
840a9a39c43Smrg	OSE68000 | ose68000)
841a9a39c43Smrg		basic_machine=m68000-ericsson
842a9a39c43Smrg		os=-ose
843a9a39c43Smrg		;;
844a9a39c43Smrg	os68k)
845a9a39c43Smrg		basic_machine=m68k-none
846a9a39c43Smrg		os=-os68k
847a9a39c43Smrg		;;
848a9a39c43Smrg	pa-hitachi)
849a9a39c43Smrg		basic_machine=hppa1.1-hitachi
850a9a39c43Smrg		os=-hiuxwe2
851a9a39c43Smrg		;;
852a9a39c43Smrg	paragon)
853a9a39c43Smrg		basic_machine=i860-intel
854a9a39c43Smrg		os=-osf
855a9a39c43Smrg		;;
856a9a39c43Smrg	parisc)
857a9a39c43Smrg		basic_machine=hppa-unknown
858a9a39c43Smrg		os=-linux
859a9a39c43Smrg		;;
860a9a39c43Smrg	parisc-*)
861a9a39c43Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
862a9a39c43Smrg		os=-linux
863a9a39c43Smrg		;;
864a9a39c43Smrg	pbd)
865a9a39c43Smrg		basic_machine=sparc-tti
866a9a39c43Smrg		;;
867a9a39c43Smrg	pbb)
868a9a39c43Smrg		basic_machine=m68k-tti
869a9a39c43Smrg		;;
870a9a39c43Smrg	pc532 | pc532-*)
871a9a39c43Smrg		basic_machine=ns32k-pc532
872a9a39c43Smrg		;;
873a9a39c43Smrg	pc98)
874a9a39c43Smrg		basic_machine=i386-pc
875a9a39c43Smrg		;;
876a9a39c43Smrg	pc98-*)
877a9a39c43Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
878a9a39c43Smrg		;;
879a9a39c43Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
880a9a39c43Smrg		basic_machine=i586-pc
881a9a39c43Smrg		;;
882a9a39c43Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
883a9a39c43Smrg		basic_machine=i686-pc
884a9a39c43Smrg		;;
885a9a39c43Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
886a9a39c43Smrg		basic_machine=i686-pc
887a9a39c43Smrg		;;
888a9a39c43Smrg	pentium4)
889a9a39c43Smrg		basic_machine=i786-pc
890a9a39c43Smrg		;;
891a9a39c43Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
892a9a39c43Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
893a9a39c43Smrg		;;
894a9a39c43Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
895a9a39c43Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
896a9a39c43Smrg		;;
897a9a39c43Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
898a9a39c43Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
899a9a39c43Smrg		;;
900a9a39c43Smrg	pentium4-*)
901a9a39c43Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
902a9a39c43Smrg		;;
903a9a39c43Smrg	pn)
904a9a39c43Smrg		basic_machine=pn-gould
905a9a39c43Smrg		;;
906a9a39c43Smrg	power)	basic_machine=power-ibm
907a9a39c43Smrg		;;
908a9a39c43Smrg	ppc)	basic_machine=powerpc-unknown
909a9a39c43Smrg		;;
910a9a39c43Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
911a9a39c43Smrg		;;
912a9a39c43Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
913a9a39c43Smrg		basic_machine=powerpcle-unknown
914a9a39c43Smrg		;;
915a9a39c43Smrg	ppcle-* | powerpclittle-*)
916a9a39c43Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
917a9a39c43Smrg		;;
918a9a39c43Smrg	ppc64)	basic_machine=powerpc64-unknown
919a9a39c43Smrg		;;
920a9a39c43Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
921a9a39c43Smrg		;;
922a9a39c43Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
923a9a39c43Smrg		basic_machine=powerpc64le-unknown
924a9a39c43Smrg		;;
925a9a39c43Smrg	ppc64le-* | powerpc64little-*)
926a9a39c43Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
927a9a39c43Smrg		;;
928a9a39c43Smrg	ps2)
929a9a39c43Smrg		basic_machine=i386-ibm
930a9a39c43Smrg		;;
931a9a39c43Smrg	pw32)
932a9a39c43Smrg		basic_machine=i586-unknown
933a9a39c43Smrg		os=-pw32
934a9a39c43Smrg		;;
935a9a39c43Smrg	rdos)
936a9a39c43Smrg		basic_machine=i386-pc
937a9a39c43Smrg		os=-rdos
938a9a39c43Smrg		;;
939a9a39c43Smrg	rom68k)
940a9a39c43Smrg		basic_machine=m68k-rom68k
941a9a39c43Smrg		os=-coff
942a9a39c43Smrg		;;
943a9a39c43Smrg	rm[46]00)
944a9a39c43Smrg		basic_machine=mips-siemens
945a9a39c43Smrg		;;
946a9a39c43Smrg	rtpc | rtpc-*)
947a9a39c43Smrg		basic_machine=romp-ibm
948a9a39c43Smrg		;;
949a9a39c43Smrg	s390 | s390-*)
950a9a39c43Smrg		basic_machine=s390-ibm
951a9a39c43Smrg		;;
952a9a39c43Smrg	s390x | s390x-*)
953a9a39c43Smrg		basic_machine=s390x-ibm
954a9a39c43Smrg		;;
955a9a39c43Smrg	sa29200)
956a9a39c43Smrg		basic_machine=a29k-amd
957a9a39c43Smrg		os=-udi
958a9a39c43Smrg		;;
959a9a39c43Smrg	sb1)
960a9a39c43Smrg		basic_machine=mipsisa64sb1-unknown
961a9a39c43Smrg		;;
962a9a39c43Smrg	sb1el)
963a9a39c43Smrg		basic_machine=mipsisa64sb1el-unknown
964a9a39c43Smrg		;;
965a9a39c43Smrg	sde)
966a9a39c43Smrg		basic_machine=mipsisa32-sde
967a9a39c43Smrg		os=-elf
968a9a39c43Smrg		;;
969a9a39c43Smrg	sei)
970a9a39c43Smrg		basic_machine=mips-sei
971a9a39c43Smrg		os=-seiux
972a9a39c43Smrg		;;
973a9a39c43Smrg	sequent)
974a9a39c43Smrg		basic_machine=i386-sequent
975a9a39c43Smrg		;;
976a9a39c43Smrg	sh)
977a9a39c43Smrg		basic_machine=sh-hitachi
978a9a39c43Smrg		os=-hms
979a9a39c43Smrg		;;
980a9a39c43Smrg	sh5el)
981a9a39c43Smrg		basic_machine=sh5le-unknown
982a9a39c43Smrg		;;
983a9a39c43Smrg	sh64)
984a9a39c43Smrg		basic_machine=sh64-unknown
985a9a39c43Smrg		;;
986a9a39c43Smrg	sparclite-wrs | simso-wrs)
987a9a39c43Smrg		basic_machine=sparclite-wrs
988a9a39c43Smrg		os=-vxworks
989a9a39c43Smrg		;;
990a9a39c43Smrg	sps7)
991a9a39c43Smrg		basic_machine=m68k-bull
992a9a39c43Smrg		os=-sysv2
993a9a39c43Smrg		;;
994a9a39c43Smrg	spur)
995a9a39c43Smrg		basic_machine=spur-unknown
996a9a39c43Smrg		;;
997a9a39c43Smrg	st2000)
998a9a39c43Smrg		basic_machine=m68k-tandem
999a9a39c43Smrg		;;
1000a9a39c43Smrg	stratus)
1001a9a39c43Smrg		basic_machine=i860-stratus
1002a9a39c43Smrg		os=-sysv4
1003a9a39c43Smrg		;;
1004a9a39c43Smrg	sun2)
1005a9a39c43Smrg		basic_machine=m68000-sun
1006a9a39c43Smrg		;;
1007a9a39c43Smrg	sun2os3)
1008a9a39c43Smrg		basic_machine=m68000-sun
1009a9a39c43Smrg		os=-sunos3
1010a9a39c43Smrg		;;
1011a9a39c43Smrg	sun2os4)
1012a9a39c43Smrg		basic_machine=m68000-sun
1013a9a39c43Smrg		os=-sunos4
1014a9a39c43Smrg		;;
1015a9a39c43Smrg	sun3os3)
1016a9a39c43Smrg		basic_machine=m68k-sun
1017a9a39c43Smrg		os=-sunos3
1018a9a39c43Smrg		;;
1019a9a39c43Smrg	sun3os4)
1020a9a39c43Smrg		basic_machine=m68k-sun
1021a9a39c43Smrg		os=-sunos4
1022a9a39c43Smrg		;;
1023a9a39c43Smrg	sun4os3)
1024a9a39c43Smrg		basic_machine=sparc-sun
1025a9a39c43Smrg		os=-sunos3
1026a9a39c43Smrg		;;
1027a9a39c43Smrg	sun4os4)
1028a9a39c43Smrg		basic_machine=sparc-sun
1029a9a39c43Smrg		os=-sunos4
1030a9a39c43Smrg		;;
1031a9a39c43Smrg	sun4sol2)
1032a9a39c43Smrg		basic_machine=sparc-sun
1033a9a39c43Smrg		os=-solaris2
1034a9a39c43Smrg		;;
1035a9a39c43Smrg	sun3 | sun3-*)
1036a9a39c43Smrg		basic_machine=m68k-sun
1037a9a39c43Smrg		;;
1038a9a39c43Smrg	sun4)
1039a9a39c43Smrg		basic_machine=sparc-sun
1040a9a39c43Smrg		;;
1041a9a39c43Smrg	sun386 | sun386i | roadrunner)
1042a9a39c43Smrg		basic_machine=i386-sun
1043a9a39c43Smrg		;;
1044a9a39c43Smrg	sv1)
1045a9a39c43Smrg		basic_machine=sv1-cray
1046a9a39c43Smrg		os=-unicos
1047a9a39c43Smrg		;;
1048a9a39c43Smrg	symmetry)
1049a9a39c43Smrg		basic_machine=i386-sequent
1050a9a39c43Smrg		os=-dynix
1051a9a39c43Smrg		;;
1052a9a39c43Smrg	t3e)
1053a9a39c43Smrg		basic_machine=alphaev5-cray
1054a9a39c43Smrg		os=-unicos
1055a9a39c43Smrg		;;
1056a9a39c43Smrg	t90)
1057a9a39c43Smrg		basic_machine=t90-cray
1058a9a39c43Smrg		os=-unicos
1059a9a39c43Smrg		;;
1060a9a39c43Smrg	tic54x | c54x*)
1061a9a39c43Smrg		basic_machine=tic54x-unknown
1062a9a39c43Smrg		os=-coff
1063a9a39c43Smrg		;;
1064a9a39c43Smrg	tic55x | c55x*)
1065a9a39c43Smrg		basic_machine=tic55x-unknown
1066a9a39c43Smrg		os=-coff
1067a9a39c43Smrg		;;
1068a9a39c43Smrg	tic6x | c6x*)
1069a9a39c43Smrg		basic_machine=tic6x-unknown
1070a9a39c43Smrg		os=-coff
1071a9a39c43Smrg		;;
1072a9a39c43Smrg	tile*)
1073a9a39c43Smrg		basic_machine=tile-unknown
1074a9a39c43Smrg		os=-linux-gnu
1075a9a39c43Smrg		;;
1076a9a39c43Smrg	tx39)
1077a9a39c43Smrg		basic_machine=mipstx39-unknown
1078a9a39c43Smrg		;;
1079a9a39c43Smrg	tx39el)
1080a9a39c43Smrg		basic_machine=mipstx39el-unknown
1081a9a39c43Smrg		;;
1082a9a39c43Smrg	toad1)
1083a9a39c43Smrg		basic_machine=pdp10-xkl
1084a9a39c43Smrg		os=-tops20
1085a9a39c43Smrg		;;
1086a9a39c43Smrg	tower | tower-32)
1087a9a39c43Smrg		basic_machine=m68k-ncr
1088a9a39c43Smrg		;;
1089a9a39c43Smrg	tpf)
1090a9a39c43Smrg		basic_machine=s390x-ibm
1091a9a39c43Smrg		os=-tpf
1092a9a39c43Smrg		;;
1093a9a39c43Smrg	udi29k)
1094a9a39c43Smrg		basic_machine=a29k-amd
1095a9a39c43Smrg		os=-udi
1096a9a39c43Smrg		;;
1097a9a39c43Smrg	ultra3)
1098a9a39c43Smrg		basic_machine=a29k-nyu
1099a9a39c43Smrg		os=-sym1
1100a9a39c43Smrg		;;
1101a9a39c43Smrg	v810 | necv810)
1102a9a39c43Smrg		basic_machine=v810-nec
1103a9a39c43Smrg		os=-none
1104a9a39c43Smrg		;;
1105a9a39c43Smrg	vaxv)
1106a9a39c43Smrg		basic_machine=vax-dec
1107a9a39c43Smrg		os=-sysv
1108a9a39c43Smrg		;;
1109a9a39c43Smrg	vms)
1110a9a39c43Smrg		basic_machine=vax-dec
1111a9a39c43Smrg		os=-vms
1112a9a39c43Smrg		;;
1113a9a39c43Smrg	vpp*|vx|vx-*)
1114a9a39c43Smrg		basic_machine=f301-fujitsu
1115a9a39c43Smrg		;;
1116a9a39c43Smrg	vxworks960)
1117a9a39c43Smrg		basic_machine=i960-wrs
1118a9a39c43Smrg		os=-vxworks
1119a9a39c43Smrg		;;
1120a9a39c43Smrg	vxworks68)
1121a9a39c43Smrg		basic_machine=m68k-wrs
1122a9a39c43Smrg		os=-vxworks
1123a9a39c43Smrg		;;
1124a9a39c43Smrg	vxworks29k)
1125a9a39c43Smrg		basic_machine=a29k-wrs
1126a9a39c43Smrg		os=-vxworks
1127a9a39c43Smrg		;;
1128a9a39c43Smrg	w65*)
1129a9a39c43Smrg		basic_machine=w65-wdc
1130a9a39c43Smrg		os=-none
1131a9a39c43Smrg		;;
1132a9a39c43Smrg	w89k-*)
1133a9a39c43Smrg		basic_machine=hppa1.1-winbond
1134a9a39c43Smrg		os=-proelf
1135a9a39c43Smrg		;;
1136a9a39c43Smrg	xbox)
1137a9a39c43Smrg		basic_machine=i686-pc
1138a9a39c43Smrg		os=-mingw32
1139a9a39c43Smrg		;;
1140a9a39c43Smrg	xps | xps100)
1141a9a39c43Smrg		basic_machine=xps100-honeywell
1142a9a39c43Smrg		;;
1143a9a39c43Smrg	ymp)
1144a9a39c43Smrg		basic_machine=ymp-cray
1145a9a39c43Smrg		os=-unicos
1146a9a39c43Smrg		;;
1147a9a39c43Smrg	z8k-*-coff)
1148a9a39c43Smrg		basic_machine=z8k-unknown
1149a9a39c43Smrg		os=-sim
1150a9a39c43Smrg		;;
1151a9a39c43Smrg	z80-*-coff)
1152a9a39c43Smrg		basic_machine=z80-unknown
1153a9a39c43Smrg		os=-sim
1154a9a39c43Smrg		;;
1155a9a39c43Smrg	none)
1156a9a39c43Smrg		basic_machine=none-none
1157a9a39c43Smrg		os=-none
1158a9a39c43Smrg		;;
1159a9a39c43Smrg
1160a9a39c43Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1161a9a39c43Smrg# some cases the only manufacturer, in others, it is the most popular.
1162a9a39c43Smrg	w89k)
1163a9a39c43Smrg		basic_machine=hppa1.1-winbond
1164a9a39c43Smrg		;;
1165a9a39c43Smrg	op50n)
1166a9a39c43Smrg		basic_machine=hppa1.1-oki
1167a9a39c43Smrg		;;
1168a9a39c43Smrg	op60c)
1169a9a39c43Smrg		basic_machine=hppa1.1-oki
1170a9a39c43Smrg		;;
1171a9a39c43Smrg	romp)
1172a9a39c43Smrg		basic_machine=romp-ibm
1173a9a39c43Smrg		;;
1174a9a39c43Smrg	mmix)
1175a9a39c43Smrg		basic_machine=mmix-knuth
1176a9a39c43Smrg		;;
1177a9a39c43Smrg	rs6000)
1178a9a39c43Smrg		basic_machine=rs6000-ibm
1179a9a39c43Smrg		;;
1180a9a39c43Smrg	vax)
1181a9a39c43Smrg		basic_machine=vax-dec
1182a9a39c43Smrg		;;
1183a9a39c43Smrg	pdp10)
1184a9a39c43Smrg		# there are many clones, so DEC is not a safe bet
1185a9a39c43Smrg		basic_machine=pdp10-unknown
1186a9a39c43Smrg		;;
1187a9a39c43Smrg	pdp11)
1188a9a39c43Smrg		basic_machine=pdp11-dec
1189a9a39c43Smrg		;;
1190a9a39c43Smrg	we32k)
1191a9a39c43Smrg		basic_machine=we32k-att
1192a9a39c43Smrg		;;
1193a9a39c43Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1194a9a39c43Smrg		basic_machine=sh-unknown
1195a9a39c43Smrg		;;
1196a9a39c43Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1197a9a39c43Smrg		basic_machine=sparc-sun
1198a9a39c43Smrg		;;
1199a9a39c43Smrg	cydra)
1200a9a39c43Smrg		basic_machine=cydra-cydrome
1201a9a39c43Smrg		;;
1202a9a39c43Smrg	orion)
1203a9a39c43Smrg		basic_machine=orion-highlevel
1204a9a39c43Smrg		;;
1205a9a39c43Smrg	orion105)
1206a9a39c43Smrg		basic_machine=clipper-highlevel
1207a9a39c43Smrg		;;
1208a9a39c43Smrg	mac | mpw | mac-mpw)
1209a9a39c43Smrg		basic_machine=m68k-apple
1210a9a39c43Smrg		;;
1211a9a39c43Smrg	pmac | pmac-mpw)
1212a9a39c43Smrg		basic_machine=powerpc-apple
1213a9a39c43Smrg		;;
1214a9a39c43Smrg	*-unknown)
1215a9a39c43Smrg		# Make sure to match an already-canonicalized machine name.
1216a9a39c43Smrg		;;
1217a9a39c43Smrg	*)
1218a9a39c43Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1219a9a39c43Smrg		exit 1
1220a9a39c43Smrg		;;
1221a9a39c43Smrgesac
1222a9a39c43Smrg
1223a9a39c43Smrg# Here we canonicalize certain aliases for manufacturers.
1224a9a39c43Smrgcase $basic_machine in
1225a9a39c43Smrg	*-digital*)
1226a9a39c43Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1227a9a39c43Smrg		;;
1228a9a39c43Smrg	*-commodore*)
1229a9a39c43Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1230a9a39c43Smrg		;;
1231a9a39c43Smrg	*)
1232a9a39c43Smrg		;;
1233a9a39c43Smrgesac
1234a9a39c43Smrg
1235a9a39c43Smrg# Decode manufacturer-specific aliases for certain operating systems.
1236a9a39c43Smrg
1237a9a39c43Smrgif [ x"$os" != x"" ]
1238a9a39c43Smrgthen
1239a9a39c43Smrgcase $os in
1240a9a39c43Smrg        # First match some system type aliases
1241a9a39c43Smrg        # that might get confused with valid system types.
1242a9a39c43Smrg	# -solaris* is a basic system type, with this one exception.
1243a9a39c43Smrg	-solaris1 | -solaris1.*)
1244a9a39c43Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1245a9a39c43Smrg		;;
1246a9a39c43Smrg	-solaris)
1247a9a39c43Smrg		os=-solaris2
1248a9a39c43Smrg		;;
1249a9a39c43Smrg	-svr4*)
1250a9a39c43Smrg		os=-sysv4
1251a9a39c43Smrg		;;
1252a9a39c43Smrg	-unixware*)
1253a9a39c43Smrg		os=-sysv4.2uw
1254a9a39c43Smrg		;;
1255a9a39c43Smrg	-gnu/linux*)
1256a9a39c43Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1257a9a39c43Smrg		;;
1258a9a39c43Smrg	# First accept the basic system types.
1259a9a39c43Smrg	# The portable systems comes first.
1260a9a39c43Smrg	# Each alternative MUST END IN A *, to match a version number.
1261a9a39c43Smrg	# -sysv* is not here because it comes later, after sysvr4.
1262a9a39c43Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1263a9a39c43Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1264a9a39c43Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1265a9a39c43Smrg	      | -kopensolaris* \
1266a9a39c43Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1267a9a39c43Smrg	      | -aos* | -aros* \
1268a9a39c43Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1269a9a39c43Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1270a9a39c43Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1271a9a39c43Smrg	      | -openbsd* | -solidbsd* \
1272a9a39c43Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1273a9a39c43Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1274a9a39c43Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1275a9a39c43Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1276a9a39c43Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1277a9a39c43Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1278a9a39c43Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1279a9a39c43Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1280a9a39c43Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1281a9a39c43Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1282a9a39c43Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1283a9a39c43Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1284a9a39c43Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1285a9a39c43Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1286a9a39c43Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1287a9a39c43Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1288a9a39c43Smrg		;;
1289a9a39c43Smrg	-qnx*)
1290a9a39c43Smrg		case $basic_machine in
1291a9a39c43Smrg		    x86-* | i*86-*)
1292a9a39c43Smrg			;;
1293a9a39c43Smrg		    *)
1294a9a39c43Smrg			os=-nto$os
1295a9a39c43Smrg			;;
1296a9a39c43Smrg		esac
1297a9a39c43Smrg		;;
1298a9a39c43Smrg	-nto-qnx*)
1299a9a39c43Smrg		;;
1300a9a39c43Smrg	-nto*)
1301a9a39c43Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1302a9a39c43Smrg		;;
1303a9a39c43Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1304a9a39c43Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1305a9a39c43Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1306a9a39c43Smrg		;;
1307a9a39c43Smrg	-mac*)
1308a9a39c43Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1309a9a39c43Smrg		;;
1310a9a39c43Smrg	-linux-dietlibc)
1311a9a39c43Smrg		os=-linux-dietlibc
1312a9a39c43Smrg		;;
1313a9a39c43Smrg	-linux*)
1314a9a39c43Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1315a9a39c43Smrg		;;
1316a9a39c43Smrg	-sunos5*)
1317a9a39c43Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1318a9a39c43Smrg		;;
1319a9a39c43Smrg	-sunos6*)
1320a9a39c43Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1321a9a39c43Smrg		;;
1322a9a39c43Smrg	-opened*)
1323a9a39c43Smrg		os=-openedition
1324a9a39c43Smrg		;;
1325a9a39c43Smrg        -os400*)
1326a9a39c43Smrg		os=-os400
1327a9a39c43Smrg		;;
1328a9a39c43Smrg	-wince*)
1329a9a39c43Smrg		os=-wince
1330a9a39c43Smrg		;;
1331a9a39c43Smrg	-osfrose*)
1332a9a39c43Smrg		os=-osfrose
1333a9a39c43Smrg		;;
1334a9a39c43Smrg	-osf*)
1335a9a39c43Smrg		os=-osf
1336a9a39c43Smrg		;;
1337a9a39c43Smrg	-utek*)
1338a9a39c43Smrg		os=-bsd
1339a9a39c43Smrg		;;
1340a9a39c43Smrg	-dynix*)
1341a9a39c43Smrg		os=-bsd
1342a9a39c43Smrg		;;
1343a9a39c43Smrg	-acis*)
1344a9a39c43Smrg		os=-aos
1345a9a39c43Smrg		;;
1346a9a39c43Smrg	-atheos*)
1347a9a39c43Smrg		os=-atheos
1348a9a39c43Smrg		;;
1349a9a39c43Smrg	-syllable*)
1350a9a39c43Smrg		os=-syllable
1351a9a39c43Smrg		;;
1352a9a39c43Smrg	-386bsd)
1353a9a39c43Smrg		os=-bsd
1354a9a39c43Smrg		;;
1355a9a39c43Smrg	-ctix* | -uts*)
1356a9a39c43Smrg		os=-sysv
1357a9a39c43Smrg		;;
1358a9a39c43Smrg	-nova*)
1359a9a39c43Smrg		os=-rtmk-nova
1360a9a39c43Smrg		;;
1361a9a39c43Smrg	-ns2 )
1362a9a39c43Smrg		os=-nextstep2
1363a9a39c43Smrg		;;
1364a9a39c43Smrg	-nsk*)
1365a9a39c43Smrg		os=-nsk
1366a9a39c43Smrg		;;
1367a9a39c43Smrg	# Preserve the version number of sinix5.
1368a9a39c43Smrg	-sinix5.*)
1369a9a39c43Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1370a9a39c43Smrg		;;
1371a9a39c43Smrg	-sinix*)
1372a9a39c43Smrg		os=-sysv4
1373a9a39c43Smrg		;;
1374a9a39c43Smrg        -tpf*)
1375a9a39c43Smrg		os=-tpf
1376a9a39c43Smrg		;;
1377a9a39c43Smrg	-triton*)
1378a9a39c43Smrg		os=-sysv3
1379a9a39c43Smrg		;;
1380a9a39c43Smrg	-oss*)
1381a9a39c43Smrg		os=-sysv3
1382a9a39c43Smrg		;;
1383a9a39c43Smrg	-svr4)
1384a9a39c43Smrg		os=-sysv4
1385a9a39c43Smrg		;;
1386a9a39c43Smrg	-svr3)
1387a9a39c43Smrg		os=-sysv3
1388a9a39c43Smrg		;;
1389a9a39c43Smrg	-sysvr4)
1390a9a39c43Smrg		os=-sysv4
1391a9a39c43Smrg		;;
1392a9a39c43Smrg	# This must come after -sysvr4.
1393a9a39c43Smrg	-sysv*)
1394a9a39c43Smrg		;;
1395a9a39c43Smrg	-ose*)
1396a9a39c43Smrg		os=-ose
1397a9a39c43Smrg		;;
1398a9a39c43Smrg	-es1800*)
1399a9a39c43Smrg		os=-ose
1400a9a39c43Smrg		;;
1401a9a39c43Smrg	-xenix)
1402a9a39c43Smrg		os=-xenix
1403a9a39c43Smrg		;;
1404a9a39c43Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1405a9a39c43Smrg		os=-mint
1406a9a39c43Smrg		;;
1407a9a39c43Smrg	-aros*)
1408a9a39c43Smrg		os=-aros
1409a9a39c43Smrg		;;
1410a9a39c43Smrg	-kaos*)
1411a9a39c43Smrg		os=-kaos
1412a9a39c43Smrg		;;
1413a9a39c43Smrg	-zvmoe)
1414a9a39c43Smrg		os=-zvmoe
1415a9a39c43Smrg		;;
1416a9a39c43Smrg	-dicos*)
1417a9a39c43Smrg		os=-dicos
1418a9a39c43Smrg		;;
1419a9a39c43Smrg	-none)
1420a9a39c43Smrg		;;
1421a9a39c43Smrg	*)
1422a9a39c43Smrg		# Get rid of the `-' at the beginning of $os.
1423a9a39c43Smrg		os=`echo $os | sed 's/[^-]*-//'`
1424a9a39c43Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1425a9a39c43Smrg		exit 1
1426a9a39c43Smrg		;;
1427a9a39c43Smrgesac
1428a9a39c43Smrgelse
1429a9a39c43Smrg
1430a9a39c43Smrg# Here we handle the default operating systems that come with various machines.
1431a9a39c43Smrg# The value should be what the vendor currently ships out the door with their
1432a9a39c43Smrg# machine or put another way, the most popular os provided with the machine.
1433a9a39c43Smrg
1434a9a39c43Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1435a9a39c43Smrg# "-sun"), then you have to tell the case statement up towards the top
1436a9a39c43Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1437a9a39c43Smrg# will signal an error saying that MANUFACTURER isn't an operating
1438a9a39c43Smrg# system, and we'll never get to this point.
1439a9a39c43Smrg
1440a9a39c43Smrgcase $basic_machine in
1441a9a39c43Smrg        score-*)
1442a9a39c43Smrg		os=-elf
1443a9a39c43Smrg		;;
1444a9a39c43Smrg        spu-*)
1445a9a39c43Smrg		os=-elf
1446a9a39c43Smrg		;;
1447a9a39c43Smrg	*-acorn)
1448a9a39c43Smrg		os=-riscix1.2
1449a9a39c43Smrg		;;
1450a9a39c43Smrg	arm*-rebel)
1451a9a39c43Smrg		os=-linux
1452a9a39c43Smrg		;;
1453a9a39c43Smrg	arm*-semi)
1454a9a39c43Smrg		os=-aout
1455a9a39c43Smrg		;;
1456a9a39c43Smrg        c4x-* | tic4x-*)
1457a9a39c43Smrg        	os=-coff
1458a9a39c43Smrg		;;
1459a9a39c43Smrg	# This must come before the *-dec entry.
1460a9a39c43Smrg	pdp10-*)
1461a9a39c43Smrg		os=-tops20
1462a9a39c43Smrg		;;
1463a9a39c43Smrg	pdp11-*)
1464a9a39c43Smrg		os=-none
1465a9a39c43Smrg		;;
1466a9a39c43Smrg	*-dec | vax-*)
1467a9a39c43Smrg		os=-ultrix4.2
1468a9a39c43Smrg		;;
1469a9a39c43Smrg	m68*-apollo)
1470a9a39c43Smrg		os=-domain
1471a9a39c43Smrg		;;
1472a9a39c43Smrg	i386-sun)
1473a9a39c43Smrg		os=-sunos4.0.2
1474a9a39c43Smrg		;;
1475a9a39c43Smrg	m68000-sun)
1476a9a39c43Smrg		os=-sunos3
1477a9a39c43Smrg		# This also exists in the configure program, but was not the
1478a9a39c43Smrg		# default.
1479a9a39c43Smrg		# os=-sunos4
1480a9a39c43Smrg		;;
1481a9a39c43Smrg	m68*-cisco)
1482a9a39c43Smrg		os=-aout
1483a9a39c43Smrg		;;
1484a9a39c43Smrg        mep-*)
1485a9a39c43Smrg		os=-elf
1486a9a39c43Smrg		;;
1487a9a39c43Smrg	mips*-cisco)
1488a9a39c43Smrg		os=-elf
1489a9a39c43Smrg		;;
1490a9a39c43Smrg	mips*-*)
1491a9a39c43Smrg		os=-elf
1492a9a39c43Smrg		;;
1493a9a39c43Smrg	or32-*)
1494a9a39c43Smrg		os=-coff
1495a9a39c43Smrg		;;
1496a9a39c43Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1497a9a39c43Smrg		os=-sysv3
1498a9a39c43Smrg		;;
1499a9a39c43Smrg	sparc-* | *-sun)
1500a9a39c43Smrg		os=-sunos4.1.1
1501a9a39c43Smrg		;;
1502a9a39c43Smrg	*-be)
1503a9a39c43Smrg		os=-beos
1504a9a39c43Smrg		;;
1505a9a39c43Smrg	*-haiku)
1506a9a39c43Smrg		os=-haiku
1507a9a39c43Smrg		;;
1508a9a39c43Smrg	*-ibm)
1509a9a39c43Smrg		os=-aix
1510a9a39c43Smrg		;;
1511a9a39c43Smrg    	*-knuth)
1512a9a39c43Smrg		os=-mmixware
1513a9a39c43Smrg		;;
1514a9a39c43Smrg	*-wec)
1515a9a39c43Smrg		os=-proelf
1516a9a39c43Smrg		;;
1517a9a39c43Smrg	*-winbond)
1518a9a39c43Smrg		os=-proelf
1519a9a39c43Smrg		;;
1520a9a39c43Smrg	*-oki)
1521a9a39c43Smrg		os=-proelf
1522a9a39c43Smrg		;;
1523a9a39c43Smrg	*-hp)
1524a9a39c43Smrg		os=-hpux
1525a9a39c43Smrg		;;
1526a9a39c43Smrg	*-hitachi)
1527a9a39c43Smrg		os=-hiux
1528a9a39c43Smrg		;;
1529a9a39c43Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1530a9a39c43Smrg		os=-sysv
1531a9a39c43Smrg		;;
1532a9a39c43Smrg	*-cbm)
1533a9a39c43Smrg		os=-amigaos
1534a9a39c43Smrg		;;
1535a9a39c43Smrg	*-dg)
1536a9a39c43Smrg		os=-dgux
1537a9a39c43Smrg		;;
1538a9a39c43Smrg	*-dolphin)
1539a9a39c43Smrg		os=-sysv3
1540a9a39c43Smrg		;;
1541a9a39c43Smrg	m68k-ccur)
1542a9a39c43Smrg		os=-rtu
1543a9a39c43Smrg		;;
1544a9a39c43Smrg	m88k-omron*)
1545a9a39c43Smrg		os=-luna
1546a9a39c43Smrg		;;
1547a9a39c43Smrg	*-next )
1548a9a39c43Smrg		os=-nextstep
1549a9a39c43Smrg		;;
1550a9a39c43Smrg	*-sequent)
1551a9a39c43Smrg		os=-ptx
1552a9a39c43Smrg		;;
1553a9a39c43Smrg	*-crds)
1554a9a39c43Smrg		os=-unos
1555a9a39c43Smrg		;;
1556a9a39c43Smrg	*-ns)
1557a9a39c43Smrg		os=-genix
1558a9a39c43Smrg		;;
1559a9a39c43Smrg	i370-*)
1560a9a39c43Smrg		os=-mvs
1561a9a39c43Smrg		;;
1562a9a39c43Smrg	*-next)
1563a9a39c43Smrg		os=-nextstep3
1564a9a39c43Smrg		;;
1565a9a39c43Smrg	*-gould)
1566a9a39c43Smrg		os=-sysv
1567a9a39c43Smrg		;;
1568a9a39c43Smrg	*-highlevel)
1569a9a39c43Smrg		os=-bsd
1570a9a39c43Smrg		;;
1571a9a39c43Smrg	*-encore)
1572a9a39c43Smrg		os=-bsd
1573a9a39c43Smrg		;;
1574a9a39c43Smrg	*-sgi)
1575a9a39c43Smrg		os=-irix
1576a9a39c43Smrg		;;
1577a9a39c43Smrg	*-siemens)
1578a9a39c43Smrg		os=-sysv4
1579a9a39c43Smrg		;;
1580a9a39c43Smrg	*-masscomp)
1581a9a39c43Smrg		os=-rtu
1582a9a39c43Smrg		;;
1583a9a39c43Smrg	f30[01]-fujitsu | f700-fujitsu)
1584a9a39c43Smrg		os=-uxpv
1585a9a39c43Smrg		;;
1586a9a39c43Smrg	*-rom68k)
1587a9a39c43Smrg		os=-coff
1588a9a39c43Smrg		;;
1589a9a39c43Smrg	*-*bug)
1590a9a39c43Smrg		os=-coff
1591a9a39c43Smrg		;;
1592a9a39c43Smrg	*-apple)
1593a9a39c43Smrg		os=-macos
1594a9a39c43Smrg		;;
1595a9a39c43Smrg	*-atari*)
1596a9a39c43Smrg		os=-mint
1597a9a39c43Smrg		;;
1598a9a39c43Smrg	*)
1599a9a39c43Smrg		os=-none
1600a9a39c43Smrg		;;
1601a9a39c43Smrgesac
1602a9a39c43Smrgfi
1603a9a39c43Smrg
1604a9a39c43Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1605a9a39c43Smrg# manufacturer.  We pick the logical manufacturer.
1606a9a39c43Smrgvendor=unknown
1607a9a39c43Smrgcase $basic_machine in
1608a9a39c43Smrg	*-unknown)
1609a9a39c43Smrg		case $os in
1610a9a39c43Smrg			-riscix*)
1611a9a39c43Smrg				vendor=acorn
1612a9a39c43Smrg				;;
1613a9a39c43Smrg			-sunos*)
1614a9a39c43Smrg				vendor=sun
1615a9a39c43Smrg				;;
1616a9a39c43Smrg			-aix*)
1617a9a39c43Smrg				vendor=ibm
1618a9a39c43Smrg				;;
1619a9a39c43Smrg			-beos*)
1620a9a39c43Smrg				vendor=be
1621a9a39c43Smrg				;;
1622a9a39c43Smrg			-hpux*)
1623a9a39c43Smrg				vendor=hp
1624a9a39c43Smrg				;;
1625a9a39c43Smrg			-mpeix*)
1626a9a39c43Smrg				vendor=hp
1627a9a39c43Smrg				;;
1628a9a39c43Smrg			-hiux*)
1629a9a39c43Smrg				vendor=hitachi
1630a9a39c43Smrg				;;
1631a9a39c43Smrg			-unos*)
1632a9a39c43Smrg				vendor=crds
1633a9a39c43Smrg				;;
1634a9a39c43Smrg			-dgux*)
1635a9a39c43Smrg				vendor=dg
1636a9a39c43Smrg				;;
1637a9a39c43Smrg			-luna*)
1638a9a39c43Smrg				vendor=omron
1639a9a39c43Smrg				;;
1640a9a39c43Smrg			-genix*)
1641a9a39c43Smrg				vendor=ns
1642a9a39c43Smrg				;;
1643a9a39c43Smrg			-mvs* | -opened*)
1644a9a39c43Smrg				vendor=ibm
1645a9a39c43Smrg				;;
1646a9a39c43Smrg			-os400*)
1647a9a39c43Smrg				vendor=ibm
1648a9a39c43Smrg				;;
1649a9a39c43Smrg			-ptx*)
1650a9a39c43Smrg				vendor=sequent
1651a9a39c43Smrg				;;
1652a9a39c43Smrg			-tpf*)
1653a9a39c43Smrg				vendor=ibm
1654a9a39c43Smrg				;;
1655a9a39c43Smrg			-vxsim* | -vxworks* | -windiss*)
1656a9a39c43Smrg				vendor=wrs
1657a9a39c43Smrg				;;
1658a9a39c43Smrg			-aux*)
1659a9a39c43Smrg				vendor=apple
1660a9a39c43Smrg				;;
1661a9a39c43Smrg			-hms*)
1662a9a39c43Smrg				vendor=hitachi
1663a9a39c43Smrg				;;
1664a9a39c43Smrg			-mpw* | -macos*)
1665a9a39c43Smrg				vendor=apple
1666a9a39c43Smrg				;;
1667a9a39c43Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1668a9a39c43Smrg				vendor=atari
1669a9a39c43Smrg				;;
1670a9a39c43Smrg			-vos*)
1671a9a39c43Smrg				vendor=stratus
1672a9a39c43Smrg				;;
1673a9a39c43Smrg		esac
1674a9a39c43Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1675a9a39c43Smrg		;;
1676a9a39c43Smrgesac
1677a9a39c43Smrg
1678a9a39c43Smrgecho $basic_machine$os
1679a9a39c43Smrgexit
1680a9a39c43Smrg
1681a9a39c43Smrg# Local variables:
1682a9a39c43Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1683a9a39c43Smrg# time-stamp-start: "timestamp='"
1684a9a39c43Smrg# time-stamp-format: "%:y-%02m-%02d"
1685a9a39c43Smrg# time-stamp-end: "'"
1686a9a39c43Smrg# End:
1687