Modified Files:
[deliverable/binutils-gdb.git] / config.sub
CommitLineData
4f183929 1#!/bin/sh
378fd382 2# Configuration validation subroutine script, version 1.1.
939d9e8a 3# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
378fd382
DZ
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.
a2ee3e6d
JW
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., 675 Mass Ave, Cambridge, MA 02139, USA.
21
4f183929
RP
22
23# Configuration subroutine to validate and canonicalize a configuration type.
24# Supply the specified configuration type as an argument.
25# If it is invalid, we print an error message on stderr and exit with code 1.
26# Otherwise, we print the canonical config type on stdout and succeed.
27
28# This file is supposed to be the same for all GNU packages
29# and recognize all the CPU types, system types and aliases
30# that are meaningful with *any* GNU software.
31# Each package is responsible for reporting which valid configurations
32# it does not support. The user should be able to distinguish
33# a failure to support a valid configuration from a meaningless
a2ee3e6d 34# configuration.
4f183929 35
a2ee3e6d
JW
36# The goal of this file is to map all the various variations of a given
37# machine specification into a single specification in the form:
38# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
27a2a371 39# It is wrong to echo any other type of specification.
8b204e6e 40
23ab00aa
KR
41if [ x$1 = x ]
42then
43 echo Configuration name missing. 1>&2
44 echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
45 echo "or $0 ALIAS" 1>&2
46 echo where ALIAS is a recognized configuration type. 1>&2
47 exit 1
48fi
49
a2ee3e6d
JW
50# First pass through any local machine types.
51case $1 in
52 *local*)
53 echo $1
54 exit 0
55 ;;
56 *)
69e87de2 57 ;;
a2ee3e6d 58esac
b9fe720d 59
a2ee3e6d 60# Separate what the user gave into CPU-COMPANY and OS (if any).
378fd382 61basic_machine=`echo $1 | sed 's/-[^-]*$//'`
a2ee3e6d
JW
62if [ $basic_machine != $1 ]
63then os=`echo $1 | sed 's/.*-/-/'`
64else os=; fi
caebaa16 65
27a2a371
JW
66### Let's recognize common machines as not being operating systems so
67### that things like config.sub decstation-3100 work. We also
6559fbdb 68### recognize some manufacturers as not being operating systems, so we
27a2a371 69### can provide default operating systems below.
a2ee3e6d 70case $os in
939d9e8a
JL
71 -sun*os*)
72 # Prevent following clause from handling this invalid input.
73 ;;
a2ee3e6d
JW
74 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
75 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
939d9e8a
JL
76 -unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
77 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
a2ee3e6d 78 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
939d9e8a 79 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
aa6db781 80 -sim | -cisco) # CYGNUS LOCAL
a2ee3e6d
JW
81 os=
82 basic_machine=$1
83 ;;
378fd382 84 -scout) # CYGNUS LOCAL
f68be6f0 85 ;;
6559fbdb 86 -wrs) # CYGNUS LOCAL
300f6a4f
RS
87 os=vxworks
88 basic_machine=$1
89 ;;
939d9e8a
JL
90 -unixware) # CYGNUS LOCAL
91 os=-sysv4
92 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
93 ;;
94 -hiux*)
aa6db781 95 os=-hiuxwe2
939d9e8a
JL
96 ;;
97 -sco4)
98 os=-sco3.2v4
99 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
100 ;;
101 -sco3.2.[4-9]*)
102 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
103 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
104 ;;
27a2a371
JW
105 -sco3.2v[4-9]*)
106 # Don't forget version if it is 3.2v4 or newer.
6559fbdb 107 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
27a2a371 108 ;;
a2ee3e6d 109 -sco*)
378fd382 110 os=-sco3.2v2
6559fbdb 111 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
a2ee3e6d 112 ;;
27a2a371
JW
113 -isc)
114 os=-isc2.2
6559fbdb 115 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
27a2a371 116 ;;
9d784b19
RS
117 -clix*)
118 basic_machine=clipper-intergraph
119 ;;
378fd382 120 -isc*)
6559fbdb 121 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
a2ee3e6d 122 ;;
b2857593 123 -lynx*)
939d9e8a
JL
124 os=-lynxos
125 ;;
aa6db781
DE
126 -os9k)
127 os=-os9k
128 ;;
129 -os9)
130 os=-os9
131 ;;
a2ee3e6d 132esac
b9fe720d 133
a2ee3e6d
JW
134# Decode aliases for certain CPU-COMPANY combinations.
135case $basic_machine in
939d9e8a 136 # Recognize the basic CPU types without company name.
378fd382
DZ
137 # Some are omitted here because they have special meanings below.
138 tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
939d9e8a
JL
139 | tron | a29k | 580 | i960 | hppa1.0 | hppa1.1 \
140 | alpha | we32k | ns16k | clipper | sparclite | i370 \
141 | powerpc \
142 | h8300 | h8300h | sh \
143 | m88110 | sparc | m680[01234]0 | m683?2 | z8k | v70 \
144 | h8500 | mips64 | mipsel | mips64el) # CYGNUS LOCAL
a2ee3e6d
JW
145 basic_machine=$basic_machine-unknown
146 ;;
939d9e8a
JL
147 # Object if more than one company name word.
148 *-*-*)
149 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
150 exit 1
151 ;;
152 # Recognize the basic CPU types with company name.
378fd382
DZ
153 vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
154 | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
a2ee3e6d 155 | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
939d9e8a 156 | none-* | 580-* | cray2-* | i960-* | xmp-* | ymp-* \
27a2a371 157 | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
6559fbdb 158 | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
939d9e8a
JL
159 | powerpc \
160 | h8300-* | h8300h-* | sh-* \
161 | m88110-* | m680[01234]0-* | m683?2-* | z8k-* | h8500-* \
162 | mips64-* | mipsel-* | mips64el-*) # CYGNUS LOCAL
a2ee3e6d
JW
163 ;;
164 # Recognize the various machine names and aliases which stand
165 # for a CPU type and a company and sometimes even an OS.
25fa8f53 166# start-sanitize-v9
378fd382 167 sparc64) # CYGNUS LOCAL
a2ee3e6d 168 basic_machine=sparc64-sun
aa6db781 169 os=-elf
a2ee3e6d 170 ;;
6559fbdb 171 sparc64-*) # CYGNUS LOCAL
a2ee3e6d 172 ;;
25fa8f53 173# end-sanitize-v9
7054ee6d 174
939d9e8a
JL
175 mips3-*) # CYGNUS LOCAL
176 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
177 ;;
178 mips3) # CYGNUS LOCAL
179 basic_machine=mips64-unknown
180 ;;
ba7f177a
PB
181 dpx20 | dpx20-*) # CYGNUS LOCAL
182 basic_machine=rs6000-bull
183 os=-bosx
184 ;;
939d9e8a
JL
185 unixware) # CYGNUS LOCAL
186 os=-sysv4
187 basic_machine=i386-unknown
188 ;;
a2ee3e6d
JW
189 vaxv)
190 basic_machine=vax-dec
191 os=-sysv
192 ;;
193 vms)
194 basic_machine=vax-dec
195 os=-vms
196 ;;
939d9e8a
JL
197 i370-ibm* | ibm*)
198 basic_machine=i370-ibm
199 os=-mvs
200 ;;
378fd382 201 i386mach) # CYGNUS LOCAL
68cd7865
SEF
202 basic_machine=i386-mach
203 os=-mach
204 ;;
6559fbdb
RP
205 i[34]86v32)
206 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
939d9e8a 207 os=-sysv32
a2ee3e6d 208 ;;
6559fbdb
RP
209 i[34]86v4*)
210 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
211 os=-sysv4
212 ;;
213 i[34]86v)
214 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
215 os=-sysv
216 ;;
217 i[34]86sol2)
218 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
219 os=-solaris2
a2ee3e6d 220 ;;
939d9e8a
JL
221 vsta | i386-vsta) # CYGNUS LOCAL
222 basic_machine=i386-unknown
223 os=-vsta
224 ;;
378fd382 225 go32 | i386-go32) # CYGNUS LOCAL
2501643a
PB
226 basic_machine=i386-unknown
227 os=-go32
228 ;;
378fd382 229 i386-linux* | linux) # CYGNUS LOCAL
8bcd7db2
JW
230 basic_machine=i386-unknown
231 os=-linux
232 ;;
939d9e8a
JL
233 i386-linux*coff | linuxcoff) # CYGNUS LOCAL
234 basic_machine=i386-unknown
235 os=-linuxcoff
236 ;;
237 i386-linux*elf | linuxelf) # CYGNUS LOCAL
238 basic_machine=i386-unknown
239 os=-linuxelf
240 ;;
378fd382 241 386bsd) # CYGNUS LOCAL
23ab00aa
KR
242 basic_machine=i386-unknown
243 os=-bsd
244 ;;
9117f609
JK
245 netbsd386)
246 basic_machine=i386-unknown # CYGNUS LOCAL
247 os=-netbsd
248 ;;
a2ee3e6d
JW
249 spur)
250 basic_machine=spur-unknown
251 ;;
939d9e8a
JL
252 paragon)
253 basic_machine=i860-intel
254 os=-osf
255 ;;
378fd382
DZ
256 alliant | fx80)
257 basic_machine=fx80-alliant
a2ee3e6d
JW
258 ;;
259 convex-c1)
260 basic_machine=c1-convex
378fd382 261 os=-bsd
a2ee3e6d
JW
262 ;;
263 convex-c2)
264 basic_machine=c2-convex
378fd382 265 os=-bsd
a2ee3e6d
JW
266 ;;
267 convex-c32)
268 basic_machine=c32-convex
378fd382 269 os=-bsd
a2ee3e6d
JW
270 ;;
271 convex-c34)
272 basic_machine=c34-convex
378fd382 273 os=-bsd
a2ee3e6d
JW
274 ;;
275 convex-c38)
276 basic_machine=c38-convex
378fd382 277 os=-bsd
a2ee3e6d
JW
278 ;;
279 m88k-omron*)
280 basic_machine=m88k-omron
281 ;;
282 merlin)
283 basic_machine=ns32k-utek
284 os=-sysv
285 ;;
286 crds | unos)
287 basic_machine=m68k-crds
288 ;;
378fd382
DZ
289 elxsi)
290 basic_machine=elxsi-elxsi
291 os=-bsd
292 ;;
a2ee3e6d
JW
293 encore | umax | mmax)
294 basic_machine=ns32k-encore
a2ee3e6d
JW
295 ;;
296 genix)
297 basic_machine=ns32k-ns
298 ;;
378fd382
DZ
299 iris | iris4d | \
300 iris3 | iris4) # CYGNUS LOCAL
68cd7865 301 basic_machine=mips-sgi
378fd382
DZ
302 case $os in
303 -irix*)
304 ;;
305 *)
306 os=-irix4
307 ;;
308 esac
a2ee3e6d
JW
309 ;;
310 news | news700 | news800 | news900)
311 basic_machine=m68k-sony
312 os=-newsos
313 ;;
314 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
378fd382 315 basic_machine=m68000-att
a2ee3e6d 316 ;;
378fd382 317 3b*)
de0f17d8 318 basic_machine=we32k-att
de0f17d8 319 ;;
a2ee3e6d
JW
320 delta | 3300 | motorola-3300 | motorola-delta \
321 | 3300-motorola | delta-motorola)
322 basic_machine=m68k-motorola
323 ;;
324 balance)
325 basic_machine=ns32k-sequent
326 os=-dynix
327 ;;
328 pc532)
329 basic_machine=ns32k-pc532
330 ;;
331 symmetry)
332 basic_machine=i386-sequent
333 os=-dynix
334 ;;
335 sun2)
336 basic_machine=m68000-sun
337 ;;
338 sun2os3)
339 basic_machine=m68000-sun
340 os=-sunos3
341 ;;
342 sun2os4)
343 basic_machine=m68000-sun
344 os=-sunos4
345 ;;
346 sun3os3)
347 basic_machine=m68k-sun
348 os=-sunos3
349 ;;
350 sun3os4)
351 basic_machine=m68k-sun
352 os=-sunos4
353 ;;
354 sun4os3)
355 basic_machine=sparc-sun
356 os=-sunos3
357 ;;
358 sun4os4)
359 basic_machine=sparc-sun
360 os=-sunos4
361 ;;
378fd382 362 sun4sol2) # CYGNUS LOCAL
8bcd7db2
JW
363 basic_machine=sparc-sun
364 os=-solaris2
365 ;;
378fd382 366 z8ksim) # CYGNUS LOCAL
984b27cb 367 basic_machine=z8k-zilog
de0f17d8
BK
368 os=-sim
369 ;;
a2ee3e6d
JW
370 sun3)
371 basic_machine=m68k-sun
372 ;;
373 sun4)
374 basic_machine=sparc-sun
375 ;;
378fd382 376 msdos) # CYGNUS LOCAL
afba2b22
ILT
377 basic_machine=i386-unknown
378 os=-msdos
379 ;;
a2ee3e6d 380 pbd)
378fd382
DZ
381 basic_machine=sparc-tti
382 ;;
383 pbb)
384 basic_machine=m68k-tti
a2ee3e6d
JW
385 ;;
386 sun386 | sun386i | roadrunner)
387 basic_machine=i386-sun
388 ;;
389 ps2)
390 basic_machine=i386-ibm
391 ;;
378fd382
DZ
392 fx2800)
393 basic_machine=i860-alliant
394 ;;
a2ee3e6d
JW
395 next)
396 basic_machine=m68k-next
ad1f7512 397 os=-bsd
a2ee3e6d 398 ;;
378fd382
DZ
399 amiga)
400 basic_machine=m68k-cbm
401 ;;
27a2a371
JW
402 amigados)
403 basic_machine=m68k-cbm
404 os=-amigados
405 ;;
406 amigaunix | amix)
407 basic_machine=m68k-cbm
408 os=-sysv4
409 ;;
a2ee3e6d
JW
410 hp9k3[2-9][0-9])
411 basic_machine=m68k-hp
412 ;;
413 hp9k31[0-9] | hp9k2[0-9][0-9])
414 basic_machine=m68000-hp
415 ;;
8bcd7db2
JW
416 hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
417 basic_machine=hppa1.1-hp
418 ;;
419 hp9k8[0-9][0-9] | hp8[0-9][0-9])
420 basic_machine=hppa1.0-hp
a2ee3e6d 421 ;;
9117f609
JK
422 h3050r* | hppahitachi)
423 basic_machine=hppa1.1-hitachi
424 ;;
a2ee3e6d
JW
425 isi68 | isi)
426 basic_machine=m68k-isi
427 os=-sysv
428 ;;
429 apollo68)
430 basic_machine=m68k-apollo
431 os=-sysv
432 ;;
378fd382 433 apollo68bsd) # CYGNUS LOCAL
68cd7865
SEF
434 basic_machine=m68k-apollo
435 os=-bsd
436 ;;
a2ee3e6d
JW
437 altos | altos3068)
438 basic_machine=m68k-altos
439 ;;
440 miniframe)
9d784b19 441 basic_machine=m68010-convergent
a2ee3e6d
JW
442 ;;
443 tower | tower-32)
444 basic_machine=m68k-ncr
445 ;;
446 news-3600 | risc-news)
447 basic_machine=mips-sony
448 os=-newsos
449 ;;
378fd382 450 st2000) # CYGNUS LOCAL
012be2b1 451 basic_machine=m68k-tandem
68cd7865 452 ;;
9117f609 453 m6*bug) # CYGNUS LOCAL
9d784b19
RS
454 basic_machine=m68k-bug
455 os=-coff
456 ;;
457 rom68k) # CYGNUS LOCAL
458 basic_machine=m68k-rom68k
459 os=-coff
460 ;;
461 monitor) # CYGNUS LOCAL
462 basic_machine=m68k-rom68k
463 os=-coff
464 ;;
378fd382 465 decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
a2ee3e6d
JW
466 basic_machine=mips-dec
467 ;;
468 magnum | m3230)
469 basic_machine=mips-mips
470 os=-sysv
471 ;;
472 gmicro)
473 basic_machine=tron-gmicro
474 os=-sysv
475 ;;
476 rtpc | rtpc-*)
477 basic_machine=romp-ibm
478 ;;
479 am29k)
480 basic_machine=a29k-none
481 os=-bsd
482 ;;
483 amdahl)
484 basic_machine=580-amdahl
485 os=-sysv
486 ;;
378fd382 487 stratus) # CYGNUS LOCAL
dd16baba
SEF
488 basic_machine=i860-stratus
489 os=-sysv4
490 ;;
a2ee3e6d
JW
491 cray | ymp)
492 basic_machine=ymp-cray
493 os=-unicos
494 ;;
495 cray2)
496 basic_machine=cray2-cray
497 os=-unicos
498 ;;
499 xmp)
500 basic_machine=xmp-cray
501 os=-unicos
502 ;;
503 delta88)
504 basic_machine=m88k-motorola
6559fbdb 505 os=-sysv3
a2ee3e6d 506 ;;
939d9e8a 507 dpx2* | dpx2*-bull)
a2ee3e6d 508 basic_machine=m68k-bull
939d9e8a 509 os=-sysv3
a2ee3e6d
JW
510 ;;
511 ebmon29k)
512 basic_machine=a29k-amd
513 os=-ebmon
514 ;;
378fd382 515 h8300hms) # CYGNUS LOCAL
a2ee3e6d 516 basic_machine=h8300-hitachi
2501643a
PB
517 os=-hms
518 ;;
939d9e8a 519 sh*) # CYGNUS LOCAL
984b27cb
SC
520 basic_machine=sh-hitachi
521 os=-hms
522 ;;
523
524 h8500hms) # CYGNUS LOCAL
525 basic_machine=h8500-hitachi
526 os=-hms
527 ;;
378fd382
DZ
528 h8300xray) # CYGNUS LOCAL
529 basic_machine=h8300-hitachi
530 os=-xray
531 ;;
532 h8300hds)
533 basic_machine=h8300-hitachi
534 os=-hds
535 ;;
536 udi29k) # CYGNUS LOCAL
2501643a
PB
537 basic_machine=a29k-amd
538 os=-udi
539 ;;
378fd382 540 a29khif) # CYGNUS LOCAL
2501643a
PB
541 basic_machine=a29k-amd
542 os=-udi
543 ;;
378fd382 544 sa29200) # CYGNUS LOCAL
2501643a
PB
545 basic_machine=a29k-amd
546 os=-udi
547 ;;
a2ee3e6d
JW
548 harris)
549 basic_machine=m88k-harris
6559fbdb 550 os=-sysv3
a2ee3e6d
JW
551 ;;
552 hp300bsd)
553 basic_machine=m68k-hp
554 os=-bsd
555 ;;
556 hp300hpux)
557 basic_machine=m68k-hp
558 os=-hpux
559 ;;
99a5da15
KR
560 hppaosf)
561 basic_machine=hppa1.1-hp
562 os=-osf
563 ;;
a2ee3e6d 564 ncr3000)
afba2b22 565 basic_machine=i486-ncr
a2ee3e6d
JW
566 os=-sysv4
567 ;;
378fd382 568 necv70) # CYGNUS LOCAL
68cd7865
SEF
569 basic_machine=v70-nec
570 os=-sysv
571 ;;
a2ee3e6d
JW
572 news1000)
573 basic_machine=m68030-sony
574 os=-newsos
575 ;;
576 nindy960)
577 basic_machine=i960-intel
578 os=-nindy
579 ;;
580 pn)
581 basic_machine=pn-gould
a2ee3e6d
JW
582 ;;
583 np1)
584 basic_machine=np1-gould
a2ee3e6d
JW
585 ;;
586 ultra3)
587 basic_machine=a29k-nyu
c1e296fc 588 os=-sym1
a2ee3e6d
JW
589 ;;
590 vxworks960)
591 basic_machine=i960-wrs
592 os=-vxworks
593 ;;
594 vxworks68)
595 basic_machine=m68k-wrs
596 os=-vxworks
597 ;;
300f6a4f 598 es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL
afba2b22
ILT
599 basic_machine=m68k-ericsson
600 os=-ose
601 ;;
378fd382 602 OSE68000 | ose68000) # CYGNUS LOCAL
afba2b22
ILT
603 basic_machine=m68000-ericsson
604 os=-ose
605 ;;
378fd382 606 os68k) # CYGNUS LOCAL
dd16baba
SEF
607 basic_machine=m68k-none
608 os=-os68k
609 ;;
378fd382 610 sparclite-wrs) # CYGNUS LOCAL
fb90daeb
ME
611 basic_machine=sparclite-wrs
612 os=-vxworks
613 ;;
378fd382 614 sparcfrw) # CYGNUS LOCAL
c73e3fe4
JW
615 basic_machine=sparcfrw-sun
616 os=-sunos4
617 ;;
378fd382 618 sparcfrwcompat) # CYGNUS LOCAL
c73e3fe4
JW
619 basic_machine=sparcfrwcompat-sun
620 os=-sunos4
621 ;;
378fd382 622 sparclitefrw) # CYGNUS LOCAL
c73e3fe4 623 basic_machine=sparclitefrw-fujitsu
c73e3fe4 624 ;;
378fd382 625 sparclitefrwcompat) # CYGNUS LOCAL
c73e3fe4 626 basic_machine=sparclitefrwcompat-fujitsu
c73e3fe4 627 ;;
378fd382 628 adobe68k) # CYGNUS LOCAL
f68be6f0
ILT
629 basic_machine=m68010-adobe
630 os=-scout
631 ;;
ad1f7512 632
27a2a371
JW
633 xps | xps100)
634 basic_machine=xps100-honeywell
635 ;;
a2ee3e6d
JW
636 none)
637 basic_machine=none-none
638 os=-none
639 ;;
69e87de2 640
a2ee3e6d
JW
641# Here we handle the default manufacturer of certain CPU types. It is in
642# some cases the only manufacturer, in others, it is the most popular.
643 mips)
644 basic_machine=mips-mips
645 ;;
646 romp)
647 basic_machine=romp-ibm
648 ;;
649 rs6000)
650 basic_machine=rs6000-ibm
651 ;;
652 vax)
653 basic_machine=vax-dec
654 ;;
378fd382
DZ
655 we32k)
656 basic_machine=we32k-att
657 ;;
6559fbdb
RP
658 sparc)
659 basic_machine=sparc-sun
660 ;;
27a2a371
JW
661 cydra)
662 basic_machine=cydra-cydrome
663 ;;
664 orion)
665 basic_machine=orion-highlevel
666 ;;
667 orion105)
668 basic_machine=clipper-highlevel
669 ;;
939d9e8a
JL
670## start-sanitize-mpw
671 mac) # CYGNUS LOCAL
672 basic_machine=m68k-apple
673 ;;
674 mpw) # CYGNUS LOCAL
675 basic_machine=m68k-apple
676 ;;
677## end-sanitize-mpw
a2ee3e6d
JW
678 *)
679 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
4f183929 680 exit 1
a2ee3e6d 681 ;;
4f183929
RP
682esac
683
378fd382
DZ
684# Here we canonicalize certain aliases for manufacturers.
685case $basic_machine in
686 *-digital*)
687 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
688 ;;
689 *-commodore*)
690 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
691 ;;
692 *)
693 ;;
694esac
695
a2ee3e6d 696# Decode manufacturer-specific aliases for certain operating systems.
e6602723 697
b48eb8b7 698if [ x"$os" != x"" ]
a2ee3e6d
JW
699then
700case $os in
6559fbdb
RP
701 # -solaris* is a basic system type, with this one exception.
702 -solaris1 | -solaris1.*)
703 os=`echo $os | sed -e 's|solaris1|sunos4|'`
704 ;;
b2eed00f
DE
705 -solaris)
706 os=-solaris2
707 ;;
a2ee3e6d
JW
708 # First accept the basic system types.
709 # The portable systems comes first.
710 # Each alternative must end in a *, to match a version number.
939d9e8a
JL
711 # -sysv* is not here because it comes later, after sysvr4.
712 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
713 | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]* | -hpux* \
378fd382
DZ
714 | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
715 | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
939d9e8a 716 | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
27a2a371 717 | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
939d9e8a
JL
718 | -hiux* | -386bsd* | -netbsd* | -riscix* | -lynxos* \
719 | -go32 | -vsta | -sim | -es1800* | -udi | -hms* | -xray | -hds* \
720 | -os68k* | -none* | -v88r* | -aout* | -coff | -elf* | -bosx* \
aa6db781 721 | -abug | -ecoff* | -netware* | -os9* )
ba7f177a 722 # The last three lines above are CYGNUS LOCAL
2501643a 723 ;;
6559fbdb
RP
724 -sunos5*)
725 os=`echo $os | sed -e 's|sunos5|solaris2|'`
726 ;;
727 -sunos6*)
728 os=`echo $os | sed -e 's|sunos6|solaris3|'`
729 ;;
a2ee3e6d 730 -osfrose*)
378fd382 731 os=-osfrose
a2ee3e6d
JW
732 ;;
733 -osf*)
378fd382
DZ
734 os=-osf
735 ;;
736 -utek*)
a2ee3e6d
JW
737 os=-bsd
738 ;;
739 -dynix*)
740 os=-bsd
741 ;;
378fd382
DZ
742 -acis*)
743 os=-aos
a2ee3e6d 744 ;;
378fd382 745 -386bsd) # CYGNUS LOCAL
23ab00aa
KR
746 os=-bsd
747 ;;
68cd7865 748 -ctix* | -uts*)
a2ee3e6d
JW
749 os=-sysv
750 ;;
378fd382
DZ
751 -triton*)
752 os=-sysv3
753 ;;
754 -oss*)
755 os=-sysv3
756 ;;
c1e296fc
SG
757 -svr4)
758 os=-sysv4
759 ;;
939d9e8a
JL
760 -unixware)
761 os=-sysv4
762 ;;
c1e296fc
SG
763 -svr3)
764 os=-sysv3
765 ;;
939d9e8a
JL
766 -sysvr4)
767 os=-sysv4
768 ;;
769 # This must come after -sysvr4.
770 -sysv*)
771 ;;
378fd382 772 -ose*) # CYGNUS LOCAL
afba2b22
ILT
773 os=-ose
774 ;;
378fd382 775 -es1800*) # CYGNUS LOCAL
afba2b22
ILT
776 os=-ose
777 ;;
27a2a371
JW
778 -xenix)
779 os=-xenix
780 ;;
378fd382
DZ
781 -none)
782 ;;
a2ee3e6d
JW
783 *)
784 # Get rid of the `-' at the beginning of $os.
785 os=`echo $1 | sed 's/[^-]*-//'`
786 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
787 exit 1
788 ;;
69e87de2 789esac
a2ee3e6d 790else
69e87de2 791
a2ee3e6d
JW
792# Here we handle the default operating systems that come with various machines.
793# The value should be what the vendor currently ships out the door with their
794# machine or put another way, the most popular os provided with the machine.
27a2a371
JW
795
796# Note that if you're going to try to match "-MANUFACTURER" here (say,
797# "-sun"), then you have to tell the case statement up towards the top
798# that MANUFACTURER isn't an operating system. Otherwise, code above
799# will signal an error saying that MANUFACTURER isn't an operating
800# system, and we'll never get to this point.
801
a2ee3e6d 802case $basic_machine in
939d9e8a
JL
803 *-acorn)
804 os=-riscix1.2
805 ;;
a2ee3e6d 806 *-dec | vax-*)
378fd382 807 os=-ultrix4.2
a2ee3e6d
JW
808 ;;
809 i386-sun)
378fd382 810 os=-sunos4.0.2
a2ee3e6d
JW
811 ;;
812 m68000-sun)
813 os=-sunos3
814 # This also exists in the configure program, but was not the
815 # default.
816 # os=-sunos4
817 ;;
aa6db781
DE
818 m68*-cisco)
819 os=-aout
820 ;;
821 mips*-cisco)
822 os=-elf
823 ;;
378fd382
DZ
824 *-tti) # must be before sparc entry or we get the wrong os.
825 os=-sysv3
a2ee3e6d 826 ;;
378fd382
DZ
827 sparc-* | *-sun)
828 os=-sunos4.1.1
a2ee3e6d
JW
829 ;;
830 *-ibm)
831 os=-aix
832 ;;
833 *-hp)
834 os=-hpux
835 ;;
9117f609
JK
836 *-hitachi)
837 os=-hiux
838 ;;
27a2a371 839 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
a2ee3e6d
JW
840 os=-sysv
841 ;;
378fd382
DZ
842 *-cbm)
843 os=-amigados
844 ;;
a2ee3e6d
JW
845 *-dg)
846 os=-dgux
847 ;;
378fd382
DZ
848 *-dolphin)
849 os=-sysv3
850 ;;
a2ee3e6d
JW
851 m88k-omron*)
852 os=-luna
853 ;;
a70c9959
KR
854 *-sequent)
855 os=-bsd
856 ;;
a2ee3e6d
JW
857 *-crds)
858 os=-unos
859 ;;
860 *-ns)
861 os=-genix
862 ;;
939d9e8a
JL
863 i370-*)
864 os=-mvs
865 ;;
866 *-next)
867 os=-bsd
868 ;;
378fd382
DZ
869 i[34]86-*)
870 os=-sco3.2v2
a2ee3e6d 871 ;;
27a2a371
JW
872 *-gould)
873 os=-sysv
874 ;;
875 *-highlevel)
876 os=-bsd
877 ;;
878 *-encore)
879 os=-bsd
880 ;;
881 *-sgi)
882 os=-irix
883 ;;
884 *-masscomp)
885 os=-rtu
886 ;;
9d784b19
RS
887 *-rom68k) # CYGNUS LOCAL
888 os=-coff
889 ;;
890 *-*bug) # CYGNUS LOCAL
891 os=-coff
892 ;;
939d9e8a
JL
893## start-sanitize-mpw
894 *-apple) # CYGNUS LOCAL
895 os=-mpw
896 ;;
897## end-sanitize-mpw
a2ee3e6d
JW
898 *)
899 os=-none
900 ;;
69e87de2 901esac
a2ee3e6d 902fi
69e87de2 903
a2ee3e6d
JW
904# Here we handle the case where we know the os, and the CPU type, but not the
905# manufacturer. We pick the logical manufacturer.
906vendor=unknown
907case $basic_machine in
b2857593
BC
908 sparc-sun)
909 # Strip off Sun's patch-release suffix
910 os=`echo $os | sed 's/_U1$//'`
911 ;;
a2ee3e6d
JW
912 *-unknown)
913 case $os in
939d9e8a
JL
914 -riscix*)
915 vendor=acorn
916 ;;
a2ee3e6d
JW
917 -sunos*)
918 vendor=sun
919 ;;
6559fbdb 920 -bosx*) # CYGNUS LOCAL
ba7f177a
PB
921 vendor=bull
922 ;;
b2eed00f
DE
923 -lynxos*)
924 vendor=lynx
925 ;;
a2ee3e6d
JW
926 -aix*)
927 vendor=ibm
928 ;;
929 -hpux*)
930 vendor=hp
931 ;;
9117f609
JK
932 -hiux*)
933 vendor=hitachi
934 ;;
a2ee3e6d
JW
935 -unos*)
936 vendor=crds
937 ;;
938 -dgux*)
939 vendor=dg
940 ;;
941 -luna*)
942 vendor=omron
943 ;;
944 -genix*)
945 vendor=ns
946 ;;
939d9e8a
JL
947 -mvs*)
948 vendor=ibm
949 ;;
950 -vxworks*)
951 vendor=wrs # CYGNUS LOCAL
afba2b22 952 ;;
984b27cb
SC
953 -hms*) # CYGNUS LOCAL
954 vendor=hitachi
955 ;;
939d9e8a
JL
956## start-sanitize-mpw
957 -mpw*) # CYGNUS LOCAL
958 vendor=apple
959 ;;
960## end-sanitize-mpw
a2ee3e6d
JW
961 esac
962 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
963 ;;
4f183929
RP
964esac
965
a2ee3e6d 966echo $basic_machine$os
This page took 0.147968 seconds and 4 git commands to generate.