xref: /openbsd-src/gnu/lib/libreadline/support/config.sub (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1#! /bin/sh
2# Configuration validation subroutine script, version 1.1.
3#   Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
4# This file is (in principle) common to ALL GNU software.
5# The presence of a machine in this file suggests that SOME GNU software
6# can handle that machine.  It does not imply ALL GNU software can.
7#
8# This file is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA.
22
23# As a special exception to the GNU General Public License, if you
24# distribute this file as part of a program that contains a
25# configuration script generated by Autoconf, you may include it under
26# the same distribution terms that you use for the rest of that program.
27
28# Configuration subroutine to validate and canonicalize a configuration type.
29# Supply the specified configuration type as an argument.
30# If it is invalid, we print an error message on stderr and exit with code 1.
31# Otherwise, we print the canonical config type on stdout and succeed.
32
33# This file is supposed to be the same for all GNU packages
34# and recognize all the CPU types, system types and aliases
35# that are meaningful with *any* GNU software.
36# Each package is responsible for reporting which valid configurations
37# it does not support.  The user should be able to distinguish
38# a failure to support a valid configuration from a meaningless
39# configuration.
40
41# The goal of this file is to map all the various variations of a given
42# machine specification into a single specification in the form:
43#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
44# or in some cases, the newer four-part form:
45#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
46# It is wrong to echo any other type of specification.
47
48if [ x$1 = x ]
49then
50	echo Configuration name missing. 1>&2
51	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
52	echo "or     $0 ALIAS" 1>&2
53	echo where ALIAS is a recognized configuration type. 1>&2
54	exit 1
55fi
56
57# First pass through any local machine types.
58case $1 in
59	*local*)
60		echo $1
61		exit 0
62		;;
63	*)
64	;;
65esac
66
67# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
68# Here we must recognize all the valid KERNEL-OS combinations.
69maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
70case $maybe_os in
71  linux-gnu*)
72    os=-$maybe_os
73    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
74    ;;
75  *)
76    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
77    if [ $basic_machine != $1 ]
78    then os=`echo $1 | sed 's/.*-/-/'`
79    else os=; fi
80    ;;
81esac
82
83### Let's recognize common machines as not being operating systems so
84### that things like config.sub decstation-3100 work.  We also
85### recognize some manufacturers as not being operating systems, so we
86### can provide default operating systems below.
87case $os in
88	-sun*os*)
89		# Prevent following clause from handling this invalid input.
90		;;
91	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
92	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
93	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
94	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
95	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
96	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
97	-apple )
98		os=
99		basic_machine=$1
100		;;
101	-sim | -cisco | -oki | -wec | -winbond)
102		os=
103		basic_machine=$1
104		;;
105	-scout)
106		;;
107	-wrs)
108		os=vxworks
109		basic_machine=$1
110		;;
111	-hiux*)
112		os=-hiuxwe2
113		;;
114	-sco5)
115		os=-sco3.2v5
116		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
117		;;
118	-sco4)
119		os=-sco3.2v4
120		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
121		;;
122	-sco3.2.[4-9]*)
123		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
124		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
125		;;
126	-sco3.2v[4-9]*)
127		# Don't forget version if it is 3.2v4 or newer.
128		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
129		;;
130	-sco*)
131		os=-sco3.2v2
132		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
133		;;
134	-udk*)
135		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
136		;;
137	-isc)
138		os=-isc2.2
139		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
140		;;
141	-clix*)
142		basic_machine=clipper-intergraph
143		;;
144	-isc*)
145		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
146		;;
147	-lynx*)
148		os=-lynxos
149		;;
150	-ptx*)
151		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
152		;;
153	-windowsnt*)
154		os=`echo $os | sed -e 's/windowsnt/winnt/'`
155		;;
156	-psos*)
157		os=-psos
158		;;
159esac
160
161# Decode aliases for certain CPU-COMPANY combinations.
162case $basic_machine in
163	# Recognize the basic CPU types without company name.
164	# Some are omitted here because they have special meanings below.
165	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
166		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
167		| 580 | i960 | h8300 \
168		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
169		| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
170		| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
171		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
172		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
173		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
174		| mips64vr5000 | miprs64vr5000el | mcore \
175		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
176	        | thumb | d10v)
177		basic_machine=$basic_machine-unknown
178		;;
179	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
180		;;
181
182	# We use `pc' rather than `unknown'
183	# because (1) that's what they normally are, and
184	# (2) the word "unknown" tends to confuse beginning users.
185	i[34567]86)
186	  basic_machine=$basic_machine-pc
187	  ;;
188	# Object if more than one company name word.
189	*-*-*)
190		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
191		exit 1
192		;;
193	# Recognize the basic CPU types with company name.
194	# FIXME: clean up the formatting here.
195	vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
196	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
197	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
198	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
199	      | xmp-* | ymp-* \
200	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
201	      | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
202	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
203	      | clipper-* | orion-* \
204	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
205	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
206	      | mips64el-* | mips64orion-* | mips64orionel-* \
207	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
208	      | mipstx39-* | mipstx39el-* | mcore-* \
209	      | f301-* | armv*-* | t3e-* \
210	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
211	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* )
212		;;
213	# BEGIN cases added for Bash
214	butterfly-bbn* | cadmus-* | ews*-nec | ibmrt-ibm* | masscomp-masscomp \
215	      | tandem-* | symmetric-* | drs6000-icl | *-*ardent | gould-gould \
216	      | concurrent-* | ksr1-* | esa-ibm | fxc-alliant | *370-amdahl \
217	      | *-convex | sx[45]*-nec )
218		;;
219	# END cases added for Bash
220
221	# Recognize the various machine names and aliases which stand
222	# for a CPU type and a company and sometimes even an OS.
223	386bsd)
224		basic_machine=i386-unknown
225		os=-bsd
226		;;
227	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
228		basic_machine=m68000-att
229		;;
230	3b*)
231		basic_machine=we32k-att
232		;;
233	a29khif)
234		basic_machine=a29k-amd
235		os=-udi
236		;;
237	adobe68k)
238		basic_machine=m68010-adobe
239		os=-scout
240		;;
241	alliant | fx80)
242		basic_machine=fx80-alliant
243		;;
244	altos | altos3068)
245		basic_machine=m68k-altos
246		;;
247	am29k)
248		basic_machine=a29k-none
249		os=-bsd
250		;;
251	amdahl)
252		basic_machine=580-amdahl
253		os=-sysv
254		;;
255	amiga | amiga-*)
256#		basic_machine=m68k-cbm
257		basic_machine=m68k-unknown
258		;;
259	amigaos | amigados)
260		basic_machine=m68k-cbm
261		os=-amigaos
262		;;
263	amigaunix | amix)
264		basic_machine=m68k-cbm
265		os=-sysv4
266		;;
267	apollo68)
268		basic_machine=m68k-apollo
269		os=-sysv
270		;;
271	apollo68bsd)
272		basic_machine=m68k-apollo
273		os=-bsd
274		;;
275	aux)
276		basic_machine=m68k-apple
277		os=-aux
278		;;
279	balance)
280		basic_machine=ns32k-sequent
281		os=-dynix
282		;;
283	convex-c1)
284		basic_machine=c1-convex
285		os=-bsd
286		;;
287	convex-c2)
288		basic_machine=c2-convex
289		os=-bsd
290		;;
291	convex-c32)
292		basic_machine=c32-convex
293		os=-bsd
294		;;
295	convex-c34)
296		basic_machine=c34-convex
297		os=-bsd
298		;;
299	convex-c38)
300		basic_machine=c38-convex
301		os=-bsd
302		;;
303	cray | ymp)
304		basic_machine=ymp-cray
305		os=-unicos
306		;;
307	cray2)
308		basic_machine=cray2-cray
309		os=-unicos
310		;;
311	[ctj]90-cray)
312		basic_machine=c90-cray
313		os=-unicos
314		;;
315	crds | unos)
316		basic_machine=m68k-crds
317		;;
318	da30 | da30-*)
319		basic_machine=m68k-da30
320		;;
321	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
322		basic_machine=mips-dec
323		;;
324	delta | 3300 | motorola-3300 | motorola-delta \
325	      | 3300-motorola | delta-motorola)
326		basic_machine=m68k-motorola
327		;;
328	delta88)
329		basic_machine=m88k-motorola
330		os=-sysv3
331		;;
332	dpx20 | dpx20-*)
333		basic_machine=rs6000-bull
334		os=-bosx
335		;;
336	dpx2* | dpx2*-bull)
337		basic_machine=m68k-bull
338		os=-sysv3
339		;;
340	hbullx20-bull)
341		basic_machine=m68k-bull
342		;;
343	ebmon29k)
344		basic_machine=a29k-amd
345		os=-ebmon
346		;;
347	elxsi)
348		basic_machine=elxsi-elxsi
349		os=-bsd
350		;;
351	encore | umax | mmax | multimax)
352		basic_machine=ns32k-encore
353		;;
354	es1800 | OSE68k | ose68k | ose | OSE)
355		basic_machine=m68k-ericsson
356		os=-ose
357		;;
358	fx2800)
359		basic_machine=i860-alliant
360		;;
361	genix)
362		basic_machine=ns32k-ns
363		;;
364	gmicro)
365		basic_machine=tron-gmicro
366		os=-sysv
367		;;
368	h3050r* | hiux*)
369		basic_machine=hppa1.1-hitachi
370		os=-hiuxwe2
371		;;
372	h8300hms)
373		basic_machine=h8300-hitachi
374		os=-hms
375		;;
376	h8300xray)
377		basic_machine=h8300-hitachi
378		os=-xray
379		;;
380	h8500hms)
381		basic_machine=h8500-hitachi
382		os=-hms
383		;;
384	harris)
385		basic_machine=m88k-harris
386		os=-sysv3
387		;;
388	hp300-*)
389		basic_machine=m68k-hp
390		;;
391	hp300bsd)
392		basic_machine=m68k-hp
393		os=-bsd
394		;;
395	hp300hpux)
396		basic_machine=m68k-hp
397		os=-hpux
398		;;
399	hp3k9[0-9][0-9] | hp9[0-9][0-9])
400		basic_machine=hppa1.0-hp
401		;;
402	hp9k2[0-9][0-9] | hp9k31[0-9])
403		basic_machine=m68000-hp
404		;;
405	hp9k3[2-9][0-9])
406		basic_machine=m68k-hp
407		;;
408	hp9k6[0-9][0-9] | hp6[0-9][0-9])
409		basic_machine=hppa1.0-hp
410		;;
411	hp9k7[0-79][0-9] | hp7[0-79][0-9])
412		basic_machine=hppa1.1-hp
413		;;
414	hp9k78[0-9] | hp78[0-9])
415		# FIXME: really hppa2.0-hp
416		basic_machine=hppa1.1-hp
417		;;
418	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
419		# FIXME: really hppa2.0-hp
420		basic_machine=hppa1.1-hp
421		;;
422	hp9k8[0-9][13679] | hp8[0-9][13679])
423		basic_machine=hppa1.1-hp
424		;;
425	hp9k8[0-9][0-9] | hp8[0-9][0-9])
426		basic_machine=hppa1.0-hp
427		;;
428	hppa-next)
429		os=-nextstep3
430		;;
431	hppaosf)
432		basic_machine=hppa1.1-hp
433		os=-osf
434		;;
435	hppro)
436		basic_machine=hppa1.1-hp
437		os=-proelf
438		;;
439	ibm032-*)
440		basic_machine=ibmrt-ibm
441		;;
442	i370-ibm* | ibm*)
443		basic_machine=i370-ibm
444		os=-mvs
445		;;
446# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
447	i[34567]86v32)
448		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
449		os=-sysv32
450		;;
451	i[34567]86v4*)
452		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
453		os=-sysv4
454		;;
455	i[34567]86v)
456		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
457		os=-sysv
458		;;
459	i[34567]86sol2)
460		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
461		os=-solaris2
462		;;
463	i386mach)
464		basic_machine=i386-mach
465		os=-mach
466		;;
467	i386-vsta | vsta)
468		basic_machine=i386-unknown
469		os=-vsta
470		;;
471	i386-go32 | go32)
472		basic_machine=i386-unknown
473		os=-go32
474		;;
475	i386-mingw32 | mingw32)
476		basic_machine=i386-unknown
477		os=-mingw32
478		;;
479	iris | iris4d)
480		basic_machine=mips-sgi
481		case $os in
482		    -irix*)
483			;;
484		    *)
485			os=-irix4
486			;;
487		esac
488		;;
489	isi68 | isi)
490		basic_machine=m68k-isi
491		os=-sysv
492		;;
493	luna88k-omron* | m88k-omron*)
494		basic_machine=m88k-omron
495		;;
496	magicstation*)
497		basic_machine=magicstation-unknown
498		;;
499	magnum | m3230)
500		basic_machine=mips-mips
501		os=-sysv
502		;;
503	merlin)
504		basic_machine=ns32k-utek
505		os=-sysv
506		;;
507	miniframe)
508		basic_machine=m68000-convergent
509		;;
510	*mint | *MiNT)
511		basic_machine=m68k-atari
512		os=-mint
513		;;
514	mipsel*-linux*)
515		basic_machine=mipsel-unknown
516		os=-linux-gnu
517		;;
518	mips*-linux*)
519		basic_machine=mips-unknown
520		os=-linux-gnu
521		;;
522	mips3*-*)
523		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
524		;;
525	mips3*)
526		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
527		;;
528	monitor)
529		basic_machine=m68k-rom68k
530		os=-coff
531		;;
532	msdos)
533		basic_machine=i386-unknown
534		os=-msdos
535		;;
536	ncr3000)
537		basic_machine=i486-ncr
538		os=-sysv4
539		;;
540	netbsd386)
541		basic_machine=i386-unknown
542		os=-netbsd
543		;;
544	netwinder)
545		basic_machine=armv4l-corel
546		os=-linux
547		;;
548	news | news700 | news800 | news900)
549		basic_machine=m68k-sony
550		os=-newsos
551		;;
552	news1000)
553		basic_machine=m68030-sony
554		os=-newsos
555		;;
556	news-3600 | risc-news)
557		basic_machine=mips-sony
558		os=-newsos
559		;;
560        necv70)
561                basic_machine=v70-nec
562                os=-sysv
563                ;;
564	next | m*-next )
565		basic_machine=m68k-next
566		case $os in
567		    -nextstep* )
568			;;
569		    -ns2*)
570		      os=-nextstep2
571			;;
572		    *)
573		      os=-nextstep3
574			;;
575		esac
576		;;
577	nh3000)
578		basic_machine=m68k-harris
579		os=-cxux
580		;;
581	nh[45]000)
582		basic_machine=m88k-harris
583		os=-cxux
584		;;
585	nindy960)
586		basic_machine=i960-intel
587		os=-nindy
588		;;
589        mon960)
590                basic_machine=i960-intel
591                os=-mon960
592                ;;
593	np1)
594		basic_machine=np1-gould
595		;;
596	osr5 | sco5)	# SCO Open Server
597		basic_machine=i386-pc
598		os=-sco3.2v5
599		;;
600	odt | odt3 | odt4)	# SCO Open Desktop
601		basic_machine=i386-pc
602		os=-sco3.2v4
603		;;
604        op50n-* | op60c-*)
605                basic_machine=hppa1.1-oki
606                os=-proelf
607                ;;
608        OSE68000 | ose68000)
609                basic_machine=m68000-ericsson
610                os=-ose
611                ;;
612        os68k)
613                basic_machine=m68k-none
614                os=-os68k
615                ;;
616	pa-hitachi)
617		basic_machine=hppa1.1-hitachi
618		os=-hiuxwe2
619		;;
620	paragon)
621		basic_machine=i860-intel
622		os=-osf
623		;;
624	pbd)
625		basic_machine=sparc-tti
626		;;
627	pbb)
628		basic_machine=m68k-tti
629		;;
630	pc532 | pc532-*)
631		basic_machine=ns32k-pc532
632		;;
633	pentium | p5 | k5 | k6 | nexen)
634		basic_machine=i586-intel
635		;;
636        pentiumpro | p6 | 6x86)
637                basic_machine=i686-pc
638                ;;
639	pentiumii | pentium2)
640		basic_machine=i786-pc
641		;;
642	pentium-* | p5-* | k5-* | k6-* | nexen-*)
643		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
644		;;
645	pentiumpro-* | p6-* | 6x86*)
646		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
647		;;
648	pentiumii-* | pentium2-*)
649		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
650		;;
651	pn)
652		basic_machine=pn-gould
653		;;
654	power)	basic_machine=rs6000-ibm
655		;;
656	ppc)	basic_machine=powerpc-unknown
657		;;
658	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
659		;;
660	ppcle | powerpclittle | ppc-le | powerpc-little)
661		basic_machine=powerpcle-unknown
662		;;
663	ppcle-* | powerpclittle-*)
664		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
665		;;
666	ps2)
667		basic_machine=i386-ibm
668		;;
669        rom68k)
670                basic_machine=m68k-rom68k
671                os=-coff
672                ;;
673	rm[46]00)
674		basic_machine=mips-siemens
675		;;
676	rtpc | rtpc-*)
677		basic_machine=romp-ibm
678		;;
679        sa29200)
680                basic_machine=a29k-amd
681                os=-udi
682                ;;
683	sequent)
684		basic_machine=i386-sequent
685		;;
686	sh)
687		basic_machine=sh-hitachi
688		os=-hms
689		;;
690        sparclite-wrs)
691                basic_machine=sparclite-wrs
692                os=-vxworks
693                ;;
694	sps7)
695		basic_machine=m68k-bull
696		os=-sysv2
697		;;
698	spur)
699		basic_machine=spur-unknown
700		;;
701        st2000)
702                basic_machine=m68k-tandem
703                ;;
704        stratus)
705                basic_machine=i860-stratus
706                os=-sysv4
707                ;;
708	sun2)
709		basic_machine=m68000-sun
710		;;
711	sun2os3)
712		basic_machine=m68000-sun
713		os=-sunos3
714		;;
715	sun2os4)
716		basic_machine=m68000-sun
717		os=-sunos4
718		;;
719	sun3os3)
720		basic_machine=m68k-sun
721		os=-sunos3
722		;;
723	sun3os4)
724		basic_machine=m68k-sun
725		os=-sunos4
726		;;
727	sun4os3)
728		basic_machine=sparc-sun
729		os=-sunos3
730		;;
731	sun4os4)
732		basic_machine=sparc-sun
733		os=-sunos4
734		;;
735	sun4sol2)
736		basic_machine=sparc-sun
737		os=-solaris2
738		;;
739	sun3 | sun3-*)
740		basic_machine=m68k-sun
741		;;
742	sun4)
743		basic_machine=sparc-sun
744		;;
745	sun386 | sun386i | roadrunner)
746		basic_machine=i386-sun
747		;;
748	symmetry)
749		basic_machine=i386-sequent
750		os=-dynix
751		;;
752        t3e)
753                basic_machine=t3e-cray
754                os=-unicos
755                ;;
756        tx39)
757                basic_machine=mipstx39-unknown
758                ;;
759        tx39el)
760                basic_machine=mipstx39el-unknown
761                ;;
762	tower | tower-32)
763		basic_machine=m68k-ncr
764		;;
765	udi29k)
766		basic_machine=a29k-amd
767		os=-udi
768		;;
769	ultra3)
770		basic_machine=a29k-nyu
771		os=-sym1
772		;;
773	uw2 | unixware | unixware2)
774		basic_machine=i386-pc
775		os=-sysv4.2uw2.1
776		;;
777	uw7 | unixware7)
778		basic_machine=i386-pc
779		os=-sysv5uw7
780		;;
781        v810 | necv810)
782                basic_machine=v810-nec
783                os=-none
784                ;;
785	vaxv)
786		basic_machine=vax-dec
787		os=-sysv
788		;;
789	vms)
790		basic_machine=vax-dec
791		os=-vms
792		;;
793	vpp*|vx|vx-*)
794		basic_machine=f301-fujitsu
795		;;
796	vxworks960)
797		basic_machine=i960-wrs
798		os=-vxworks
799		;;
800	vxworks68)
801		basic_machine=m68k-wrs
802		os=-vxworks
803		;;
804	vxworks29k)
805		basic_machine=a29k-wrs
806		os=-vxworks
807		;;
808        w65*)
809                basic_machine=w65-wdc
810                os=-none
811                ;;
812        w89k-*)
813                basic_machine=hppa1.1-winbond
814                os=-proelf
815                ;;
816	xmp)
817		basic_machine=xmp-cray
818		os=-unicos
819		;;
820	xps | xps100)
821		basic_machine=xps100-honeywell
822		;;
823        z8k-*-coff)
824                basic_machine=z8k-unknown
825                os=-sim
826                ;;
827	none)
828		basic_machine=none-none
829		os=-none
830		;;
831
832# Here we handle the default manufacturer of certain CPU types.  It is in
833# some cases the only manufacturer, in others, it is the most popular.
834        w89k)
835                basic_machine=hppa1.1-winbond
836                ;;
837        op50n)
838                basic_machine=hppa1.1-oki
839                ;;
840        op60c)
841                basic_machine=hppa1.1-oki
842                ;;
843	mips)
844		if test "x$os" = "x-linux-gnu" ; then
845			basic_machine=mips-unknown
846		else
847			basic_machine=mips-mips
848		fi
849		;;
850	romp)
851		basic_machine=romp-ibm
852		;;
853	rs6000)
854		basic_machine=rs6000-ibm
855		;;
856	vax)
857		basic_machine=vax-dec
858		;;
859	pdp11)
860		basic_machine=pdp11-dec
861		;;
862	we32k)
863		basic_machine=we32k-att
864		;;
865	sparc | sparcv9)
866		basic_machine=sparc-sun
867		;;
868	cydra)
869		basic_machine=cydra-cydrome
870		;;
871	orion)
872		basic_machine=orion-highlevel
873		;;
874	orion105)
875		basic_machine=clipper-highlevel
876		;;
877        mac | mpw | mac-mpw)
878                basic_machine=m68k-apple
879                ;;
880        pmac | pmac-mpw)
881                basic_machine=powerpc-apple
882                ;;
883        c4x*)
884                basic_machine=c4x-none
885                os=-coff
886                ;;
887	*)
888		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
889		exit 1
890		;;
891esac
892
893# Here we canonicalize certain aliases for manufacturers.
894case $basic_machine in
895	*-digital*)
896		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
897		;;
898	*-commodore*)
899		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
900		;;
901	*)
902		;;
903esac
904
905# Decode manufacturer-specific aliases for certain operating systems.
906
907if [ x"$os" != x"" ]
908then
909case $os in
910	# First match some system type aliases
911	# that might get confused with valid system types.
912	# -solaris* is a basic system type, with this one exception.
913	-solaris1 | -solaris1.*)
914		os=`echo $os | sed -e 's|solaris1|sunos4|'`
915		;;
916	-solaris)
917		os=-solaris2
918		;;
919	-svr4*)
920		os=-sysv4
921		;;
922	-unixware | -uw | -unixware2* | -uw2*)
923		os=-sysv4.2uw2.1
924		;;
925	-unixware7* | -uw7*)
926		os=-sysv5uw7
927		;;
928        -unixware*)
929                os=-sysv4.2uw
930		;;
931	-gnu/linux*)
932		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
933		;;
934	# First accept the basic system types.
935	# The portable systems comes first.
936	# Each alternative MUST END IN A *, to match a version number.
937	# -sysv* is not here because it comes later, after sysvr4.
938	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
939	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
940	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
941	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
942	      | -aos* \
943	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
944	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
945	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
946	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
947	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
948	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
949	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
950	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
951	      | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
952	# Remember, each alternative MUST END IN *, to match a version number.
953		;;
954	# BEGIN CASES ADDED FOR Bash
955	-qnx* | -powerux* | -superux* )
956		;;
957	# END CASES ADDED FOR Bash
958        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
959              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
960              | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
961                ;;
962        -mac*)
963                os=`echo $os | sed -e 's|mac|macos|'`
964                ;;
965
966	-linux*)
967		os=`echo $os | sed -e 's|linux|linux-gnu|'`
968		;;
969	-sunos5*)
970		os=`echo $os | sed -e 's|sunos5|solaris2|'`
971		;;
972	-sunos6*)
973		os=`echo $os | sed -e 's|sunos6|solaris3|'`
974		;;
975	-osfrose*)
976		os=-osfrose
977		;;
978	-osf*)
979		os=-osf
980		;;
981	-utek*)
982		os=-bsd
983		;;
984	-dynix*)
985		os=-bsd
986		;;
987	-acis*)
988		os=-aos
989		;;
990        -386bsd)
991                os=-bsd
992                ;;
993	-ctix* | -uts*)
994		os=-sysv
995		;;
996	-ns2 )
997		os=-nextstep2
998		;;
999	# Preserve the version number of sinix5.
1000	-sinix5.*)
1001		os=`echo $os | sed -e 's|sinix|sysv|'`
1002		;;
1003	-sinix*)
1004		os=-sysv4
1005		;;
1006	-triton*)
1007		os=-sysv3
1008		;;
1009	-oss*)
1010		os=-sysv3
1011		;;
1012	-svr4)
1013		os=-sysv4
1014		;;
1015	-svr3)
1016		os=-sysv3
1017		;;
1018	-sysvr4)
1019		os=-sysv4
1020		;;
1021	-sysvr5)
1022		os=-sysv5
1023		;;
1024	# This must come after -sysvr[45].
1025	-sysv*)
1026		;;
1027        -ose*)
1028                os=-ose
1029                ;;
1030        -es1800*)
1031                os=-ose
1032                ;;
1033	-xenix)
1034		os=-xenix
1035		;;
1036        -*mint | -*MiNT)
1037                os=-mint
1038                ;;
1039	-none)
1040		;;
1041	*)
1042		# Get rid of the `-' at the beginning of $os.
1043		os=`echo $os | sed 's/[^-]*-//'`
1044		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1045		exit 1
1046		;;
1047esac
1048else
1049
1050# Here we handle the default operating systems that come with various machines.
1051# The value should be what the vendor currently ships out the door with their
1052# machine or put another way, the most popular os provided with the machine.
1053
1054# Note that if you're going to try to match "-MANUFACTURER" here (say,
1055# "-sun"), then you have to tell the case statement up towards the top
1056# that MANUFACTURER isn't an operating system.  Otherwise, code above
1057# will signal an error saying that MANUFACTURER isn't an operating
1058# system, and we'll never get to this point.
1059
1060case $basic_machine in
1061	*-acorn)
1062		os=-riscix1.2
1063		;;
1064	arm*-semi)
1065		os=-aout
1066		;;
1067	pdp11-*)
1068		os=-none
1069		;;
1070	*-dec | vax-*)
1071		os=-ultrix4.2
1072		;;
1073	m68*-apollo)
1074		os=-domain
1075		;;
1076	i386-sun)
1077		os=-sunos4.0.2
1078		;;
1079	m68000-sun)
1080		os=-sunos3
1081		# This also exists in the configure program, but was not the
1082		# default.
1083		# os=-sunos4
1084		;;
1085        m68*-cisco)
1086                os=-aout
1087                ;;
1088        mips*-cisco)
1089                os=-elf
1090                ;;
1091        mips*-*)
1092                os=-elf
1093                ;;
1094	*-tti)	# must be before sparc entry or we get the wrong os.
1095		os=-sysv3
1096		;;
1097	sparc-* | *-sun)
1098		os=-sunos4.1.1
1099		;;
1100	*-be)
1101		os=-beos
1102		;;
1103	*-ibm)
1104		os=-aix
1105		;;
1106        *-wec)
1107                os=-proelf
1108                ;;
1109        *-winbond)
1110                os=-proelf
1111                ;;
1112        *-oki)
1113                os=-proelf
1114                ;;
1115	*-hp)
1116		os=-hpux
1117		;;
1118	*-hitachi)
1119		os=-hiux
1120		;;
1121	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1122		os=-sysv
1123		;;
1124	*-cbm)
1125		os=-amigaos
1126		;;
1127	*-dg)
1128		os=-dgux
1129		;;
1130	*-dolphin)
1131		os=-sysv3
1132		;;
1133	m68k-ccur)
1134		os=-rtu
1135		;;
1136	m88k-omron*)
1137		os=-luna
1138		;;
1139	*-next )
1140		os=-nextstep
1141		;;
1142	*-sequent)
1143		os=-ptx
1144		;;
1145	*-crds)
1146		os=-unos
1147		;;
1148	*-ns)
1149		os=-genix
1150		;;
1151	i370-*)
1152		os=-mvs
1153		;;
1154	*-next)
1155		os=-nextstep3
1156		;;
1157	*-gould)
1158		os=-sysv
1159		;;
1160	*-highlevel)
1161		os=-bsd
1162		;;
1163	*-encore)
1164		os=-bsd
1165		;;
1166	*-sgi)
1167		os=-irix
1168		;;
1169	*-siemens)
1170		os=-sysv4
1171		;;
1172	*-masscomp)
1173		os=-rtu
1174		;;
1175	f301-fujitsu)
1176		os=-uxpv
1177		;;
1178        *-rom68k)
1179                os=-coff
1180                ;;
1181        *-*bug)
1182                os=-coff
1183                ;;
1184        *-apple)
1185                os=-macos
1186                ;;
1187        *-atari*)
1188                os=-mint
1189                ;;
1190	*)
1191		os=-none
1192		;;
1193esac
1194fi
1195
1196# Here we handle the case where we know the os, and the CPU type, but not the
1197# manufacturer.  We pick the logical manufacturer.
1198vendor=unknown
1199case $basic_machine in
1200	*-unknown)
1201		case $os in
1202			-riscix*)
1203				vendor=acorn
1204				;;
1205			-sunos*)
1206				vendor=sun
1207				;;
1208			-lynxos*)
1209				vendor=lynx
1210				;;
1211			-aix*)
1212				vendor=ibm
1213				;;
1214                        -beos*)
1215                                vendor=be
1216                                ;;
1217			-hpux*)
1218				vendor=hp
1219				;;
1220			-hiux*)
1221				vendor=hitachi
1222				;;
1223			-unos*)
1224				vendor=crds
1225				;;
1226			-dgux*)
1227				vendor=dg
1228				;;
1229			-luna*)
1230				vendor=omron
1231				;;
1232			-genix*)
1233				vendor=ns
1234				;;
1235			-mvs*)
1236				vendor=ibm
1237				;;
1238			-ptx*)
1239				vendor=sequent
1240				;;
1241			-vxsim* | -vxworks*)
1242				vendor=wrs
1243				;;
1244			-aux*)
1245				vendor=apple
1246				;;
1247                        -hms*)
1248                                vendor=hitachi
1249                                ;;
1250                        -mpw* | -macos*)
1251                                vendor=apple
1252                                ;;
1253                        -*mint | -*MiNT)
1254                                vendor=atari
1255                                ;;
1256		esac
1257		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1258		;;
1259esac
1260
1261echo $basic_machine$os
1262