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