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 |
|
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 |
-hiux*) |
102 |
os=-hiuxwe2 |
103 |
;; |
104 |
-sco5) |
105 |
os=sco3.2v5 |
106 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
107 |
;; |
108 |
-sco4) |
109 |
os=-sco3.2v4 |
110 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
111 |
;; |
112 |
-sco3.2.[4-9]*) |
113 |
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` |
114 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
115 |
;; |
116 |
-sco3.2v[4-9]*) |
117 |
# Don't forget version if it is 3.2v4 or newer. |
118 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
119 |
;; |
120 |
-sco*) |
121 |
os=-sco3.2v2 |
122 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
123 |
;; |
124 |
-isc) |
125 |
os=-isc2.2 |
126 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
127 |
;; |
128 |
-clix*) |
129 |
basic_machine=clipper-intergraph |
130 |
;; |
131 |
-isc*) |
132 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
133 |
;; |
134 |
-lynx*) |
135 |
os=-lynxos |
136 |
;; |
137 |
-ptx*) |
138 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` |
139 |
;; |
140 |
-windowsnt*) |
141 |
os=`echo $os | sed -e 's/windowsnt/winnt/'` |
142 |
;; |
143 |
-psos*) |
144 |
os=-psos |
145 |
;; |
146 |
esac |
147 |
|
148 |
# Decode aliases for certain CPU-COMPANY combinations. |
149 |
case $basic_machine in |
150 |
# Recognize the basic CPU types without company name. |
151 |
# Some are omitted here because they have special meanings below. |
152 |
tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \ |
153 |
| arme[lb] | pyramid \ |
154 |
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ |
155 |
| alpha | we32k | ns16k | clipper | i370 | sh \ |
156 |
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \ |
157 |
| pdp11 | mips64el | mips64orion | mips64orionel \ |
158 |
| sparc | sparclet | sparclite | sparc64) |
159 |
basic_machine=$basic_machine-unknown |
160 |
;; |
161 |
# We use `pc' rather than `unknown' |
162 |
# because (1) that's what they normally are, and |
163 |
# (2) the word "unknown" tends to confuse beginning users. |
164 |
i[3456]86) |
165 |
basic_machine=$basic_machine-pc |
166 |
;; |
167 |
# Object if more than one company name word. |
168 |
*-*-*) |
169 |
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 |
170 |
exit 1 |
171 |
;; |
172 |
# Recognize the basic CPU types with company name. |
173 |
vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ |
174 |
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ |
175 |
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ |
176 |
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ |
177 |
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ |
178 |
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ |
179 |
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \ |
180 |
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*) |
181 |
;; |
182 |
# Recognize the various machine names and aliases which stand |
183 |
# for a CPU type and a company and sometimes even an OS. |
184 |
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) |
185 |
basic_machine=m68000-att |
186 |
;; |
187 |
3b*) |
188 |
basic_machine=we32k-att |
189 |
;; |
190 |
alliant | fx80) |
191 |
basic_machine=fx80-alliant |
192 |
;; |
193 |
altos | altos3068) |
194 |
basic_machine=m68k-altos |
195 |
;; |
196 |
am29k) |
197 |
basic_machine=a29k-none |
198 |
os=-bsd |
199 |
;; |
200 |
amdahl) |
201 |
basic_machine=580-amdahl |
202 |
os=-sysv |
203 |
;; |
204 |
amiga | amiga-*) |
205 |
basic_machine=m68k-cbm |
206 |
;; |
207 |
amigados) |
208 |
basic_machine=m68k-cbm |
209 |
os=-amigados |
210 |
;; |
211 |
amigaunix | amix) |
212 |
basic_machine=m68k-cbm |
213 |
os=-sysv4 |
214 |
;; |
215 |
apollo68) |
216 |
basic_machine=m68k-apollo |
217 |
os=-sysv |
218 |
;; |
219 |
aux) |
220 |
basic_machine=m68k-apple |
221 |
os=-aux |
222 |
;; |
223 |
balance) |
224 |
basic_machine=ns32k-sequent |
225 |
os=-dynix |
226 |
;; |
227 |
convex-c1) |
228 |
basic_machine=c1-convex |
229 |
os=-bsd |
230 |
;; |
231 |
convex-c2) |
232 |
basic_machine=c2-convex |
233 |
os=-bsd |
234 |
;; |
235 |
convex-c32) |
236 |
basic_machine=c32-convex |
237 |
os=-bsd |
238 |
;; |
239 |
convex-c34) |
240 |
basic_machine=c34-convex |
241 |
os=-bsd |
242 |
;; |
243 |
convex-c38) |
244 |
basic_machine=c38-convex |
245 |
os=-bsd |
246 |
;; |
247 |
cray | ymp) |
248 |
basic_machine=ymp-cray |
249 |
os=-unicos |
250 |
;; |
251 |
cray2) |
252 |
basic_machine=cray2-cray |
253 |
os=-unicos |
254 |
;; |
255 |
[ctj]90-cray) |
256 |
basic_machine=c90-cray |
257 |
os=-unicos |
258 |
;; |
259 |
crds | unos) |
260 |
basic_machine=m68k-crds |
261 |
;; |
262 |
da30 | da30-*) |
263 |
basic_machine=m68k-da30 |
264 |
;; |
265 |
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) |
266 |
basic_machine=mips-dec |
267 |
;; |
268 |
delta | 3300 | motorola-3300 | motorola-delta \ |
269 |
| 3300-motorola | delta-motorola) |
270 |
basic_machine=m68k-motorola |
271 |
;; |
272 |
delta88) |
273 |
basic_machine=m88k-motorola |
274 |
os=-sysv3 |
275 |
;; |
276 |
dpx20 | dpx20-*) |
277 |
basic_machine=rs6000-bull |
278 |
os=-bosx |
279 |
;; |
280 |
dpx2* | dpx2*-bull) |
281 |
basic_machine=m68k-bull |
282 |
os=-sysv3 |
283 |
;; |
284 |
ebmon29k) |
285 |
basic_machine=a29k-amd |
286 |
os=-ebmon |
287 |
;; |
288 |
elxsi) |
289 |
basic_machine=elxsi-elxsi |
290 |
os=-bsd |
291 |
;; |
292 |
encore | umax | mmax) |
293 |
basic_machine=ns32k-encore |
294 |
;; |
295 |
fx2800) |
296 |
basic_machine=i860-alliant |
297 |
;; |
298 |
genix) |
299 |
basic_machine=ns32k-ns |
300 |
;; |
301 |
gmicro) |
302 |
basic_machine=tron-gmicro |
303 |
os=-sysv |
304 |
;; |
305 |
h3050r* | hiux*) |
306 |
basic_machine=hppa1.1-hitachi |
307 |
os=-hiuxwe2 |
308 |
;; |
309 |
h8300hms) |
310 |
basic_machine=h8300-hitachi |
311 |
os=-hms |
312 |
;; |
313 |
harris) |
314 |
basic_machine=m88k-harris |
315 |
os=-sysv3 |
316 |
;; |
317 |
hp300-*) |
318 |
basic_machine=m68k-hp |
319 |
;; |
320 |
hp300bsd) |
321 |
basic_machine=m68k-hp |
322 |
os=-bsd |
323 |
;; |
324 |
hp300hpux) |
325 |
basic_machine=m68k-hp |
326 |
os=-hpux |
327 |
;; |
328 |
hp9k2[0-9][0-9] | hp9k31[0-9]) |
329 |
basic_machine=m68000-hp |
330 |
;; |
331 |
hp9k3[2-9][0-9]) |
332 |
basic_machine=m68k-hp |
333 |
;; |
334 |
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) |
335 |
basic_machine=hppa1.1-hp |
336 |
;; |
337 |
hp9k8[0-9][0-9] | hp8[0-9][0-9]) |
338 |
basic_machine=hppa1.0-hp |
339 |
;; |
340 |
hppa-next) |
341 |
os=-nextstep3 |
342 |
;; |
343 |
i370-ibm* | ibm*) |
344 |
basic_machine=i370-ibm |
345 |
os=-mvs |
346 |
;; |
347 |
# I'm not sure what "Sysv32" means. Should this be sysv3.2? |
348 |
i[3456]86v32) |
349 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
350 |
os=-sysv32 |
351 |
;; |
352 |
i[3456]86v4*) |
353 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
354 |
os=-sysv4 |
355 |
;; |
356 |
i[3456]86v) |
357 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
358 |
os=-sysv |
359 |
;; |
360 |
i[3456]86sol2) |
361 |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
362 |
os=-solaris2 |
363 |
;; |
364 |
iris | iris4d) |
365 |
basic_machine=mips-sgi |
366 |
case $os in |
367 |
-irix*) |
368 |
;; |
369 |
*) |
370 |
os=-irix4 |
371 |
;; |
372 |
esac |
373 |
;; |
374 |
isi68 | isi) |
375 |
basic_machine=m68k-isi |
376 |
os=-sysv |
377 |
;; |
378 |
m88k-omron*) |
379 |
basic_machine=m88k-omron |
380 |
;; |
381 |
magnum | m3230) |
382 |
basic_machine=mips-mips |
383 |
os=-sysv |
384 |
;; |
385 |
merlin) |
386 |
basic_machine=ns32k-utek |
387 |
os=-sysv |
388 |
;; |
389 |
miniframe) |
390 |
basic_machine=m68000-convergent |
391 |
;; |
392 |
mips3*-*) |
393 |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` |
394 |
;; |
395 |
mips3*) |
396 |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown |
397 |
;; |
398 |
ncr3000) |
399 |
basic_machine=i486-ncr |
400 |
os=-sysv4 |
401 |
;; |
402 |
news | news700 | news800 | news900) |
403 |
basic_machine=m68k-sony |
404 |
os=-newsos |
405 |
;; |
406 |
news1000) |
407 |
basic_machine=m68030-sony |
408 |
os=-newsos |
409 |
;; |
410 |
news-3600 | risc-news) |
411 |
basic_machine=mips-sony |
412 |
os=-newsos |
413 |
;; |
414 |
next | m*-next ) |
415 |
basic_machine=m68k-next |
416 |
case $os in |
417 |
-nextstep* ) |
418 |
;; |
419 |
-ns2*) |
420 |
os=-nextstep2 |
421 |
;; |
422 |
*) |
423 |
os=-nextstep3 |
424 |
;; |
425 |
esac |
426 |
;; |
427 |
nh3000) |
428 |
basic_machine=m68k-harris |
429 |
os=-cxux |
430 |
;; |
431 |
nh[45]000) |
432 |
basic_machine=m88k-harris |
433 |
os=-cxux |
434 |
;; |
435 |
nindy960) |
436 |
basic_machine=i960-intel |
437 |
os=-nindy |
438 |
;; |
439 |
np1) |
440 |
basic_machine=np1-gould |
441 |
;; |
442 |
pa-hitachi) |
443 |
basic_machine=hppa1.1-hitachi |
444 |
os=-hiuxwe2 |
445 |
;; |
446 |
paragon) |
447 |
basic_machine=i860-intel |
448 |
os=-osf |
449 |
;; |
450 |
pbd) |
451 |
basic_machine=sparc-tti |
452 |
;; |
453 |
pbb) |
454 |
basic_machine=m68k-tti |
455 |
;; |
456 |
pc532 | pc532-*) |
457 |
basic_machine=ns32k-pc532 |
458 |
;; |
459 |
pentium | p5) |
460 |
basic_machine=i586-intel |
461 |
;; |
462 |
pentiumpro | p6) |
463 |
basic_machine=i686-intel |
464 |
;; |
465 |
pentium-* | p5-*) |
466 |
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` |
467 |
;; |
468 |
pentiumpro-* | p6-*) |
469 |
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` |
470 |
;; |
471 |
k5) |
472 |
# We don't have specific support for AMD's K5 yet, so just call it a Pentium |
473 |
basic_machine=i586-amd |
474 |
;; |
475 |
nexen) |
476 |
# We don't have specific support for Nexgen yet, so just call it a Pentium |
477 |
basic_machine=i586-nexgen |
478 |
;; |
479 |
pn) |
480 |
basic_machine=pn-gould |
481 |
;; |
482 |
power) basic_machine=rs6000-ibm |
483 |
;; |
484 |
ppc) basic_machine=powerpc-unknown |
485 |
;; |
486 |
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` |
487 |
;; |
488 |
ppcle | powerpclittle | ppc-le | powerpc-little) |
489 |
basic_machine=powerpcle-unknown |
490 |
;; |
491 |
ppcle-* | powerpclittle-*) |
492 |
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` |
493 |
;; |
494 |
ps2) |
495 |
basic_machine=i386-ibm |
496 |
;; |
497 |
rm[46]00) |
498 |
basic_machine=mips-siemens |
499 |
;; |
500 |
rtpc | rtpc-*) |
501 |
basic_machine=romp-ibm |
502 |
;; |
503 |
sequent) |
504 |
basic_machine=i386-sequent |
505 |
;; |
506 |
sh) |
507 |
basic_machine=sh-hitachi |
508 |
os=-hms |
509 |
;; |
510 |
sps7) |
511 |
basic_machine=m68k-bull |
512 |
os=-sysv2 |
513 |
;; |
514 |
spur) |
515 |
basic_machine=spur-unknown |
516 |
;; |
517 |
sun2) |
518 |
basic_machine=m68000-sun |
519 |
;; |
520 |
sun2os3) |
521 |
basic_machine=m68000-sun |
522 |
os=-sunos3 |
523 |
;; |
524 |
sun2os4) |
525 |
basic_machine=m68000-sun |
526 |
os=-sunos4 |
527 |
;; |
528 |
sun3os3) |
529 |
basic_machine=m68k-sun |
530 |
os=-sunos3 |
531 |
;; |
532 |
sun3os4) |
533 |
basic_machine=m68k-sun |
534 |
os=-sunos4 |
535 |
;; |
536 |
sun4os3) |
537 |
basic_machine=sparc-sun |
538 |
os=-sunos3 |
539 |
;; |
540 |
sun4os4) |
541 |
basic_machine=sparc-sun |
542 |
os=-sunos4 |
543 |
;; |
544 |
sun4sol2) |
545 |
basic_machine=sparc-sun |
546 |
os=-solaris2 |
547 |
;; |
548 |
sun3 | sun3-*) |
549 |
basic_machine=m68k-sun |
550 |
;; |
551 |
sun4) |
552 |
basic_machine=sparc-sun |
553 |
;; |
554 |
sun386 | sun386i | roadrunner) |
555 |
basic_machine=i386-sun |
556 |
;; |
557 |
symmetry) |
558 |
basic_machine=i386-sequent |
559 |
os=-dynix |
560 |
;; |
561 |
tower | tower-32) |
562 |
basic_machine=m68k-ncr |
563 |
;; |
564 |
udi29k) |
565 |
basic_machine=a29k-amd |
566 |
os=-udi |
567 |
;; |
568 |
ultra3) |
569 |
basic_machine=a29k-nyu |
570 |
os=-sym1 |
571 |
;; |
572 |
vaxv) |
573 |
basic_machine=vax-dec |
574 |
os=-sysv |
575 |
;; |
576 |
vms) |
577 |
basic_machine=vax-dec |
578 |
os=-vms |
579 |
;; |
580 |
vpp*|vx|vx-*) |
581 |
basic_machine=f301-fujitsu |
582 |
;; |
583 |
vxworks960) |
584 |
basic_machine=i960-wrs |
585 |
os=-vxworks |
586 |
;; |
587 |
vxworks68) |
588 |
basic_machine=m68k-wrs |
589 |
os=-vxworks |
590 |
;; |
591 |
vxworks29k) |
592 |
basic_machine=a29k-wrs |
593 |
os=-vxworks |
594 |
;; |
595 |
xmp) |
596 |
basic_machine=xmp-cray |
597 |
os=-unicos |
598 |
;; |
599 |
xps | xps100) |
600 |
basic_machine=xps100-honeywell |
601 |
;; |
602 |
none) |
603 |
basic_machine=none-none |
604 |
os=-none |
605 |
;; |
606 |
|
607 |
# Here we handle the default manufacturer of certain CPU types. It is in |
608 |
# some cases the only manufacturer, in others, it is the most popular. |
609 |
mips) |
610 |
basic_machine=mips-mips |
611 |
;; |
612 |
romp) |
613 |
basic_machine=romp-ibm |
614 |
;; |
615 |
rs6000) |
616 |
basic_machine=rs6000-ibm |
617 |
;; |
618 |
vax) |
619 |
basic_machine=vax-dec |
620 |
;; |
621 |
pdp11) |
622 |
basic_machine=pdp11-dec |
623 |
;; |
624 |
we32k) |
625 |
basic_machine=we32k-att |
626 |
;; |
627 |
sparc) |
628 |
basic_machine=sparc-sun |
629 |
;; |
630 |
cydra) |
631 |
basic_machine=cydra-cydrome |
632 |
;; |
633 |
orion) |
634 |
basic_machine=orion-highlevel |
635 |
;; |
636 |
orion105) |
637 |
basic_machine=clipper-highlevel |
638 |
;; |
639 |
*) |
640 |
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 |
641 |
exit 1 |
642 |
;; |
643 |
esac |
644 |
|
645 |
# Here we canonicalize certain aliases for manufacturers. |
646 |
case $basic_machine in |
647 |
*-digital*) |
648 |
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` |
649 |
;; |
650 |
*-commodore*) |
651 |
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` |
652 |
;; |
653 |
*) |
654 |
;; |
655 |
esac |
656 |
|
657 |
# Decode manufacturer-specific aliases for certain operating systems. |
658 |
|
659 |
if [ x"$os" != x"" ] |
660 |
then |
661 |
case $os in |
662 |
# First match some system type aliases |
663 |
# that might get confused with valid system types. |
664 |
# -solaris* is a basic system type, with this one exception. |
665 |
-solaris1 | -solaris1.*) |
666 |
os=`echo $os | sed -e 's|solaris1|sunos4|'` |
667 |
;; |
668 |
-solaris) |
669 |
os=-solaris2 |
670 |
;; |
671 |
-unixware* | svr4*) |
672 |
os=-sysv4 |
673 |
;; |
674 |
-gnu/linux*) |
675 |
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` |
676 |
;; |
677 |
# First accept the basic system types. |
678 |
# The portable systems comes first. |
679 |
# Each alternative MUST END IN A *, to match a version number. |
680 |
# -sysv* is not here because it comes later, after sysvr4. |
681 |
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
682 |
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ |
683 |
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ |
684 |
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \ |
685 |
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
686 |
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
687 |
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ |
688 |
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ |
689 |
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
690 |
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
691 |
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
692 |
| -linux-gnu* | -uxpv*) |
693 |
# Remember, each alternative MUST END IN *, to match a version number. |
694 |
;; |
695 |
-linux*) |
696 |
os=`echo $os | sed -e 's|linux|linux-gnu|'` |
697 |
;; |
698 |
-sunos5*) |
699 |
os=`echo $os | sed -e 's|sunos5|solaris2|'` |
700 |
;; |
701 |
-sunos6*) |
702 |
os=`echo $os | sed -e 's|sunos6|solaris3|'` |
703 |
;; |
704 |
-osfrose*) |
705 |
os=-osfrose |
706 |
;; |
707 |
-osf*) |
708 |
os=-osf |
709 |
;; |
710 |
-utek*) |
711 |
os=-bsd |
712 |
;; |
713 |
-dynix*) |
714 |
os=-bsd |
715 |
;; |
716 |
-acis*) |
717 |
os=-aos |
718 |
;; |
719 |
-ctix* | -uts*) |
720 |
os=-sysv |
721 |
;; |
722 |
-ns2 ) |
723 |
os=-nextstep2 |
724 |
;; |
725 |
# Preserve the version number of sinix5. |
726 |
-sinix5.*) |
727 |
os=`echo $os | sed -e 's|sinix|sysv|'` |
728 |
;; |
729 |
-sinix*) |
730 |
os=-sysv4 |
731 |
;; |
732 |
-triton*) |
733 |
os=-sysv3 |
734 |
;; |
735 |
-oss*) |
736 |
os=-sysv3 |
737 |
;; |
738 |
-svr4) |
739 |
os=-sysv4 |
740 |
;; |
741 |
-svr3) |
742 |
os=-sysv3 |
743 |
;; |
744 |
-sysvr4) |
745 |
os=-sysv4 |
746 |
;; |
747 |
# This must come after -sysvr4. |
748 |
-sysv*) |
749 |
;; |
750 |
-xenix) |
751 |
os=-xenix |
752 |
;; |
753 |
-none) |
754 |
;; |
755 |
*) |
756 |
# Get rid of the `-' at the beginning of $os. |
757 |
os=`echo $os | sed 's/[^-]*-//'` |
758 |
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 |
759 |
exit 1 |
760 |
;; |
761 |
esac |
762 |
else |
763 |
|
764 |
# Here we handle the default operating systems that come with various machines. |
765 |
# The value should be what the vendor currently ships out the door with their |
766 |
# machine or put another way, the most popular os provided with the machine. |
767 |
|
768 |
# Note that if you're going to try to match "-MANUFACTURER" here (say, |
769 |
# "-sun"), then you have to tell the case statement up towards the top |
770 |
# that MANUFACTURER isn't an operating system. Otherwise, code above |
771 |
# will signal an error saying that MANUFACTURER isn't an operating |
772 |
# system, and we'll never get to this point. |
773 |
|
774 |
case $basic_machine in |
775 |
*-acorn) |
776 |
os=-riscix1.2 |
777 |
;; |
778 |
arm*-semi) |
779 |
os=-aout |
780 |
;; |
781 |
pdp11-*) |
782 |
os=-none |
783 |
;; |
784 |
*-dec | vax-*) |
785 |
os=-ultrix4.2 |
786 |
;; |
787 |
m68*-apollo) |
788 |
os=-domain |
789 |
;; |
790 |
i386-sun) |
791 |
os=-sunos4.0.2 |
792 |
;; |
793 |
m68000-sun) |
794 |
os=-sunos3 |
795 |
# This also exists in the configure program, but was not the |
796 |
# default. |
797 |
# os=-sunos4 |
798 |
;; |
799 |
*-tti) # must be before sparc entry or we get the wrong os. |
800 |
os=-sysv3 |
801 |
;; |
802 |
sparc-* | *-sun) |
803 |
os=-sunos4.1.1 |
804 |
;; |
805 |
*-ibm) |
806 |
os=-aix |
807 |
;; |
808 |
*-hp) |
809 |
os=-hpux |
810 |
;; |
811 |
*-hitachi) |
812 |
os=-hiux |
813 |
;; |
814 |
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) |
815 |
os=-sysv |
816 |
;; |
817 |
*-cbm) |
818 |
os=-amigados |
819 |
;; |
820 |
*-dg) |
821 |
os=-dgux |
822 |
;; |
823 |
*-dolphin) |
824 |
os=-sysv3 |
825 |
;; |
826 |
m68k-ccur) |
827 |
os=-rtu |
828 |
;; |
829 |
m88k-omron*) |
830 |
os=-luna |
831 |
;; |
832 |
*-next ) |
833 |
os=-nextstep |
834 |
;; |
835 |
*-sequent) |
836 |
os=-ptx |
837 |
;; |
838 |
*-crds) |
839 |
os=-unos |
840 |
;; |
841 |
*-ns) |
842 |
os=-genix |
843 |
;; |
844 |
i370-*) |
845 |
os=-mvs |
846 |
;; |
847 |
*-next) |
848 |
os=-nextstep3 |
849 |
;; |
850 |
*-gould) |
851 |
os=-sysv |
852 |
;; |
853 |
*-highlevel) |
854 |
os=-bsd |
855 |
;; |
856 |
*-encore) |
857 |
os=-bsd |
858 |
;; |
859 |
*-sgi) |
860 |
os=-irix |
861 |
;; |
862 |
*-siemens) |
863 |
os=-sysv4 |
864 |
;; |
865 |
*-masscomp) |
866 |
os=-rtu |
867 |
;; |
868 |
f301-fujitsu) |
869 |
os=-uxpv |
870 |
;; |
871 |
*) |
872 |
os=-none |
873 |
;; |
874 |
esac |
875 |
fi |
876 |
|
877 |
# Here we handle the case where we know the os, and the CPU type, but not the |
878 |
# manufacturer. We pick the logical manufacturer. |
879 |
vendor=unknown |
880 |
case $basic_machine in |
881 |
*-unknown) |
882 |
case $os in |
883 |
-riscix*) |
884 |
vendor=acorn |
885 |
;; |
886 |
-sunos*) |
887 |
vendor=sun |
888 |
;; |
889 |
-aix*) |
890 |
vendor=ibm |
891 |
;; |
892 |
-hpux*) |
893 |
vendor=hp |
894 |
;; |
895 |
-hiux*) |
896 |
vendor=hitachi |
897 |
;; |
898 |
-unos*) |
899 |
vendor=crds |
900 |
;; |
901 |
-dgux*) |
902 |
vendor=dg |
903 |
;; |
904 |
-luna*) |
905 |
vendor=omron |
906 |
;; |
907 |
-genix*) |
908 |
vendor=ns |
909 |
;; |
910 |
-mvs*) |
911 |
vendor=ibm |
912 |
;; |
913 |
-ptx*) |
914 |
vendor=sequent |
915 |
;; |
916 |
-vxsim* | -vxworks*) |
917 |
vendor=wrs |
918 |
;; |
919 |
-aux*) |
920 |
vendor=apple |
921 |
;; |
922 |
esac |
923 |
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` |
924 |
;; |
925 |
esac |
926 |
|
927 |
echo $basic_machine$os |