1 |
#! /bin/sh |
2 |
# Configuration validation subroutine script, version 1.1. |
3 |
# Copyright (C) 1991, 92-97, 1998, 1999 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 |
|
48 |
if [ x$1 = x ] |
49 |
then |
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 |
55 |
fi |
56 |
|
57 |
# First pass through any local machine types. |
58 |
case $1 in |
59 |
*local*) |
60 |
echo $1 |
61 |
exit 0 |
62 |
;; |
63 |
*) |
64 |
;; |
65 |
esac |
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. |
69 |
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` |
70 |
case $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 |
;; |
81 |
esac |
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. |
87 |
case $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 |
;; |
159 |
esac |
160 |
|
161 |
# Decode aliases for certain CPU-COMPANY combinations. |
162 |
case $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 | 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 \ |
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 |
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ |
195 |
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ |
196 |
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ |
197 |
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ |
198 |
| xmp-* | ymp-* \ |
199 |
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ |
200 |
| alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \ |
201 |
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ |
202 |
| clipper-* | orion-* \ |
203 |
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ |
204 |
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ |
205 |
| mips64el-* | mips64orion-* | mips64orionel-* \ |
206 |
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ |
207 |
| mipstx39-* | mipstx39el-* \ |
208 |
| f301-* | armv*-* | t3e-* \ |
209 |
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ |
210 |
| thumb-* | v850-* | d30v-* | tic30-* | c30-* ) |
211 |
;; |
212 |
# Recognize the various machine names and aliases which stand |
213 |
# for a CPU type and a company and sometimes even an OS. |
214 |
386bsd) |
215 |
basic_machine=i386-unknown |
216 |
os=-bsd |
217 |
;; |
218 |
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) |
219 |
basic_machine=m68000-att |
220 |
;; |
221 |
3b*) |
222 |
basic_machine=we32k-att |
223 |
;; |
224 |
a29khif) |
225 |
basic_machine=a29k-amd |
226 |
os=-udi |
227 |
;; |
228 |
adobe68k) |
229 |
basic_machine=m68010-adobe |
230 |
os=-scout |
231 |
;; |
232 |
alliant | fx80) |
233 |
basic_machine=fx80-alliant |
234 |
;; |
235 |
altos | altos3068) |
236 |
basic_machine=m68k-altos |
237 |
;; |
238 |
am29k) |
239 |
basic_machine=a29k-none |
240 |
os=-bsd |
241 |
;; |
242 |
amdahl) |
243 |
basic_machine=580-amdahl |
244 |
os=-sysv |
245 |
;; |
246 |
amiga | amiga-*) |
247 |
basic_machine=m68k-cbm |
248 |
;; |
249 |
amigaos | amigados) |
250 |
basic_machine=m68k-cbm |
251 |
os=-amigaos |
252 |
;; |
253 |
amigaunix | amix) |
254 |
basic_machine=m68k-cbm |
255 |
os=-sysv4 |
256 |
;; |
257 |
apollo68) |
258 |
basic_machine=m68k-apollo |
259 |
os=-sysv |
260 |
;; |
261 |
apollo68bsd) |
262 |
basic_machine=m68k-apollo |
263 |
os=-bsd |
264 |
;; |
265 |
aux) |
266 |
basic_machine=m68k-apple |
267 |
os=-aux |
268 |
;; |
269 |
balance) |
270 |
basic_machine=ns32k-sequent |
271 |
os=-dynix |
272 |
;; |
273 |
convex-c1) |
274 |
basic_machine=c1-convex |
275 |
os=-bsd |
276 |
;; |
277 |
convex-c2) |
278 |
basic_machine=c2-convex |
279 |
os=-bsd |
280 |
;; |
281 |
convex-c32) |
282 |
basic_machine=c32-convex |
283 |
os=-bsd |
284 |
;; |
285 |
convex-c34) |
286 |
basic_machine=c34-convex |
287 |
os=-bsd |
288 |
;; |
289 |
convex-c38) |
290 |
basic_machine=c38-convex |
291 |
os=-bsd |
292 |
;; |
293 |
cray | ymp) |
294 |
basic_machine=ymp-cray |
295 |
os=-unicos |
296 |
;; |
297 |
cray2) |
298 |
basic_machine=cray2-cray |
299 |
os=-unicos |
300 |
;; |
301 |
[ctj]90-cray) |
302 |
basic_machine=c90-cray |
303 |
os=-unicos |
304 |
;; |
305 |
crds | unos) |
306 |
basic_machine=m68k-crds |
307 |
;; |
308 |
da30 | da30-*) |
309 |
basic_machine=m68k-da30 |
310 |
;; |
311 |
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) |
312 |
basic_machine=mips-dec |
313 |
;; |
314 |
delta | 3300 | motorola-3300 | motorola-delta \ |
315 |
| 3300-motorola | delta-motorola) |
316 |
basic_machine=m68k-motorola |
317 |
;; |
318 |
delta88) |
319 |
basic_machine=m88k-motorola |
320 |
os=-sysv3 |
321 |
;; |
322 |
dpx20 | dpx20-*) |
323 |
basic_machine=rs6000-bull |
324 |
os=-bosx |
325 |
;; |
326 |
dpx2* | dpx2*-bull) |
327 |
basic_machine=m68k-bull |
328 |
os=-sysv3 |
329 |
;; |
330 |
ebmon29k) |
331 |
basic_machine=a29k-amd |
332 |
os=-ebmon |
333 |
;; |
334 |
elxsi) |
335 |
basic_machine=elxsi-elxsi |
336 |
os=-bsd |
337 |
;; |
338 |
encore | umax | mmax) |
339 |
basic_machine=ns32k-encore |
340 |
;; |
341 |
es1800 | OSE68k | ose68k | ose | OSE) |
342 |
basic_machine=m68k-ericsson |
343 |
os=-ose |
344 |
;; |
345 |
fx2800) |
346 |
basic_machine=i860-alliant |
347 |
;; |
348 |
genix) |
349 |
basic_machine=ns32k-ns |
350 |
;; |
351 |
gmicro) |
352 |
basic_machine=tron-gmicro |
353 |
os=-sysv |
354 |
;; |
355 |
h3050r* | hiux*) |
356 |
basic_machine=hppa1.1-hitachi |
357 |
os=-hiuxwe2 |
358 |
;; |
359 |
h8300hms) |
360 |
basic_machine=h8300-hitachi |
361 |
os=-hms |
362 |
;; |
363 |
h8300xray) |
364 |
basic_machine=h8300-hitachi |
365 |
os=-xray |
366 |
;; |
367 |
h8500hms) |
368 |
basic_machine=h8500-hitachi |
369 |
os=-hms |
370 |
;; |
371 |
harris) |
372 |
basic_machine=m88k-harris |
373 |
os=-sysv3 |
374 |
;; |
375 |
hp300-*) |
376 |
basic_machine=m68k-hp |
377 |
;; |
378 |
hp300bsd) |
379 |
basic_machine=m68k-hp |
380 |
os=-bsd |
381 |
;; |
382 |
hp300hpux) |
383 |
basic_machine=m68k-hp |
384 |
os=-hpux |
385 |
;; |
386 |
hp3k9[0-9][0-9] | hp9[0-9][0-9]) |
387 |
basic_machine=hppa1.0-hp |
388 |
;; |
389 |
hp9k2[0-9][0-9] | hp9k31[0-9]) |
390 |
basic_machine=m68000-hp |
391 |
;; |
392 |
hp9k3[2-9][0-9]) |
393 |
basic_machine=m68k-hp |
394 |
;; |
395 |
hp9k6[0-9][0-9] | hp6[0-9][0-9]) |
396 |
basic_machine=hppa1.0-hp |
397 |
;; |
398 |
hp9k7[0-79][0-9] | hp7[0-79][0-9]) |
399 |
basic_machine=hppa1.1-hp |
400 |
;; |
401 |
hp9k78[0-9] | hp78[0-9]) |
402 |
# FIXME: really hppa2.0-hp |
403 |
basic_machine=hppa1.1-hp |
404 |
;; |
405 |
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) |
406 |
# FIXME: really hppa2.0-hp |
407 |
basic_machine=hppa1.1-hp |
408 |
;; |
409 |
hp9k8[0-9][13679] | hp8[0-9][13679]) |
410 |
basic_machine=hppa1.1-hp |
411 |
;; |
412 |
hp9k8[0-9][0-9] | hp8[0-9][0-9]) |
413 |
basic_machine=hppa1.0-hp |
414 |
;; |
415 |
hppa-next) |
416 |
os=-nextstep3 |
417 |
;; |
418 |
hppaosf) |
419 |
basic_machine=hppa1.1-hp |
420 |
os=-osf |
421 |
;; |
422 |
hppro) |
423 |
basic_machine=hppa1.1-hp |
424 |
os=-proelf |
425 |
;; |
426 |
i370-ibm* | ibm*) |
427 |
basic_machine=i370-ibm |
428 |
os=-mvs |
429 |
;; |
430 |
# I'm not sure what "Sysv32" means. Should this be sysv3.2? |
431 |
i[34567]86v32) |
432 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
433 |
os=-sysv32 |
434 |
;; |
435 |
i[34567]86v4*) |
436 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
437 |
os=-sysv4 |
438 |
;; |
439 |
i[34567]86v) |
440 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
441 |
os=-sysv |
442 |
;; |
443 |
i[34567]86sol2) |
444 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
445 |
os=-solaris2 |
446 |
;; |
447 |
i386mach) |
448 |
basic_machine=i386-mach |
449 |
os=-mach |
450 |
;; |
451 |
i386-vsta | vsta) |
452 |
basic_machine=i386-unknown |
453 |
os=-vsta |
454 |
;; |
455 |
i386-go32 | go32) |
456 |
basic_machine=i386-unknown |
457 |
os=-go32 |
458 |
;; |
459 |
i386-mingw32 | mingw32) |
460 |
basic_machine=i386-unknown |
461 |
os=-mingw32 |
462 |
;; |
463 |
iris | iris4d) |
464 |
basic_machine=mips-sgi |
465 |
case $os in |
466 |
-irix*) |
467 |
;; |
468 |
*) |
469 |
os=-irix4 |
470 |
;; |
471 |
esac |
472 |
;; |
473 |
isi68 | isi) |
474 |
basic_machine=m68k-isi |
475 |
os=-sysv |
476 |
;; |
477 |
m88k-omron*) |
478 |
basic_machine=m88k-omron |
479 |
;; |
480 |
magnum | m3230) |
481 |
basic_machine=mips-mips |
482 |
os=-sysv |
483 |
;; |
484 |
merlin) |
485 |
basic_machine=ns32k-utek |
486 |
os=-sysv |
487 |
;; |
488 |
miniframe) |
489 |
basic_machine=m68000-convergent |
490 |
;; |
491 |
*mint | *MiNT) |
492 |
basic_machine=m68k-atari |
493 |
os=-mint |
494 |
;; |
495 |
mipsel*-linux*) |
496 |
basic_machine=mipsel-unknown |
497 |
os=-linux-gnu |
498 |
;; |
499 |
mips*-linux*) |
500 |
basic_machine=mips-unknown |
501 |
os=-linux-gnu |
502 |
;; |
503 |
mips3*-*) |
504 |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` |
505 |
;; |
506 |
mips3*) |
507 |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown |
508 |
;; |
509 |
monitor) |
510 |
basic_machine=m68k-rom68k |
511 |
os=-coff |
512 |
;; |
513 |
msdos) |
514 |
basic_machine=i386-unknown |
515 |
os=-msdos |
516 |
;; |
517 |
ncr3000) |
518 |
basic_machine=i486-ncr |
519 |
os=-sysv4 |
520 |
;; |
521 |
netbsd386) |
522 |
basic_machine=i386-unknown |
523 |
os=-netbsd |
524 |
;; |
525 |
netwinder) |
526 |
basic_machine=armv4l-corel |
527 |
os=-linux |
528 |
;; |
529 |
news | news700 | news800 | news900) |
530 |
basic_machine=m68k-sony |
531 |
os=-newsos |
532 |
;; |
533 |
news1000) |
534 |
basic_machine=m68030-sony |
535 |
os=-newsos |
536 |
;; |
537 |
news-3600 | risc-news) |
538 |
basic_machine=mips-sony |
539 |
os=-newsos |
540 |
;; |
541 |
necv70) |
542 |
basic_machine=v70-nec |
543 |
os=-sysv |
544 |
;; |
545 |
next | m*-next ) |
546 |
basic_machine=m68k-next |
547 |
case $os in |
548 |
-nextstep* ) |
549 |
;; |
550 |
-ns2*) |
551 |
os=-nextstep2 |
552 |
;; |
553 |
*) |
554 |
os=-nextstep3 |
555 |
;; |
556 |
esac |
557 |
;; |
558 |
nh3000) |
559 |
basic_machine=m68k-harris |
560 |
os=-cxux |
561 |
;; |
562 |
nh[45]000) |
563 |
basic_machine=m88k-harris |
564 |
os=-cxux |
565 |
;; |
566 |
nindy960) |
567 |
basic_machine=i960-intel |
568 |
os=-nindy |
569 |
;; |
570 |
mon960) |
571 |
basic_machine=i960-intel |
572 |
os=-mon960 |
573 |
;; |
574 |
np1) |
575 |
basic_machine=np1-gould |
576 |
;; |
577 |
op50n-* | op60c-*) |
578 |
basic_machine=hppa1.1-oki |
579 |
os=-proelf |
580 |
;; |
581 |
OSE68000 | ose68000) |
582 |
basic_machine=m68000-ericsson |
583 |
os=-ose |
584 |
;; |
585 |
os68k) |
586 |
basic_machine=m68k-none |
587 |
os=-os68k |
588 |
;; |
589 |
pa-hitachi) |
590 |
basic_machine=hppa1.1-hitachi |
591 |
os=-hiuxwe2 |
592 |
;; |
593 |
paragon) |
594 |
basic_machine=i860-intel |
595 |
os=-osf |
596 |
;; |
597 |
pbd) |
598 |
basic_machine=sparc-tti |
599 |
;; |
600 |
pbb) |
601 |
basic_machine=m68k-tti |
602 |
;; |
603 |
pc532 | pc532-*) |
604 |
basic_machine=ns32k-pc532 |
605 |
;; |
606 |
pentium | p5 | k5 | k6 | nexen) |
607 |
basic_machine=i586-pc |
608 |
;; |
609 |
pentiumpro | p6 | 6x86) |
610 |
basic_machine=i686-pc |
611 |
;; |
612 |
pentiumii | pentium2) |
613 |
basic_machine=i786-pc |
614 |
;; |
615 |
pentium-* | p5-* | k5-* | k6-* | nexen-*) |
616 |
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` |
617 |
;; |
618 |
pentiumpro-* | p6-* | 6x86-*) |
619 |
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` |
620 |
;; |
621 |
pentiumii-* | pentium2-*) |
622 |
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` |
623 |
;; |
624 |
pn) |
625 |
basic_machine=pn-gould |
626 |
;; |
627 |
power) basic_machine=rs6000-ibm |
628 |
;; |
629 |
ppc) basic_machine=powerpc-unknown |
630 |
;; |
631 |
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` |
632 |
;; |
633 |
ppcle | powerpclittle | ppc-le | powerpc-little) |
634 |
basic_machine=powerpcle-unknown |
635 |
;; |
636 |
ppcle-* | powerpclittle-*) |
637 |
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` |
638 |
;; |
639 |
ps2) |
640 |
basic_machine=i386-ibm |
641 |
;; |
642 |
rom68k) |
643 |
basic_machine=m68k-rom68k |
644 |
os=-coff |
645 |
;; |
646 |
rm[46]00) |
647 |
basic_machine=mips-siemens |
648 |
;; |
649 |
rtpc | rtpc-*) |
650 |
basic_machine=romp-ibm |
651 |
;; |
652 |
sa29200) |
653 |
basic_machine=a29k-amd |
654 |
os=-udi |
655 |
;; |
656 |
sequent) |
657 |
basic_machine=i386-sequent |
658 |
;; |
659 |
sh) |
660 |
basic_machine=sh-hitachi |
661 |
os=-hms |
662 |
;; |
663 |
sparclite-wrs) |
664 |
basic_machine=sparclite-wrs |
665 |
os=-vxworks |
666 |
;; |
667 |
sps7) |
668 |
basic_machine=m68k-bull |
669 |
os=-sysv2 |
670 |
;; |
671 |
spur) |
672 |
basic_machine=spur-unknown |
673 |
;; |
674 |
st2000) |
675 |
basic_machine=m68k-tandem |
676 |
;; |
677 |
stratus) |
678 |
basic_machine=i860-stratus |
679 |
os=-sysv4 |
680 |
;; |
681 |
sun2) |
682 |
basic_machine=m68000-sun |
683 |
;; |
684 |
sun2os3) |
685 |
basic_machine=m68000-sun |
686 |
os=-sunos3 |
687 |
;; |
688 |
sun2os4) |
689 |
basic_machine=m68000-sun |
690 |
os=-sunos4 |
691 |
;; |
692 |
sun3os3) |
693 |
basic_machine=m68k-sun |
694 |
os=-sunos3 |
695 |
;; |
696 |
sun3os4) |
697 |
basic_machine=m68k-sun |
698 |
os=-sunos4 |
699 |
;; |
700 |
sun4os3) |
701 |
basic_machine=sparc-sun |
702 |
os=-sunos3 |
703 |
;; |
704 |
sun4os4) |
705 |
basic_machine=sparc-sun |
706 |
os=-sunos4 |
707 |
;; |
708 |
sun4sol2) |
709 |
basic_machine=sparc-sun |
710 |
os=-solaris2 |
711 |
;; |
712 |
sun3 | sun3-*) |
713 |
basic_machine=m68k-sun |
714 |
;; |
715 |
sun4) |
716 |
basic_machine=sparc-sun |
717 |
;; |
718 |
sun386 | sun386i | roadrunner) |
719 |
basic_machine=i386-sun |
720 |
;; |
721 |
symmetry) |
722 |
basic_machine=i386-sequent |
723 |
os=-dynix |
724 |
;; |
725 |
t3e) |
726 |
basic_machine=t3e-cray |
727 |
os=-unicos |
728 |
;; |
729 |
tx39) |
730 |
basic_machine=mipstx39-unknown |
731 |
;; |
732 |
tx39el) |
733 |
basic_machine=mipstx39el-unknown |
734 |
;; |
735 |
tower | tower-32) |
736 |
basic_machine=m68k-ncr |
737 |
;; |
738 |
udi29k) |
739 |
basic_machine=a29k-amd |
740 |
os=-udi |
741 |
;; |
742 |
ultra3) |
743 |
basic_machine=a29k-nyu |
744 |
os=-sym1 |
745 |
;; |
746 |
v810 | necv810) |
747 |
basic_machine=v810-nec |
748 |
os=-none |
749 |
;; |
750 |
vaxv) |
751 |
basic_machine=vax-dec |
752 |
os=-sysv |
753 |
;; |
754 |
vms) |
755 |
basic_machine=vax-dec |
756 |
os=-vms |
757 |
;; |
758 |
vpp*|vx|vx-*) |
759 |
basic_machine=f301-fujitsu |
760 |
;; |
761 |
vxworks960) |
762 |
basic_machine=i960-wrs |
763 |
os=-vxworks |
764 |
;; |
765 |
vxworks68) |
766 |
basic_machine=m68k-wrs |
767 |
os=-vxworks |
768 |
;; |
769 |
vxworks29k) |
770 |
basic_machine=a29k-wrs |
771 |
os=-vxworks |
772 |
;; |
773 |
w65*) |
774 |
basic_machine=w65-wdc |
775 |
os=-none |
776 |
;; |
777 |
w89k-*) |
778 |
basic_machine=hppa1.1-winbond |
779 |
os=-proelf |
780 |
;; |
781 |
xmp) |
782 |
basic_machine=xmp-cray |
783 |
os=-unicos |
784 |
;; |
785 |
xps | xps100) |
786 |
basic_machine=xps100-honeywell |
787 |
;; |
788 |
z8k-*-coff) |
789 |
basic_machine=z8k-unknown |
790 |
os=-sim |
791 |
;; |
792 |
none) |
793 |
basic_machine=none-none |
794 |
os=-none |
795 |
;; |
796 |
|
797 |
# Here we handle the default manufacturer of certain CPU types. It is in |
798 |
# some cases the only manufacturer, in others, it is the most popular. |
799 |
w89k) |
800 |
basic_machine=hppa1.1-winbond |
801 |
;; |
802 |
op50n) |
803 |
basic_machine=hppa1.1-oki |
804 |
;; |
805 |
op60c) |
806 |
basic_machine=hppa1.1-oki |
807 |
;; |
808 |
mips) |
809 |
if [ x$os = x-linux-gnu ]; then |
810 |
basic_machine=mips-unknown |
811 |
else |
812 |
basic_machine=mips-mips |
813 |
fi |
814 |
;; |
815 |
romp) |
816 |
basic_machine=romp-ibm |
817 |
;; |
818 |
rs6000) |
819 |
basic_machine=rs6000-ibm |
820 |
;; |
821 |
vax) |
822 |
basic_machine=vax-dec |
823 |
;; |
824 |
pdp11) |
825 |
basic_machine=pdp11-dec |
826 |
;; |
827 |
we32k) |
828 |
basic_machine=we32k-att |
829 |
;; |
830 |
sparc | sparcv9) |
831 |
basic_machine=sparc-sun |
832 |
;; |
833 |
cydra) |
834 |
basic_machine=cydra-cydrome |
835 |
;; |
836 |
orion) |
837 |
basic_machine=orion-highlevel |
838 |
;; |
839 |
orion105) |
840 |
basic_machine=clipper-highlevel |
841 |
;; |
842 |
mac | mpw | mac-mpw) |
843 |
basic_machine=m68k-apple |
844 |
;; |
845 |
pmac | pmac-mpw) |
846 |
basic_machine=powerpc-apple |
847 |
;; |
848 |
c4x*) |
849 |
basic_machine=c4x-none |
850 |
os=-coff |
851 |
;; |
852 |
*) |
853 |
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 |
854 |
exit 1 |
855 |
;; |
856 |
esac |
857 |
|
858 |
# Here we canonicalize certain aliases for manufacturers. |
859 |
case $basic_machine in |
860 |
*-digital*) |
861 |
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` |
862 |
;; |
863 |
*-commodore*) |
864 |
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` |
865 |
;; |
866 |
*) |
867 |
;; |
868 |
esac |
869 |
|
870 |
# Decode manufacturer-specific aliases for certain operating systems. |
871 |
|
872 |
if [ x"$os" != x"" ] |
873 |
then |
874 |
case $os in |
875 |
# First match some system type aliases |
876 |
# that might get confused with valid system types. |
877 |
# -solaris* is a basic system type, with this one exception. |
878 |
-solaris1 | -solaris1.*) |
879 |
os=`echo $os | sed -e 's|solaris1|sunos4|'` |
880 |
;; |
881 |
-solaris) |
882 |
os=-solaris2 |
883 |
;; |
884 |
-svr4*) |
885 |
os=-sysv4 |
886 |
;; |
887 |
-unixware*) |
888 |
os=-sysv4.2uw |
889 |
;; |
890 |
-gnu/linux*) |
891 |
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` |
892 |
;; |
893 |
# First accept the basic system types. |
894 |
# The portable systems comes first. |
895 |
# Each alternative MUST END IN A *, to match a version number. |
896 |
# -sysv* is not here because it comes later, after sysvr4. |
897 |
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
898 |
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ |
899 |
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ |
900 |
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
901 |
| -aos* \ |
902 |
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
903 |
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
904 |
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ |
905 |
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ |
906 |
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
907 |
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
908 |
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
909 |
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ |
910 |
| -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*) |
911 |
# Remember, each alternative MUST END IN *, to match a version number. |
912 |
;; |
913 |
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ |
914 |
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \ |
915 |
| -macos* | -mpw* | -magic* | -mon960* | -lnews*) |
916 |
;; |
917 |
-mac*) |
918 |
os=`echo $os | sed -e 's|mac|macos|'` |
919 |
;; |
920 |
-linux*) |
921 |
os=`echo $os | sed -e 's|linux|linux-gnu|'` |
922 |
;; |
923 |
-sunos5*) |
924 |
os=`echo $os | sed -e 's|sunos5|solaris2|'` |
925 |
;; |
926 |
-sunos6*) |
927 |
os=`echo $os | sed -e 's|sunos6|solaris3|'` |
928 |
;; |
929 |
-osfrose*) |
930 |
os=-osfrose |
931 |
;; |
932 |
-osf*) |
933 |
os=-osf |
934 |
;; |
935 |
-utek*) |
936 |
os=-bsd |
937 |
;; |
938 |
-dynix*) |
939 |
os=-bsd |
940 |
;; |
941 |
-acis*) |
942 |
os=-aos |
943 |
;; |
944 |
-386bsd) |
945 |
os=-bsd |
946 |
;; |
947 |
-ctix* | -uts*) |
948 |
os=-sysv |
949 |
;; |
950 |
-ns2 ) |
951 |
os=-nextstep2 |
952 |
;; |
953 |
# Preserve the version number of sinix5. |
954 |
-sinix5.*) |
955 |
os=`echo $os | sed -e 's|sinix|sysv|'` |
956 |
;; |
957 |
-sinix*) |
958 |
os=-sysv4 |
959 |
;; |
960 |
-triton*) |
961 |
os=-sysv3 |
962 |
;; |
963 |
-oss*) |
964 |
os=-sysv3 |
965 |
;; |
966 |
-svr4) |
967 |
os=-sysv4 |
968 |
;; |
969 |
-svr3) |
970 |
os=-sysv3 |
971 |
;; |
972 |
-sysvr4) |
973 |
os=-sysv4 |
974 |
;; |
975 |
# This must come after -sysvr4. |
976 |
-sysv*) |
977 |
;; |
978 |
-ose*) |
979 |
os=-ose |
980 |
;; |
981 |
-es1800*) |
982 |
os=-ose |
983 |
;; |
984 |
-xenix) |
985 |
os=-xenix |
986 |
;; |
987 |
-*mint | -*MiNT) |
988 |
os=-mint |
989 |
;; |
990 |
-none) |
991 |
;; |
992 |
*) |
993 |
# Get rid of the `-' at the beginning of $os. |
994 |
os=`echo $os | sed 's/[^-]*-//'` |
995 |
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 |
996 |
exit 1 |
997 |
;; |
998 |
esac |
999 |
else |
1000 |
|
1001 |
# Here we handle the default operating systems that come with various machines. |
1002 |
# The value should be what the vendor currently ships out the door with their |
1003 |
# machine or put another way, the most popular os provided with the machine. |
1004 |
|
1005 |
# Note that if you're going to try to match "-MANUFACTURER" here (say, |
1006 |
# "-sun"), then you have to tell the case statement up towards the top |
1007 |
# that MANUFACTURER isn't an operating system. Otherwise, code above |
1008 |
# will signal an error saying that MANUFACTURER isn't an operating |
1009 |
# system, and we'll never get to this point. |
1010 |
|
1011 |
case $basic_machine in |
1012 |
*-acorn) |
1013 |
os=-riscix1.2 |
1014 |
;; |
1015 |
arm*-corel) |
1016 |
os=-linux |
1017 |
;; |
1018 |
arm*-semi) |
1019 |
os=-aout |
1020 |
;; |
1021 |
pdp11-*) |
1022 |
os=-none |
1023 |
;; |
1024 |
*-dec | vax-*) |
1025 |
os=-ultrix4.2 |
1026 |
;; |
1027 |
m68*-apollo) |
1028 |
os=-domain |
1029 |
;; |
1030 |
i386-sun) |
1031 |
os=-sunos4.0.2 |
1032 |
;; |
1033 |
m68000-sun) |
1034 |
os=-sunos3 |
1035 |
# This also exists in the configure program, but was not the |
1036 |
# default. |
1037 |
# os=-sunos4 |
1038 |
;; |
1039 |
m68*-cisco) |
1040 |
os=-aout |
1041 |
;; |
1042 |
mips*-cisco) |
1043 |
os=-elf |
1044 |
;; |
1045 |
mips*-*) |
1046 |
os=-elf |
1047 |
;; |
1048 |
*-tti) # must be before sparc entry or we get the wrong os. |
1049 |
os=-sysv3 |
1050 |
;; |
1051 |
sparc-* | *-sun) |
1052 |
os=-sunos4.1.1 |
1053 |
;; |
1054 |
*-be) |
1055 |
os=-beos |
1056 |
;; |
1057 |
*-ibm) |
1058 |
os=-aix |
1059 |
;; |
1060 |
*-wec) |
1061 |
os=-proelf |
1062 |
;; |
1063 |
*-winbond) |
1064 |
os=-proelf |
1065 |
;; |
1066 |
*-oki) |
1067 |
os=-proelf |
1068 |
;; |
1069 |
*-hp) |
1070 |
os=-hpux |
1071 |
;; |
1072 |
*-hitachi) |
1073 |
os=-hiux |
1074 |
;; |
1075 |
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) |
1076 |
os=-sysv |
1077 |
;; |
1078 |
*-cbm) |
1079 |
os=-amigaos |
1080 |
;; |
1081 |
*-dg) |
1082 |
os=-dgux |
1083 |
;; |
1084 |
*-dolphin) |
1085 |
os=-sysv3 |
1086 |
;; |
1087 |
m68k-ccur) |
1088 |
os=-rtu |
1089 |
;; |
1090 |
m88k-omron*) |
1091 |
os=-luna |
1092 |
;; |
1093 |
*-next ) |
1094 |
os=-nextstep |
1095 |
;; |
1096 |
*-sequent) |
1097 |
os=-ptx |
1098 |
;; |
1099 |
*-crds) |
1100 |
os=-unos |
1101 |
;; |
1102 |
*-ns) |
1103 |
os=-genix |
1104 |
;; |
1105 |
i370-*) |
1106 |
os=-mvs |
1107 |
;; |
1108 |
*-next) |
1109 |
os=-nextstep3 |
1110 |
;; |
1111 |
*-gould) |
1112 |
os=-sysv |
1113 |
;; |
1114 |
*-highlevel) |
1115 |
os=-bsd |
1116 |
;; |
1117 |
*-encore) |
1118 |
os=-bsd |
1119 |
;; |
1120 |
*-sgi) |
1121 |
os=-irix |
1122 |
;; |
1123 |
*-siemens) |
1124 |
os=-sysv4 |
1125 |
;; |
1126 |
*-masscomp) |
1127 |
os=-rtu |
1128 |
;; |
1129 |
f301-fujitsu) |
1130 |
os=-uxpv |
1131 |
;; |
1132 |
*-rom68k) |
1133 |
os=-coff |
1134 |
;; |
1135 |
*-*bug) |
1136 |
os=-coff |
1137 |
;; |
1138 |
*-apple) |
1139 |
os=-macos |
1140 |
;; |
1141 |
*-atari*) |
1142 |
os=-mint |
1143 |
;; |
1144 |
*) |
1145 |
os=-none |
1146 |
;; |
1147 |
esac |
1148 |
fi |
1149 |
|
1150 |
# Here we handle the case where we know the os, and the CPU type, but not the |
1151 |
# manufacturer. We pick the logical manufacturer. |
1152 |
vendor=unknown |
1153 |
case $basic_machine in |
1154 |
*-unknown) |
1155 |
case $os in |
1156 |
-riscix*) |
1157 |
vendor=acorn |
1158 |
;; |
1159 |
-sunos*) |
1160 |
vendor=sun |
1161 |
;; |
1162 |
-aix*) |
1163 |
vendor=ibm |
1164 |
;; |
1165 |
-beos*) |
1166 |
vendor=be |
1167 |
;; |
1168 |
-hpux*) |
1169 |
vendor=hp |
1170 |
;; |
1171 |
-mpeix*) |
1172 |
vendor=hp |
1173 |
;; |
1174 |
-hiux*) |
1175 |
vendor=hitachi |
1176 |
;; |
1177 |
-unos*) |
1178 |
vendor=crds |
1179 |
;; |
1180 |
-dgux*) |
1181 |
vendor=dg |
1182 |
;; |
1183 |
-luna*) |
1184 |
vendor=omron |
1185 |
;; |
1186 |
-genix*) |
1187 |
vendor=ns |
1188 |
;; |
1189 |
-mvs*) |
1190 |
vendor=ibm |
1191 |
;; |
1192 |
-ptx*) |
1193 |
vendor=sequent |
1194 |
;; |
1195 |
-vxsim* | -vxworks*) |
1196 |
vendor=wrs |
1197 |
;; |
1198 |
-aux*) |
1199 |
vendor=apple |
1200 |
;; |
1201 |
-hms*) |
1202 |
vendor=hitachi |
1203 |
;; |
1204 |
-mpw* | -macos*) |
1205 |
vendor=apple |
1206 |
;; |
1207 |
-*mint | -*MiNT) |
1208 |
vendor=atari |
1209 |
;; |
1210 |
esac |
1211 |
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` |
1212 |
;; |
1213 |
esac |
1214 |
|
1215 |
echo $basic_machine$os |