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