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