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