1238106Sdes#! /bin/sh
2238106Sdes# Configuration validation subroutine script.
3238106Sdes#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4249141Sdes#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5249141Sdes#   2011, 2012 Free Software Foundation, Inc.
6238106Sdes
7249141Sdestimestamp='2012-04-18'
8238106Sdes
9238106Sdes# This file is (in principle) common to ALL GNU software.
10238106Sdes# The presence of a machine in this file suggests that SOME GNU software
11238106Sdes# can handle that machine.  It does not imply ALL GNU software can.
12238106Sdes#
13238106Sdes# This file is free software; you can redistribute it and/or modify
14238106Sdes# it under the terms of the GNU General Public License as published by
15238106Sdes# the Free Software Foundation; either version 2 of the License, or
16238106Sdes# (at your option) any later version.
17238106Sdes#
18238106Sdes# This program is distributed in the hope that it will be useful,
19238106Sdes# but WITHOUT ANY WARRANTY; without even the implied warranty of
20238106Sdes# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21238106Sdes# GNU General Public License for more details.
22238106Sdes#
23238106Sdes# You should have received a copy of the GNU General Public License
24249141Sdes# along with this program; if not, see <http://www.gnu.org/licenses/>.
25238106Sdes#
26238106Sdes# As a special exception to the GNU General Public License, if you
27238106Sdes# distribute this file as part of a program that contains a
28238106Sdes# configuration script generated by Autoconf, you may include it under
29238106Sdes# the same distribution terms that you use for the rest of that program.
30238106Sdes
31238106Sdes
32238106Sdes# Please send patches to <config-patches@gnu.org>.  Submit a context
33238106Sdes# diff and a properly formatted GNU ChangeLog entry.
34238106Sdes#
35238106Sdes# Configuration subroutine to validate and canonicalize a configuration type.
36238106Sdes# Supply the specified configuration type as an argument.
37238106Sdes# If it is invalid, we print an error message on stderr and exit with code 1.
38238106Sdes# Otherwise, we print the canonical config type on stdout and succeed.
39238106Sdes
40238106Sdes# You can get the latest version of this script from:
41238106Sdes# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42238106Sdes
43238106Sdes# This file is supposed to be the same for all GNU packages
44238106Sdes# and recognize all the CPU types, system types and aliases
45238106Sdes# that are meaningful with *any* GNU software.
46238106Sdes# Each package is responsible for reporting which valid configurations
47238106Sdes# it does not support.  The user should be able to distinguish
48238106Sdes# a failure to support a valid configuration from a meaningless
49238106Sdes# configuration.
50238106Sdes
51238106Sdes# The goal of this file is to map all the various variations of a given
52238106Sdes# machine specification into a single specification in the form:
53238106Sdes#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
54238106Sdes# or in some cases, the newer four-part form:
55238106Sdes#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
56238106Sdes# It is wrong to echo any other type of specification.
57238106Sdes
58238106Sdesme=`echo "$0" | sed -e 's,.*/,,'`
59238106Sdes
60238106Sdesusage="\
61238106SdesUsage: $0 [OPTION] CPU-MFR-OPSYS
62238106Sdes       $0 [OPTION] ALIAS
63238106Sdes
64238106SdesCanonicalize a configuration name.
65238106Sdes
66238106SdesOperation modes:
67238106Sdes  -h, --help         print this help, then exit
68238106Sdes  -t, --time-stamp   print date of last modification, then exit
69238106Sdes  -v, --version      print version number, then exit
70238106Sdes
71238106SdesReport bugs and patches to <config-patches@gnu.org>."
72238106Sdes
73238106Sdesversion="\
74238106SdesGNU config.sub ($timestamp)
75238106Sdes
76249141SdesCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77249141Sdes2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78249141SdesFree Software Foundation, Inc.
79238106Sdes
80238106SdesThis is free software; see the source for copying conditions.  There is NO
81238106Sdeswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
82238106Sdes
83238106Sdeshelp="
84238106SdesTry \`$me --help' for more information."
85238106Sdes
86238106Sdes# Parse command line
87238106Sdeswhile test $# -gt 0 ; do
88238106Sdes  case $1 in
89238106Sdes    --time-stamp | --time* | -t )
90238106Sdes       echo "$timestamp" ; exit ;;
91238106Sdes    --version | -v )
92238106Sdes       echo "$version" ; exit ;;
93238106Sdes    --help | --h* | -h )
94238106Sdes       echo "$usage"; exit ;;
95238106Sdes    -- )     # Stop option processing
96238106Sdes       shift; break ;;
97238106Sdes    - )	# Use stdin as input.
98238106Sdes       break ;;
99238106Sdes    -* )
100238106Sdes       echo "$me: invalid option $1$help"
101238106Sdes       exit 1 ;;
102238106Sdes
103238106Sdes    *local*)
104238106Sdes       # First pass through any local machine types.
105238106Sdes       echo $1
106238106Sdes       exit ;;
107238106Sdes
108238106Sdes    * )
109238106Sdes       break ;;
110238106Sdes  esac
111238106Sdesdone
112238106Sdes
113238106Sdescase $# in
114238106Sdes 0) echo "$me: missing argument$help" >&2
115238106Sdes    exit 1;;
116238106Sdes 1) ;;
117238106Sdes *) echo "$me: too many arguments$help" >&2
118238106Sdes    exit 1;;
119238106Sdesesac
120238106Sdes
121238106Sdes# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
122238106Sdes# Here we must recognize all the valid KERNEL-OS combinations.
123238106Sdesmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
124238106Sdescase $maybe_os in
125249141Sdes  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126249141Sdes  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127249141Sdes  knetbsd*-gnu* | netbsd*-gnu* | \
128238106Sdes  kopensolaris*-gnu* | \
129238106Sdes  storm-chaos* | os2-emx* | rtmk-nova*)
130238106Sdes    os=-$maybe_os
131238106Sdes    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132238106Sdes    ;;
133249141Sdes  android-linux)
134249141Sdes    os=-linux-android
135249141Sdes    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136249141Sdes    ;;
137238106Sdes  *)
138238106Sdes    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
139238106Sdes    if [ $basic_machine != $1 ]
140238106Sdes    then os=`echo $1 | sed 's/.*-/-/'`
141238106Sdes    else os=; fi
142238106Sdes    ;;
143238106Sdesesac
144238106Sdes
145238106Sdes### Let's recognize common machines as not being operating systems so
146238106Sdes### that things like config.sub decstation-3100 work.  We also
147238106Sdes### recognize some manufacturers as not being operating systems, so we
148238106Sdes### can provide default operating systems below.
149238106Sdescase $os in
150238106Sdes	-sun*os*)
151238106Sdes		# Prevent following clause from handling this invalid input.
152238106Sdes		;;
153238106Sdes	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
154238106Sdes	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
155238106Sdes	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
156238106Sdes	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
157238106Sdes	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
158238106Sdes	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159238106Sdes	-apple | -axis | -knuth | -cray | -microblaze)
160238106Sdes		os=
161238106Sdes		basic_machine=$1
162238106Sdes		;;
163249141Sdes	-bluegene*)
164249141Sdes		os=-cnk
165238106Sdes		;;
166238106Sdes	-sim | -cisco | -oki | -wec | -winbond)
167238106Sdes		os=
168238106Sdes		basic_machine=$1
169238106Sdes		;;
170238106Sdes	-scout)
171238106Sdes		;;
172238106Sdes	-wrs)
173238106Sdes		os=-vxworks
174238106Sdes		basic_machine=$1
175238106Sdes		;;
176238106Sdes	-chorusos*)
177238106Sdes		os=-chorusos
178238106Sdes		basic_machine=$1
179238106Sdes		;;
180249141Sdes	-chorusrdb)
181249141Sdes		os=-chorusrdb
182238106Sdes		basic_machine=$1
183249141Sdes		;;
184238106Sdes	-hiux*)
185238106Sdes		os=-hiuxwe2
186238106Sdes		;;
187238106Sdes	-sco6)
188238106Sdes		os=-sco5v6
189238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190238106Sdes		;;
191238106Sdes	-sco5)
192238106Sdes		os=-sco3.2v5
193238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194238106Sdes		;;
195238106Sdes	-sco4)
196238106Sdes		os=-sco3.2v4
197238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198238106Sdes		;;
199238106Sdes	-sco3.2.[4-9]*)
200238106Sdes		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
201238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202238106Sdes		;;
203238106Sdes	-sco3.2v[4-9]*)
204238106Sdes		# Don't forget version if it is 3.2v4 or newer.
205238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206238106Sdes		;;
207238106Sdes	-sco5v6*)
208238106Sdes		# Don't forget version if it is 3.2v4 or newer.
209238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210238106Sdes		;;
211238106Sdes	-sco*)
212238106Sdes		os=-sco3.2v2
213238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214238106Sdes		;;
215238106Sdes	-udk*)
216238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217238106Sdes		;;
218238106Sdes	-isc)
219238106Sdes		os=-isc2.2
220238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
221238106Sdes		;;
222238106Sdes	-clix*)
223238106Sdes		basic_machine=clipper-intergraph
224238106Sdes		;;
225238106Sdes	-isc*)
226238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
227238106Sdes		;;
228249141Sdes	-lynx*178)
229249141Sdes		os=-lynxos178
230249141Sdes		;;
231249141Sdes	-lynx*5)
232249141Sdes		os=-lynxos5
233249141Sdes		;;
234238106Sdes	-lynx*)
235238106Sdes		os=-lynxos
236238106Sdes		;;
237238106Sdes	-ptx*)
238238106Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
239238106Sdes		;;
240238106Sdes	-windowsnt*)
241238106Sdes		os=`echo $os | sed -e 's/windowsnt/winnt/'`
242238106Sdes		;;
243238106Sdes	-psos*)
244238106Sdes		os=-psos
245238106Sdes		;;
246238106Sdes	-mint | -mint[0-9]*)
247238106Sdes		basic_machine=m68k-atari
248238106Sdes		os=-mint
249238106Sdes		;;
250238106Sdesesac
251238106Sdes
252238106Sdes# Decode aliases for certain CPU-COMPANY combinations.
253238106Sdescase $basic_machine in
254238106Sdes	# Recognize the basic CPU types without company name.
255238106Sdes	# Some are omitted here because they have special meanings below.
256238106Sdes	1750a | 580 \
257238106Sdes	| a29k \
258249141Sdes	| aarch64 | aarch64_be \
259238106Sdes	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260238106Sdes	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
261238106Sdes	| am33_2.0 \
262238106Sdes	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263249141Sdes        | be32 | be64 \
264238106Sdes	| bfin \
265238106Sdes	| c4x | clipper \
266238106Sdes	| d10v | d30v | dlx | dsp16xx \
267249141Sdes	| epiphany \
268238106Sdes	| fido | fr30 | frv \
269238106Sdes	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270249141Sdes	| hexagon \
271238106Sdes	| i370 | i860 | i960 | ia64 \
272238106Sdes	| ip2k | iq2000 \
273249141Sdes	| le32 | le64 \
274238106Sdes	| lm32 \
275238106Sdes	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276238106Sdes	| maxq | mb | microblaze | mcore | mep | metag \
277238106Sdes	| mips | mipsbe | mipseb | mipsel | mipsle \
278238106Sdes	| mips16 \
279238106Sdes	| mips64 | mips64el \
280238106Sdes	| mips64octeon | mips64octeonel \
281238106Sdes	| mips64orion | mips64orionel \
282238106Sdes	| mips64r5900 | mips64r5900el \
283238106Sdes	| mips64vr | mips64vrel \
284238106Sdes	| mips64vr4100 | mips64vr4100el \
285238106Sdes	| mips64vr4300 | mips64vr4300el \
286238106Sdes	| mips64vr5000 | mips64vr5000el \
287238106Sdes	| mips64vr5900 | mips64vr5900el \
288238106Sdes	| mipsisa32 | mipsisa32el \
289238106Sdes	| mipsisa32r2 | mipsisa32r2el \
290238106Sdes	| mipsisa64 | mipsisa64el \
291238106Sdes	| mipsisa64r2 | mipsisa64r2el \
292238106Sdes	| mipsisa64sb1 | mipsisa64sb1el \
293238106Sdes	| mipsisa64sr71k | mipsisa64sr71kel \
294238106Sdes	| mipstx39 | mipstx39el \
295238106Sdes	| mn10200 | mn10300 \
296238106Sdes	| moxie \
297238106Sdes	| mt \
298238106Sdes	| msp430 \
299249141Sdes	| nds32 | nds32le | nds32be \
300238106Sdes	| nios | nios2 \
301238106Sdes	| ns16k | ns32k \
302249141Sdes	| open8 \
303238106Sdes	| or32 \
304238106Sdes	| pdp10 | pdp11 | pj | pjl \
305249141Sdes	| powerpc | powerpc64 | powerpc64le | powerpcle \
306238106Sdes	| pyramid \
307249141Sdes	| rl78 | rx \
308238106Sdes	| score \
309238106Sdes	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310238106Sdes	| sh64 | sh64le \
311238106Sdes	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312238106Sdes	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313249141Sdes	| spu \
314249141Sdes	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315238106Sdes	| ubicom32 \
316249141Sdes	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317238106Sdes	| we32k \
318249141Sdes	| x86 | xc16x | xstormy16 | xtensa \
319238106Sdes	| z8k | z80)
320238106Sdes		basic_machine=$basic_machine-unknown
321238106Sdes		;;
322249141Sdes	c54x)
323249141Sdes		basic_machine=tic54x-unknown
324249141Sdes		;;
325249141Sdes	c55x)
326249141Sdes		basic_machine=tic55x-unknown
327249141Sdes		;;
328249141Sdes	c6x)
329249141Sdes		basic_machine=tic6x-unknown
330249141Sdes		;;
331249141Sdes	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
332238106Sdes		basic_machine=$basic_machine-unknown
333238106Sdes		os=-none
334238106Sdes		;;
335238106Sdes	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
336238106Sdes		;;
337238106Sdes	ms1)
338238106Sdes		basic_machine=mt-unknown
339238106Sdes		;;
340238106Sdes
341249141Sdes	strongarm | thumb | xscale)
342249141Sdes		basic_machine=arm-unknown
343249141Sdes		;;
344249141Sdes	xgate)
345249141Sdes		basic_machine=$basic_machine-unknown
346249141Sdes		os=-none
347249141Sdes		;;
348249141Sdes	xscaleeb)
349249141Sdes		basic_machine=armeb-unknown
350249141Sdes		;;
351249141Sdes
352249141Sdes	xscaleel)
353249141Sdes		basic_machine=armel-unknown
354249141Sdes		;;
355249141Sdes
356238106Sdes	# We use `pc' rather than `unknown'
357238106Sdes	# because (1) that's what they normally are, and
358238106Sdes	# (2) the word "unknown" tends to confuse beginning users.
359238106Sdes	i*86 | x86_64)
360238106Sdes	  basic_machine=$basic_machine-pc
361238106Sdes	  ;;
362238106Sdes	# Object if more than one company name word.
363238106Sdes	*-*-*)
364238106Sdes		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
365238106Sdes		exit 1
366238106Sdes		;;
367238106Sdes	# Recognize the basic CPU types with company name.
368238106Sdes	580-* \
369238106Sdes	| a29k-* \
370249141Sdes	| aarch64-* | aarch64_be-* \
371238106Sdes	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372238106Sdes	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373238106Sdes	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374238106Sdes	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
375238106Sdes	| avr-* | avr32-* \
376249141Sdes	| be32-* | be64-* \
377238106Sdes	| bfin-* | bs2000-* \
378249141Sdes	| c[123]* | c30-* | [cjt]90-* | c4x-* \
379238106Sdes	| clipper-* | craynv-* | cydra-* \
380238106Sdes	| d10v-* | d30v-* | dlx-* \
381238106Sdes	| elxsi-* \
382238106Sdes	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383238106Sdes	| h8300-* | h8500-* \
384238106Sdes	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385249141Sdes	| hexagon-* \
386238106Sdes	| i*86-* | i860-* | i960-* | ia64-* \
387238106Sdes	| ip2k-* | iq2000-* \
388249141Sdes	| le32-* | le64-* \
389238106Sdes	| lm32-* \
390238106Sdes	| m32c-* | m32r-* | m32rle-* \
391238106Sdes	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392238106Sdes	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
393238106Sdes	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394238106Sdes	| mips16-* \
395238106Sdes	| mips64-* | mips64el-* \
396238106Sdes	| mips64octeon-* | mips64octeonel-* \
397238106Sdes	| mips64orion-* | mips64orionel-* \
398238106Sdes	| mips64r5900-* | mips64r5900el-* \
399238106Sdes	| mips64vr-* | mips64vrel-* \
400238106Sdes	| mips64vr4100-* | mips64vr4100el-* \
401238106Sdes	| mips64vr4300-* | mips64vr4300el-* \
402238106Sdes	| mips64vr5000-* | mips64vr5000el-* \
403238106Sdes	| mips64vr5900-* | mips64vr5900el-* \
404238106Sdes	| mipsisa32-* | mipsisa32el-* \
405238106Sdes	| mipsisa32r2-* | mipsisa32r2el-* \
406238106Sdes	| mipsisa64-* | mipsisa64el-* \
407238106Sdes	| mipsisa64r2-* | mipsisa64r2el-* \
408238106Sdes	| mipsisa64sb1-* | mipsisa64sb1el-* \
409238106Sdes	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410238106Sdes	| mipstx39-* | mipstx39el-* \
411238106Sdes	| mmix-* \
412238106Sdes	| mt-* \
413238106Sdes	| msp430-* \
414249141Sdes	| nds32-* | nds32le-* | nds32be-* \
415238106Sdes	| nios-* | nios2-* \
416238106Sdes	| none-* | np1-* | ns16k-* | ns32k-* \
417249141Sdes	| open8-* \
418238106Sdes	| orion-* \
419238106Sdes	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420249141Sdes	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
421238106Sdes	| pyramid-* \
422249141Sdes	| rl78-* | romp-* | rs6000-* | rx-* \
423238106Sdes	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424238106Sdes	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425238106Sdes	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426238106Sdes	| sparclite-* \
427249141Sdes	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428249141Sdes	| tahoe-* \
429249141Sdes	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430249141Sdes	| tile*-* \
431238106Sdes	| tron-* \
432238106Sdes	| ubicom32-* \
433249141Sdes	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434249141Sdes	| vax-* \
435238106Sdes	| we32k-* \
436249141Sdes	| x86-* | x86_64-* | xc16x-* | xps100-* \
437238106Sdes	| xstormy16-* | xtensa*-* \
438238106Sdes	| ymp-* \
439238106Sdes	| z8k-* | z80-*)
440238106Sdes		;;
441238106Sdes	# Recognize the basic CPU types without company name, with glob match.
442238106Sdes	xtensa*)
443238106Sdes		basic_machine=$basic_machine-unknown
444238106Sdes		;;
445238106Sdes	# Recognize the various machine names and aliases which stand
446238106Sdes	# for a CPU type and a company and sometimes even an OS.
447238106Sdes	386bsd)
448238106Sdes		basic_machine=i386-unknown
449238106Sdes		os=-bsd
450238106Sdes		;;
451238106Sdes	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452238106Sdes		basic_machine=m68000-att
453238106Sdes		;;
454238106Sdes	3b*)
455238106Sdes		basic_machine=we32k-att
456238106Sdes		;;
457238106Sdes	a29khif)
458238106Sdes		basic_machine=a29k-amd
459238106Sdes		os=-udi
460238106Sdes		;;
461249141Sdes	abacus)
462238106Sdes		basic_machine=abacus-unknown
463238106Sdes		;;
464238106Sdes	adobe68k)
465238106Sdes		basic_machine=m68010-adobe
466238106Sdes		os=-scout
467238106Sdes		;;
468238106Sdes	alliant | fx80)
469238106Sdes		basic_machine=fx80-alliant
470238106Sdes		;;
471238106Sdes	altos | altos3068)
472238106Sdes		basic_machine=m68k-altos
473238106Sdes		;;
474238106Sdes	am29k)
475238106Sdes		basic_machine=a29k-none
476238106Sdes		os=-bsd
477238106Sdes		;;
478238106Sdes	amd64)
479238106Sdes		basic_machine=x86_64-pc
480238106Sdes		;;
481238106Sdes	amd64-*)
482238106Sdes		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483238106Sdes		;;
484238106Sdes	amdahl)
485238106Sdes		basic_machine=580-amdahl
486238106Sdes		os=-sysv
487238106Sdes		;;
488238106Sdes	amiga | amiga-*)
489238106Sdes		basic_machine=m68k-unknown
490238106Sdes		;;
491238106Sdes	amigaos | amigados)
492238106Sdes		basic_machine=m68k-unknown
493238106Sdes		os=-amigaos
494238106Sdes		;;
495238106Sdes	amigaunix | amix)
496238106Sdes		basic_machine=m68k-unknown
497238106Sdes		os=-sysv4
498238106Sdes		;;
499238106Sdes	apollo68)
500238106Sdes		basic_machine=m68k-apollo
501238106Sdes		os=-sysv
502238106Sdes		;;
503238106Sdes	apollo68bsd)
504238106Sdes		basic_machine=m68k-apollo
505238106Sdes		os=-bsd
506238106Sdes		;;
507238106Sdes	aros)
508238106Sdes		basic_machine=i386-pc
509238106Sdes		os=-aros
510238106Sdes		;;
511238106Sdes	aux)
512238106Sdes		basic_machine=m68k-apple
513238106Sdes		os=-aux
514238106Sdes		;;
515238106Sdes	balance)
516238106Sdes		basic_machine=ns32k-sequent
517238106Sdes		os=-dynix
518238106Sdes		;;
519238106Sdes	blackfin)
520238106Sdes		basic_machine=bfin-unknown
521238106Sdes		os=-linux
522238106Sdes		;;
523238106Sdes	blackfin-*)
524238106Sdes		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525238106Sdes		os=-linux
526238106Sdes		;;
527238106Sdes	bluegene*)
528238106Sdes		basic_machine=powerpc-ibm
529238106Sdes		os=-cnk
530238106Sdes		;;
531249141Sdes	c54x-*)
532249141Sdes		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533249141Sdes		;;
534249141Sdes	c55x-*)
535249141Sdes		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536249141Sdes		;;
537249141Sdes	c6x-*)
538249141Sdes		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539249141Sdes		;;
540238106Sdes	c90)
541238106Sdes		basic_machine=c90-cray
542238106Sdes		os=-unicos
543238106Sdes		;;
544249141Sdes	cegcc)
545238106Sdes		basic_machine=arm-unknown
546238106Sdes		os=-cegcc
547238106Sdes		;;
548238106Sdes	convex-c1)
549238106Sdes		basic_machine=c1-convex
550238106Sdes		os=-bsd
551238106Sdes		;;
552238106Sdes	convex-c2)
553238106Sdes		basic_machine=c2-convex
554238106Sdes		os=-bsd
555238106Sdes		;;
556238106Sdes	convex-c32)
557238106Sdes		basic_machine=c32-convex
558238106Sdes		os=-bsd
559238106Sdes		;;
560238106Sdes	convex-c34)
561238106Sdes		basic_machine=c34-convex
562238106Sdes		os=-bsd
563238106Sdes		;;
564238106Sdes	convex-c38)
565238106Sdes		basic_machine=c38-convex
566238106Sdes		os=-bsd
567238106Sdes		;;
568238106Sdes	cray | j90)
569238106Sdes		basic_machine=j90-cray
570238106Sdes		os=-unicos
571238106Sdes		;;
572238106Sdes	craynv)
573238106Sdes		basic_machine=craynv-cray
574238106Sdes		os=-unicosmp
575238106Sdes		;;
576249141Sdes	cr16 | cr16-*)
577238106Sdes		basic_machine=cr16-unknown
578238106Sdes		os=-elf
579238106Sdes		;;
580238106Sdes	crds | unos)
581238106Sdes		basic_machine=m68k-crds
582238106Sdes		;;
583238106Sdes	crisv32 | crisv32-* | etraxfs*)
584238106Sdes		basic_machine=crisv32-axis
585238106Sdes		;;
586238106Sdes	cris | cris-* | etrax*)
587238106Sdes		basic_machine=cris-axis
588238106Sdes		;;
589238106Sdes	crx)
590238106Sdes		basic_machine=crx-unknown
591238106Sdes		os=-elf
592238106Sdes		;;
593238106Sdes	da30 | da30-*)
594238106Sdes		basic_machine=m68k-da30
595238106Sdes		;;
596238106Sdes	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597238106Sdes		basic_machine=mips-dec
598238106Sdes		;;
599238106Sdes	decsystem10* | dec10*)
600238106Sdes		basic_machine=pdp10-dec
601238106Sdes		os=-tops10
602238106Sdes		;;
603238106Sdes	decsystem20* | dec20*)
604238106Sdes		basic_machine=pdp10-dec
605238106Sdes		os=-tops20
606238106Sdes		;;
607238106Sdes	delta | 3300 | motorola-3300 | motorola-delta \
608238106Sdes	      | 3300-motorola | delta-motorola)
609238106Sdes		basic_machine=m68k-motorola
610238106Sdes		;;
611238106Sdes	delta88)
612238106Sdes		basic_machine=m88k-motorola
613238106Sdes		os=-sysv3
614238106Sdes		;;
615238106Sdes	dicos)
616238106Sdes		basic_machine=i686-pc
617238106Sdes		os=-dicos
618238106Sdes		;;
619238106Sdes	djgpp)
620238106Sdes		basic_machine=i586-pc
621238106Sdes		os=-msdosdjgpp
622238106Sdes		;;
623238106Sdes	dpx20 | dpx20-*)
624238106Sdes		basic_machine=rs6000-bull
625238106Sdes		os=-bosx
626238106Sdes		;;
627238106Sdes	dpx2* | dpx2*-bull)
628238106Sdes		basic_machine=m68k-bull
629238106Sdes		os=-sysv3
630238106Sdes		;;
631238106Sdes	ebmon29k)
632238106Sdes		basic_machine=a29k-amd
633238106Sdes		os=-ebmon
634238106Sdes		;;
635238106Sdes	elxsi)
636238106Sdes		basic_machine=elxsi-elxsi
637238106Sdes		os=-bsd
638238106Sdes		;;
639238106Sdes	encore | umax | mmax)
640238106Sdes		basic_machine=ns32k-encore
641238106Sdes		;;
642238106Sdes	es1800 | OSE68k | ose68k | ose | OSE)
643238106Sdes		basic_machine=m68k-ericsson
644238106Sdes		os=-ose
645238106Sdes		;;
646238106Sdes	fx2800)
647238106Sdes		basic_machine=i860-alliant
648238106Sdes		;;
649238106Sdes	genix)
650238106Sdes		basic_machine=ns32k-ns
651238106Sdes		;;
652238106Sdes	gmicro)
653238106Sdes		basic_machine=tron-gmicro
654238106Sdes		os=-sysv
655238106Sdes		;;
656238106Sdes	go32)
657238106Sdes		basic_machine=i386-pc
658238106Sdes		os=-go32
659238106Sdes		;;
660238106Sdes	h3050r* | hiux*)
661238106Sdes		basic_machine=hppa1.1-hitachi
662238106Sdes		os=-hiuxwe2
663238106Sdes		;;
664238106Sdes	h8300hms)
665238106Sdes		basic_machine=h8300-hitachi
666238106Sdes		os=-hms
667238106Sdes		;;
668238106Sdes	h8300xray)
669238106Sdes		basic_machine=h8300-hitachi
670238106Sdes		os=-xray
671238106Sdes		;;
672238106Sdes	h8500hms)
673238106Sdes		basic_machine=h8500-hitachi
674238106Sdes		os=-hms
675238106Sdes		;;
676238106Sdes	harris)
677238106Sdes		basic_machine=m88k-harris
678238106Sdes		os=-sysv3
679238106Sdes		;;
680238106Sdes	hp300-*)
681238106Sdes		basic_machine=m68k-hp
682238106Sdes		;;
683238106Sdes	hp300bsd)
684238106Sdes		basic_machine=m68k-hp
685238106Sdes		os=-bsd
686238106Sdes		;;
687238106Sdes	hp300hpux)
688238106Sdes		basic_machine=m68k-hp
689238106Sdes		os=-hpux
690238106Sdes		;;
691238106Sdes	hp3k9[0-9][0-9] | hp9[0-9][0-9])
692238106Sdes		basic_machine=hppa1.0-hp
693238106Sdes		;;
694238106Sdes	hp9k2[0-9][0-9] | hp9k31[0-9])
695238106Sdes		basic_machine=m68000-hp
696238106Sdes		;;
697238106Sdes	hp9k3[2-9][0-9])
698238106Sdes		basic_machine=m68k-hp
699238106Sdes		;;
700238106Sdes	hp9k6[0-9][0-9] | hp6[0-9][0-9])
701238106Sdes		basic_machine=hppa1.0-hp
702238106Sdes		;;
703238106Sdes	hp9k7[0-79][0-9] | hp7[0-79][0-9])
704238106Sdes		basic_machine=hppa1.1-hp
705238106Sdes		;;
706238106Sdes	hp9k78[0-9] | hp78[0-9])
707238106Sdes		# FIXME: really hppa2.0-hp
708238106Sdes		basic_machine=hppa1.1-hp
709238106Sdes		;;
710238106Sdes	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711238106Sdes		# FIXME: really hppa2.0-hp
712238106Sdes		basic_machine=hppa1.1-hp
713238106Sdes		;;
714238106Sdes	hp9k8[0-9][13679] | hp8[0-9][13679])
715238106Sdes		basic_machine=hppa1.1-hp
716238106Sdes		;;
717238106Sdes	hp9k8[0-9][0-9] | hp8[0-9][0-9])
718238106Sdes		basic_machine=hppa1.0-hp
719238106Sdes		;;
720238106Sdes	hppa-next)
721238106Sdes		os=-nextstep3
722238106Sdes		;;
723238106Sdes	hppaosf)
724238106Sdes		basic_machine=hppa1.1-hp
725238106Sdes		os=-osf
726238106Sdes		;;
727238106Sdes	hppro)
728238106Sdes		basic_machine=hppa1.1-hp
729238106Sdes		os=-proelf
730238106Sdes		;;
731238106Sdes	i370-ibm* | ibm*)
732238106Sdes		basic_machine=i370-ibm
733238106Sdes		;;
734238106Sdes	i*86v32)
735238106Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
736238106Sdes		os=-sysv32
737238106Sdes		;;
738238106Sdes	i*86v4*)
739238106Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740238106Sdes		os=-sysv4
741238106Sdes		;;
742238106Sdes	i*86v)
743238106Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744238106Sdes		os=-sysv
745238106Sdes		;;
746238106Sdes	i*86sol2)
747238106Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748238106Sdes		os=-solaris2
749238106Sdes		;;
750238106Sdes	i386mach)
751238106Sdes		basic_machine=i386-mach
752238106Sdes		os=-mach
753238106Sdes		;;
754238106Sdes	i386-vsta | vsta)
755238106Sdes		basic_machine=i386-unknown
756238106Sdes		os=-vsta
757238106Sdes		;;
758238106Sdes	iris | iris4d)
759238106Sdes		basic_machine=mips-sgi
760238106Sdes		case $os in
761238106Sdes		    -irix*)
762238106Sdes			;;
763238106Sdes		    *)
764238106Sdes			os=-irix4
765238106Sdes			;;
766238106Sdes		esac
767238106Sdes		;;
768238106Sdes	isi68 | isi)
769238106Sdes		basic_machine=m68k-isi
770238106Sdes		os=-sysv
771238106Sdes		;;
772238106Sdes	m68knommu)
773238106Sdes		basic_machine=m68k-unknown
774238106Sdes		os=-linux
775238106Sdes		;;
776238106Sdes	m68knommu-*)
777238106Sdes		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778238106Sdes		os=-linux
779238106Sdes		;;
780238106Sdes	m88k-omron*)
781238106Sdes		basic_machine=m88k-omron
782238106Sdes		;;
783238106Sdes	magnum | m3230)
784238106Sdes		basic_machine=mips-mips
785238106Sdes		os=-sysv
786238106Sdes		;;
787238106Sdes	merlin)
788238106Sdes		basic_machine=ns32k-utek
789238106Sdes		os=-sysv
790238106Sdes		;;
791249141Sdes	microblaze)
792238106Sdes		basic_machine=microblaze-xilinx
793238106Sdes		;;
794238106Sdes	mingw32)
795238106Sdes		basic_machine=i386-pc
796238106Sdes		os=-mingw32
797238106Sdes		;;
798238106Sdes	mingw32ce)
799238106Sdes		basic_machine=arm-unknown
800238106Sdes		os=-mingw32ce
801238106Sdes		;;
802238106Sdes	miniframe)
803238106Sdes		basic_machine=m68000-convergent
804238106Sdes		;;
805238106Sdes	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
806238106Sdes		basic_machine=m68k-atari
807238106Sdes		os=-mint
808238106Sdes		;;
809238106Sdes	mips3*-*)
810238106Sdes		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
811238106Sdes		;;
812238106Sdes	mips3*)
813238106Sdes		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
814238106Sdes		;;
815238106Sdes	monitor)
816238106Sdes		basic_machine=m68k-rom68k
817238106Sdes		os=-coff
818238106Sdes		;;
819238106Sdes	morphos)
820238106Sdes		basic_machine=powerpc-unknown
821238106Sdes		os=-morphos
822238106Sdes		;;
823238106Sdes	msdos)
824238106Sdes		basic_machine=i386-pc
825238106Sdes		os=-msdos
826238106Sdes		;;
827238106Sdes	ms1-*)
828238106Sdes		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
829238106Sdes		;;
830249141Sdes	msys)
831249141Sdes		basic_machine=i386-pc
832249141Sdes		os=-msys
833249141Sdes		;;
834238106Sdes	mvs)
835238106Sdes		basic_machine=i370-ibm
836238106Sdes		os=-mvs
837238106Sdes		;;
838249141Sdes	nacl)
839249141Sdes		basic_machine=le32-unknown
840249141Sdes		os=-nacl
841249141Sdes		;;
842238106Sdes	ncr3000)
843238106Sdes		basic_machine=i486-ncr
844238106Sdes		os=-sysv4
845238106Sdes		;;
846238106Sdes	netbsd386)
847238106Sdes		basic_machine=i386-unknown
848238106Sdes		os=-netbsd
849238106Sdes		;;
850238106Sdes	netwinder)
851238106Sdes		basic_machine=armv4l-rebel
852238106Sdes		os=-linux
853238106Sdes		;;
854238106Sdes	news | news700 | news800 | news900)
855238106Sdes		basic_machine=m68k-sony
856238106Sdes		os=-newsos
857238106Sdes		;;
858238106Sdes	news1000)
859238106Sdes		basic_machine=m68030-sony
860238106Sdes		os=-newsos
861238106Sdes		;;
862238106Sdes	news-3600 | risc-news)
863238106Sdes		basic_machine=mips-sony
864238106Sdes		os=-newsos
865238106Sdes		;;
866238106Sdes	necv70)
867238106Sdes		basic_machine=v70-nec
868238106Sdes		os=-sysv
869238106Sdes		;;
870238106Sdes	next | m*-next )
871238106Sdes		basic_machine=m68k-next
872238106Sdes		case $os in
873238106Sdes		    -nextstep* )
874238106Sdes			;;
875238106Sdes		    -ns2*)
876238106Sdes		      os=-nextstep2
877238106Sdes			;;
878238106Sdes		    *)
879238106Sdes		      os=-nextstep3
880238106Sdes			;;
881238106Sdes		esac
882238106Sdes		;;
883238106Sdes	nh3000)
884238106Sdes		basic_machine=m68k-harris
885238106Sdes		os=-cxux
886238106Sdes		;;
887238106Sdes	nh[45]000)
888238106Sdes		basic_machine=m88k-harris
889238106Sdes		os=-cxux
890238106Sdes		;;
891238106Sdes	nindy960)
892238106Sdes		basic_machine=i960-intel
893238106Sdes		os=-nindy
894238106Sdes		;;
895238106Sdes	mon960)
896238106Sdes		basic_machine=i960-intel
897238106Sdes		os=-mon960
898238106Sdes		;;
899238106Sdes	nonstopux)
900238106Sdes		basic_machine=mips-compaq
901238106Sdes		os=-nonstopux
902238106Sdes		;;
903238106Sdes	np1)
904238106Sdes		basic_machine=np1-gould
905238106Sdes		;;
906249141Sdes	neo-tandem)
907249141Sdes		basic_machine=neo-tandem
908249141Sdes		;;
909249141Sdes	nse-tandem)
910249141Sdes		basic_machine=nse-tandem
911249141Sdes		;;
912238106Sdes	nsr-tandem)
913238106Sdes		basic_machine=nsr-tandem
914238106Sdes		;;
915238106Sdes	op50n-* | op60c-*)
916238106Sdes		basic_machine=hppa1.1-oki
917238106Sdes		os=-proelf
918238106Sdes		;;
919238106Sdes	openrisc | openrisc-*)
920238106Sdes		basic_machine=or32-unknown
921238106Sdes		;;
922238106Sdes	os400)
923238106Sdes		basic_machine=powerpc-ibm
924238106Sdes		os=-os400
925238106Sdes		;;
926238106Sdes	OSE68000 | ose68000)
927238106Sdes		basic_machine=m68000-ericsson
928238106Sdes		os=-ose
929238106Sdes		;;
930238106Sdes	os68k)
931238106Sdes		basic_machine=m68k-none
932238106Sdes		os=-os68k
933238106Sdes		;;
934238106Sdes	pa-hitachi)
935238106Sdes		basic_machine=hppa1.1-hitachi
936238106Sdes		os=-hiuxwe2
937238106Sdes		;;
938238106Sdes	paragon)
939238106Sdes		basic_machine=i860-intel
940238106Sdes		os=-osf
941238106Sdes		;;
942238106Sdes	parisc)
943238106Sdes		basic_machine=hppa-unknown
944238106Sdes		os=-linux
945238106Sdes		;;
946238106Sdes	parisc-*)
947238106Sdes		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
948238106Sdes		os=-linux
949238106Sdes		;;
950238106Sdes	pbd)
951238106Sdes		basic_machine=sparc-tti
952238106Sdes		;;
953238106Sdes	pbb)
954238106Sdes		basic_machine=m68k-tti
955238106Sdes		;;
956238106Sdes	pc532 | pc532-*)
957238106Sdes		basic_machine=ns32k-pc532
958238106Sdes		;;
959238106Sdes	pc98)
960238106Sdes		basic_machine=i386-pc
961238106Sdes		;;
962238106Sdes	pc98-*)
963238106Sdes		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
964238106Sdes		;;
965238106Sdes	pentium | p5 | k5 | k6 | nexgen | viac3)
966238106Sdes		basic_machine=i586-pc
967238106Sdes		;;
968238106Sdes	pentiumpro | p6 | 6x86 | athlon | athlon_*)
969238106Sdes		basic_machine=i686-pc
970238106Sdes		;;
971238106Sdes	pentiumii | pentium2 | pentiumiii | pentium3)
972238106Sdes		basic_machine=i686-pc
973238106Sdes		;;
974238106Sdes	pentium4)
975238106Sdes		basic_machine=i786-pc
976238106Sdes		;;
977238106Sdes	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
978238106Sdes		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
979238106Sdes		;;
980238106Sdes	pentiumpro-* | p6-* | 6x86-* | athlon-*)
981238106Sdes		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
982238106Sdes		;;
983238106Sdes	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
984238106Sdes		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
985238106Sdes		;;
986238106Sdes	pentium4-*)
987238106Sdes		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
988238106Sdes		;;
989238106Sdes	pn)
990238106Sdes		basic_machine=pn-gould
991238106Sdes		;;
992238106Sdes	power)	basic_machine=power-ibm
993238106Sdes		;;
994249141Sdes	ppc | ppcbe)	basic_machine=powerpc-unknown
995238106Sdes		;;
996249141Sdes	ppc-* | ppcbe-*)
997249141Sdes		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
998238106Sdes		;;
999238106Sdes	ppcle | powerpclittle | ppc-le | powerpc-little)
1000238106Sdes		basic_machine=powerpcle-unknown
1001238106Sdes		;;
1002238106Sdes	ppcle-* | powerpclittle-*)
1003238106Sdes		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1004238106Sdes		;;
1005238106Sdes	ppc64)	basic_machine=powerpc64-unknown
1006238106Sdes		;;
1007238106Sdes	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1008238106Sdes		;;
1009238106Sdes	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1010238106Sdes		basic_machine=powerpc64le-unknown
1011238106Sdes		;;
1012238106Sdes	ppc64le-* | powerpc64little-*)
1013238106Sdes		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1014238106Sdes		;;
1015238106Sdes	ps2)
1016238106Sdes		basic_machine=i386-ibm
1017238106Sdes		;;
1018238106Sdes	pw32)
1019238106Sdes		basic_machine=i586-unknown
1020238106Sdes		os=-pw32
1021238106Sdes		;;
1022238106Sdes	rdos)
1023238106Sdes		basic_machine=i386-pc
1024238106Sdes		os=-rdos
1025238106Sdes		;;
1026238106Sdes	rom68k)
1027238106Sdes		basic_machine=m68k-rom68k
1028238106Sdes		os=-coff
1029238106Sdes		;;
1030238106Sdes	rm[46]00)
1031238106Sdes		basic_machine=mips-siemens
1032238106Sdes		;;
1033238106Sdes	rtpc | rtpc-*)
1034238106Sdes		basic_machine=romp-ibm
1035238106Sdes		;;
1036238106Sdes	s390 | s390-*)
1037238106Sdes		basic_machine=s390-ibm
1038238106Sdes		;;
1039238106Sdes	s390x | s390x-*)
1040238106Sdes		basic_machine=s390x-ibm
1041238106Sdes		;;
1042238106Sdes	sa29200)
1043238106Sdes		basic_machine=a29k-amd
1044238106Sdes		os=-udi
1045238106Sdes		;;
1046238106Sdes	sb1)
1047238106Sdes		basic_machine=mipsisa64sb1-unknown
1048238106Sdes		;;
1049238106Sdes	sb1el)
1050238106Sdes		basic_machine=mipsisa64sb1el-unknown
1051238106Sdes		;;
1052238106Sdes	sde)
1053238106Sdes		basic_machine=mipsisa32-sde
1054238106Sdes		os=-elf
1055238106Sdes		;;
1056238106Sdes	sei)
1057238106Sdes		basic_machine=mips-sei
1058238106Sdes		os=-seiux
1059238106Sdes		;;
1060238106Sdes	sequent)
1061238106Sdes		basic_machine=i386-sequent
1062238106Sdes		;;
1063238106Sdes	sh)
1064238106Sdes		basic_machine=sh-hitachi
1065238106Sdes		os=-hms
1066238106Sdes		;;
1067238106Sdes	sh5el)
1068238106Sdes		basic_machine=sh5le-unknown
1069238106Sdes		;;
1070238106Sdes	sh64)
1071238106Sdes		basic_machine=sh64-unknown
1072238106Sdes		;;
1073238106Sdes	sparclite-wrs | simso-wrs)
1074238106Sdes		basic_machine=sparclite-wrs
1075238106Sdes		os=-vxworks
1076238106Sdes		;;
1077238106Sdes	sps7)
1078238106Sdes		basic_machine=m68k-bull
1079238106Sdes		os=-sysv2
1080238106Sdes		;;
1081238106Sdes	spur)
1082238106Sdes		basic_machine=spur-unknown
1083238106Sdes		;;
1084238106Sdes	st2000)
1085238106Sdes		basic_machine=m68k-tandem
1086238106Sdes		;;
1087238106Sdes	stratus)
1088238106Sdes		basic_machine=i860-stratus
1089238106Sdes		os=-sysv4
1090238106Sdes		;;
1091249141Sdes	strongarm-* | thumb-*)
1092249141Sdes		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093249141Sdes		;;
1094238106Sdes	sun2)
1095238106Sdes		basic_machine=m68000-sun
1096238106Sdes		;;
1097238106Sdes	sun2os3)
1098238106Sdes		basic_machine=m68000-sun
1099238106Sdes		os=-sunos3
1100238106Sdes		;;
1101238106Sdes	sun2os4)
1102238106Sdes		basic_machine=m68000-sun
1103238106Sdes		os=-sunos4
1104238106Sdes		;;
1105238106Sdes	sun3os3)
1106238106Sdes		basic_machine=m68k-sun
1107238106Sdes		os=-sunos3
1108238106Sdes		;;
1109238106Sdes	sun3os4)
1110238106Sdes		basic_machine=m68k-sun
1111238106Sdes		os=-sunos4
1112238106Sdes		;;
1113238106Sdes	sun4os3)
1114238106Sdes		basic_machine=sparc-sun
1115238106Sdes		os=-sunos3
1116238106Sdes		;;
1117238106Sdes	sun4os4)
1118238106Sdes		basic_machine=sparc-sun
1119238106Sdes		os=-sunos4
1120238106Sdes		;;
1121238106Sdes	sun4sol2)
1122238106Sdes		basic_machine=sparc-sun
1123238106Sdes		os=-solaris2
1124238106Sdes		;;
1125238106Sdes	sun3 | sun3-*)
1126238106Sdes		basic_machine=m68k-sun
1127238106Sdes		;;
1128238106Sdes	sun4)
1129238106Sdes		basic_machine=sparc-sun
1130238106Sdes		;;
1131238106Sdes	sun386 | sun386i | roadrunner)
1132238106Sdes		basic_machine=i386-sun
1133238106Sdes		;;
1134238106Sdes	sv1)
1135238106Sdes		basic_machine=sv1-cray
1136238106Sdes		os=-unicos
1137238106Sdes		;;
1138238106Sdes	symmetry)
1139238106Sdes		basic_machine=i386-sequent
1140238106Sdes		os=-dynix
1141238106Sdes		;;
1142238106Sdes	t3e)
1143238106Sdes		basic_machine=alphaev5-cray
1144238106Sdes		os=-unicos
1145238106Sdes		;;
1146238106Sdes	t90)
1147238106Sdes		basic_machine=t90-cray
1148238106Sdes		os=-unicos
1149238106Sdes		;;
1150238106Sdes	tile*)
1151249141Sdes		basic_machine=$basic_machine-unknown
1152238106Sdes		os=-linux-gnu
1153238106Sdes		;;
1154238106Sdes	tx39)
1155238106Sdes		basic_machine=mipstx39-unknown
1156238106Sdes		;;
1157238106Sdes	tx39el)
1158238106Sdes		basic_machine=mipstx39el-unknown
1159238106Sdes		;;
1160238106Sdes	toad1)
1161238106Sdes		basic_machine=pdp10-xkl
1162238106Sdes		os=-tops20
1163238106Sdes		;;
1164238106Sdes	tower | tower-32)
1165238106Sdes		basic_machine=m68k-ncr
1166238106Sdes		;;
1167238106Sdes	tpf)
1168238106Sdes		basic_machine=s390x-ibm
1169238106Sdes		os=-tpf
1170238106Sdes		;;
1171238106Sdes	udi29k)
1172238106Sdes		basic_machine=a29k-amd
1173238106Sdes		os=-udi
1174238106Sdes		;;
1175238106Sdes	ultra3)
1176238106Sdes		basic_machine=a29k-nyu
1177238106Sdes		os=-sym1
1178238106Sdes		;;
1179238106Sdes	v810 | necv810)
1180238106Sdes		basic_machine=v810-nec
1181238106Sdes		os=-none
1182238106Sdes		;;
1183238106Sdes	vaxv)
1184238106Sdes		basic_machine=vax-dec
1185238106Sdes		os=-sysv
1186238106Sdes		;;
1187238106Sdes	vms)
1188238106Sdes		basic_machine=vax-dec
1189238106Sdes		os=-vms
1190238106Sdes		;;
1191238106Sdes	vpp*|vx|vx-*)
1192238106Sdes		basic_machine=f301-fujitsu
1193238106Sdes		;;
1194238106Sdes	vxworks960)
1195238106Sdes		basic_machine=i960-wrs
1196238106Sdes		os=-vxworks
1197238106Sdes		;;
1198238106Sdes	vxworks68)
1199238106Sdes		basic_machine=m68k-wrs
1200238106Sdes		os=-vxworks
1201238106Sdes		;;
1202238106Sdes	vxworks29k)
1203238106Sdes		basic_machine=a29k-wrs
1204238106Sdes		os=-vxworks
1205238106Sdes		;;
1206238106Sdes	w65*)
1207238106Sdes		basic_machine=w65-wdc
1208238106Sdes		os=-none
1209238106Sdes		;;
1210238106Sdes	w89k-*)
1211238106Sdes		basic_machine=hppa1.1-winbond
1212238106Sdes		os=-proelf
1213238106Sdes		;;
1214238106Sdes	xbox)
1215238106Sdes		basic_machine=i686-pc
1216238106Sdes		os=-mingw32
1217238106Sdes		;;
1218238106Sdes	xps | xps100)
1219238106Sdes		basic_machine=xps100-honeywell
1220238106Sdes		;;
1221249141Sdes	xscale-* | xscalee[bl]-*)
1222249141Sdes		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223249141Sdes		;;
1224238106Sdes	ymp)
1225238106Sdes		basic_machine=ymp-cray
1226238106Sdes		os=-unicos
1227238106Sdes		;;
1228238106Sdes	z8k-*-coff)
1229238106Sdes		basic_machine=z8k-unknown
1230238106Sdes		os=-sim
1231238106Sdes		;;
1232238106Sdes	z80-*-coff)
1233238106Sdes		basic_machine=z80-unknown
1234238106Sdes		os=-sim
1235238106Sdes		;;
1236238106Sdes	none)
1237238106Sdes		basic_machine=none-none
1238238106Sdes		os=-none
1239238106Sdes		;;
1240238106Sdes
1241238106Sdes# Here we handle the default manufacturer of certain CPU types.  It is in
1242238106Sdes# some cases the only manufacturer, in others, it is the most popular.
1243238106Sdes	w89k)
1244238106Sdes		basic_machine=hppa1.1-winbond
1245238106Sdes		;;
1246238106Sdes	op50n)
1247238106Sdes		basic_machine=hppa1.1-oki
1248238106Sdes		;;
1249238106Sdes	op60c)
1250238106Sdes		basic_machine=hppa1.1-oki
1251238106Sdes		;;
1252238106Sdes	romp)
1253238106Sdes		basic_machine=romp-ibm
1254238106Sdes		;;
1255238106Sdes	mmix)
1256238106Sdes		basic_machine=mmix-knuth
1257238106Sdes		;;
1258238106Sdes	rs6000)
1259238106Sdes		basic_machine=rs6000-ibm
1260238106Sdes		;;
1261238106Sdes	vax)
1262238106Sdes		basic_machine=vax-dec
1263238106Sdes		;;
1264238106Sdes	pdp10)
1265238106Sdes		# there are many clones, so DEC is not a safe bet
1266238106Sdes		basic_machine=pdp10-unknown
1267238106Sdes		;;
1268238106Sdes	pdp11)
1269238106Sdes		basic_machine=pdp11-dec
1270238106Sdes		;;
1271238106Sdes	we32k)
1272238106Sdes		basic_machine=we32k-att
1273238106Sdes		;;
1274238106Sdes	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1275238106Sdes		basic_machine=sh-unknown
1276238106Sdes		;;
1277238106Sdes	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1278238106Sdes		basic_machine=sparc-sun
1279238106Sdes		;;
1280238106Sdes	cydra)
1281238106Sdes		basic_machine=cydra-cydrome
1282238106Sdes		;;
1283238106Sdes	orion)
1284238106Sdes		basic_machine=orion-highlevel
1285238106Sdes		;;
1286238106Sdes	orion105)
1287238106Sdes		basic_machine=clipper-highlevel
1288238106Sdes		;;
1289238106Sdes	mac | mpw | mac-mpw)
1290238106Sdes		basic_machine=m68k-apple
1291238106Sdes		;;
1292238106Sdes	pmac | pmac-mpw)
1293238106Sdes		basic_machine=powerpc-apple
1294238106Sdes		;;
1295238106Sdes	*-unknown)
1296238106Sdes		# Make sure to match an already-canonicalized machine name.
1297238106Sdes		;;
1298238106Sdes	*)
1299238106Sdes		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1300238106Sdes		exit 1
1301238106Sdes		;;
1302238106Sdesesac
1303238106Sdes
1304238106Sdes# Here we canonicalize certain aliases for manufacturers.
1305238106Sdescase $basic_machine in
1306238106Sdes	*-digital*)
1307238106Sdes		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1308238106Sdes		;;
1309238106Sdes	*-commodore*)
1310238106Sdes		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1311238106Sdes		;;
1312238106Sdes	*)
1313238106Sdes		;;
1314238106Sdesesac
1315238106Sdes
1316238106Sdes# Decode manufacturer-specific aliases for certain operating systems.
1317238106Sdes
1318238106Sdesif [ x"$os" != x"" ]
1319238106Sdesthen
1320238106Sdescase $os in
1321249141Sdes	# First match some system type aliases
1322249141Sdes	# that might get confused with valid system types.
1323238106Sdes	# -solaris* is a basic system type, with this one exception.
1324249141Sdes	-auroraux)
1325249141Sdes		os=-auroraux
1326238106Sdes		;;
1327238106Sdes	-solaris1 | -solaris1.*)
1328238106Sdes		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1329238106Sdes		;;
1330238106Sdes	-solaris)
1331238106Sdes		os=-solaris2
1332238106Sdes		;;
1333238106Sdes	-svr4*)
1334238106Sdes		os=-sysv4
1335238106Sdes		;;
1336238106Sdes	-unixware*)
1337238106Sdes		os=-sysv4.2uw
1338238106Sdes		;;
1339238106Sdes	-gnu/linux*)
1340238106Sdes		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1341238106Sdes		;;
1342238106Sdes	# First accept the basic system types.
1343238106Sdes	# The portable systems comes first.
1344238106Sdes	# Each alternative MUST END IN A *, to match a version number.
1345238106Sdes	# -sysv* is not here because it comes later, after sysvr4.
1346238106Sdes	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1347238106Sdes	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348238106Sdes	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349238106Sdes	      | -sym* | -kopensolaris* \
1350238106Sdes	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1351238106Sdes	      | -aos* | -aros* \
1352238106Sdes	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1353238106Sdes	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1354238106Sdes	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1355238106Sdes	      | -openbsd* | -solidbsd* \
1356238106Sdes	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1357238106Sdes	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1358238106Sdes	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1359238106Sdes	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1360238106Sdes	      | -chorusos* | -chorusrdb* | -cegcc* \
1361249141Sdes	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362249141Sdes	      | -mingw32* | -linux-gnu* | -linux-android* \
1363249141Sdes	      | -linux-newlib* | -linux-uclibc* \
1364238106Sdes	      | -uxpv* | -beos* | -mpeix* | -udk* \
1365238106Sdes	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1366238106Sdes	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1367238106Sdes	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1368238106Sdes	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1369238106Sdes	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1370238106Sdes	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1371238106Sdes	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1372238106Sdes	# Remember, each alternative MUST END IN *, to match a version number.
1373238106Sdes		;;
1374238106Sdes	-qnx*)
1375238106Sdes		case $basic_machine in
1376238106Sdes		    x86-* | i*86-*)
1377238106Sdes			;;
1378238106Sdes		    *)
1379238106Sdes			os=-nto$os
1380238106Sdes			;;
1381238106Sdes		esac
1382238106Sdes		;;
1383238106Sdes	-nto-qnx*)
1384238106Sdes		;;
1385238106Sdes	-nto*)
1386238106Sdes		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1387238106Sdes		;;
1388238106Sdes	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1389238106Sdes	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1390238106Sdes	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1391238106Sdes		;;
1392238106Sdes	-mac*)
1393238106Sdes		os=`echo $os | sed -e 's|mac|macos|'`
1394238106Sdes		;;
1395238106Sdes	-linux-dietlibc)
1396238106Sdes		os=-linux-dietlibc
1397238106Sdes		;;
1398238106Sdes	-linux*)
1399238106Sdes		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1400238106Sdes		;;
1401238106Sdes	-sunos5*)
1402238106Sdes		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1403238106Sdes		;;
1404238106Sdes	-sunos6*)
1405238106Sdes		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1406238106Sdes		;;
1407238106Sdes	-opened*)
1408238106Sdes		os=-openedition
1409238106Sdes		;;
1410249141Sdes	-os400*)
1411238106Sdes		os=-os400
1412238106Sdes		;;
1413238106Sdes	-wince*)
1414238106Sdes		os=-wince
1415238106Sdes		;;
1416238106Sdes	-osfrose*)
1417238106Sdes		os=-osfrose
1418238106Sdes		;;
1419238106Sdes	-osf*)
1420238106Sdes		os=-osf
1421238106Sdes		;;
1422238106Sdes	-utek*)
1423238106Sdes		os=-bsd
1424238106Sdes		;;
1425238106Sdes	-dynix*)
1426238106Sdes		os=-bsd
1427238106Sdes		;;
1428238106Sdes	-acis*)
1429238106Sdes		os=-aos
1430238106Sdes		;;
1431238106Sdes	-atheos*)
1432238106Sdes		os=-atheos
1433238106Sdes		;;
1434238106Sdes	-syllable*)
1435238106Sdes		os=-syllable
1436238106Sdes		;;
1437238106Sdes	-386bsd)
1438238106Sdes		os=-bsd
1439238106Sdes		;;
1440238106Sdes	-ctix* | -uts*)
1441238106Sdes		os=-sysv
1442238106Sdes		;;
1443238106Sdes	-nova*)
1444238106Sdes		os=-rtmk-nova
1445238106Sdes		;;
1446238106Sdes	-ns2 )
1447238106Sdes		os=-nextstep2
1448238106Sdes		;;
1449238106Sdes	-nsk*)
1450238106Sdes		os=-nsk
1451238106Sdes		;;
1452238106Sdes	# Preserve the version number of sinix5.
1453238106Sdes	-sinix5.*)
1454238106Sdes		os=`echo $os | sed -e 's|sinix|sysv|'`
1455238106Sdes		;;
1456238106Sdes	-sinix*)
1457238106Sdes		os=-sysv4
1458238106Sdes		;;
1459249141Sdes	-tpf*)
1460238106Sdes		os=-tpf
1461238106Sdes		;;
1462238106Sdes	-triton*)
1463238106Sdes		os=-sysv3
1464238106Sdes		;;
1465238106Sdes	-oss*)
1466238106Sdes		os=-sysv3
1467238106Sdes		;;
1468238106Sdes	-svr4)
1469238106Sdes		os=-sysv4
1470238106Sdes		;;
1471238106Sdes	-svr3)
1472238106Sdes		os=-sysv3
1473238106Sdes		;;
1474238106Sdes	-sysvr4)
1475238106Sdes		os=-sysv4
1476238106Sdes		;;
1477238106Sdes	# This must come after -sysvr4.
1478238106Sdes	-sysv*)
1479238106Sdes		;;
1480238106Sdes	-ose*)
1481238106Sdes		os=-ose
1482238106Sdes		;;
1483238106Sdes	-es1800*)
1484238106Sdes		os=-ose
1485238106Sdes		;;
1486238106Sdes	-xenix)
1487238106Sdes		os=-xenix
1488238106Sdes		;;
1489238106Sdes	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1490238106Sdes		os=-mint
1491238106Sdes		;;
1492238106Sdes	-aros*)
1493238106Sdes		os=-aros
1494238106Sdes		;;
1495238106Sdes	-kaos*)
1496238106Sdes		os=-kaos
1497238106Sdes		;;
1498238106Sdes	-zvmoe)
1499238106Sdes		os=-zvmoe
1500238106Sdes		;;
1501238106Sdes	-dicos*)
1502238106Sdes		os=-dicos
1503238106Sdes		;;
1504249141Sdes	-nacl*)
1505249141Sdes		;;
1506238106Sdes	-none)
1507238106Sdes		;;
1508238106Sdes	*)
1509238106Sdes		# Get rid of the `-' at the beginning of $os.
1510238106Sdes		os=`echo $os | sed 's/[^-]*-//'`
1511238106Sdes		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1512238106Sdes		exit 1
1513238106Sdes		;;
1514238106Sdesesac
1515238106Sdeselse
1516238106Sdes
1517238106Sdes# Here we handle the default operating systems that come with various machines.
1518238106Sdes# The value should be what the vendor currently ships out the door with their
1519238106Sdes# machine or put another way, the most popular os provided with the machine.
1520238106Sdes
1521238106Sdes# Note that if you're going to try to match "-MANUFACTURER" here (say,
1522238106Sdes# "-sun"), then you have to tell the case statement up towards the top
1523238106Sdes# that MANUFACTURER isn't an operating system.  Otherwise, code above
1524238106Sdes# will signal an error saying that MANUFACTURER isn't an operating
1525238106Sdes# system, and we'll never get to this point.
1526238106Sdes
1527238106Sdescase $basic_machine in
1528249141Sdes	score-*)
1529238106Sdes		os=-elf
1530238106Sdes		;;
1531249141Sdes	spu-*)
1532238106Sdes		os=-elf
1533238106Sdes		;;
1534238106Sdes	*-acorn)
1535238106Sdes		os=-riscix1.2
1536238106Sdes		;;
1537238106Sdes	arm*-rebel)
1538238106Sdes		os=-linux
1539238106Sdes		;;
1540238106Sdes	arm*-semi)
1541238106Sdes		os=-aout
1542238106Sdes		;;
1543249141Sdes	c4x-* | tic4x-*)
1544249141Sdes		os=-coff
1545238106Sdes		;;
1546249141Sdes	hexagon-*)
1547249141Sdes		os=-elf
1548249141Sdes		;;
1549249141Sdes	tic54x-*)
1550249141Sdes		os=-coff
1551249141Sdes		;;
1552249141Sdes	tic55x-*)
1553249141Sdes		os=-coff
1554249141Sdes		;;
1555249141Sdes	tic6x-*)
1556249141Sdes		os=-coff
1557249141Sdes		;;
1558238106Sdes	# This must come before the *-dec entry.
1559238106Sdes	pdp10-*)
1560238106Sdes		os=-tops20
1561238106Sdes		;;
1562238106Sdes	pdp11-*)
1563238106Sdes		os=-none
1564238106Sdes		;;
1565238106Sdes	*-dec | vax-*)
1566238106Sdes		os=-ultrix4.2
1567238106Sdes		;;
1568238106Sdes	m68*-apollo)
1569238106Sdes		os=-domain
1570238106Sdes		;;
1571238106Sdes	i386-sun)
1572238106Sdes		os=-sunos4.0.2
1573238106Sdes		;;
1574238106Sdes	m68000-sun)
1575238106Sdes		os=-sunos3
1576238106Sdes		;;
1577238106Sdes	m68*-cisco)
1578238106Sdes		os=-aout
1579238106Sdes		;;
1580249141Sdes	mep-*)
1581238106Sdes		os=-elf
1582238106Sdes		;;
1583238106Sdes	mips*-cisco)
1584238106Sdes		os=-elf
1585238106Sdes		;;
1586238106Sdes	mips*-*)
1587238106Sdes		os=-elf
1588238106Sdes		;;
1589238106Sdes	or32-*)
1590238106Sdes		os=-coff
1591238106Sdes		;;
1592238106Sdes	*-tti)	# must be before sparc entry or we get the wrong os.
1593238106Sdes		os=-sysv3
1594238106Sdes		;;
1595238106Sdes	sparc-* | *-sun)
1596238106Sdes		os=-sunos4.1.1
1597238106Sdes		;;
1598238106Sdes	*-be)
1599238106Sdes		os=-beos
1600238106Sdes		;;
1601238106Sdes	*-haiku)
1602238106Sdes		os=-haiku
1603238106Sdes		;;
1604238106Sdes	*-ibm)
1605238106Sdes		os=-aix
1606238106Sdes		;;
1607249141Sdes	*-knuth)
1608238106Sdes		os=-mmixware
1609238106Sdes		;;
1610238106Sdes	*-wec)
1611238106Sdes		os=-proelf
1612238106Sdes		;;
1613238106Sdes	*-winbond)
1614238106Sdes		os=-proelf
1615238106Sdes		;;
1616238106Sdes	*-oki)
1617238106Sdes		os=-proelf
1618238106Sdes		;;
1619238106Sdes	*-hp)
1620238106Sdes		os=-hpux
1621238106Sdes		;;
1622238106Sdes	*-hitachi)
1623238106Sdes		os=-hiux
1624238106Sdes		;;
1625238106Sdes	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1626238106Sdes		os=-sysv
1627238106Sdes		;;
1628238106Sdes	*-cbm)
1629238106Sdes		os=-amigaos
1630238106Sdes		;;
1631238106Sdes	*-dg)
1632238106Sdes		os=-dgux
1633238106Sdes		;;
1634238106Sdes	*-dolphin)
1635238106Sdes		os=-sysv3
1636238106Sdes		;;
1637238106Sdes	m68k-ccur)
1638238106Sdes		os=-rtu
1639238106Sdes		;;
1640238106Sdes	m88k-omron*)
1641238106Sdes		os=-luna
1642238106Sdes		;;
1643238106Sdes	*-next )
1644238106Sdes		os=-nextstep
1645238106Sdes		;;
1646238106Sdes	*-sequent)
1647238106Sdes		os=-ptx
1648238106Sdes		;;
1649238106Sdes	*-crds)
1650238106Sdes		os=-unos
1651238106Sdes		;;
1652238106Sdes	*-ns)
1653238106Sdes		os=-genix
1654238106Sdes		;;
1655238106Sdes	i370-*)
1656238106Sdes		os=-mvs
1657238106Sdes		;;
1658238106Sdes	*-next)
1659238106Sdes		os=-nextstep3
1660238106Sdes		;;
1661238106Sdes	*-gould)
1662238106Sdes		os=-sysv
1663238106Sdes		;;
1664238106Sdes	*-highlevel)
1665238106Sdes		os=-bsd
1666238106Sdes		;;
1667238106Sdes	*-encore)
1668238106Sdes		os=-bsd
1669238106Sdes		;;
1670238106Sdes	*-sgi)
1671238106Sdes		os=-irix
1672238106Sdes		;;
1673238106Sdes	*-siemens)
1674238106Sdes		os=-sysv4
1675238106Sdes		;;
1676238106Sdes	*-masscomp)
1677238106Sdes		os=-rtu
1678238106Sdes		;;
1679238106Sdes	f30[01]-fujitsu | f700-fujitsu)
1680238106Sdes		os=-uxpv
1681238106Sdes		;;
1682238106Sdes	*-rom68k)
1683238106Sdes		os=-coff
1684238106Sdes		;;
1685238106Sdes	*-*bug)
1686238106Sdes		os=-coff
1687238106Sdes		;;
1688238106Sdes	*-apple)
1689238106Sdes		os=-macos
1690238106Sdes		;;
1691238106Sdes	*-atari*)
1692238106Sdes		os=-mint
1693238106Sdes		;;
1694238106Sdes	*)
1695238106Sdes		os=-none
1696238106Sdes		;;
1697238106Sdesesac
1698238106Sdesfi
1699238106Sdes
1700238106Sdes# Here we handle the case where we know the os, and the CPU type, but not the
1701238106Sdes# manufacturer.  We pick the logical manufacturer.
1702238106Sdesvendor=unknown
1703238106Sdescase $basic_machine in
1704238106Sdes	*-unknown)
1705238106Sdes		case $os in
1706238106Sdes			-riscix*)
1707238106Sdes				vendor=acorn
1708238106Sdes				;;
1709238106Sdes			-sunos*)
1710238106Sdes				vendor=sun
1711238106Sdes				;;
1712238106Sdes			-cnk*|-aix*)
1713238106Sdes				vendor=ibm
1714238106Sdes				;;
1715238106Sdes			-beos*)
1716238106Sdes				vendor=be
1717238106Sdes				;;
1718238106Sdes			-hpux*)
1719238106Sdes				vendor=hp
1720238106Sdes				;;
1721238106Sdes			-mpeix*)
1722238106Sdes				vendor=hp
1723238106Sdes				;;
1724238106Sdes			-hiux*)
1725238106Sdes				vendor=hitachi
1726238106Sdes				;;
1727238106Sdes			-unos*)
1728238106Sdes				vendor=crds
1729238106Sdes				;;
1730238106Sdes			-dgux*)
1731238106Sdes				vendor=dg
1732238106Sdes				;;
1733238106Sdes			-luna*)
1734238106Sdes				vendor=omron
1735238106Sdes				;;
1736238106Sdes			-genix*)
1737238106Sdes				vendor=ns
1738238106Sdes				;;
1739238106Sdes			-mvs* | -opened*)
1740238106Sdes				vendor=ibm
1741238106Sdes				;;
1742238106Sdes			-os400*)
1743238106Sdes				vendor=ibm
1744238106Sdes				;;
1745238106Sdes			-ptx*)
1746238106Sdes				vendor=sequent
1747238106Sdes				;;
1748238106Sdes			-tpf*)
1749238106Sdes				vendor=ibm
1750238106Sdes				;;
1751238106Sdes			-vxsim* | -vxworks* | -windiss*)
1752238106Sdes				vendor=wrs
1753238106Sdes				;;
1754238106Sdes			-aux*)
1755238106Sdes				vendor=apple
1756238106Sdes				;;
1757238106Sdes			-hms*)
1758238106Sdes				vendor=hitachi
1759238106Sdes				;;
1760238106Sdes			-mpw* | -macos*)
1761238106Sdes				vendor=apple
1762238106Sdes				;;
1763238106Sdes			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1764238106Sdes				vendor=atari
1765238106Sdes				;;
1766238106Sdes			-vos*)
1767238106Sdes				vendor=stratus
1768238106Sdes				;;
1769238106Sdes		esac
1770238106Sdes		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1771238106Sdes		;;
1772238106Sdesesac
1773238106Sdes
1774238106Sdesecho $basic_machine$os
1775238106Sdesexit
1776238106Sdes
1777238106Sdes# Local variables:
1778238106Sdes# eval: (add-hook 'write-file-hooks 'time-stamp)
1779238106Sdes# time-stamp-start: "timestamp='"
1780238106Sdes# time-stamp-format: "%:y-%02m-%02d"
1781238106Sdes# time-stamp-end: "'"
1782238106Sdes# End:
1783