config.sub revision 301ea0f4
1301ea0f4Smrg#! /bin/sh
2301ea0f4Smrg# Configuration validation subroutine script.
3301ea0f4Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4301ea0f4Smrg#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
5301ea0f4Smrg
6301ea0f4Smrgtimestamp='2003-06-18'
7301ea0f4Smrg
8301ea0f4Smrg# This file is (in principle) common to ALL GNU software.
9301ea0f4Smrg# The presence of a machine in this file suggests that SOME GNU software
10301ea0f4Smrg# can handle that machine.  It does not imply ALL GNU software can.
11301ea0f4Smrg#
12301ea0f4Smrg# This file is free software; you can redistribute it and/or modify
13301ea0f4Smrg# it under the terms of the GNU General Public License as published by
14301ea0f4Smrg# the Free Software Foundation; either version 2 of the License, or
15301ea0f4Smrg# (at your option) any later version.
16301ea0f4Smrg#
17301ea0f4Smrg# This program is distributed in the hope that it will be useful,
18301ea0f4Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
19301ea0f4Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20301ea0f4Smrg# GNU General Public License for more details.
21301ea0f4Smrg#
22301ea0f4Smrg# You should have received a copy of the GNU General Public License
23301ea0f4Smrg# along with this program; if not, write to the Free Software
24301ea0f4Smrg# Foundation, Inc., 59 Temple Place - Suite 330,
25301ea0f4Smrg# Boston, MA 02111-1307, USA.
26301ea0f4Smrg
27301ea0f4Smrg# As a special exception to the GNU General Public License, if you
28301ea0f4Smrg# distribute this file as part of a program that contains a
29301ea0f4Smrg# configuration script generated by Autoconf, you may include it under
30301ea0f4Smrg# the same distribution terms that you use for the rest of that program.
31301ea0f4Smrg
32301ea0f4Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
33301ea0f4Smrg# diff and a properly formatted ChangeLog entry.
34301ea0f4Smrg#
35301ea0f4Smrg# Configuration subroutine to validate and canonicalize a configuration type.
36301ea0f4Smrg# Supply the specified configuration type as an argument.
37301ea0f4Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
38301ea0f4Smrg# Otherwise, we print the canonical config type on stdout and succeed.
39301ea0f4Smrg
40301ea0f4Smrg# This file is supposed to be the same for all GNU packages
41301ea0f4Smrg# and recognize all the CPU types, system types and aliases
42301ea0f4Smrg# that are meaningful with *any* GNU software.
43301ea0f4Smrg# Each package is responsible for reporting which valid configurations
44301ea0f4Smrg# it does not support.  The user should be able to distinguish
45301ea0f4Smrg# a failure to support a valid configuration from a meaningless
46301ea0f4Smrg# configuration.
47301ea0f4Smrg
48301ea0f4Smrg# The goal of this file is to map all the various variations of a given
49301ea0f4Smrg# machine specification into a single specification in the form:
50301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51301ea0f4Smrg# or in some cases, the newer four-part form:
52301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53301ea0f4Smrg# It is wrong to echo any other type of specification.
54301ea0f4Smrg
55301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'`
56301ea0f4Smrg
57301ea0f4Smrgusage="\
58301ea0f4SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
59301ea0f4Smrg       $0 [OPTION] ALIAS
60301ea0f4Smrg
61301ea0f4SmrgCanonicalize a configuration name.
62301ea0f4Smrg
63301ea0f4SmrgOperation modes:
64301ea0f4Smrg  -h, --help         print this help, then exit
65301ea0f4Smrg  -t, --time-stamp   print date of last modification, then exit
66301ea0f4Smrg  -v, --version      print version number, then exit
67301ea0f4Smrg
68301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>."
69301ea0f4Smrg
70301ea0f4Smrgversion="\
71301ea0f4SmrgGNU config.sub ($timestamp)
72301ea0f4Smrg
73301ea0f4SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
74301ea0f4SmrgFree Software Foundation, Inc.
75301ea0f4Smrg
76301ea0f4SmrgThis is free software; see the source for copying conditions.  There is NO
77301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
78301ea0f4Smrg
79301ea0f4Smrghelp="
80301ea0f4SmrgTry \`$me --help' for more information."
81301ea0f4Smrg
82301ea0f4Smrg# Parse command line
83301ea0f4Smrgwhile test $# -gt 0 ; do
84301ea0f4Smrg  case $1 in
85301ea0f4Smrg    --time-stamp | --time* | -t )
86301ea0f4Smrg       echo "$timestamp" ; exit 0 ;;
87301ea0f4Smrg    --version | -v )
88301ea0f4Smrg       echo "$version" ; exit 0 ;;
89301ea0f4Smrg    --help | --h* | -h )
90301ea0f4Smrg       echo "$usage"; exit 0 ;;
91301ea0f4Smrg    -- )     # Stop option processing
92301ea0f4Smrg       shift; break ;;
93301ea0f4Smrg    - )	# Use stdin as input.
94301ea0f4Smrg       break ;;
95301ea0f4Smrg    -* )
96301ea0f4Smrg       echo "$me: invalid option $1$help"
97301ea0f4Smrg       exit 1 ;;
98301ea0f4Smrg
99301ea0f4Smrg    *local*)
100301ea0f4Smrg       # First pass through any local machine types.
101301ea0f4Smrg       echo $1
102301ea0f4Smrg       exit 0;;
103301ea0f4Smrg
104301ea0f4Smrg    * )
105301ea0f4Smrg       break ;;
106301ea0f4Smrg  esac
107301ea0f4Smrgdone
108301ea0f4Smrg
109301ea0f4Smrgcase $# in
110301ea0f4Smrg 0) echo "$me: missing argument$help" >&2
111301ea0f4Smrg    exit 1;;
112301ea0f4Smrg 1) ;;
113301ea0f4Smrg *) echo "$me: too many arguments$help" >&2
114301ea0f4Smrg    exit 1;;
115301ea0f4Smrgesac
116301ea0f4Smrg
117301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
118301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations.
119301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
120301ea0f4Smrgcase $maybe_os in
121301ea0f4Smrg  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
122301ea0f4Smrg    os=-$maybe_os
123301ea0f4Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
124301ea0f4Smrg    ;;
125301ea0f4Smrg  *)
126301ea0f4Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
127301ea0f4Smrg    if [ $basic_machine != $1 ]
128301ea0f4Smrg    then os=`echo $1 | sed 's/.*-/-/'`
129301ea0f4Smrg    else os=; fi
130301ea0f4Smrg    ;;
131301ea0f4Smrgesac
132301ea0f4Smrg
133301ea0f4Smrg### Let's recognize common machines as not being operating systems so
134301ea0f4Smrg### that things like config.sub decstation-3100 work.  We also
135301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we
136301ea0f4Smrg### can provide default operating systems below.
137301ea0f4Smrgcase $os in
138301ea0f4Smrg	-sun*os*)
139301ea0f4Smrg		# Prevent following clause from handling this invalid input.
140301ea0f4Smrg		;;
141301ea0f4Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
142301ea0f4Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
143301ea0f4Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
144301ea0f4Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
145301ea0f4Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
146301ea0f4Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
147301ea0f4Smrg	-apple | -axis)
148301ea0f4Smrg		os=
149301ea0f4Smrg		basic_machine=$1
150301ea0f4Smrg		;;
151301ea0f4Smrg	-sim | -cisco | -oki | -wec | -winbond)
152301ea0f4Smrg		os=
153301ea0f4Smrg		basic_machine=$1
154301ea0f4Smrg		;;
155301ea0f4Smrg	-scout)
156301ea0f4Smrg		;;
157301ea0f4Smrg	-wrs)
158301ea0f4Smrg		os=-vxworks
159301ea0f4Smrg		basic_machine=$1
160301ea0f4Smrg		;;
161301ea0f4Smrg	-chorusos*)
162301ea0f4Smrg		os=-chorusos
163301ea0f4Smrg		basic_machine=$1
164301ea0f4Smrg		;;
165301ea0f4Smrg 	-chorusrdb)
166301ea0f4Smrg 		os=-chorusrdb
167301ea0f4Smrg		basic_machine=$1
168301ea0f4Smrg 		;;
169301ea0f4Smrg	-hiux*)
170301ea0f4Smrg		os=-hiuxwe2
171301ea0f4Smrg		;;
172301ea0f4Smrg	-sco5)
173301ea0f4Smrg		os=-sco3.2v5
174301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
175301ea0f4Smrg		;;
176301ea0f4Smrg	-sco4)
177301ea0f4Smrg		os=-sco3.2v4
178301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179301ea0f4Smrg		;;
180301ea0f4Smrg	-sco3.2.[4-9]*)
181301ea0f4Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
182301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183301ea0f4Smrg		;;
184301ea0f4Smrg	-sco3.2v[4-9]*)
185301ea0f4Smrg		# Don't forget version if it is 3.2v4 or newer.
186301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187301ea0f4Smrg		;;
188301ea0f4Smrg	-sco*)
189301ea0f4Smrg		os=-sco3.2v2
190301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191301ea0f4Smrg		;;
192301ea0f4Smrg	-udk*)
193301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194301ea0f4Smrg		;;
195301ea0f4Smrg	-isc)
196301ea0f4Smrg		os=-isc2.2
197301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198301ea0f4Smrg		;;
199301ea0f4Smrg	-clix*)
200301ea0f4Smrg		basic_machine=clipper-intergraph
201301ea0f4Smrg		;;
202301ea0f4Smrg	-isc*)
203301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204301ea0f4Smrg		;;
205301ea0f4Smrg	-lynx*)
206301ea0f4Smrg		os=-lynxos
207301ea0f4Smrg		;;
208301ea0f4Smrg	-ptx*)
209301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
210301ea0f4Smrg		;;
211301ea0f4Smrg	-windowsnt*)
212301ea0f4Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
213301ea0f4Smrg		;;
214301ea0f4Smrg	-psos*)
215301ea0f4Smrg		os=-psos
216301ea0f4Smrg		;;
217301ea0f4Smrg	-mint | -mint[0-9]*)
218301ea0f4Smrg		basic_machine=m68k-atari
219301ea0f4Smrg		os=-mint
220301ea0f4Smrg		;;
221301ea0f4Smrgesac
222301ea0f4Smrg
223301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations.
224301ea0f4Smrgcase $basic_machine in
225301ea0f4Smrg	# Recognize the basic CPU types without company name.
226301ea0f4Smrg	# Some are omitted here because they have special meanings below.
227301ea0f4Smrg	1750a | 580 \
228301ea0f4Smrg	| a29k \
229301ea0f4Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
230301ea0f4Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
231301ea0f4Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
232301ea0f4Smrg	| c4x | clipper \
233301ea0f4Smrg	| d10v | d30v | dlx | dsp16xx \
234301ea0f4Smrg	| fr30 | frv \
235301ea0f4Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
236301ea0f4Smrg	| i370 | i860 | i960 | ia64 \
237301ea0f4Smrg	| ip2k \
238301ea0f4Smrg	| m32r | m68000 | m68k | m88k | mcore \
239301ea0f4Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
240301ea0f4Smrg	| mips16 \
241301ea0f4Smrg	| mips64 | mips64el \
242301ea0f4Smrg	| mips64vr | mips64vrel \
243301ea0f4Smrg	| mips64orion | mips64orionel \
244301ea0f4Smrg	| mips64vr4100 | mips64vr4100el \
245301ea0f4Smrg	| mips64vr4300 | mips64vr4300el \
246301ea0f4Smrg	| mips64vr5000 | mips64vr5000el \
247301ea0f4Smrg	| mipsisa32 | mipsisa32el \
248301ea0f4Smrg	| mipsisa32r2 | mipsisa32r2el \
249301ea0f4Smrg	| mipsisa64 | mipsisa64el \
250301ea0f4Smrg	| mipsisa64sb1 | mipsisa64sb1el \
251301ea0f4Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
252301ea0f4Smrg	| mipstx39 | mipstx39el \
253301ea0f4Smrg	| mn10200 | mn10300 \
254301ea0f4Smrg	| msp430 \
255301ea0f4Smrg	| ns16k | ns32k \
256301ea0f4Smrg	| openrisc | or32 \
257301ea0f4Smrg	| pdp10 | pdp11 | pj | pjl \
258301ea0f4Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
259301ea0f4Smrg	| pyramid \
260301ea0f4Smrg	| s390 | s390x \
261301ea0f4Smrg	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
262301ea0f4Smrg	| sh64 | sh64le \
263301ea0f4Smrg	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
264301ea0f4Smrg	| strongarm \
265301ea0f4Smrg	| tahoe | thumb | tic4x | tic80 | tron \
266301ea0f4Smrg	| v850 | v850e \
267301ea0f4Smrg	| we32k \
268301ea0f4Smrg	| x86 | xscale | xstormy16 | xtensa \
269301ea0f4Smrg	| z8k)
270301ea0f4Smrg		basic_machine=$basic_machine-unknown
271301ea0f4Smrg		;;
272301ea0f4Smrg	m6811 | m68hc11 | m6812 | m68hc12)
273301ea0f4Smrg		# Motorola 68HC11/12.
274301ea0f4Smrg		basic_machine=$basic_machine-unknown
275301ea0f4Smrg		os=-none
276301ea0f4Smrg		;;
277301ea0f4Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
278301ea0f4Smrg		;;
279301ea0f4Smrg
280301ea0f4Smrg	# We use `pc' rather than `unknown'
281301ea0f4Smrg	# because (1) that's what they normally are, and
282301ea0f4Smrg	# (2) the word "unknown" tends to confuse beginning users.
283301ea0f4Smrg	i*86 | x86_64)
284301ea0f4Smrg	  basic_machine=$basic_machine-pc
285301ea0f4Smrg	  ;;
286301ea0f4Smrg	# Object if more than one company name word.
287301ea0f4Smrg	*-*-*)
288301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
289301ea0f4Smrg		exit 1
290301ea0f4Smrg		;;
291301ea0f4Smrg	# Recognize the basic CPU types with company name.
292301ea0f4Smrg	580-* \
293301ea0f4Smrg	| a29k-* \
294301ea0f4Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
295301ea0f4Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
296301ea0f4Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
297301ea0f4Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
298301ea0f4Smrg	| avr-* \
299301ea0f4Smrg	| bs2000-* \
300301ea0f4Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
301301ea0f4Smrg	| clipper-* | cydra-* \
302301ea0f4Smrg	| d10v-* | d30v-* | dlx-* \
303301ea0f4Smrg	| elxsi-* \
304301ea0f4Smrg	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
305301ea0f4Smrg	| h8300-* | h8500-* \
306301ea0f4Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
307301ea0f4Smrg	| i*86-* | i860-* | i960-* | ia64-* \
308301ea0f4Smrg	| ip2k-* \
309301ea0f4Smrg	| m32r-* \
310301ea0f4Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
311301ea0f4Smrg	| m88110-* | m88k-* | mcore-* \
312301ea0f4Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
313301ea0f4Smrg	| mips16-* \
314301ea0f4Smrg	| mips64-* | mips64el-* \
315301ea0f4Smrg	| mips64vr-* | mips64vrel-* \
316301ea0f4Smrg	| mips64orion-* | mips64orionel-* \
317301ea0f4Smrg	| mips64vr4100-* | mips64vr4100el-* \
318301ea0f4Smrg	| mips64vr4300-* | mips64vr4300el-* \
319301ea0f4Smrg	| mips64vr5000-* | mips64vr5000el-* \
320301ea0f4Smrg	| mipsisa32-* | mipsisa32el-* \
321301ea0f4Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
322301ea0f4Smrg	| mipsisa64-* | mipsisa64el-* \
323301ea0f4Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
324301ea0f4Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
325301ea0f4Smrg	| mipstx39-* | mipstx39el-* \
326301ea0f4Smrg	| msp430-* \
327301ea0f4Smrg	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
328301ea0f4Smrg	| orion-* \
329301ea0f4Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
330301ea0f4Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
331301ea0f4Smrg	| pyramid-* \
332301ea0f4Smrg	| romp-* | rs6000-* \
333301ea0f4Smrg	| s390-* | s390x-* \
334301ea0f4Smrg	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
335301ea0f4Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
336301ea0f4Smrg	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
337301ea0f4Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
338301ea0f4Smrg	| tahoe-* | thumb-* \
339301ea0f4Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
340301ea0f4Smrg	| tron-* \
341301ea0f4Smrg	| v850-* | v850e-* | vax-* \
342301ea0f4Smrg	| we32k-* \
343301ea0f4Smrg	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
344301ea0f4Smrg	| xtensa-* \
345301ea0f4Smrg	| ymp-* \
346301ea0f4Smrg	| z8k-*)
347301ea0f4Smrg		;;
348301ea0f4Smrg	# Recognize the various machine names and aliases which stand
349301ea0f4Smrg	# for a CPU type and a company and sometimes even an OS.
350301ea0f4Smrg	386bsd)
351301ea0f4Smrg		basic_machine=i386-unknown
352301ea0f4Smrg		os=-bsd
353301ea0f4Smrg		;;
354301ea0f4Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
355301ea0f4Smrg		basic_machine=m68000-att
356301ea0f4Smrg		;;
357301ea0f4Smrg	3b*)
358301ea0f4Smrg		basic_machine=we32k-att
359301ea0f4Smrg		;;
360301ea0f4Smrg	a29khif)
361301ea0f4Smrg		basic_machine=a29k-amd
362301ea0f4Smrg		os=-udi
363301ea0f4Smrg		;;
364301ea0f4Smrg	adobe68k)
365301ea0f4Smrg		basic_machine=m68010-adobe
366301ea0f4Smrg		os=-scout
367301ea0f4Smrg		;;
368301ea0f4Smrg	alliant | fx80)
369301ea0f4Smrg		basic_machine=fx80-alliant
370301ea0f4Smrg		;;
371301ea0f4Smrg	altos | altos3068)
372301ea0f4Smrg		basic_machine=m68k-altos
373301ea0f4Smrg		;;
374301ea0f4Smrg	am29k)
375301ea0f4Smrg		basic_machine=a29k-none
376301ea0f4Smrg		os=-bsd
377301ea0f4Smrg		;;
378301ea0f4Smrg	amd64)
379301ea0f4Smrg		basic_machine=x86_64-pc
380301ea0f4Smrg		;;
381301ea0f4Smrg	amdahl)
382301ea0f4Smrg		basic_machine=580-amdahl
383301ea0f4Smrg		os=-sysv
384301ea0f4Smrg		;;
385301ea0f4Smrg	amiga | amiga-*)
386301ea0f4Smrg		basic_machine=m68k-unknown
387301ea0f4Smrg		;;
388301ea0f4Smrg	amigaos | amigados)
389301ea0f4Smrg		basic_machine=m68k-unknown
390301ea0f4Smrg		os=-amigaos
391301ea0f4Smrg		;;
392301ea0f4Smrg	amigaunix | amix)
393301ea0f4Smrg		basic_machine=m68k-unknown
394301ea0f4Smrg		os=-sysv4
395301ea0f4Smrg		;;
396301ea0f4Smrg	apollo68)
397301ea0f4Smrg		basic_machine=m68k-apollo
398301ea0f4Smrg		os=-sysv
399301ea0f4Smrg		;;
400301ea0f4Smrg	apollo68bsd)
401301ea0f4Smrg		basic_machine=m68k-apollo
402301ea0f4Smrg		os=-bsd
403301ea0f4Smrg		;;
404301ea0f4Smrg	aux)
405301ea0f4Smrg		basic_machine=m68k-apple
406301ea0f4Smrg		os=-aux
407301ea0f4Smrg		;;
408301ea0f4Smrg	balance)
409301ea0f4Smrg		basic_machine=ns32k-sequent
410301ea0f4Smrg		os=-dynix
411301ea0f4Smrg		;;
412301ea0f4Smrg	c90)
413301ea0f4Smrg		basic_machine=c90-cray
414301ea0f4Smrg		os=-unicos
415301ea0f4Smrg		;;
416301ea0f4Smrg	convex-c1)
417301ea0f4Smrg		basic_machine=c1-convex
418301ea0f4Smrg		os=-bsd
419301ea0f4Smrg		;;
420301ea0f4Smrg	convex-c2)
421301ea0f4Smrg		basic_machine=c2-convex
422301ea0f4Smrg		os=-bsd
423301ea0f4Smrg		;;
424301ea0f4Smrg	convex-c32)
425301ea0f4Smrg		basic_machine=c32-convex
426301ea0f4Smrg		os=-bsd
427301ea0f4Smrg		;;
428301ea0f4Smrg	convex-c34)
429301ea0f4Smrg		basic_machine=c34-convex
430301ea0f4Smrg		os=-bsd
431301ea0f4Smrg		;;
432301ea0f4Smrg	convex-c38)
433301ea0f4Smrg		basic_machine=c38-convex
434301ea0f4Smrg		os=-bsd
435301ea0f4Smrg		;;
436301ea0f4Smrg	cray | j90)
437301ea0f4Smrg		basic_machine=j90-cray
438301ea0f4Smrg		os=-unicos
439301ea0f4Smrg		;;
440301ea0f4Smrg	crds | unos)
441301ea0f4Smrg		basic_machine=m68k-crds
442301ea0f4Smrg		;;
443301ea0f4Smrg	cris | cris-* | etrax*)
444301ea0f4Smrg		basic_machine=cris-axis
445301ea0f4Smrg		;;
446301ea0f4Smrg	da30 | da30-*)
447301ea0f4Smrg		basic_machine=m68k-da30
448301ea0f4Smrg		;;
449301ea0f4Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
450301ea0f4Smrg		basic_machine=mips-dec
451301ea0f4Smrg		;;
452301ea0f4Smrg	decsystem10* | dec10*)
453301ea0f4Smrg		basic_machine=pdp10-dec
454301ea0f4Smrg		os=-tops10
455301ea0f4Smrg		;;
456301ea0f4Smrg	decsystem20* | dec20*)
457301ea0f4Smrg		basic_machine=pdp10-dec
458301ea0f4Smrg		os=-tops20
459301ea0f4Smrg		;;
460301ea0f4Smrg	delta | 3300 | motorola-3300 | motorola-delta \
461301ea0f4Smrg	      | 3300-motorola | delta-motorola)
462301ea0f4Smrg		basic_machine=m68k-motorola
463301ea0f4Smrg		;;
464301ea0f4Smrg	delta88)
465301ea0f4Smrg		basic_machine=m88k-motorola
466301ea0f4Smrg		os=-sysv3
467301ea0f4Smrg		;;
468301ea0f4Smrg	dpx20 | dpx20-*)
469301ea0f4Smrg		basic_machine=rs6000-bull
470301ea0f4Smrg		os=-bosx
471301ea0f4Smrg		;;
472301ea0f4Smrg	dpx2* | dpx2*-bull)
473301ea0f4Smrg		basic_machine=m68k-bull
474301ea0f4Smrg		os=-sysv3
475301ea0f4Smrg		;;
476301ea0f4Smrg	ebmon29k)
477301ea0f4Smrg		basic_machine=a29k-amd
478301ea0f4Smrg		os=-ebmon
479301ea0f4Smrg		;;
480301ea0f4Smrg	elxsi)
481301ea0f4Smrg		basic_machine=elxsi-elxsi
482301ea0f4Smrg		os=-bsd
483301ea0f4Smrg		;;
484301ea0f4Smrg	encore | umax | mmax)
485301ea0f4Smrg		basic_machine=ns32k-encore
486301ea0f4Smrg		;;
487301ea0f4Smrg	es1800 | OSE68k | ose68k | ose | OSE)
488301ea0f4Smrg		basic_machine=m68k-ericsson
489301ea0f4Smrg		os=-ose
490301ea0f4Smrg		;;
491301ea0f4Smrg	fx2800)
492301ea0f4Smrg		basic_machine=i860-alliant
493301ea0f4Smrg		;;
494301ea0f4Smrg	genix)
495301ea0f4Smrg		basic_machine=ns32k-ns
496301ea0f4Smrg		;;
497301ea0f4Smrg	gmicro)
498301ea0f4Smrg		basic_machine=tron-gmicro
499301ea0f4Smrg		os=-sysv
500301ea0f4Smrg		;;
501301ea0f4Smrg	go32)
502301ea0f4Smrg		basic_machine=i386-pc
503301ea0f4Smrg		os=-go32
504301ea0f4Smrg		;;
505301ea0f4Smrg	h3050r* | hiux*)
506301ea0f4Smrg		basic_machine=hppa1.1-hitachi
507301ea0f4Smrg		os=-hiuxwe2
508301ea0f4Smrg		;;
509301ea0f4Smrg	h8300hms)
510301ea0f4Smrg		basic_machine=h8300-hitachi
511301ea0f4Smrg		os=-hms
512301ea0f4Smrg		;;
513301ea0f4Smrg	h8300xray)
514301ea0f4Smrg		basic_machine=h8300-hitachi
515301ea0f4Smrg		os=-xray
516301ea0f4Smrg		;;
517301ea0f4Smrg	h8500hms)
518301ea0f4Smrg		basic_machine=h8500-hitachi
519301ea0f4Smrg		os=-hms
520301ea0f4Smrg		;;
521301ea0f4Smrg	harris)
522301ea0f4Smrg		basic_machine=m88k-harris
523301ea0f4Smrg		os=-sysv3
524301ea0f4Smrg		;;
525301ea0f4Smrg	hp300-*)
526301ea0f4Smrg		basic_machine=m68k-hp
527301ea0f4Smrg		;;
528301ea0f4Smrg	hp300bsd)
529301ea0f4Smrg		basic_machine=m68k-hp
530301ea0f4Smrg		os=-bsd
531301ea0f4Smrg		;;
532301ea0f4Smrg	hp300hpux)
533301ea0f4Smrg		basic_machine=m68k-hp
534301ea0f4Smrg		os=-hpux
535301ea0f4Smrg		;;
536301ea0f4Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
537301ea0f4Smrg		basic_machine=hppa1.0-hp
538301ea0f4Smrg		;;
539301ea0f4Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
540301ea0f4Smrg		basic_machine=m68000-hp
541301ea0f4Smrg		;;
542301ea0f4Smrg	hp9k3[2-9][0-9])
543301ea0f4Smrg		basic_machine=m68k-hp
544301ea0f4Smrg		;;
545301ea0f4Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
546301ea0f4Smrg		basic_machine=hppa1.0-hp
547301ea0f4Smrg		;;
548301ea0f4Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
549301ea0f4Smrg		basic_machine=hppa1.1-hp
550301ea0f4Smrg		;;
551301ea0f4Smrg	hp9k78[0-9] | hp78[0-9])
552301ea0f4Smrg		# FIXME: really hppa2.0-hp
553301ea0f4Smrg		basic_machine=hppa1.1-hp
554301ea0f4Smrg		;;
555301ea0f4Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
556301ea0f4Smrg		# FIXME: really hppa2.0-hp
557301ea0f4Smrg		basic_machine=hppa1.1-hp
558301ea0f4Smrg		;;
559301ea0f4Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
560301ea0f4Smrg		basic_machine=hppa1.1-hp
561301ea0f4Smrg		;;
562301ea0f4Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
563301ea0f4Smrg		basic_machine=hppa1.0-hp
564301ea0f4Smrg		;;
565301ea0f4Smrg	hppa-next)
566301ea0f4Smrg		os=-nextstep3
567301ea0f4Smrg		;;
568301ea0f4Smrg	hppaosf)
569301ea0f4Smrg		basic_machine=hppa1.1-hp
570301ea0f4Smrg		os=-osf
571301ea0f4Smrg		;;
572301ea0f4Smrg	hppro)
573301ea0f4Smrg		basic_machine=hppa1.1-hp
574301ea0f4Smrg		os=-proelf
575301ea0f4Smrg		;;
576301ea0f4Smrg	i370-ibm* | ibm*)
577301ea0f4Smrg		basic_machine=i370-ibm
578301ea0f4Smrg		;;
579301ea0f4Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
580301ea0f4Smrg	i*86v32)
581301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
582301ea0f4Smrg		os=-sysv32
583301ea0f4Smrg		;;
584301ea0f4Smrg	i*86v4*)
585301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
586301ea0f4Smrg		os=-sysv4
587301ea0f4Smrg		;;
588301ea0f4Smrg	i*86v)
589301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
590301ea0f4Smrg		os=-sysv
591301ea0f4Smrg		;;
592301ea0f4Smrg	i*86sol2)
593301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
594301ea0f4Smrg		os=-solaris2
595301ea0f4Smrg		;;
596301ea0f4Smrg	i386mach)
597301ea0f4Smrg		basic_machine=i386-mach
598301ea0f4Smrg		os=-mach
599301ea0f4Smrg		;;
600301ea0f4Smrg	i386-vsta | vsta)
601301ea0f4Smrg		basic_machine=i386-unknown
602301ea0f4Smrg		os=-vsta
603301ea0f4Smrg		;;
604301ea0f4Smrg	iris | iris4d)
605301ea0f4Smrg		basic_machine=mips-sgi
606301ea0f4Smrg		case $os in
607301ea0f4Smrg		    -irix*)
608301ea0f4Smrg			;;
609301ea0f4Smrg		    *)
610301ea0f4Smrg			os=-irix4
611301ea0f4Smrg			;;
612301ea0f4Smrg		esac
613301ea0f4Smrg		;;
614301ea0f4Smrg	isi68 | isi)
615301ea0f4Smrg		basic_machine=m68k-isi
616301ea0f4Smrg		os=-sysv
617301ea0f4Smrg		;;
618301ea0f4Smrg	m88k-omron*)
619301ea0f4Smrg		basic_machine=m88k-omron
620301ea0f4Smrg		;;
621301ea0f4Smrg	magnum | m3230)
622301ea0f4Smrg		basic_machine=mips-mips
623301ea0f4Smrg		os=-sysv
624301ea0f4Smrg		;;
625301ea0f4Smrg	merlin)
626301ea0f4Smrg		basic_machine=ns32k-utek
627301ea0f4Smrg		os=-sysv
628301ea0f4Smrg		;;
629301ea0f4Smrg	mingw32)
630301ea0f4Smrg		basic_machine=i386-pc
631301ea0f4Smrg		os=-mingw32
632301ea0f4Smrg		;;
633301ea0f4Smrg	miniframe)
634301ea0f4Smrg		basic_machine=m68000-convergent
635301ea0f4Smrg		;;
636301ea0f4Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
637301ea0f4Smrg		basic_machine=m68k-atari
638301ea0f4Smrg		os=-mint
639301ea0f4Smrg		;;
640301ea0f4Smrg	mips3*-*)
641301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
642301ea0f4Smrg		;;
643301ea0f4Smrg	mips3*)
644301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
645301ea0f4Smrg		;;
646301ea0f4Smrg	mmix*)
647301ea0f4Smrg		basic_machine=mmix-knuth
648301ea0f4Smrg		os=-mmixware
649301ea0f4Smrg		;;
650301ea0f4Smrg	monitor)
651301ea0f4Smrg		basic_machine=m68k-rom68k
652301ea0f4Smrg		os=-coff
653301ea0f4Smrg		;;
654301ea0f4Smrg	morphos)
655301ea0f4Smrg		basic_machine=powerpc-unknown
656301ea0f4Smrg		os=-morphos
657301ea0f4Smrg		;;
658301ea0f4Smrg	msdos)
659301ea0f4Smrg		basic_machine=i386-pc
660301ea0f4Smrg		os=-msdos
661301ea0f4Smrg		;;
662301ea0f4Smrg	mvs)
663301ea0f4Smrg		basic_machine=i370-ibm
664301ea0f4Smrg		os=-mvs
665301ea0f4Smrg		;;
666301ea0f4Smrg	ncr3000)
667301ea0f4Smrg		basic_machine=i486-ncr
668301ea0f4Smrg		os=-sysv4
669301ea0f4Smrg		;;
670301ea0f4Smrg	netbsd386)
671301ea0f4Smrg		basic_machine=i386-unknown
672301ea0f4Smrg		os=-netbsd
673301ea0f4Smrg		;;
674301ea0f4Smrg	netwinder)
675301ea0f4Smrg		basic_machine=armv4l-rebel
676301ea0f4Smrg		os=-linux
677301ea0f4Smrg		;;
678301ea0f4Smrg	news | news700 | news800 | news900)
679301ea0f4Smrg		basic_machine=m68k-sony
680301ea0f4Smrg		os=-newsos
681301ea0f4Smrg		;;
682301ea0f4Smrg	news1000)
683301ea0f4Smrg		basic_machine=m68030-sony
684301ea0f4Smrg		os=-newsos
685301ea0f4Smrg		;;
686301ea0f4Smrg	news-3600 | risc-news)
687301ea0f4Smrg		basic_machine=mips-sony
688301ea0f4Smrg		os=-newsos
689301ea0f4Smrg		;;
690301ea0f4Smrg	necv70)
691301ea0f4Smrg		basic_machine=v70-nec
692301ea0f4Smrg		os=-sysv
693301ea0f4Smrg		;;
694301ea0f4Smrg	next | m*-next )
695301ea0f4Smrg		basic_machine=m68k-next
696301ea0f4Smrg		case $os in
697301ea0f4Smrg		    -nextstep* )
698301ea0f4Smrg			;;
699301ea0f4Smrg		    -ns2*)
700301ea0f4Smrg		      os=-nextstep2
701301ea0f4Smrg			;;
702301ea0f4Smrg		    *)
703301ea0f4Smrg		      os=-nextstep3
704301ea0f4Smrg			;;
705301ea0f4Smrg		esac
706301ea0f4Smrg		;;
707301ea0f4Smrg	nh3000)
708301ea0f4Smrg		basic_machine=m68k-harris
709301ea0f4Smrg		os=-cxux
710301ea0f4Smrg		;;
711301ea0f4Smrg	nh[45]000)
712301ea0f4Smrg		basic_machine=m88k-harris
713301ea0f4Smrg		os=-cxux
714301ea0f4Smrg		;;
715301ea0f4Smrg	nindy960)
716301ea0f4Smrg		basic_machine=i960-intel
717301ea0f4Smrg		os=-nindy
718301ea0f4Smrg		;;
719301ea0f4Smrg	mon960)
720301ea0f4Smrg		basic_machine=i960-intel
721301ea0f4Smrg		os=-mon960
722301ea0f4Smrg		;;
723301ea0f4Smrg	nonstopux)
724301ea0f4Smrg		basic_machine=mips-compaq
725301ea0f4Smrg		os=-nonstopux
726301ea0f4Smrg		;;
727301ea0f4Smrg	np1)
728301ea0f4Smrg		basic_machine=np1-gould
729301ea0f4Smrg		;;
730301ea0f4Smrg	nv1)
731301ea0f4Smrg		basic_machine=nv1-cray
732301ea0f4Smrg		os=-unicosmp
733301ea0f4Smrg		;;
734301ea0f4Smrg	nsr-tandem)
735301ea0f4Smrg		basic_machine=nsr-tandem
736301ea0f4Smrg		;;
737301ea0f4Smrg	op50n-* | op60c-*)
738301ea0f4Smrg		basic_machine=hppa1.1-oki
739301ea0f4Smrg		os=-proelf
740301ea0f4Smrg		;;
741301ea0f4Smrg	or32 | or32-*)
742301ea0f4Smrg		basic_machine=or32-unknown
743301ea0f4Smrg		os=-coff
744301ea0f4Smrg		;;
745301ea0f4Smrg	OSE68000 | ose68000)
746301ea0f4Smrg		basic_machine=m68000-ericsson
747301ea0f4Smrg		os=-ose
748301ea0f4Smrg		;;
749301ea0f4Smrg	os68k)
750301ea0f4Smrg		basic_machine=m68k-none
751301ea0f4Smrg		os=-os68k
752301ea0f4Smrg		;;
753301ea0f4Smrg	pa-hitachi)
754301ea0f4Smrg		basic_machine=hppa1.1-hitachi
755301ea0f4Smrg		os=-hiuxwe2
756301ea0f4Smrg		;;
757301ea0f4Smrg	paragon)
758301ea0f4Smrg		basic_machine=i860-intel
759301ea0f4Smrg		os=-osf
760301ea0f4Smrg		;;
761301ea0f4Smrg	pbd)
762301ea0f4Smrg		basic_machine=sparc-tti
763301ea0f4Smrg		;;
764301ea0f4Smrg	pbb)
765301ea0f4Smrg		basic_machine=m68k-tti
766301ea0f4Smrg		;;
767301ea0f4Smrg	pc532 | pc532-*)
768301ea0f4Smrg		basic_machine=ns32k-pc532
769301ea0f4Smrg		;;
770301ea0f4Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
771301ea0f4Smrg		basic_machine=i586-pc
772301ea0f4Smrg		;;
773301ea0f4Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
774301ea0f4Smrg		basic_machine=i686-pc
775301ea0f4Smrg		;;
776301ea0f4Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
777301ea0f4Smrg		basic_machine=i686-pc
778301ea0f4Smrg		;;
779301ea0f4Smrg	pentium4)
780301ea0f4Smrg		basic_machine=i786-pc
781301ea0f4Smrg		;;
782301ea0f4Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
783301ea0f4Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
784301ea0f4Smrg		;;
785301ea0f4Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
786301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
787301ea0f4Smrg		;;
788301ea0f4Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
789301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
790301ea0f4Smrg		;;
791301ea0f4Smrg	pentium4-*)
792301ea0f4Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
793301ea0f4Smrg		;;
794301ea0f4Smrg	pn)
795301ea0f4Smrg		basic_machine=pn-gould
796301ea0f4Smrg		;;
797301ea0f4Smrg	power)	basic_machine=power-ibm
798301ea0f4Smrg		;;
799301ea0f4Smrg	ppc)	basic_machine=powerpc-unknown
800301ea0f4Smrg		;;
801301ea0f4Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
802301ea0f4Smrg		;;
803301ea0f4Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
804301ea0f4Smrg		basic_machine=powerpcle-unknown
805301ea0f4Smrg		;;
806301ea0f4Smrg	ppcle-* | powerpclittle-*)
807301ea0f4Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
808301ea0f4Smrg		;;
809301ea0f4Smrg	ppc64)	basic_machine=powerpc64-unknown
810301ea0f4Smrg		;;
811301ea0f4Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
812301ea0f4Smrg		;;
813301ea0f4Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
814301ea0f4Smrg		basic_machine=powerpc64le-unknown
815301ea0f4Smrg		;;
816301ea0f4Smrg	ppc64le-* | powerpc64little-*)
817301ea0f4Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
818301ea0f4Smrg		;;
819301ea0f4Smrg	ps2)
820301ea0f4Smrg		basic_machine=i386-ibm
821301ea0f4Smrg		;;
822301ea0f4Smrg	pw32)
823301ea0f4Smrg		basic_machine=i586-unknown
824301ea0f4Smrg		os=-pw32
825301ea0f4Smrg		;;
826301ea0f4Smrg	rom68k)
827301ea0f4Smrg		basic_machine=m68k-rom68k
828301ea0f4Smrg		os=-coff
829301ea0f4Smrg		;;
830301ea0f4Smrg	rm[46]00)
831301ea0f4Smrg		basic_machine=mips-siemens
832301ea0f4Smrg		;;
833301ea0f4Smrg	rtpc | rtpc-*)
834301ea0f4Smrg		basic_machine=romp-ibm
835301ea0f4Smrg		;;
836301ea0f4Smrg	sa29200)
837301ea0f4Smrg		basic_machine=a29k-amd
838301ea0f4Smrg		os=-udi
839301ea0f4Smrg		;;
840301ea0f4Smrg	sb1)
841301ea0f4Smrg		basic_machine=mipsisa64sb1-unknown
842301ea0f4Smrg		;;
843301ea0f4Smrg	sb1el)
844301ea0f4Smrg		basic_machine=mipsisa64sb1el-unknown
845301ea0f4Smrg		;;
846301ea0f4Smrg	sei)
847301ea0f4Smrg		basic_machine=mips-sei
848301ea0f4Smrg		os=-seiux
849301ea0f4Smrg		;;
850301ea0f4Smrg	sequent)
851301ea0f4Smrg		basic_machine=i386-sequent
852301ea0f4Smrg		;;
853301ea0f4Smrg	sh)
854301ea0f4Smrg		basic_machine=sh-hitachi
855301ea0f4Smrg		os=-hms
856301ea0f4Smrg		;;
857301ea0f4Smrg	sh64)
858301ea0f4Smrg		basic_machine=sh64-unknown
859301ea0f4Smrg		;;
860301ea0f4Smrg	sparclite-wrs | simso-wrs)
861301ea0f4Smrg		basic_machine=sparclite-wrs
862301ea0f4Smrg		os=-vxworks
863301ea0f4Smrg		;;
864301ea0f4Smrg	sps7)
865301ea0f4Smrg		basic_machine=m68k-bull
866301ea0f4Smrg		os=-sysv2
867301ea0f4Smrg		;;
868301ea0f4Smrg	spur)
869301ea0f4Smrg		basic_machine=spur-unknown
870301ea0f4Smrg		;;
871301ea0f4Smrg	st2000)
872301ea0f4Smrg		basic_machine=m68k-tandem
873301ea0f4Smrg		;;
874301ea0f4Smrg	stratus)
875301ea0f4Smrg		basic_machine=i860-stratus
876301ea0f4Smrg		os=-sysv4
877301ea0f4Smrg		;;
878301ea0f4Smrg	sun2)
879301ea0f4Smrg		basic_machine=m68000-sun
880301ea0f4Smrg		;;
881301ea0f4Smrg	sun2os3)
882301ea0f4Smrg		basic_machine=m68000-sun
883301ea0f4Smrg		os=-sunos3
884301ea0f4Smrg		;;
885301ea0f4Smrg	sun2os4)
886301ea0f4Smrg		basic_machine=m68000-sun
887301ea0f4Smrg		os=-sunos4
888301ea0f4Smrg		;;
889301ea0f4Smrg	sun3os3)
890301ea0f4Smrg		basic_machine=m68k-sun
891301ea0f4Smrg		os=-sunos3
892301ea0f4Smrg		;;
893301ea0f4Smrg	sun3os4)
894301ea0f4Smrg		basic_machine=m68k-sun
895301ea0f4Smrg		os=-sunos4
896301ea0f4Smrg		;;
897301ea0f4Smrg	sun4os3)
898301ea0f4Smrg		basic_machine=sparc-sun
899301ea0f4Smrg		os=-sunos3
900301ea0f4Smrg		;;
901301ea0f4Smrg	sun4os4)
902301ea0f4Smrg		basic_machine=sparc-sun
903301ea0f4Smrg		os=-sunos4
904301ea0f4Smrg		;;
905301ea0f4Smrg	sun4sol2)
906301ea0f4Smrg		basic_machine=sparc-sun
907301ea0f4Smrg		os=-solaris2
908301ea0f4Smrg		;;
909301ea0f4Smrg	sun3 | sun3-*)
910301ea0f4Smrg		basic_machine=m68k-sun
911301ea0f4Smrg		;;
912301ea0f4Smrg	sun4)
913301ea0f4Smrg		basic_machine=sparc-sun
914301ea0f4Smrg		;;
915301ea0f4Smrg	sun386 | sun386i | roadrunner)
916301ea0f4Smrg		basic_machine=i386-sun
917301ea0f4Smrg		;;
918301ea0f4Smrg	sv1)
919301ea0f4Smrg		basic_machine=sv1-cray
920301ea0f4Smrg		os=-unicos
921301ea0f4Smrg		;;
922301ea0f4Smrg	symmetry)
923301ea0f4Smrg		basic_machine=i386-sequent
924301ea0f4Smrg		os=-dynix
925301ea0f4Smrg		;;
926301ea0f4Smrg	t3e)
927301ea0f4Smrg		basic_machine=alphaev5-cray
928301ea0f4Smrg		os=-unicos
929301ea0f4Smrg		;;
930301ea0f4Smrg	t90)
931301ea0f4Smrg		basic_machine=t90-cray
932301ea0f4Smrg		os=-unicos
933301ea0f4Smrg		;;
934301ea0f4Smrg	tic54x | c54x*)
935301ea0f4Smrg		basic_machine=tic54x-unknown
936301ea0f4Smrg		os=-coff
937301ea0f4Smrg		;;
938301ea0f4Smrg	tic55x | c55x*)
939301ea0f4Smrg		basic_machine=tic55x-unknown
940301ea0f4Smrg		os=-coff
941301ea0f4Smrg		;;
942301ea0f4Smrg	tic6x | c6x*)
943301ea0f4Smrg		basic_machine=tic6x-unknown
944301ea0f4Smrg		os=-coff
945301ea0f4Smrg		;;
946301ea0f4Smrg	tx39)
947301ea0f4Smrg		basic_machine=mipstx39-unknown
948301ea0f4Smrg		;;
949301ea0f4Smrg	tx39el)
950301ea0f4Smrg		basic_machine=mipstx39el-unknown
951301ea0f4Smrg		;;
952301ea0f4Smrg	toad1)
953301ea0f4Smrg		basic_machine=pdp10-xkl
954301ea0f4Smrg		os=-tops20
955301ea0f4Smrg		;;
956301ea0f4Smrg	tower | tower-32)
957301ea0f4Smrg		basic_machine=m68k-ncr
958301ea0f4Smrg		;;
959301ea0f4Smrg	udi29k)
960301ea0f4Smrg		basic_machine=a29k-amd
961301ea0f4Smrg		os=-udi
962301ea0f4Smrg		;;
963301ea0f4Smrg	ultra3)
964301ea0f4Smrg		basic_machine=a29k-nyu
965301ea0f4Smrg		os=-sym1
966301ea0f4Smrg		;;
967301ea0f4Smrg	v810 | necv810)
968301ea0f4Smrg		basic_machine=v810-nec
969301ea0f4Smrg		os=-none
970301ea0f4Smrg		;;
971301ea0f4Smrg	vaxv)
972301ea0f4Smrg		basic_machine=vax-dec
973301ea0f4Smrg		os=-sysv
974301ea0f4Smrg		;;
975301ea0f4Smrg	vms)
976301ea0f4Smrg		basic_machine=vax-dec
977301ea0f4Smrg		os=-vms
978301ea0f4Smrg		;;
979301ea0f4Smrg	vpp*|vx|vx-*)
980301ea0f4Smrg		basic_machine=f301-fujitsu
981301ea0f4Smrg		;;
982301ea0f4Smrg	vxworks960)
983301ea0f4Smrg		basic_machine=i960-wrs
984301ea0f4Smrg		os=-vxworks
985301ea0f4Smrg		;;
986301ea0f4Smrg	vxworks68)
987301ea0f4Smrg		basic_machine=m68k-wrs
988301ea0f4Smrg		os=-vxworks
989301ea0f4Smrg		;;
990301ea0f4Smrg	vxworks29k)
991301ea0f4Smrg		basic_machine=a29k-wrs
992301ea0f4Smrg		os=-vxworks
993301ea0f4Smrg		;;
994301ea0f4Smrg	w65*)
995301ea0f4Smrg		basic_machine=w65-wdc
996301ea0f4Smrg		os=-none
997301ea0f4Smrg		;;
998301ea0f4Smrg	w89k-*)
999301ea0f4Smrg		basic_machine=hppa1.1-winbond
1000301ea0f4Smrg		os=-proelf
1001301ea0f4Smrg		;;
1002301ea0f4Smrg	xps | xps100)
1003301ea0f4Smrg		basic_machine=xps100-honeywell
1004301ea0f4Smrg		;;
1005301ea0f4Smrg	ymp)
1006301ea0f4Smrg		basic_machine=ymp-cray
1007301ea0f4Smrg		os=-unicos
1008301ea0f4Smrg		;;
1009301ea0f4Smrg	z8k-*-coff)
1010301ea0f4Smrg		basic_machine=z8k-unknown
1011301ea0f4Smrg		os=-sim
1012301ea0f4Smrg		;;
1013301ea0f4Smrg	none)
1014301ea0f4Smrg		basic_machine=none-none
1015301ea0f4Smrg		os=-none
1016301ea0f4Smrg		;;
1017301ea0f4Smrg
1018301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1019301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular.
1020301ea0f4Smrg	w89k)
1021301ea0f4Smrg		basic_machine=hppa1.1-winbond
1022301ea0f4Smrg		;;
1023301ea0f4Smrg	op50n)
1024301ea0f4Smrg		basic_machine=hppa1.1-oki
1025301ea0f4Smrg		;;
1026301ea0f4Smrg	op60c)
1027301ea0f4Smrg		basic_machine=hppa1.1-oki
1028301ea0f4Smrg		;;
1029301ea0f4Smrg	romp)
1030301ea0f4Smrg		basic_machine=romp-ibm
1031301ea0f4Smrg		;;
1032301ea0f4Smrg	rs6000)
1033301ea0f4Smrg		basic_machine=rs6000-ibm
1034301ea0f4Smrg		;;
1035301ea0f4Smrg	vax)
1036301ea0f4Smrg		basic_machine=vax-dec
1037301ea0f4Smrg		;;
1038301ea0f4Smrg	pdp10)
1039301ea0f4Smrg		# there are many clones, so DEC is not a safe bet
1040301ea0f4Smrg		basic_machine=pdp10-unknown
1041301ea0f4Smrg		;;
1042301ea0f4Smrg	pdp11)
1043301ea0f4Smrg		basic_machine=pdp11-dec
1044301ea0f4Smrg		;;
1045301ea0f4Smrg	we32k)
1046301ea0f4Smrg		basic_machine=we32k-att
1047301ea0f4Smrg		;;
1048301ea0f4Smrg	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
1049301ea0f4Smrg		basic_machine=sh-unknown
1050301ea0f4Smrg		;;
1051301ea0f4Smrg	sh64)
1052301ea0f4Smrg		basic_machine=sh64-unknown
1053301ea0f4Smrg		;;
1054301ea0f4Smrg	sparc | sparcv8 | sparcv9 | sparcv9b)
1055301ea0f4Smrg		basic_machine=sparc-sun
1056301ea0f4Smrg		;;
1057301ea0f4Smrg	cydra)
1058301ea0f4Smrg		basic_machine=cydra-cydrome
1059301ea0f4Smrg		;;
1060301ea0f4Smrg	orion)
1061301ea0f4Smrg		basic_machine=orion-highlevel
1062301ea0f4Smrg		;;
1063301ea0f4Smrg	orion105)
1064301ea0f4Smrg		basic_machine=clipper-highlevel
1065301ea0f4Smrg		;;
1066301ea0f4Smrg	mac | mpw | mac-mpw)
1067301ea0f4Smrg		basic_machine=m68k-apple
1068301ea0f4Smrg		;;
1069301ea0f4Smrg	pmac | pmac-mpw)
1070301ea0f4Smrg		basic_machine=powerpc-apple
1071301ea0f4Smrg		;;
1072301ea0f4Smrg	*-unknown)
1073301ea0f4Smrg		# Make sure to match an already-canonicalized machine name.
1074301ea0f4Smrg		;;
1075301ea0f4Smrg	*)
1076301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1077301ea0f4Smrg		exit 1
1078301ea0f4Smrg		;;
1079301ea0f4Smrgesac
1080301ea0f4Smrg
1081301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers.
1082301ea0f4Smrgcase $basic_machine in
1083301ea0f4Smrg	*-digital*)
1084301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1085301ea0f4Smrg		;;
1086301ea0f4Smrg	*-commodore*)
1087301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1088301ea0f4Smrg		;;
1089301ea0f4Smrg	*)
1090301ea0f4Smrg		;;
1091301ea0f4Smrgesac
1092301ea0f4Smrg
1093301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems.
1094301ea0f4Smrg
1095301ea0f4Smrgif [ x"$os" != x"" ]
1096301ea0f4Smrgthen
1097301ea0f4Smrgcase $os in
1098301ea0f4Smrg        # First match some system type aliases
1099301ea0f4Smrg        # that might get confused with valid system types.
1100301ea0f4Smrg	# -solaris* is a basic system type, with this one exception.
1101301ea0f4Smrg	-solaris1 | -solaris1.*)
1102301ea0f4Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1103301ea0f4Smrg		;;
1104301ea0f4Smrg	-solaris)
1105301ea0f4Smrg		os=-solaris2
1106301ea0f4Smrg		;;
1107301ea0f4Smrg	-svr4*)
1108301ea0f4Smrg		os=-sysv4
1109301ea0f4Smrg		;;
1110301ea0f4Smrg	-unixware*)
1111301ea0f4Smrg		os=-sysv4.2uw
1112301ea0f4Smrg		;;
1113301ea0f4Smrg	-gnu/linux*)
1114301ea0f4Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1115301ea0f4Smrg		;;
1116301ea0f4Smrg	# First accept the basic system types.
1117301ea0f4Smrg	# The portable systems comes first.
1118301ea0f4Smrg	# Each alternative MUST END IN A *, to match a version number.
1119301ea0f4Smrg	# -sysv* is not here because it comes later, after sysvr4.
1120301ea0f4Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1121301ea0f4Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1122301ea0f4Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1123301ea0f4Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1124301ea0f4Smrg	      | -aos* \
1125301ea0f4Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1126301ea0f4Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1127301ea0f4Smrg	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1128301ea0f4Smrg	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1129301ea0f4Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1130301ea0f4Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1131301ea0f4Smrg	      | -chorusos* | -chorusrdb* \
1132301ea0f4Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1133301ea0f4Smrg	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1134301ea0f4Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1135301ea0f4Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1136301ea0f4Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1137301ea0f4Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1138301ea0f4Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1139301ea0f4Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
1140301ea0f4Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1141301ea0f4Smrg		;;
1142301ea0f4Smrg	-qnx*)
1143301ea0f4Smrg		case $basic_machine in
1144301ea0f4Smrg		    x86-* | i*86-*)
1145301ea0f4Smrg			;;
1146301ea0f4Smrg		    *)
1147301ea0f4Smrg			os=-nto$os
1148301ea0f4Smrg			;;
1149301ea0f4Smrg		esac
1150301ea0f4Smrg		;;
1151301ea0f4Smrg	-nto-qnx*)
1152301ea0f4Smrg		;;
1153301ea0f4Smrg	-nto*)
1154301ea0f4Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1155301ea0f4Smrg		;;
1156301ea0f4Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1157301ea0f4Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
1158301ea0f4Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1159301ea0f4Smrg		;;
1160301ea0f4Smrg	-mac*)
1161301ea0f4Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1162301ea0f4Smrg		;;
1163301ea0f4Smrg	-linux*)
1164301ea0f4Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1165301ea0f4Smrg		;;
1166301ea0f4Smrg	-sunos5*)
1167301ea0f4Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1168301ea0f4Smrg		;;
1169301ea0f4Smrg	-sunos6*)
1170301ea0f4Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1171301ea0f4Smrg		;;
1172301ea0f4Smrg	-opened*)
1173301ea0f4Smrg		os=-openedition
1174301ea0f4Smrg		;;
1175301ea0f4Smrg	-wince*)
1176301ea0f4Smrg		os=-wince
1177301ea0f4Smrg		;;
1178301ea0f4Smrg	-osfrose*)
1179301ea0f4Smrg		os=-osfrose
1180301ea0f4Smrg		;;
1181301ea0f4Smrg	-osf*)
1182301ea0f4Smrg		os=-osf
1183301ea0f4Smrg		;;
1184301ea0f4Smrg	-utek*)
1185301ea0f4Smrg		os=-bsd
1186301ea0f4Smrg		;;
1187301ea0f4Smrg	-dynix*)
1188301ea0f4Smrg		os=-bsd
1189301ea0f4Smrg		;;
1190301ea0f4Smrg	-acis*)
1191301ea0f4Smrg		os=-aos
1192301ea0f4Smrg		;;
1193301ea0f4Smrg	-atheos*)
1194301ea0f4Smrg		os=-atheos
1195301ea0f4Smrg		;;
1196301ea0f4Smrg	-386bsd)
1197301ea0f4Smrg		os=-bsd
1198301ea0f4Smrg		;;
1199301ea0f4Smrg	-ctix* | -uts*)
1200301ea0f4Smrg		os=-sysv
1201301ea0f4Smrg		;;
1202301ea0f4Smrg	-nova*)
1203301ea0f4Smrg		os=-rtmk-nova
1204301ea0f4Smrg		;;
1205301ea0f4Smrg	-ns2 )
1206301ea0f4Smrg		os=-nextstep2
1207301ea0f4Smrg		;;
1208301ea0f4Smrg	-nsk*)
1209301ea0f4Smrg		os=-nsk
1210301ea0f4Smrg		;;
1211301ea0f4Smrg	# Preserve the version number of sinix5.
1212301ea0f4Smrg	-sinix5.*)
1213301ea0f4Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1214301ea0f4Smrg		;;
1215301ea0f4Smrg	-sinix*)
1216301ea0f4Smrg		os=-sysv4
1217301ea0f4Smrg		;;
1218301ea0f4Smrg	-triton*)
1219301ea0f4Smrg		os=-sysv3
1220301ea0f4Smrg		;;
1221301ea0f4Smrg	-oss*)
1222301ea0f4Smrg		os=-sysv3
1223301ea0f4Smrg		;;
1224301ea0f4Smrg	-svr4)
1225301ea0f4Smrg		os=-sysv4
1226301ea0f4Smrg		;;
1227301ea0f4Smrg	-svr3)
1228301ea0f4Smrg		os=-sysv3
1229301ea0f4Smrg		;;
1230301ea0f4Smrg	-sysvr4)
1231301ea0f4Smrg		os=-sysv4
1232301ea0f4Smrg		;;
1233301ea0f4Smrg	# This must come after -sysvr4.
1234301ea0f4Smrg	-sysv*)
1235301ea0f4Smrg		;;
1236301ea0f4Smrg	-ose*)
1237301ea0f4Smrg		os=-ose
1238301ea0f4Smrg		;;
1239301ea0f4Smrg	-es1800*)
1240301ea0f4Smrg		os=-ose
1241301ea0f4Smrg		;;
1242301ea0f4Smrg	-xenix)
1243301ea0f4Smrg		os=-xenix
1244301ea0f4Smrg		;;
1245301ea0f4Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1246301ea0f4Smrg		os=-mint
1247301ea0f4Smrg		;;
1248301ea0f4Smrg	-aros*)
1249301ea0f4Smrg		os=-aros
1250301ea0f4Smrg		;;
1251301ea0f4Smrg	-kaos*)
1252301ea0f4Smrg		os=-kaos
1253301ea0f4Smrg		;;
1254301ea0f4Smrg	-none)
1255301ea0f4Smrg		;;
1256301ea0f4Smrg	*)
1257301ea0f4Smrg		# Get rid of the `-' at the beginning of $os.
1258301ea0f4Smrg		os=`echo $os | sed 's/[^-]*-//'`
1259301ea0f4Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1260301ea0f4Smrg		exit 1
1261301ea0f4Smrg		;;
1262301ea0f4Smrgesac
1263301ea0f4Smrgelse
1264301ea0f4Smrg
1265301ea0f4Smrg# Here we handle the default operating systems that come with various machines.
1266301ea0f4Smrg# The value should be what the vendor currently ships out the door with their
1267301ea0f4Smrg# machine or put another way, the most popular os provided with the machine.
1268301ea0f4Smrg
1269301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1270301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top
1271301ea0f4Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1272301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating
1273301ea0f4Smrg# system, and we'll never get to this point.
1274301ea0f4Smrg
1275301ea0f4Smrgcase $basic_machine in
1276301ea0f4Smrg	*-acorn)
1277301ea0f4Smrg		os=-riscix1.2
1278301ea0f4Smrg		;;
1279301ea0f4Smrg	arm*-rebel)
1280301ea0f4Smrg		os=-linux
1281301ea0f4Smrg		;;
1282301ea0f4Smrg	arm*-semi)
1283301ea0f4Smrg		os=-aout
1284301ea0f4Smrg		;;
1285301ea0f4Smrg	c4x-* | tic4x-*)
1286301ea0f4Smrg		os=-coff
1287301ea0f4Smrg		;;
1288301ea0f4Smrg	# This must come before the *-dec entry.
1289301ea0f4Smrg	pdp10-*)
1290301ea0f4Smrg		os=-tops20
1291301ea0f4Smrg		;;
1292301ea0f4Smrg	pdp11-*)
1293301ea0f4Smrg		os=-none
1294301ea0f4Smrg		;;
1295301ea0f4Smrg	*-dec | vax-*)
1296301ea0f4Smrg		os=-ultrix4.2
1297301ea0f4Smrg		;;
1298301ea0f4Smrg	m68*-apollo)
1299301ea0f4Smrg		os=-domain
1300301ea0f4Smrg		;;
1301301ea0f4Smrg	i386-sun)
1302301ea0f4Smrg		os=-sunos4.0.2
1303301ea0f4Smrg		;;
1304301ea0f4Smrg	m68000-sun)
1305301ea0f4Smrg		os=-sunos3
1306301ea0f4Smrg		# This also exists in the configure program, but was not the
1307301ea0f4Smrg		# default.
1308301ea0f4Smrg		# os=-sunos4
1309301ea0f4Smrg		;;
1310301ea0f4Smrg	m68*-cisco)
1311301ea0f4Smrg		os=-aout
1312301ea0f4Smrg		;;
1313301ea0f4Smrg	mips*-cisco)
1314301ea0f4Smrg		os=-elf
1315301ea0f4Smrg		;;
1316301ea0f4Smrg	mips*-*)
1317301ea0f4Smrg		os=-elf
1318301ea0f4Smrg		;;
1319301ea0f4Smrg	or32-*)
1320301ea0f4Smrg		os=-coff
1321301ea0f4Smrg		;;
1322301ea0f4Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1323301ea0f4Smrg		os=-sysv3
1324301ea0f4Smrg		;;
1325301ea0f4Smrg	sparc-* | *-sun)
1326301ea0f4Smrg		os=-sunos4.1.1
1327301ea0f4Smrg		;;
1328301ea0f4Smrg	*-be)
1329301ea0f4Smrg		os=-beos
1330301ea0f4Smrg		;;
1331301ea0f4Smrg	*-ibm)
1332301ea0f4Smrg		os=-aix
1333301ea0f4Smrg		;;
1334301ea0f4Smrg	*-wec)
1335301ea0f4Smrg		os=-proelf
1336301ea0f4Smrg		;;
1337301ea0f4Smrg	*-winbond)
1338301ea0f4Smrg		os=-proelf
1339301ea0f4Smrg		;;
1340301ea0f4Smrg	*-oki)
1341301ea0f4Smrg		os=-proelf
1342301ea0f4Smrg		;;
1343301ea0f4Smrg	*-hp)
1344301ea0f4Smrg		os=-hpux
1345301ea0f4Smrg		;;
1346301ea0f4Smrg	*-hitachi)
1347301ea0f4Smrg		os=-hiux
1348301ea0f4Smrg		;;
1349301ea0f4Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1350301ea0f4Smrg		os=-sysv
1351301ea0f4Smrg		;;
1352301ea0f4Smrg	*-cbm)
1353301ea0f4Smrg		os=-amigaos
1354301ea0f4Smrg		;;
1355301ea0f4Smrg	*-dg)
1356301ea0f4Smrg		os=-dgux
1357301ea0f4Smrg		;;
1358301ea0f4Smrg	*-dolphin)
1359301ea0f4Smrg		os=-sysv3
1360301ea0f4Smrg		;;
1361301ea0f4Smrg	m68k-ccur)
1362301ea0f4Smrg		os=-rtu
1363301ea0f4Smrg		;;
1364301ea0f4Smrg	m88k-omron*)
1365301ea0f4Smrg		os=-luna
1366301ea0f4Smrg		;;
1367301ea0f4Smrg	*-next )
1368301ea0f4Smrg		os=-nextstep
1369301ea0f4Smrg		;;
1370301ea0f4Smrg	*-sequent)
1371301ea0f4Smrg		os=-ptx
1372301ea0f4Smrg		;;
1373301ea0f4Smrg	*-crds)
1374301ea0f4Smrg		os=-unos
1375301ea0f4Smrg		;;
1376301ea0f4Smrg	*-ns)
1377301ea0f4Smrg		os=-genix
1378301ea0f4Smrg		;;
1379301ea0f4Smrg	i370-*)
1380301ea0f4Smrg		os=-mvs
1381301ea0f4Smrg		;;
1382301ea0f4Smrg	*-next)
1383301ea0f4Smrg		os=-nextstep3
1384301ea0f4Smrg		;;
1385301ea0f4Smrg	*-gould)
1386301ea0f4Smrg		os=-sysv
1387301ea0f4Smrg		;;
1388301ea0f4Smrg	*-highlevel)
1389301ea0f4Smrg		os=-bsd
1390301ea0f4Smrg		;;
1391301ea0f4Smrg	*-encore)
1392301ea0f4Smrg		os=-bsd
1393301ea0f4Smrg		;;
1394301ea0f4Smrg	*-sgi)
1395301ea0f4Smrg		os=-irix
1396301ea0f4Smrg		;;
1397301ea0f4Smrg	*-siemens)
1398301ea0f4Smrg		os=-sysv4
1399301ea0f4Smrg		;;
1400301ea0f4Smrg	*-masscomp)
1401301ea0f4Smrg		os=-rtu
1402301ea0f4Smrg		;;
1403301ea0f4Smrg	f30[01]-fujitsu | f700-fujitsu)
1404301ea0f4Smrg		os=-uxpv
1405301ea0f4Smrg		;;
1406301ea0f4Smrg	*-rom68k)
1407301ea0f4Smrg		os=-coff
1408301ea0f4Smrg		;;
1409301ea0f4Smrg	*-*bug)
1410301ea0f4Smrg		os=-coff
1411301ea0f4Smrg		;;
1412301ea0f4Smrg	*-apple)
1413301ea0f4Smrg		os=-macos
1414301ea0f4Smrg		;;
1415301ea0f4Smrg	*-atari*)
1416301ea0f4Smrg		os=-mint
1417301ea0f4Smrg		;;
1418301ea0f4Smrg	*)
1419301ea0f4Smrg		os=-none
1420301ea0f4Smrg		;;
1421301ea0f4Smrgesac
1422301ea0f4Smrgfi
1423301ea0f4Smrg
1424301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1425301ea0f4Smrg# manufacturer.  We pick the logical manufacturer.
1426301ea0f4Smrgvendor=unknown
1427301ea0f4Smrgcase $basic_machine in
1428301ea0f4Smrg	*-unknown)
1429301ea0f4Smrg		case $os in
1430301ea0f4Smrg			-riscix*)
1431301ea0f4Smrg				vendor=acorn
1432301ea0f4Smrg				;;
1433301ea0f4Smrg			-sunos*)
1434301ea0f4Smrg				vendor=sun
1435301ea0f4Smrg				;;
1436301ea0f4Smrg			-aix*)
1437301ea0f4Smrg				vendor=ibm
1438301ea0f4Smrg				;;
1439301ea0f4Smrg			-beos*)
1440301ea0f4Smrg				vendor=be
1441301ea0f4Smrg				;;
1442301ea0f4Smrg			-hpux*)
1443301ea0f4Smrg				vendor=hp
1444301ea0f4Smrg				;;
1445301ea0f4Smrg			-mpeix*)
1446301ea0f4Smrg				vendor=hp
1447301ea0f4Smrg				;;
1448301ea0f4Smrg			-hiux*)
1449301ea0f4Smrg				vendor=hitachi
1450301ea0f4Smrg				;;
1451301ea0f4Smrg			-unos*)
1452301ea0f4Smrg				vendor=crds
1453301ea0f4Smrg				;;
1454301ea0f4Smrg			-dgux*)
1455301ea0f4Smrg				vendor=dg
1456301ea0f4Smrg				;;
1457301ea0f4Smrg			-luna*)
1458301ea0f4Smrg				vendor=omron
1459301ea0f4Smrg				;;
1460301ea0f4Smrg			-genix*)
1461301ea0f4Smrg				vendor=ns
1462301ea0f4Smrg				;;
1463301ea0f4Smrg			-mvs* | -opened*)
1464301ea0f4Smrg				vendor=ibm
1465301ea0f4Smrg				;;
1466301ea0f4Smrg			-ptx*)
1467301ea0f4Smrg				vendor=sequent
1468301ea0f4Smrg				;;
1469301ea0f4Smrg			-vxsim* | -vxworks* | -windiss*)
1470301ea0f4Smrg				vendor=wrs
1471301ea0f4Smrg				;;
1472301ea0f4Smrg			-aux*)
1473301ea0f4Smrg				vendor=apple
1474301ea0f4Smrg				;;
1475301ea0f4Smrg			-hms*)
1476301ea0f4Smrg				vendor=hitachi
1477301ea0f4Smrg				;;
1478301ea0f4Smrg			-mpw* | -macos*)
1479301ea0f4Smrg				vendor=apple
1480301ea0f4Smrg				;;
1481301ea0f4Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1482301ea0f4Smrg				vendor=atari
1483301ea0f4Smrg				;;
1484301ea0f4Smrg			-vos*)
1485301ea0f4Smrg				vendor=stratus
1486301ea0f4Smrg				;;
1487301ea0f4Smrg		esac
1488301ea0f4Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1489301ea0f4Smrg		;;
1490301ea0f4Smrgesac
1491301ea0f4Smrg
1492301ea0f4Smrgecho $basic_machine$os
1493301ea0f4Smrgexit 0
1494301ea0f4Smrg
1495301ea0f4Smrg# Local variables:
1496301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1497301ea0f4Smrg# time-stamp-start: "timestamp='"
1498301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d"
1499301ea0f4Smrg# time-stamp-end: "'"
1500301ea0f4Smrg# End:
1501