1#! /bin/sh 2# Configuration validation subroutine script, version 1.1. 3# Copyright (C) 1991, 1992, 1993, 1994, 1995, 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# It is wrong to echo any other type of specification. 45 46if [ x$1 = x ] 47then 48 echo Configuration name missing. 1>&2 49 echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 50 echo "or $0 ALIAS" 1>&2 51 echo where ALIAS is a recognized configuration type. 1>&2 52 exit 1 53fi 54 55# First pass through any local machine types. 56case $1 in 57 *local*) 58 echo $1 59 exit 0 60 ;; 61 *) 62 ;; 63esac 64 65# Separate what the user gave into CPU-COMPANY and OS (if any). 66basic_machine=`echo $1 | sed 's/-[^-]*$//'` 67if [ $basic_machine != $1 ] 68then os=`echo $1 | sed 's/.*-/-/'` 69else os=; fi 70 71### Let's recognize common machines as not being operating systems so 72### that things like config.sub decstation-3100 work. We also 73### recognize some manufacturers as not being operating systems, so we 74### can provide default operating systems below. 75case $os in 76 -sun*os*) 77 # Prevent following clause from handling this invalid input. 78 ;; 79 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 80 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 81 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 82 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 83 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 84 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp ) 85 os= 86 basic_machine=$1 87 ;; 88 -sim | -cisco | -oki | -wec | -winbond ) # CYGNUS LOCAL 89 os= 90 basic_machine=$1 91 ;; 92 -apple*) # CYGNUS LOCAL 93 os= 94 basic_machine=$1 95 ;; 96 -scout) # CYGNUS LOCAL 97 ;; 98 -wrs) # CYGNUS LOCAL 99 os=vxworks 100 basic_machine=$1 101 ;; 102 -hiux*) 103 os=-hiuxwe2 104 ;; 105 -sco4) 106 os=-sco3.2v4 107 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 108 ;; 109 -sco3.2.[4-9]*) 110 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 111 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 112 ;; 113 -sco3.2v[4-9]*) 114 # Don't forget version if it is 3.2v4 or newer. 115 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 116 ;; 117 -sco*) 118 os=-sco3.2v2 119 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 120 ;; 121 -isc) 122 os=-isc2.2 123 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 124 ;; 125 -clix*) 126 basic_machine=clipper-intergraph 127 ;; 128 -isc*) 129 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` 130 ;; 131 -lynx*) 132 os=-lynxos 133 ;; 134 -ptx*) 135 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 136 ;; 137 -windowsnt*) 138 os=`echo $os | sed -e 's/windowsnt/winnt/'` 139 ;; 140esac 141 142# Decode aliases for certain CPU-COMPANY combinations. 143case $basic_machine in 144 # Recognize the basic CPU types without company name. 145 # Some are omitted here because they have special meanings below. 146 tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | armeb \ 147 | armel | pyramid \ 148 | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ 149 | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ 150 | powerpc | powerpcle | sparc64 | 1750a | dsp16xx | mips64 | mipsel \ 151 | pdp11 | mips64el | mips64orion | mips64orionel \ 152 | sparc | sparc8 | supersparc | microsparc | ultrasparc) 153 basic_machine=$basic_machine-unknown 154 ;; 155 m88110 | m680[012346]0 | m683?2 | m68360 | z8k | v70 | h8500 | w65) # CYGNUS LOCAL 156 basic_machine=$basic_machine-unknown 157 ;; 158 mips64vr4300 | mips64vr4300el) # CYGNUS LOCAL jsmith 159 basic_machine=$basic_machine-unknown 160 ;; 161 # Object if more than one company name word. 162 *-*-*) 163 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 164 exit 1 165 ;; 166 # Recognize the basic CPU types with company name. 167 vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ 168 | sparc-* | ns32k-* | fx80-* | arm-* | arme[lb]-* | c[123]* \ 169 | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ 170 | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ 171 | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ 172 | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ 173 | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* \ 174 | mips64-* | mipsel-* | mips64el-* | mips64orion-* \ 175 | mips64orionel-* | sparc8-* | supersparc-* | microsparc-* | ultrasparc-*) 176 ;; 177 m88110-* | m680[012346]0-* | m683?2-* | m68360-* | z8k-* | h8500-*) # CYGNUS LOCAL 178 ;; 179 mips64vr4300-* | mips64vr4300el-*) # CYGNUS LOCAL jsmith 180 ;; 181 # Recognize the various machine names and aliases which stand 182 # for a CPU type and a company and sometimes even an OS. 183 386bsd) # CYGNUS LOCAL 184 basic_machine=i386-unknown 185 os=-bsd 186 ;; 187 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 188 basic_machine=m68000-att 189 ;; 190 3b*) 191 basic_machine=we32k-att 192 ;; 193 a29khif) # CYGNUS LOCAL 194 basic_machine=a29k-amd 195 os=-udi 196 ;; 197 adobe68k) # CYGNUS LOCAL 198 basic_machine=m68010-adobe 199 os=-scout 200 ;; 201 alliant | fx80) 202 basic_machine=fx80-alliant 203 ;; 204 altos | altos3068) 205 basic_machine=m68k-altos 206 ;; 207 am29k) 208 basic_machine=a29k-none 209 os=-bsd 210 ;; 211 amdahl) 212 basic_machine=580-amdahl 213 os=-sysv 214 ;; 215 amiga | amiga-*) 216 basic_machine=m68k-cbm 217 ;; 218 amigados) 219 basic_machine=m68k-cbm 220 os=-amigados 221 ;; 222 amigaunix | amix) 223 basic_machine=m68k-cbm 224 os=-sysv4 225 ;; 226 apollo68) 227 basic_machine=m68k-apollo 228 os=-sysv 229 ;; 230 apollo68bsd) # CYGNUS LOCAL 231 basic_machine=m68k-apollo 232 os=-bsd 233 ;; 234 arm | armel | armeb) 235 basic_machine=arm-arm 236 os=-aout 237 ;; 238 balance) 239 basic_machine=ns32k-sequent 240 os=-dynix 241 ;; 242 [ctj]90-cray) 243 basic_machine=c90-cray 244 os=-unicos 245 ;; 246 t3e-cray) 247 basic_machine=t3e-cray 248 os=-unicos_mk 249 ;; 250 convex-c1) 251 basic_machine=c1-convex 252 os=-bsd 253 ;; 254 convex-c2) 255 basic_machine=c2-convex 256 os=-bsd 257 ;; 258 convex-c32) 259 basic_machine=c32-convex 260 os=-bsd 261 ;; 262 convex-c34) 263 basic_machine=c34-convex 264 os=-bsd 265 ;; 266 convex-c38) 267 basic_machine=c38-convex 268 os=-bsd 269 ;; 270 cray | ymp) 271 basic_machine=ymp-cray 272 os=-unicos 273 ;; 274 cray2) 275 basic_machine=cray2-cray 276 os=-unicos 277 ;; 278 crds | unos) 279 basic_machine=m68k-crds 280 ;; 281 da30 | da30-*) 282 basic_machine=m68k-da30 283 ;; 284 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 285 basic_machine=mips-dec 286 ;; 287 delta | 3300 | motorola-3300 | motorola-delta \ 288 | 3300-motorola | delta-motorola) 289 basic_machine=m68k-motorola 290 ;; 291 delta88) 292 basic_machine=m88k-motorola 293 os=-sysv3 294 ;; 295 dpx20 | dpx20-*) 296 basic_machine=rs6000-bull 297 os=-bosx 298 ;; 299 dpx2* | dpx2*-bull) 300 basic_machine=m68k-bull 301 os=-sysv3 302 ;; 303 ebmon29k) 304 basic_machine=a29k-amd 305 os=-ebmon 306 ;; 307 elxsi) 308 basic_machine=elxsi-elxsi 309 os=-bsd 310 ;; 311 encore | umax | mmax) 312 basic_machine=ns32k-encore 313 ;; 314 es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL 315 basic_machine=m68k-ericsson 316 os=-ose 317 ;; 318 fx2800) 319 basic_machine=i860-alliant 320 ;; 321 genix) 322 basic_machine=ns32k-ns 323 ;; 324 gmicro) 325 basic_machine=tron-gmicro 326 os=-sysv 327 ;; 328 h3050r* | hiux*) 329 basic_machine=hppa1.1-hitachi 330 os=-hiuxwe2 331 ;; 332 h8300hms) 333 basic_machine=h8300-hitachi 334 os=-hms 335 ;; 336 h8300xray) # CYGNUS LOCAL 337 basic_machine=h8300-hitachi 338 os=-xray 339 ;; 340 h8500hms) # CYGNUS LOCAL 341 basic_machine=h8500-hitachi 342 os=-hms 343 ;; 344 harris) 345 basic_machine=m88k-harris 346 os=-sysv3 347 ;; 348 hp300-*) 349 basic_machine=m68k-hp 350 ;; 351 hp300bsd) 352 basic_machine=m68k-hp 353 os=-bsd 354 ;; 355 hp300hpux) 356 basic_machine=m68k-hp 357 os=-hpux 358 ;; 359 w89k-*) # CYGNUS LOCAL 360 basic_machine=hppa1.1-winbond 361 os=-proelf 362 ;; 363 op50n-*) # CYGNUS LOCAL 364 basic_machine=hppa1.1-oki 365 os=-proelf 366 ;; 367 op60c-*) # CYGNUS LOCAL 368 basic_machine=hppa1.1-oki 369 os=-proelf 370 ;; 371 hppro) # CYGNUS LOCAL 372 basic_machine=hppa1.1-hp 373 os=-proelf 374 ;; 375 hp9k2[0-9][0-9] | hp9k31[0-9]) 376 basic_machine=m68000-hp 377 ;; 378 hp9k3[2-9][0-9]) 379 basic_machine=m68k-hp 380 ;; 381 hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) 382 basic_machine=hppa1.1-hp 383 ;; 384 hp9k8[0-9][0-9] | hp8[0-9][0-9]) 385 basic_machine=hppa1.0-hp 386 ;; 387 hppaosf) # CYGNUS LOCAL 388 basic_machine=hppa1.1-hp 389 os=-osf 390 ;; 391 i370-ibm* | ibm*) 392 basic_machine=i370-ibm 393 os=-mvs 394 ;; 395# I'm not sure what "Sysv32" means. Should this be sysv3.2? 396 i[3456]86v32) 397 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` 398 os=-sysv32 399 ;; 400 i[3456]86v4*) 401 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` 402 os=-sysv4 403 ;; 404 i[3456]86v) 405 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` 406 os=-sysv 407 ;; 408 i[3456]86sol2) 409 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` 410 os=-solaris2 411 ;; 412 i386mach) # CYGNUS LOCAL 413 basic_machine=i386-mach 414 os=-mach 415 ;; 416 i386-vsta | vsta) # CYGNUS LOCAL 417 basic_machine=i386-unknown 418 os=-vsta 419 ;; 420 i386-go32 | go32) # CYGNUS LOCAL 421 basic_machine=i386-unknown 422 os=-go32 423 ;; 424 iris | iris4d) 425 basic_machine=mips-sgi 426 case $os in 427 -irix*) 428 ;; 429 *) 430 os=-irix4 431 ;; 432 esac 433 ;; 434 isi68 | isi) 435 basic_machine=m68k-isi 436 os=-sysv 437 ;; 438 m88k-omron*) 439 basic_machine=m88k-omron 440 ;; 441 magnum | m3230) 442 basic_machine=mips-mips 443 os=-sysv 444 ;; 445 merlin) 446 basic_machine=ns32k-utek 447 os=-sysv 448 ;; 449 miniframe) 450 basic_machine=m68000-convergent 451 ;; 452 mips3*-*) 453 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 454 ;; 455 mips3*) 456 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 457 ;; 458 monitor) # CYGNUS LOCAL 459 basic_machine=m68k-rom68k 460 os=-coff 461 ;; 462 msdos) # CYGNUS LOCAL 463 basic_machine=i386-unknown 464 os=-msdos 465 ;; 466 ncr3000) 467 basic_machine=i486-ncr 468 os=-sysv4 469 ;; 470 netbsd386) 471 basic_machine=i386-unknown # CYGNUS LOCAL 472 os=-netbsd 473 ;; 474 news | news700 | news800 | news900) 475 basic_machine=m68k-sony 476 os=-newsos 477 ;; 478 news1000) 479 basic_machine=m68030-sony 480 os=-newsos 481 ;; 482 news-3600 | risc-news) 483 basic_machine=mips-sony 484 os=-newsos 485 ;; 486 necv70) # CYGNUS LOCAL 487 basic_machine=v70-nec 488 os=-sysv 489 ;; 490 next | m*-next ) 491 basic_machine=m68k-next 492 case $os in 493 -nextstep* ) 494 ;; 495 -ns2*) 496 os=-nextstep2 497 ;; 498 *) 499 os=-nextstep3 500 ;; 501 esac 502 ;; 503 nh3000) 504 basic_machine=m68k-harris 505 os=-cxux 506 ;; 507 nh[45]000) 508 basic_machine=m88k-harris 509 os=-cxux 510 ;; 511 nindy960) 512 basic_machine=i960-intel 513 os=-nindy 514 ;; 515 np1) 516 basic_machine=np1-gould 517 ;; 518 OSE68000 | ose68000) # CYGNUS LOCAL 519 basic_machine=m68000-ericsson 520 os=-ose 521 ;; 522 os68k) # CYGNUS LOCAL 523 basic_machine=m68k-none 524 os=-os68k 525 ;; 526 pa-hitachi) 527 basic_machine=hppa1.1-hitachi 528 os=-hiuxwe2 529 ;; 530 paragon) 531 basic_machine=i860-intel 532 os=-osf 533 ;; 534 pbd) 535 basic_machine=sparc-tti 536 ;; 537 pbb) 538 basic_machine=m68k-tti 539 ;; 540 pc532 | pc532-*) 541 basic_machine=ns32k-pc532 542 ;; 543 pentium | p5) 544 basic_machine=i586-intel 545 ;; 546 pentiumpro | p6) 547 basic_machine=i686-intel 548 ;; 549 pentium-* | p5-*) 550 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 551 ;; 552 pentiumpro-* | p6-*) 553 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 554 ;; 555 k5) 556 # We don't have specific support for AMD's K5 yet, so just call it a Pentium 557 basic_machine=i586-amd 558 ;; 559 nexgen) 560 # We don't have specific support for Nexgen yet, so just call it a Pentium 561 basic_machine=i586-nexgen 562 ;; 563 pn) 564 basic_machine=pn-gould 565 ;; 566 power) basic_machine=rs6000-ibm 567 ;; 568 ppc) basic_machine=powerpc-unknown 569 ;; 570 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 571 ;; 572 ppcle | powerpclittle | ppc-le | powerpc-little) 573 basic_machine=powerpcle-unknown 574 ;; 575 ppcle-* | powerpclittle-*) 576 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 577 ;; 578 ps2) 579 basic_machine=i386-ibm 580 ;; 581 rom68k) # CYGNUS LOCAL 582 basic_machine=m68k-rom68k 583 os=-coff 584 ;; 585 rm[46]00) 586 basic_machine=mips-siemens 587 ;; 588 rtpc | rtpc-*) 589 basic_machine=romp-ibm 590 ;; 591 sa29200) # CYGNUS LOCAL 592 basic_machine=a29k-amd 593 os=-udi 594 ;; 595 sequent) 596 basic_machine=i386-sequent 597 ;; 598 sh) 599 basic_machine=sh-hitachi 600 os=-hms 601 ;; 602 sparclite-wrs) # CYGNUS LOCAL 603 basic_machine=sparclite-wrs 604 os=-vxworks 605 ;; 606 sparcfrw) # CYGNUS LOCAL 607 basic_machine=sparcfrw-sun 608 os=-sunos4 609 ;; 610 sparcfrwcompat) # CYGNUS LOCAL 611 basic_machine=sparcfrwcompat-sun 612 os=-sunos4 613 ;; 614 sparclitefrw) # CYGNUS LOCAL 615 basic_machine=sparclitefrw-fujitsu 616 ;; 617 sparclitefrwcompat) # CYGNUS LOCAL 618 basic_machine=sparclitefrwcompat-fujitsu 619 ;; 620 sps7) 621 basic_machine=m68k-bull 622 os=-sysv2 623 ;; 624 spur) 625 basic_machine=spur-unknown 626 ;; 627 st2000) # CYGNUS LOCAL 628 basic_machine=m68k-tandem 629 ;; 630 stratus) # CYGNUS LOCAL 631 basic_machine=i860-stratus 632 os=-sysv4 633 ;; 634 sun2) 635 basic_machine=m68000-sun 636 ;; 637 sun2os3) 638 basic_machine=m68000-sun 639 os=-sunos3 640 ;; 641 sun2os4) 642 basic_machine=m68000-sun 643 os=-sunos4 644 ;; 645 sun3os3) 646 basic_machine=m68k-sun 647 os=-sunos3 648 ;; 649 sun3os4) 650 basic_machine=m68k-sun 651 os=-sunos4 652 ;; 653 sun4os3) 654 basic_machine=sparc-sun 655 os=-sunos3 656 ;; 657 sun4os4) 658 basic_machine=sparc-sun 659 os=-sunos4 660 ;; 661 sun4sol2) 662 basic_machine=sparc-sun 663 os=-solaris2 664 ;; 665 sun3 | sun3-*) 666 basic_machine=m68k-sun 667 ;; 668 sun4) 669 basic_machine=sparc-sun 670 ;; 671 sun386 | sun386i | roadrunner) 672 basic_machine=i386-sun 673 ;; 674 symmetry) 675 basic_machine=i386-sequent 676 os=-dynix 677 ;; 678 tower | tower-32) 679 basic_machine=m68k-ncr 680 ;; 681 udi29k) 682 basic_machine=a29k-amd 683 os=-udi 684 ;; 685 ultra3) 686 basic_machine=a29k-nyu 687 os=-sym1 688 ;; 689 v810 | necv810) # CYGNUS LOCAL 690 basic_machine=v810-nec 691 os=-none 692 ;; 693 vaxv) 694 basic_machine=vax-dec 695 os=-sysv 696 ;; 697 vms) 698 basic_machine=vax-dec 699 os=-vms 700 ;; 701 vxworks960) 702 basic_machine=i960-wrs 703 os=-vxworks 704 ;; 705 vxworks68) 706 basic_machine=m68k-wrs 707 os=-vxworks 708 ;; 709 vxworks29k) # CYGNUS LOCAL 710 basic_machine=a29k-wrs 711 os=-vxworks 712 ;; 713 w65*) # CYGNUS LOCAL 714 basic_machine=w65-wdc 715 os=-none 716 ;; 717 xmp) 718 basic_machine=xmp-cray 719 os=-unicos 720 ;; 721 xps | xps100) 722 basic_machine=xps100-honeywell 723 ;; 724 z8k-*-coff) # CYGNUS LOCAL 725 basic_machine=z8k-unknown 726 os=-sim 727 ;; 728 none) 729 basic_machine=none-none 730 os=-none 731 ;; 732 733# Here we handle the default manufacturer of certain CPU types. It is in 734# some cases the only manufacturer, in others, it is the most popular. 735 w89k) # CYGNUS LOCAL 736 basic_machine=hppa1.1-winbond 737 ;; 738 op50n) # CYGNUS LOCAL 739 basic_machine=hppa1.1-oki 740 ;; 741 op60c) # CYGNUS LOCAL 742 basic_machine=hppa1.1-oki 743 ;; 744 mips) 745 basic_machine=mips-mips 746 ;; 747 romp) 748 basic_machine=romp-ibm 749 ;; 750 rs6000) 751 basic_machine=rs6000-ibm 752 ;; 753 vax) 754 basic_machine=vax-dec 755 ;; 756 pdp11) 757 basic_machine=pdp11-dec 758 ;; 759 we32k) 760 basic_machine=we32k-att 761 ;; 762 sparc) 763 basic_machine=sparc-sun 764 ;; 765 cydra) 766 basic_machine=cydra-cydrome 767 ;; 768 orion) 769 basic_machine=orion-highlevel 770 ;; 771 orion105) 772 basic_machine=clipper-highlevel 773 ;; 774 mac | mpw | mac-mpw) # CYGNUS LOCAL 775 basic_machine=m68k-apple 776 ;; 777 pmac | pmac-mpw) # CYGNUS LOCAL 778 basic_machine=powerpc-apple 779 ;; 780 *) 781 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 782 exit 1 783 ;; 784esac 785 786# Here we canonicalize certain aliases for manufacturers. 787case $basic_machine in 788 *-digital*) 789 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 790 ;; 791 *-commodore*) 792 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 793 ;; 794 *) 795 ;; 796esac 797 798# Decode manufacturer-specific aliases for certain operating systems. 799 800if [ x"$os" != x"" ] 801then 802case $os in 803 # -solaris* is a basic system type, with this one exception. 804 -solaris1 | -solaris1.*) 805 os=`echo $os | sed -e 's|solaris1|sunos4|'` 806 ;; 807 -solaris) 808 os=-solaris2 809 ;; 810 -unixware* | svr4*) 811 os=-sysv4 812 ;; 813 -gnu/linux*) 814 os=`echo $os | sed -e 's|gnu/linux|linux|'` 815 ;; 816 # First accept the basic system types. 817 # The portable systems comes first. 818 # Each alternative must end in a *, to match a version number. 819 # -sysv* is not here because it comes later, after sysvr4. 820 -gnu* | -bsd* | -mach* | -lites* | -minix* | -genix* | -ultrix* | -irix* \ 821 | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[3456]* \ 822 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 823 | -amigados* | -msdos* | -moss* | -newsos* | -unicos* | -aos* \ 824 | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \ 825 | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \ 826 | -hiux* | -386bsd* | -netbsd* | -freebsd* | -openbsd* \ 827 | -riscix* | -lites* \ 828 | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ 829 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta | -udi \ 830 | -eabi* | -ieee* | -qnx*) 831 ;; 832 # CYGNUS LOCAL 833 -go32 | -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 834 | -windows* | -osx | -abug | -netware* | -proelf | -os9* \ 835 | -macos* | -mpw* | -magic* | -pe* | -win32) 836 ;; 837 -mac*) # CYGNUS LOCAL 838 os=`echo $os | sed -e 's|mac|macos|'` 839 ;; 840 -sunos5*) 841 os=`echo $os | sed -e 's|sunos5|solaris2|'` 842 ;; 843 -sunos6*) 844 os=`echo $os | sed -e 's|sunos6|solaris3|'` 845 ;; 846 -osfrose*) 847 os=-osfrose 848 ;; 849 -osf*) 850 os=-osf 851 ;; 852 -utek*) 853 os=-bsd 854 ;; 855 -dynix*) 856 os=-bsd 857 ;; 858 -acis*) 859 os=-aos 860 ;; 861 -386bsd) # CYGNUS LOCAL 862 os=-bsd 863 ;; 864 -ctix* | -uts*) 865 os=-sysv 866 ;; 867 # Preserve the version number of sinix5. 868 -sinix5.*) 869 os=`echo $os | sed -e 's|sinix|sysv|'` 870 ;; 871 -sinix*) 872 os=-sysv4 873 ;; 874 -triton*) 875 os=-sysv3 876 ;; 877 -oss*) 878 os=-sysv3 879 ;; 880 -svr4) 881 os=-sysv4 882 ;; 883 -svr3) 884 os=-sysv3 885 ;; 886 -sysvr4) 887 os=-sysv4 888 ;; 889 # This must come after -sysvr4. 890 -sysv*) 891 ;; 892 -ose*) # CYGNUS LOCAL 893 os=-ose 894 ;; 895 -es1800*) # CYGNUS LOCAL 896 os=-ose 897 ;; 898 -xenix) 899 os=-xenix 900 ;; 901 -none) 902 ;; 903 *) 904 # Get rid of the `-' at the beginning of $os. 905 os=`echo $os | sed 's/[^-]*-//'` 906 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 907 exit 1 908 ;; 909esac 910else 911 912# Here we handle the default operating systems that come with various machines. 913# The value should be what the vendor currently ships out the door with their 914# machine or put another way, the most popular os provided with the machine. 915 916# Note that if you're going to try to match "-MANUFACTURER" here (say, 917# "-sun"), then you have to tell the case statement up towards the top 918# that MANUFACTURER isn't an operating system. Otherwise, code above 919# will signal an error saying that MANUFACTURER isn't an operating 920# system, and we'll never get to this point. 921 922case $basic_machine in 923 *-acorn) 924 os=-riscix1.2 925 ;; 926 pdp11-*) 927 os=-none 928 ;; 929 *-dec | vax-*) 930 os=-ultrix4.2 931 ;; 932 m68*-apollo) 933 os=-domain 934 ;; 935 i386-sun) 936 os=-sunos4.0.2 937 ;; 938 m68000-sun) 939 os=-sunos3 940 # This also exists in the configure program, but was not the 941 # default. 942 # os=-sunos4 943 ;; 944 m68*-cisco) # CYGNUS LOCAL 945 os=-aout 946 ;; 947 mips*-cisco) # CYGNUS LOCAL 948 os=-elf 949 ;; 950 *-tti) # must be before sparc entry or we get the wrong os. 951 os=-sysv3 952 ;; 953 sparc-* | *-sun) 954 os=-sunos4.1.1 955 ;; 956 *-ibm) 957 os=-aix 958 ;; 959 *-wec) # CYGNUS LOCAL 960 os=-proelf 961 ;; 962 *-winbond) # CYGNUS LOCAL 963 os=-proelf 964 ;; 965 *-oki) # CYGNUS LOCAL 966 os=-proelf 967 ;; 968 *-hp) 969 os=-hpux 970 ;; 971 *-hitachi) 972 os=-hiux 973 ;; 974 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 975 os=-sysv 976 ;; 977 *-cbm) 978 os=-amigados 979 ;; 980 *-dg) 981 os=-dgux 982 ;; 983 *-dolphin) 984 os=-sysv3 985 ;; 986 m68k-ccur) 987 os=-rtu 988 ;; 989 m88k-omron*) 990 os=-luna 991 ;; 992 *-sequent) 993 os=-ptx 994 ;; 995 *-crds) 996 os=-unos 997 ;; 998 *-ns) 999 os=-genix 1000 ;; 1001 i370-*) 1002 os=-mvs 1003 ;; 1004 *-next) 1005 os=-nextstep3 1006 ;; 1007 *-gould) 1008 os=-sysv 1009 ;; 1010 *-highlevel) 1011 os=-bsd 1012 ;; 1013 *-encore) 1014 os=-bsd 1015 ;; 1016 *-sgi) 1017 os=-irix 1018 ;; 1019 *-siemens) 1020 os=-sysv4 1021 ;; 1022 *-masscomp) 1023 os=-rtu 1024 ;; 1025 *-rom68k) # CYGNUS LOCAL 1026 os=-coff 1027 ;; 1028 *-*bug) # CYGNUS LOCAL 1029 os=-coff 1030 ;; 1031 *-apple) # CYGNUS LOCAL 1032 os=-macos 1033 ;; 1034 *) 1035 os=-none 1036 ;; 1037esac 1038fi 1039 1040# Here we handle the case where we know the os, and the CPU type, but not the 1041# manufacturer. We pick the logical manufacturer. 1042vendor=unknown 1043case $basic_machine in 1044 *-unknown) 1045 case $os in 1046 -riscix*) 1047 vendor=acorn 1048 ;; 1049 -sunos*) 1050 vendor=sun 1051 ;; 1052 -bosx*) # CYGNUS LOCAL 1053 vendor=bull 1054 ;; 1055 -lynxos*) 1056 vendor=lynx 1057 ;; 1058 -aix*) 1059 vendor=ibm 1060 ;; 1061 -hpux*) 1062 vendor=hp 1063 ;; 1064 -hiux*) 1065 vendor=hitachi 1066 ;; 1067 -unos*) 1068 vendor=crds 1069 ;; 1070 -dgux*) 1071 vendor=dg 1072 ;; 1073 -luna*) 1074 vendor=omron 1075 ;; 1076 -genix*) 1077 vendor=ns 1078 ;; 1079 -mvs*) 1080 vendor=ibm 1081 ;; 1082 -ptx*) 1083 vendor=sequent 1084 ;; 1085 -vxworks*) 1086 vendor=wrs 1087 ;; 1088 -hms*) # CYGNUS LOCAL 1089 vendor=hitachi 1090 ;; 1091 -mpw* | -macos*) # CYGNUS LOCAL 1092 vendor=apple 1093 ;; 1094 esac 1095 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1096 ;; 1097esac 1098 1099echo $basic_machine$os 1100