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