162562Selan#!/bin/sh
262562Selan# Configuration validation subroutine script, version 1.0.
362562Selan#   Copyright (C) 1991, 1992 Free Software Foundation, Inc.
462562Selan
562562Selan#This file is free software; you can redistribute it and/or modify
662562Selan#it under the terms of the GNU General Public License as published by
762562Selan#the Free Software Foundation; either version 2 of the License, or
862562Selan#(at your option) any later version.
962562Selan
1062562Selan#This program is distributed in the hope that it will be useful,
1162562Selan#but WITHOUT ANY WARRANTY; without even the implied warranty of
1262562Selan#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1362562Selan#GNU General Public License for more details.
1462562Selan
1562562Selan#You should have received a copy of the GNU General Public License
1662562Selan#along with this program; if not, write to the Free Software
1762562Selan#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
1862562Selan
1962562Selan
2062562Selan# Configuration subroutine to validate and canonicalize a configuration type.
2162562Selan# Supply the specified configuration type as an argument.
2262562Selan# If it is invalid, we print an error message on stderr and exit with code 1.
2362562Selan# Otherwise, we print the canonical config type on stdout and succeed.
2462562Selan
2562562Selan# This file is supposed to be the same for all GNU packages
2662562Selan# and recognize all the CPU types, system types and aliases
2762562Selan# that are meaningful with *any* GNU software.
2862562Selan# Each package is responsible for reporting which valid configurations
2962562Selan# it does not support.  The user should be able to distinguish
3062562Selan# a failure to support a valid configuration from a meaningless
3162562Selan# configuration.
3262562Selan
3362562Selan# The goal of this file is to map all the various variations of a given
3462562Selan# machine specification into a single specification in the form:
3562562Selan#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
3662562Selan# it is wrong to echo any other type of specification
3762562Selan
3862562Selanif [ x$1 = x ]
3962562Selanthen
4062562Selan	echo Configuration name missing. 1>&2
4162562Selan	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
4262562Selan	echo "or     $0 ALIAS" 1>&2
4362562Selan	echo where ALIAS is a recognized configuration type. 1>&2
4462562Selan	exit 1
4562562Selanfi
4662562Selan
4762562Selan# First pass through any local machine types.
4862562Selancase $1 in
4962562Selan	*local*)
5062562Selan		echo $1
5162562Selan		exit 0
5262562Selan		;;
5362562Selan	*)
5462562Selan	;;
5562562Selanesac
5662562Selan
5762562Selan# Separate what the user gave into CPU-COMPANY and OS (if any).
5862562Selanbasic_machine=`echo $1 | sed 's/-[^-][^-]*$//'`
5962562Selanif [ $basic_machine != $1 ]
6062562Selanthen os=`echo $1 | sed 's/.*-/-/'`
6162562Selanelse os=; fi
6262562Selan
6362562Selan# Lets recognize common machines as not being OS so that things like
6462562Selan# config.subr decstation-3100 as legal.
6562562Selancase $os in
6662562Selan	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
6762562Selan	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
6862562Selan	-unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
6962562Selan	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -osf* | \
7062562Selan	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
7162562Selan	-harris | -sim)
7262562Selan		os=
7362562Selan		basic_machine=$1
7462562Selan		;;
7562562Selan	-scout)
7662562Selan		;;
7762562Selan	-sco*)
7862562Selan		os=-scosysv322
7962562Selan		basic_machine=i386-unknown
8062562Selan		;;
8162562Selan	-OSE68k | -ose68k | -OSE | -ose | -es1800)
8262562Selan		os=-ose
8362562Selan		basic_machine=m68k-ericsson
8462562Selan		;;
8562562Selan	-OSE68000 | -ose68000)
8662562Selan		os=-ose
8762562Selan		basic_machine=m68000-ericsson
8862562Selan		;;
8962562Selan	-isc*)
9062562Selan		os=-iscsysv
9162562Selan		basic_machine=i386-unknown
9262562Selan		;;
9362562Selanesac
9462562Selan
9562562Selan# Decode aliases for certain CPU-COMPANY combinations.
9662562Selancase $basic_machine in
9762562Selan	# Recognize the basic CPU types with without company name.
9862562Selan	tahoe | i386 | i486 | i860 | m68k | m680[01234]0 | m683?2 \
9962562Selan		| m88k | ns32k | arm | pyramid \
10062562Selan		| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k\
10162562Selan		| v70 | we32k | z8k)
10262562Selan		basic_machine=$basic_machine-unknown
10362562Selan		;;
10462562Selan	# Recognize the basic CPU types with with company name.
10562562Selan	vax-* | tahoe-* | i386-* | i486-* | i860-* | m68k-* \
10662562Selan	      | m680[01234]0-* | m683?2-* | m88k-* \
10762562Selan	      | sparc-* | ns32k-* | alliant-* | arm-* | c[123]* \
10862562Selan	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
10962562Selan	      | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
11062562Selan	      | hppa1.0-* | hppa1.1-* | we32k-* | z8k-*)
11162562Selan		;;
11262562Selan	# Recognize the various machine names and aliases which stand
11362562Selan	# for a CPU type and a company and sometimes even an OS.
11462562Selan
11562562Selan
11662562Selan	vaxv)
11762562Selan		basic_machine=vax-dec
11862562Selan		os=-sysv
11962562Selan		;;
12062562Selan	vms)
12162562Selan		basic_machine=vax-dec
12262562Selan		os=-vms
12362562Selan		;;
12462562Selan	i386mach)
12562562Selan		basic_machine=i386-mach
12662562Selan		os=-mach
12762562Selan		;;
12862562Selan	i386v32)
12962562Selan		basic_machine=i386-unknown
13062562Selan		os=-sysv32
13162562Selan		;;
13262562Selan	i386-sco* | i386sco | sco)
13362562Selan		basic_machine=i386-unknown
13462562Selan		os=-scosysv322
13562562Selan		;;
13662562Selan	go32 | i386-go32)
13762562Selan		basic_machine=i386-unknown
13862562Selan		os=-go32
13962562Selan		;;
14062562Selan	i386-isc* | isc)
14162562Selan		basic_machine=i386-unknown
14262562Selan		os=-iscsysv
14362562Selan		;;
14462562Selan	i386-linux* | linux)
14562562Selan		basic_machine=i386-unknown
14662562Selan		os=-linux
14762562Selan		;;
14862562Selan	i386v4*)
14962562Selan		basic_machine=i386-unknown
15062562Selan		os=-sysv4
15162562Selan		;;
15262562Selan	i486v4*)
15362562Selan		basic_machine=i486-unknown
15462562Selan		os=-sysv4
15562562Selan		;;
15662562Selan	i386v)
15762562Selan		basic_machine=i386-unknown
15862562Selan		os=-sysv
15962562Selan		;;
16062562Selan	i486v)
16162562Selan		basic_machine=i486-unknown
16262562Selan		os=-sysv
16362562Selan		;;
16462562Selan	386bsd)
16562562Selan		basic_machine=i386-unknown
16662562Selan		os=-bsd
16762562Selan		;;
16862562Selan	spur)
16962562Selan		basic_machine=spur-unknown
17062562Selan		;;
17162562Selan	alliant)
17262562Selan		basic_machine=alliant-alliant
17362562Selan		;;
17462562Selan	convex-c1)
17562562Selan		basic_machine=c1-convex
17662562Selan		os=-sysv
17762562Selan		;;
17862562Selan	convex-c2)
17962562Selan		basic_machine=c2-convex
18062562Selan		os=-sysv
18162562Selan		;;
18262562Selan	convex-c32)
18362562Selan		basic_machine=c32-convex
18462562Selan		os=-sysv
18562562Selan		;;
18662562Selan	convex-c34)
18762562Selan		basic_machine=c34-convex
18862562Selan		os=-sysv
18962562Selan		;;
19062562Selan	convex-c38)
19162562Selan		basic_machine=c38-convex
19262562Selan		os=-sysv
19362562Selan		;;
19462562Selan	m88k-omron*)
19562562Selan		basic_machine=m88k-omron
19662562Selan		;;
19762562Selan	merlin)
19862562Selan		basic_machine=ns32k-utek
19962562Selan		os=-sysv
20062562Selan		;;
20162562Selan	crds | unos)
20262562Selan		basic_machine=m68k-crds
20362562Selan		;;
20462562Selan	encore | umax | mmax)
20562562Selan		basic_machine=ns32k-encore
20662562Selan		os=-sysv
20762562Selan		;;
20862562Selan	genix)
20962562Selan		basic_machine=ns32k-ns
21062562Selan		;;
21162562Selan	iris | iris3 | iris4d)
21262562Selan		basic_machine=mips-sgi
21362562Selan		os=-irix3
21462562Selan		;;
21562562Selan	iris4)
21662562Selan		basic_machine=mips-sgi
21762562Selan		os=-irix4
21862562Selan		;;
21962562Selan	news | news700 | news800 | news900)
22062562Selan		basic_machine=m68k-sony
22162562Selan		os=-newsos
22262562Selan		;;
22362562Selan	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
22462562Selan		basic_machine=m68k-att
22562562Selan		;;
22662562Selan	3b* | we32k* )
22762562Selan		basic_machine=we32k-att
22862562Selan		os=-sysv
22962562Selan		;;
23062562Selan	delta | 3300 | motorola-3300 | motorola-delta \
23162562Selan	      | 3300-motorola | delta-motorola)
23262562Selan		basic_machine=m68k-motorola
23362562Selan		;;
23462562Selan	balance)
23562562Selan		basic_machine=ns32k-sequent
23662562Selan		os=-dynix
23762562Selan		;;
23862562Selan        pc532)
23962562Selan		basic_machine=ns32k-pc532
24062562Selan		;;
24162562Selan	symmetry)
24262562Selan		basic_machine=i386-sequent
24362562Selan		os=-dynix
24462562Selan		;;
24562562Selan	sun2)
24662562Selan		basic_machine=m68000-sun
24762562Selan		;;
24862562Selan	sun2os3)
24962562Selan		basic_machine=m68000-sun
25062562Selan		os=-sunos3
25162562Selan		;;
25262562Selan	sun2os4)
25362562Selan		basic_machine=m68000-sun
25462562Selan		os=-sunos4
25562562Selan		;;
25662562Selan	sun3os3)
25762562Selan		basic_machine=m68k-sun
25862562Selan		os=-sunos3
25962562Selan		;;
26062562Selan	sun3os4)
26162562Selan		basic_machine=m68k-sun
26262562Selan		os=-sunos4
26362562Selan		;;
26462562Selan	sun4os3)
26562562Selan		basic_machine=sparc-sun
26662562Selan		os=-sunos3
26762562Selan		;;
26862562Selan	sun4os4)
26962562Selan		basic_machine=sparc-sun
27062562Selan		os=-sunos4
27162562Selan		;;
27262562Selan	sun4sol2)
27362562Selan		basic_machine=sparc-sun
27462562Selan		os=-solaris2
27562562Selan		;;
27662562Selan	z8ksim)
27762562Selan		basic_machine=z8k-unknown
27862562Selan		os=-sim
27962562Selan		;;
28062562Selan	sun3)
28162562Selan		basic_machine=m68k-sun
28262562Selan		;;
28362562Selan	sun4)
28462562Selan		basic_machine=sparc-sun
28562562Selan		;;
28662562Selan	msdos)
28762562Selan		basic_machine=i386-unknown
28862562Selan		os=-msdos
28962562Selan		;;
29062562Selan	pbd)
29162562Selan		basic_machine=sparc-unicom
29262562Selan		;;
29362562Selan	sun386 | sun386i | roadrunner)
29462562Selan		basic_machine=i386-sun
29562562Selan		;;
29662562Selan	ps2)
29762562Selan		basic_machine=i386-ibm
29862562Selan		;;
29962562Selan	next)
30062562Selan		basic_machine=m68k-next
30162562Selan		os=-bsd
30262562Selan		;;
30362562Selan	hp9k3[2-9][0-9])
30462562Selan		basic_machine=m68k-hp
30562562Selan		;;
30662562Selan	hp9k31[0-9] | hp9k2[0-9][0-9])
30762562Selan		basic_machine=m68000-hp
30862562Selan		;;
30962562Selan	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
31062562Selan		basic_machine=hppa1.1-hp
31162562Selan		;;
31262562Selan	hp9k8[0-9][0-9] | hp8[0-9][0-9])
31362562Selan		basic_machine=hppa1.0-hp
31462562Selan		;;
31562562Selan	isi68 | isi)
31662562Selan		basic_machine=m68k-isi
31762562Selan		os=-sysv
31862562Selan		;;
31962562Selan	apollo68)
32062562Selan		basic_machine=m68k-apollo
32162562Selan		os=-sysv
32262562Selan		;;
32362562Selan	apollo68bsd)
32462562Selan		basic_machine=m68k-apollo
32562562Selan		os=-bsd
32662562Selan		;;
32762562Selan	altos | altos3068)
32862562Selan		basic_machine=m68k-altos
32962562Selan		;;
33062562Selan	miniframe)
33162562Selan		basic_machine=m68000-convergent
33262562Selan		;;
33362562Selan	tower | tower-32)
33462562Selan		basic_machine=m68k-ncr
33562562Selan		;;
33662562Selan	news-3600 | risc-news)
33762562Selan		basic_machine=mips-sony
33862562Selan		os=-newsos
33962562Selan		;;
34062562Selan	st2000)
34162562Selan		basic_machine=m68k-tandem
34262562Selan		;;
34362562Selan	decstation-dec | decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
34462562Selan		basic_machine=mips-dec
34562562Selan		;;
34662562Selan	magnum | m3230)
34762562Selan		basic_machine=mips-mips
34862562Selan		os=-sysv
34962562Selan		;;
35062562Selan	gmicro)
35162562Selan		basic_machine=tron-gmicro
35262562Selan		os=-sysv
35362562Selan		;;
35462562Selan	rtpc | rtpc-*)
35562562Selan		basic_machine=romp-ibm
35662562Selan		;;
35762562Selan	am29k)
35862562Selan		basic_machine=a29k-none
35962562Selan		os=-bsd
36062562Selan		;;
36162562Selan	amdahl)
36262562Selan		basic_machine=580-amdahl
36362562Selan		os=-sysv
36462562Selan		;;
36562562Selan	amigados)
36662562Selan		basic_machine=m68k-cbm
36762562Selan		os=-amigados
36862562Selan		;;
36962562Selan	amigaunix | amix)
37062562Selan		basic_machine=m68k-cbm
37162562Selan		os=-sysv4
37262562Selan		;;
37362562Selan	stratus)
37462562Selan		basic_machine=i860-stratus
37562562Selan		os=-sysv4
37662562Selan		;;
37762562Selan	cray | ymp)
37862562Selan		basic_machine=ymp-cray
37962562Selan		os=-unicos
38062562Selan		;;
38162562Selan	cray2)
38262562Selan		basic_machine=cray2-cray
38362562Selan		os=-unicos
38462562Selan		;;
38562562Selan	xmp)
38662562Selan		basic_machine=xmp-cray
38762562Selan		os=-unicos
38862562Selan		;;
38962562Selan	delta88)
39062562Selan		basic_machine=m88k-motorola
39162562Selan		os=-m88kbcs
39262562Selan		;;
39362562Selan	dpx2)
39462562Selan		basic_machine=m68k-bull
39562562Selan		os=-sysv
39662562Selan		;;
39762562Selan	ebmon29k)
39862562Selan		basic_machine=a29k-amd
39962562Selan		os=-ebmon
40062562Selan		;;
40162562Selan
40262562Selan	h8300hms)
40362562Selan		basic_machine=h8300-hitachi
40462562Selan		os=-hms
40562562Selan		;;
40662562Selan	udi29k)
40762562Selan		basic_machine=a29k-amd
40862562Selan		os=-udi
40962562Selan		;;
41062562Selan	a29khif)
41162562Selan		basic_machine=a29k-amd
41262562Selan		os=-udi
41362562Selan		;;
41462562Selan	sa29200)
41562562Selan		basic_machine=a29k-amd
41662562Selan		os=-udi
41762562Selan		;;
41862562Selan	h8300xray)
41962562Selan		basic_machine=h8300-hitachi
42062562Selan		os=-xray
42162562Selan		;;
42262562Selan	harris)
42362562Selan		basic_machine=m88k-harris
42462562Selan		os=-m88kbcs
42562562Selan		;;
426*62563Selan	luna68k)
427*62563Selan		basic_machine=m68k-omron
428*62563Selan		os=-bsd
429*62563Selan		;;
43062562Selan	hp300bsd)
43162562Selan		basic_machine=m68k-hp
43262562Selan		os=-bsd
43362562Selan		;;
43462562Selan	hp300hpux)
43562562Selan		basic_machine=m68k-hp
43662562Selan		os=-hpux
43762562Selan		;;
43862562Selan	hp9k2[0-9][0-9] | hp9k31[0-9])
43962562Selan		basic_machine=m68000-hp
44062562Selan		os=-hpux
44162562Selan		;;
44262562Selan	hp9k3[2-9][0-9])
44362562Selan		basic_machine=m68k-hp
44462562Selan		os=-hpux
44562562Selan		;;
44662562Selan	hppabsd)
44762562Selan		basic_machine=hppa-hp
44862562Selan		os=-bsd
44962562Selan		;;
45062562Selan	hppahpux)
45162562Selan		basic_machine=hppa-hp
45262562Selan		os=-hpux
45362562Selan		;;
45462562Selan	ncr3000)
45562562Selan		basic_machine=i486-ncr
45662562Selan		os=-sysv4
45762562Selan		;;
45862562Selan	necv70)
45962562Selan		basic_machine=v70-nec
46062562Selan		os=-sysv
46162562Selan		;;
46262562Selan	news1000)
46362562Selan		basic_machine=m68030-sony
46462562Selan		os=-newsos
46562562Selan		;;
46662562Selan	nindy960)
46762562Selan		basic_machine=i960-intel
46862562Selan		os=-nindy
46962562Selan		;;
47062562Selan	pn)
47162562Selan		basic_machine=pn-gould
47262562Selan		os=-sysv
47362562Selan		;;
47462562Selan	np1)
47562562Selan		basic_machine=np1-gould
47662562Selan		os=-sysv
47762562Selan		;;
47862562Selan	ultra3)
47962562Selan		basic_machine=a29k-nyu
48062562Selan		os=-sym1
48162562Selan		;;
48262562Selan	vxworks960)
48362562Selan		basic_machine=i960-wrs
48462562Selan		os=-vxworks
48562562Selan		;;
48662562Selan	vxworks68)
48762562Selan		basic_machine=m68k-wrs
48862562Selan		os=-vxworks
48962562Selan		;;
49062562Selan	es1800 | OSE68k | ose68k)
49162562Selan		basic_machine=m68k-ericsson
49262562Selan		os=-ose
49362562Selan		;;
49462562Selan	OSE68000 | ose68000)
49562562Selan		basic_machine=m68000-ericsson
49662562Selan		os=-ose
49762562Selan		;;
49862562Selan	os68k)
49962562Selan		basic_machine=m68k-none
50062562Selan		os=-os68k
50162562Selan		;;
50262562Selan	sparclite)
50362562Selan		basic_machine=sparclite-fujitsu
50462562Selan		os=-none
50562562Selan		;;
50662562Selan	sparclite-wrs)
50762562Selan		basic_machine=sparclite-wrs
50862562Selan		os=-vxworks
50962562Selan		;;
51062562Selan	sparcfrw)
51162562Selan		basic_machine=sparcfrw-sun
51262562Selan		os=-sunos4
51362562Selan		;;
51462562Selan	sparcfrwcompat)
51562562Selan		basic_machine=sparcfrwcompat-sun
51662562Selan		os=-sunos4
51762562Selan		;;
51862562Selan	sparclitefrw)
51962562Selan		basic_machine=sparclitefrw-fujitsu
52062562Selan		os=-none
52162562Selan		;;
52262562Selan	sparclitefrwcompat)
52362562Selan		basic_machine=sparclitefrwcompat-fujitsu
52462562Selan		os=-none
52562562Selan		;;
52662562Selan	adobe68k)
52762562Selan		basic_machine=m68010-adobe
52862562Selan		os=-scout
52962562Selan		;;
53062562Selan
53162562Selan	none)
53262562Selan		basic_machine=none-none
53362562Selan		os=-none
53462562Selan		;;
53562562Selan
53662562Selan# Here we handle the default manufacturer of certain CPU types.  It is in
53762562Selan# some cases the only manufacturer, in others, it is the most popular.
53862562Selan	mips)
53962562Selan		basic_machine=mips-mips
54062562Selan		;;
54162562Selan	romp)
54262562Selan		basic_machine=romp-ibm
54362562Selan		;;
54462562Selan	rs6000)
54562562Selan		basic_machine=rs6000-ibm
54662562Selan		;;
54762562Selan	vax)
54862562Selan		basic_machine=vax-dec
54962562Selan		;;
55062562Selan	sparc)
55162562Selan		basic_machine=sparc-sun
55262562Selan		;;
55362562Selan	fx2800)
55462562Selan		basic_machine=i860-alliant
55562562Selan		;;
55662562Selan	*)
55762562Selan		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
55862562Selan		exit 1
55962562Selan		;;
56062562Selanesac
56162562Selan
56262562Selan# Decode manufacturer-specific aliases for certain operating systems.
56362562Selan
56462562Selanif [ "$os" ]
56562562Selanthen
56662562Selancase $os in
56762562Selan	# First accept the basic system types.
56862562Selan	# The portable systems comes first.
56962562Selan	# Each alternative must end in a *, to match a version number.
57062562Selan	-bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* \
57162562Selan	      | -aout | -coff | -elf \
57262562Selan	      | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
57362562Selan	      | -unos* | -osf* | -v88r* | -luna* | -dgux* | -solaris* | -sym* \
57462562Selan	      | -newsos | -amigados* | -msdos* | -none* | -os68k* | -irix* \
57562562Selan	      | -nindy* | -vxworks* | -ebmon* | -udi | -hms* | -xray \
57662562Selan	      | -m88kbcs* | -go32 | -linux* | -sim | -es1800*)
57762562Selan	;;
57862562Selan
57962562Selan# Note that readline checks for newsos
58062562Selan#	-newsos*)
58162562Selan#		os=-bsd
58262562Selan#		;;
58362562Selan	-osfrose*)
58462562Selan		os=-osf
58562562Selan		;;
58662562Selan	-osf*)
58762562Selan		os=-bsd
58862562Selan		;;
58962562Selan	-dynix*)
59062562Selan		os=-bsd
59162562Selan		;;
59262562Selan	-aos*)
59362562Selan		os=-bsd
59462562Selan		;;
59562562Selan	-386bsd)
59662562Selan		os=-bsd
59762562Selan		;;
59862562Selan	-ctix* | -uts*)
59962562Selan		os=-sysv
60062562Selan		;;
60162562Selan	-svr4)
60262562Selan		os=-sysv4
60362562Selan		;;
60462562Selan	-svr3)
60562562Selan		os=-sysv3
60662562Selan		;;
60762562Selan	-ose*)
60862562Selan		os=-ose
60962562Selan		;;
61062562Selan	-es1800*)
61162562Selan		os=-ose
61262562Selan		;;
61362562Selan	*)
61462562Selan		# Get rid of the `-' at the beginning of $os.
61562562Selan		os=`echo $1 | sed 's/[^-]*-//'`
61662562Selan		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
61762562Selan		exit 1
61862562Selan		;;
61962562Selanesac
62062562Selanelse
62162562Selan
62262562Selan# Here we handle the default operating systems that come with various machines.
62362562Selan# The value should be what the vendor currently ships out the door with their
62462562Selan# machine or put another way, the most popular os provided with the machine.
62562562Selancase $basic_machine in
62662562Selan	*-dec | vax-*)
62762562Selan		os=-ultrix42
62862562Selan		;;
62962562Selan	i386-sun)
63062562Selan		os=-sunos402
63162562Selan		;;
63262562Selan	m68000-sun)
63362562Selan		os=-sunos3
63462562Selan		# This also exists in the configure program, but was not the
63562562Selan		# default.
63662562Selan		# os=-sunos4
63762562Selan		;;
63862562Selan	sparc-* | *-sun)
63962562Selan		os=-sunos411
64062562Selan		;;
64162562Selan	romp-*)
64262562Selan		os=-bsd
64362562Selan		;;
64462562Selan	*-ibm)
64562562Selan		os=-aix
64662562Selan		;;
64762562Selan	*-hp)
64862562Selan		os=-hpux
64962562Selan		;;
65062562Selan	*-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
65162562Selan		os=-sysv
65262562Selan		;;
65362562Selan	*-dg)
65462562Selan		os=-dgux
65562562Selan		;;
65662562Selan	m88k-omron*)
65762562Selan		os=-luna
65862562Selan		;;
65962562Selan	*-crds)
66062562Selan		os=-unos
66162562Selan		;;
66262562Selan	*-ns)
66362562Selan		os=-genix
66462562Selan		;;
66562562Selan	i386-*)
66662562Selan		os=-scosysv322
66762562Selan		;;
66862562Selan	*)
66962562Selan		os=-none
67062562Selan		;;
67162562Selanesac
67262562Selanfi
67362562Selan
67462562Selan# Here we handle the case where we know the os, and the CPU type, but not the
67562562Selan# manufacturer.  We pick the logical manufacturer.
67662562Selanvendor=unknown
67762562Selancase $basic_machine in
67862562Selan	*-unknown)
67962562Selan		case $os in
68062562Selan			-sunos*)
68162562Selan				vendor=sun
68262562Selan				;;
68362562Selan			-aix*)
68462562Selan				vendor=ibm
68562562Selan				;;
68662562Selan			-hpux*)
68762562Selan				vendor=hp
68862562Selan				;;
68962562Selan			-unos*)
69062562Selan				vendor=crds
69162562Selan				;;
69262562Selan			-dgux*)
69362562Selan				vendor=dg
69462562Selan				;;
69562562Selan			-luna*)
69662562Selan				vendor=omron
69762562Selan				;;
69862562Selan			-genix*)
69962562Selan				vendor=ns
70062562Selan				;;
70162562Selan			-vxworks*)
70262562Selan				vendor=wrs
70362562Selan				;;
70462562Selan		esac
70562562Selan		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
70662562Selan		;;
70762562Selanesac
70862562Selan
70962562Selanecho $basic_machine$os
710