Commit | Line | Data |
---|---|---|
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 |
17 | basic_machine=`echo $1 | sed 's/-[^-]*$//'` |
18 | if [ $basic_machine != $1 ] | |
6c815bbe | 19 | then os=`echo $1 | sed 's/^.*-/-/'` |
e1fd391e RP |
20 | else os=; fi |
21 | ||
6c815bbe | 22 | # Decode aliases for certain machine-company combinations. |
e1fd391e RP |
23 | case $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 | ;; | |
238 | esac | |
239 | ||
240 | # Decode manufacturer-specific aliases for certain operating systems. | |
241 | ||
242 | case $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 | ;; | |
274 | esac | |
275 | ||
6c815bbe | 276 | echo ${basic_machine}${os} |