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