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