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