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