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