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