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