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