Welcome cvs to the big time.
[deliverable/binutils-gdb.git] / gas / config.sub
CommitLineData
e1fd391e
RP
1#!/bin/sh
2
3# Configuration subroutine to validate and canonicalize a configuration type.
4# Supply the specified configuration type as an argument.
5# If it is invalid, we print an error message on stderr and exit with code 1.
6# Otherwise, we print the canonical config type on stdout and succeed.
7
8# This file is supposed to be the same for all GNU packages
9# and recognize all the CPU types, system types and aliases
10# that are meaningful with *any* GNU software.
11# Each package is responsible for reporting which valid configurations
12# it does not support. The user should be able to distinguish
13# a failure to support a valid configuration from a meaningless
14# configuration.
15
6c815bbe 16# Separate what the user gave into CPU-company and OS (if any).
e1fd391e
RP
17basic_machine=`echo $1 | sed 's/-[^-]*$//'`
18if [ $basic_machine != $1 ]
6c815bbe 19then os=`echo $1 | sed 's/^.*-/-/'`
e1fd391e
RP
20else os=; fi
21
6c815bbe 22# Decode aliases for certain machine-company combinations.
e1fd391e
RP
23case $basic_machine in
24 # Recognize the basic CPU types without company name.
25 vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
26 | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
27 | rtpc | rs6000 | i960 | none)
28 ;;
29 # Recognize the basic CPU types with company name.
6c815bbe
RP
30 vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \
31 | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \
32 | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \
33 | rs6000-* | i960-*)
e1fd391e
RP
34 ;;
35 # Recognize the machine names
36 # which stand for a CPU time and a company.
37 nindy960)
6c815bbe 38 basic_machine=i960-intel
e1fd391e
RP
39 os=-nindy
40 ;;
41 vxworks68)
6c815bbe 42 basic_machine=m68k-wrs
e1fd391e
RP
43 os=-vxworks
44 ;;
45 vxworks960)
6c815bbe 46 basic_machine=i960-wrs
e1fd391e
RP
47 os=-vxworks
48 ;;
49 am29k)
6c815bbe 50 basic_machine=a29k-unknown
e1fd391e
RP
51 os=-bsd
52 ;;
53 umax)
6c815bbe 54 basic_machine=ns32k-umax
e1fd391e
RP
55 os=-sysv # maybe?
56 ;;
57 pn)
6c815bbe 58 basic_machine=pn-gould
e1fd391e
RP
59 os=-sysv # maybe?
60 ;;
61 np1)
6c815bbe 62 basic_machine=np1-gould
e1fd391e
RP
63 os=-sysv # maybe?
64 ;;
65 merlin)
6c815bbe 66 basic_machine=merlin-utek
e1fd391e
RP
67 os=-sysv # maybe?
68 ;;
69 iris | iris4d)
6c815bbe 70 basic_machine=mips-sgi
e1fd391e
RP
71 os=-sysv # maybe?
72 ;;
73 news1000)
6c815bbe 74 basic_machine=m68030-sony
e1fd391e
RP
75 os=-sysv # maybe?
76 ;;
77 news | news700 | news800 | news900)
6c815bbe 78 basic_machine=m68k-sony
e1fd391e
RP
79 os=-sysv # maybe?
80 ;;
6c815bbe
RP
81 unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300)
82 basic_machine=m68k-att
e1fd391e
RP
83 os=-sysv # maybe?
84 ;;
85 delta | 3300 | motorola-3300 | motorola-delta \
6c815bbe
RP
86 | 3300-motorola | delta-motorola)
87 basic_machine=m68k-motorola
e1fd391e
RP
88 os=-sysv # maybe?
89 ;;
6c815bbe 90 vax-dec)
e1fd391e
RP
91 basic_machine=vax
92 os=-ultrix # maybe?
93 ;;
94 balance)
6c815bbe 95 basic_machine=ns32k-sequent
e1fd391e
RP
96 os=-dynix
97 ;;
98 mmax)
6c815bbe 99 basic_machine=ns32k-encore
e1fd391e
RP
100 os=-sysv # maybe?
101 ;;
102 symmetry)
6c815bbe 103 basic_machine=i386-sequent
e1fd391e
RP
104 os=-dynix
105 ;;
106 sun2)
6c815bbe 107 basic_machine=m68000-sun
e1fd391e
RP
108 os=-sunos4
109 ;;
110 sun2os3)
6c815bbe 111 basic_machine=m68000-sun
e1fd391e
RP
112 os=-sunos3
113 ;;
114 sun2os4)
6c815bbe 115 basic_machine=m68000-sun
e1fd391e
RP
116 os=-sunos4
117 ;;
118 sun3)
6c815bbe 119 basic_machine=m68k-sun
e1fd391e
RP
120 os=-sunos4
121 ;;
122 sun3os3)
6c815bbe 123 basic_machine=m68k-sun
e1fd391e
RP
124 os=-sunos3
125 ;;
126 sun3os4)
6c815bbe 127 basic_machine=m68k-sun
e1fd391e
RP
128 os=-sunos4
129 ;;
130 sun4)
6c815bbe 131 basic_machine=sparc-sun
e1fd391e
RP
132 os=-sunos4
133 ;;
134 sun4os3)
6c815bbe 135 basic_machine=sparc-sun
e1fd391e
RP
136 os=-sunos3
137 ;;
138 sun4os4)
6c815bbe 139 basic_machine=sparc-sun
e1fd391e
RP
140 os=-sunos4
141 ;;
142 pbd)
6c815bbe 143 basic_machine=sparc-unicom
e1fd391e
RP
144 os=-sysv
145 ;;
146 roadrunner | sun386 | sun386i)
6c815bbe 147 basic_machine=i386-sun
e1fd391e
RP
148 os=-sunos
149 ;;
150 ps2)
6c815bbe 151 basic_machine=i386-ibm
e1fd391e
RP
152 os=-sysv # maybe?
153 ;;
154 i386sco)
6c815bbe 155 basic_machine=i386-sco
e1fd391e
RP
156 os=-sysv # maybe?
157 ;;
158 i386v)
6c815bbe 159 basic_machine=i386-unknown
e1fd391e
RP
160 os=-sysv
161 ;;
162 i386v32)
6c815bbe 163 basic_machine=i386-unknown
e1fd391e
RP
164 os=-sysv32
165 ;;
166 next)
6c815bbe 167 basic_machine=m68k-next
e1fd391e
RP
168 os=-sysv # maybe?
169 ;;
170 hp300bsd)
6c815bbe 171 basic_machine=m68k-hp
e1fd391e
RP
172 os=-bsd
173 ;;
174 hp300hpux | hpux | hp9k3[2-9][0-9])
6c815bbe 175 basic_machine=m68k-hp
e1fd391e
RP
176 os=-hpux
177 ;;
178 hp9k31[0-9] | hp9k2[0-9][0-9])
6c815bbe 179 basic_machine=m68000-hp
e1fd391e
RP
180 os=-hpux
181 ;;
182 isi | isi68)
6c815bbe 183 basic_machine=m68k-isi
e1fd391e
RP
184 os=-sysv # maybe?
185 ;;
186 apollo68)
6c815bbe 187 basic_machine=m68k-apollo
e1fd391e
RP
188 os=-sysv # maybe?
189 ;;
190 altos | altos3068)
6c815bbe 191 basic_machine=m68k-altos
e1fd391e
RP
192 os=-sysv # maybe?
193 ;;
194 altosgas)
6c815bbe 195 basic_machine=m68k-altos
e1fd391e
RP
196 os=-gas
197 ;;
198 miniframe)
6c815bbe 199 basic_machine=m68000-convergent
e1fd391e
RP
200 os=-sysv # maybe?
201 ;;
202 tower | tower-32)
6c815bbe 203 basic_machine=m68k-ncr
e1fd391e
RP
204 os=-sysv # maybe?
205 ;;
206 bigmips | news-3600 | risc-news)
6c815bbe 207 basic_machine=mips-sony
e1fd391e
RP
208 os=-newsos # maybe?
209 ;;
210 littlemips)
6c815bbe 211 basic_machine=mips-little
e1fd391e
RP
212 os=-bsd
213 ;;
214 dec3100 | decstatn | decstation | decstation-3100 | pmax)
6c815bbe 215 basic_machine=mips-dec
e1fd391e
RP
216 os=-ultrix
217 ;;
218 magnum | m3230)
6c815bbe 219 basic_machine=mips-mips
e1fd391e
RP
220 os=-sysv # maybe?
221 ;;
222 gmicro)
223 basic_machine=tron
224 os=-sysv # maybe?
225 ;;
226 convex-c1)
6c815bbe 227 basic_machine=c1-convex
e1fd391e
RP
228 os=-sysv # maybe?
229 ;;
230 convex-c2)
6c815bbe 231 basic_machine=c2-convex
e1fd391e
RP
232 os=-sysv # maybe?
233 ;;
234 *)
235 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
236 exit 1
237 ;;
238esac
239
240# Decode manufacturer-specific aliases for certain operating systems.
241
242case $os in
243 # First accept the basic system types.
244 # The portable systems comes first.
245 -bsd* | -sysv* | -mach* \
246 | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
247 | -unos* | -osf* | -v88r* | -aout | -coff | -bout \
248 | -nindy | -vxworks)
249 ;;
250 -newsos*)
251 os=-bsd
252 ;;
253 -ultrix*)
254 os=-bsd
255 ;;
256 -osfrose*)
257 os=-osf
258 ;;
259 -osf*)
260 os=-bsd
261 ;;
262 -dynix*)
263 os=-bsd
264 ;;
265 -ctix*)
266 os=-sysv
267 ;;
268 *)
269 # Get rid of the `-' at the beginning of $os.
270 os=`echo $1 | sed 's/[^-]*-//'`
271 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
272 exit 1
273 ;;
274esac
275
6c815bbe 276echo ${basic_machine}${os}
This page took 0.034075 seconds and 4 git commands to generate.