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