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