1#! /bin/sh 2# Configuration validation subroutine script, version 1.1. 3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 4# Free Software Foundation, Inc. 5 6version='2000-06-13' 7 8# This file is (in principle) common to ALL GNU software. 9# The presence of a machine in this file suggests that SOME GNU software 10# can handle that machine. It does not imply ALL GNU software can. 11# 12# This file is free software; you can redistribute it and/or modify 13# it under the terms of the GNU General Public License as published by 14# the Free Software Foundation; either version 2 of the License, or 15# (at your option) any later version. 16# 17# This program is distributed in the hope that it will be useful, 18# but WITHOUT ANY WARRANTY; without even the implied warranty of 19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20# GNU General Public License for more details. 21# 22# You should have received a copy of the GNU General Public License 23# along with this program; if not, write to the Free Software 24# Foundation, Inc., 59 Temple Place - Suite 330, 25# Boston, MA 02111-1307, USA. 26 27# As a special exception to the GNU General Public License, if you 28# distribute this file as part of a program that contains a 29# configuration script generated by Autoconf, you may include it under 30# the same distribution terms that you use for the rest of that program. 31 32# Please send patches to <config-patches@gnu.org>. 33# 34# Configuration subroutine to validate and canonicalize a configuration type. 35# Supply the specified configuration type as an argument. 36# If it is invalid, we print an error message on stderr and exit with code 1. 37# Otherwise, we print the canonical config type on stdout and succeed. 38 39# This file is supposed to be the same for all GNU packages 40# and recognize all the CPU types, system types and aliases 41# that are meaningful with *any* GNU software. 42# Each package is responsible for reporting which valid configurations 43# it does not support. The user should be able to distinguish 44# a failure to support a valid configuration from a meaningless 45# configuration. 46 47# The goal of this file is to map all the various variations of a given 48# machine specification into a single specification in the form: 49# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 50# or in some cases, the newer four-part form: 51# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 52# It is wrong to echo any other type of specification. 53 54me=`echo "$0" | sed -e 's,.*/,,'` 55 56usage="\ 57Usage: $0 [OPTION] CPU-MFR-OPSYS 58 $0 [OPTION] ALIAS 59 60Canonicalize a configuration name. 61 62Operation modes: 63 -h, --help print this help, then exit 64 -V, --version print version number, then exit" 65 66help=" 67Try \`$me --help' for more information." 68 69# Parse command line 70while test $# -gt 0 ; do 71 case "$1" in 72 --version | --vers* | -V ) 73 echo "$version" ; exit 0 ;; 74 --help | --h* | -h ) 75 echo "$usage"; exit 0 ;; 76 -- ) # Stop option processing 77 shift; break ;; 78 - ) # Use stdin as input. 79 break ;; 80 -* ) 81 exec >&2 82 echo "$me: invalid option $1" 83 echo "$help" 84 exit 1 ;; 85 86 *local*) 87 # First pass through any local machine types. 88 echo $1 89 exit 0;; 90 91 * ) 92 break ;; 93 esac 94done 95 96case $# in 97 0) echo "$me: missing argument$help" >&2 98 exit 1;; 99 1) ;; 100 *) echo "$me: too many arguments$help" >&2 101 exit 1;; 102esac 103 104# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 105# Here we must recognize all the valid KERNEL-OS combinations. 106maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 107case $maybe_os in 108 nto-qnx* | linux-gnu*) 109 os=-$maybe_os 110 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 111 ;; 112 *) 113 basic_machine=`echo $1 | sed 's/-[^-]*$//'` 114 if [ $basic_machine != $1 ] 115 then os=`echo $1 | sed 's/.*-/-/'` 116 else os=; fi 117 ;; 118esac 119 120### Let's recognize common machines as not being operating systems so 121### that things like config.sub decstation-3100 work. We also 122### recognize some manufacturers as not being operating systems, so we 123### can provide default operating systems below. 124case $os in 125 -sun*os*) 126 # Prevent following clause from handling this invalid input. 127 ;; 128 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 129 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 130 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 131 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 132 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 133 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 134 -apple | -axis) 135 os= 136 basic_machine=$1 137 ;; 138 -sim | -cisco | -oki | -wec | -winbond) 139 os= 140 basic_machine=$1 141 ;; 142 -scout) 143 ;; 144 -wrs) 145 os=-vxworks 146 basic_machine=$1 147 ;; 148 -hiux*) 149 os=-hiuxwe2 150 ;; 151 -sco5) 152 os=-sco3.2v5 153 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 154 ;; 155 -sco4) 156 os=-sco3.2v4 157 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 158 ;; 159 -sco3.2.[4-9]*) 160 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 161 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 162 ;; 163 -sco3.2v[4-9]*) 164 # Don't forget version if it is 3.2v4 or newer. 165 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 166 ;; 167 -sco*) 168 os=-sco3.2v2 169 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 170 ;; 171 -udk*) 172 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 173 ;; 174 -isc) 175 os=-isc2.2 176 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 177 ;; 178 -clix*) 179 basic_machine=clipper-intergraph 180 ;; 181 -isc*) 182 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 183 ;; 184 -lynx*) 185 os=-lynxos 186 ;; 187 -ptx*) 188 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 189 ;; 190 -windowsnt*) 191 os=`echo $os | sed -e 's/windowsnt/winnt/'` 192 ;; 193 -psos*) 194 os=-psos 195 ;; 196 -mint | -mint[0-9]*) 197 basic_machine=m68k-atari 198 os=-mint 199 ;; 200esac 201 202# Decode aliases for certain CPU-COMPANY combinations. 203case $basic_machine in 204 # Recognize the basic CPU types without company name. 205 # Some are omitted here because they have special meanings below. 206 tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ 207 | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ 208 | 580 | i960 | h8300 \ 209 | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \ 210 | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ 211 | hppa64 \ 212 | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ 213 | alphaev6[78] \ 214 | we32k | ns16k | clipper | i370 | sh | sh[34] \ 215 | powerpc | powerpcle \ 216 | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ 217 | mips64orion | mips64orionel | mipstx39 | mipstx39el \ 218 | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ 219 | mips64vr5000 | miprs64vr5000el | mcore \ 220 | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ 221 | thumb | d10v | fr30 | avr) 222 basic_machine=$basic_machine-unknown 223 ;; 224 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl) 225 ;; 226 227 # We use `pc' rather than `unknown' 228 # because (1) that's what they normally are, and 229 # (2) the word "unknown" tends to confuse beginning users. 230 i[234567]86) 231 basic_machine=$basic_machine-pc 232 ;; 233 # Object if more than one company name word. 234 *-*-*) 235 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 236 exit 1 237 ;; 238 # Recognize the basic CPU types with company name. 239 # FIXME: clean up the formatting here. 240 vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ 241 | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ 242 | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ 243 | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ 244 | xmp-* | ymp-* \ 245 | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \ 246 | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ 247 | hppa2.0n-* | hppa64-* \ 248 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ 249 | alphaev6[78]-* \ 250 | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ 251 | clipper-* | orion-* \ 252 | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ 253 | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ 254 | mips64el-* | mips64orion-* | mips64orionel-* \ 255 | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ 256 | mipstx39-* | mipstx39el-* | mcore-* \ 257 | f301-* | armv*-* | s390-* | sv1-* | t3e-* \ 258 | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ 259 | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \ 260 | bs2000-*) 261 ;; 262 # Recognize the various machine names and aliases which stand 263 # for a CPU type and a company and sometimes even an OS. 264 386bsd) 265 basic_machine=i386-unknown 266 os=-bsd 267 ;; 268 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 269 basic_machine=m68000-att 270 ;; 271 3b*) 272 basic_machine=we32k-att 273 ;; 274 a29khif) 275 basic_machine=a29k-amd 276 os=-udi 277 ;; 278 adobe68k) 279 basic_machine=m68010-adobe 280 os=-scout 281 ;; 282 alliant | fx80) 283 basic_machine=fx80-alliant 284 ;; 285 altos | altos3068) 286 basic_machine=m68k-altos 287 ;; 288 am29k) 289 basic_machine=a29k-none 290 os=-bsd 291 ;; 292 amdahl) 293 basic_machine=580-amdahl 294 os=-sysv 295 ;; 296 amiga | amiga-*) 297 basic_machine=m68k-cbm 298 ;; 299 amigaos | amigados) 300 basic_machine=m68k-cbm 301 os=-amigaos 302 ;; 303 amigaunix | amix) 304 basic_machine=m68k-cbm 305 os=-sysv4 306 ;; 307 apollo68) 308 basic_machine=m68k-apollo 309 os=-sysv 310 ;; 311 apollo68bsd) 312 basic_machine=m68k-apollo 313 os=-bsd 314 ;; 315 aux) 316 basic_machine=m68k-apple 317 os=-aux 318 ;; 319 balance) 320 basic_machine=ns32k-sequent 321 os=-dynix 322 ;; 323 convex-c1) 324 basic_machine=c1-convex 325 os=-bsd 326 ;; 327 convex-c2) 328 basic_machine=c2-convex 329 os=-bsd 330 ;; 331 convex-c32) 332 basic_machine=c32-convex 333 os=-bsd 334 ;; 335 convex-c34) 336 basic_machine=c34-convex 337 os=-bsd 338 ;; 339 convex-c38) 340 basic_machine=c38-convex 341 os=-bsd 342 ;; 343 cray | ymp) 344 basic_machine=ymp-cray 345 os=-unicos 346 ;; 347 cray2) 348 basic_machine=cray2-cray 349 os=-unicos 350 ;; 351 [ctj]90-cray) 352 basic_machine=c90-cray 353 os=-unicos 354 ;; 355 crds | unos) 356 basic_machine=m68k-crds 357 ;; 358 cris | cris-* | etrax*) 359 basic_machine=cris-axis 360 ;; 361 da30 | da30-*) 362 basic_machine=m68k-da30 363 ;; 364 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 365 basic_machine=mips-dec 366 ;; 367 delta | 3300 | motorola-3300 | motorola-delta \ 368 | 3300-motorola | delta-motorola) 369 basic_machine=m68k-motorola 370 ;; 371 delta88) 372 basic_machine=m88k-motorola 373 os=-sysv3 374 ;; 375 dpx20 | dpx20-*) 376 basic_machine=rs6000-bull 377 os=-bosx 378 ;; 379 dpx2* | dpx2*-bull) 380 basic_machine=m68k-bull 381 os=-sysv3 382 ;; 383 ebmon29k) 384 basic_machine=a29k-amd 385 os=-ebmon 386 ;; 387 elxsi) 388 basic_machine=elxsi-elxsi 389 os=-bsd 390 ;; 391 encore | umax | mmax) 392 basic_machine=ns32k-encore 393 ;; 394 es1800 | OSE68k | ose68k | ose | OSE) 395 basic_machine=m68k-ericsson 396 os=-ose 397 ;; 398 fx2800) 399 basic_machine=i860-alliant 400 ;; 401 genix) 402 basic_machine=ns32k-ns 403 ;; 404 gmicro) 405 basic_machine=tron-gmicro 406 os=-sysv 407 ;; 408 h3050r* | hiux*) 409 basic_machine=hppa1.1-hitachi 410 os=-hiuxwe2 411 ;; 412 h8300hms) 413 basic_machine=h8300-hitachi 414 os=-hms 415 ;; 416 h8300xray) 417 basic_machine=h8300-hitachi 418 os=-xray 419 ;; 420 h8500hms) 421 basic_machine=h8500-hitachi 422 os=-hms 423 ;; 424 harris) 425 basic_machine=m88k-harris 426 os=-sysv3 427 ;; 428 hp300-*) 429 basic_machine=m68k-hp 430 ;; 431 hp300bsd) 432 basic_machine=m68k-hp 433 os=-bsd 434 ;; 435 hp300hpux) 436 basic_machine=m68k-hp 437 os=-hpux 438 ;; 439 hp3k9[0-9][0-9] | hp9[0-9][0-9]) 440 basic_machine=hppa1.0-hp 441 ;; 442 hp9k2[0-9][0-9] | hp9k31[0-9]) 443 basic_machine=m68000-hp 444 ;; 445 hp9k3[2-9][0-9]) 446 basic_machine=m68k-hp 447 ;; 448 hp9k6[0-9][0-9] | hp6[0-9][0-9]) 449 basic_machine=hppa1.0-hp 450 ;; 451 hp9k7[0-79][0-9] | hp7[0-79][0-9]) 452 basic_machine=hppa1.1-hp 453 ;; 454 hp9k78[0-9] | hp78[0-9]) 455 # FIXME: really hppa2.0-hp 456 basic_machine=hppa1.1-hp 457 ;; 458 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 459 # FIXME: really hppa2.0-hp 460 basic_machine=hppa1.1-hp 461 ;; 462 hp9k8[0-9][13679] | hp8[0-9][13679]) 463 basic_machine=hppa1.1-hp 464 ;; 465 hp9k8[0-9][0-9] | hp8[0-9][0-9]) 466 basic_machine=hppa1.0-hp 467 ;; 468 hppa-next) 469 os=-nextstep3 470 ;; 471 hppaosf) 472 basic_machine=hppa1.1-hp 473 os=-osf 474 ;; 475 hppro) 476 basic_machine=hppa1.1-hp 477 os=-proelf 478 ;; 479 i370-ibm* | ibm*) 480 basic_machine=i370-ibm 481 ;; 482# I'm not sure what "Sysv32" means. Should this be sysv3.2? 483 i[34567]86v32) 484 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 485 os=-sysv32 486 ;; 487 i[34567]86v4*) 488 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 489 os=-sysv4 490 ;; 491 i[34567]86v) 492 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 493 os=-sysv 494 ;; 495 i[34567]86sol2) 496 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 497 os=-solaris2 498 ;; 499 i386mach) 500 basic_machine=i386-mach 501 os=-mach 502 ;; 503 i386-vsta | vsta) 504 basic_machine=i386-unknown 505 os=-vsta 506 ;; 507 i386-go32 | go32) 508 basic_machine=i386-unknown 509 os=-go32 510 ;; 511 i386-mingw32 | mingw32) 512 basic_machine=i386-unknown 513 os=-mingw32 514 ;; 515 iris | iris4d) 516 basic_machine=mips-sgi 517 case $os in 518 -irix*) 519 ;; 520 *) 521 os=-irix4 522 ;; 523 esac 524 ;; 525 isi68 | isi) 526 basic_machine=m68k-isi 527 os=-sysv 528 ;; 529 m88k-omron*) 530 basic_machine=m88k-omron 531 ;; 532 magnum | m3230) 533 basic_machine=mips-mips 534 os=-sysv 535 ;; 536 merlin) 537 basic_machine=ns32k-utek 538 os=-sysv 539 ;; 540 miniframe) 541 basic_machine=m68000-convergent 542 ;; 543 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 544 basic_machine=m68k-atari 545 os=-mint 546 ;; 547 mipsel*-linux*) 548 basic_machine=mipsel-unknown 549 os=-linux-gnu 550 ;; 551 mips*-linux*) 552 basic_machine=mips-unknown 553 os=-linux-gnu 554 ;; 555 mips3*-*) 556 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 557 ;; 558 mips3*) 559 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 560 ;; 561 mmix*) 562 basic_machine=mmix-knuth 563 os=-mmixware 564 ;; 565 monitor) 566 basic_machine=m68k-rom68k 567 os=-coff 568 ;; 569 msdos) 570 basic_machine=i386-unknown 571 os=-msdos 572 ;; 573 mvs) 574 basic_machine=i370-ibm 575 os=-mvs 576 ;; 577 ncr3000) 578 basic_machine=i486-ncr 579 os=-sysv4 580 ;; 581 netbsd386) 582 basic_machine=i386-unknown 583 os=-netbsd 584 ;; 585 netwinder) 586 basic_machine=armv4l-rebel 587 os=-linux 588 ;; 589 news | news700 | news800 | news900) 590 basic_machine=m68k-sony 591 os=-newsos 592 ;; 593 news1000) 594 basic_machine=m68030-sony 595 os=-newsos 596 ;; 597 news-3600 | risc-news) 598 basic_machine=mips-sony 599 os=-newsos 600 ;; 601 necv70) 602 basic_machine=v70-nec 603 os=-sysv 604 ;; 605 next | m*-next ) 606 basic_machine=m68k-next 607 case $os in 608 -nextstep* ) 609 ;; 610 -ns2*) 611 os=-nextstep2 612 ;; 613 *) 614 os=-nextstep3 615 ;; 616 esac 617 ;; 618 nh3000) 619 basic_machine=m68k-harris 620 os=-cxux 621 ;; 622 nh[45]000) 623 basic_machine=m88k-harris 624 os=-cxux 625 ;; 626 nindy960) 627 basic_machine=i960-intel 628 os=-nindy 629 ;; 630 mon960) 631 basic_machine=i960-intel 632 os=-mon960 633 ;; 634 np1) 635 basic_machine=np1-gould 636 ;; 637 nsr-tandem) 638 basic_machine=nsr-tandem 639 ;; 640 op50n-* | op60c-*) 641 basic_machine=hppa1.1-oki 642 os=-proelf 643 ;; 644 OSE68000 | ose68000) 645 basic_machine=m68000-ericsson 646 os=-ose 647 ;; 648 os68k) 649 basic_machine=m68k-none 650 os=-os68k 651 ;; 652 pa-hitachi) 653 basic_machine=hppa1.1-hitachi 654 os=-hiuxwe2 655 ;; 656 paragon) 657 basic_machine=i860-intel 658 os=-osf 659 ;; 660 pbd) 661 basic_machine=sparc-tti 662 ;; 663 pbb) 664 basic_machine=m68k-tti 665 ;; 666 pc532 | pc532-*) 667 basic_machine=ns32k-pc532 668 ;; 669 pentium | p5 | k5 | k6 | nexen) 670 basic_machine=i586-pc 671 ;; 672 pentiumpro | p6 | 6x86 | athlon) 673 basic_machine=i686-pc 674 ;; 675 pentiumii | pentium2) 676 basic_machine=i786-pc 677 ;; 678 pentium-* | p5-* | k5-* | k6-* | nexen-*) 679 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 680 ;; 681 pentiumpro-* | p6-* | 6x86-* | athlon-*) 682 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 683 ;; 684 pentiumii-* | pentium2-*) 685 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 686 ;; 687 pn) 688 basic_machine=pn-gould 689 ;; 690 power) basic_machine=rs6000-ibm 691 ;; 692 ppc) basic_machine=powerpc-unknown 693 ;; 694 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 695 ;; 696 ppcle | powerpclittle | ppc-le | powerpc-little) 697 basic_machine=powerpcle-unknown 698 ;; 699 ppcle-* | powerpclittle-*) 700 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 701 ;; 702 ps2) 703 basic_machine=i386-ibm 704 ;; 705 rom68k) 706 basic_machine=m68k-rom68k 707 os=-coff 708 ;; 709 rm[46]00) 710 basic_machine=mips-siemens 711 ;; 712 rtpc | rtpc-*) 713 basic_machine=romp-ibm 714 ;; 715 sa29200) 716 basic_machine=a29k-amd 717 os=-udi 718 ;; 719 sequent) 720 basic_machine=i386-sequent 721 ;; 722 sh) 723 basic_machine=sh-hitachi 724 os=-hms 725 ;; 726 sparclite-wrs) 727 basic_machine=sparclite-wrs 728 os=-vxworks 729 ;; 730 sps7) 731 basic_machine=m68k-bull 732 os=-sysv2 733 ;; 734 spur) 735 basic_machine=spur-unknown 736 ;; 737 st2000) 738 basic_machine=m68k-tandem 739 ;; 740 stratus) 741 basic_machine=i860-stratus 742 os=-sysv4 743 ;; 744 sun2) 745 basic_machine=m68000-sun 746 ;; 747 sun2os3) 748 basic_machine=m68000-sun 749 os=-sunos3 750 ;; 751 sun2os4) 752 basic_machine=m68000-sun 753 os=-sunos4 754 ;; 755 sun3os3) 756 basic_machine=m68k-sun 757 os=-sunos3 758 ;; 759 sun3os4) 760 basic_machine=m68k-sun 761 os=-sunos4 762 ;; 763 sun4os3) 764 basic_machine=sparc-sun 765 os=-sunos3 766 ;; 767 sun4os4) 768 basic_machine=sparc-sun 769 os=-sunos4 770 ;; 771 sun4sol2) 772 basic_machine=sparc-sun 773 os=-solaris2 774 ;; 775 sun3 | sun3-*) 776 basic_machine=m68k-sun 777 ;; 778 sun4) 779 basic_machine=sparc-sun 780 ;; 781 sun386 | sun386i | roadrunner) 782 basic_machine=i386-sun 783 ;; 784 sv1) 785 basic_machine=sv1-cray 786 os=-unicos 787 ;; 788 symmetry) 789 basic_machine=i386-sequent 790 os=-dynix 791 ;; 792 t3e) 793 basic_machine=t3e-cray 794 os=-unicos 795 ;; 796 tx39) 797 basic_machine=mipstx39-unknown 798 ;; 799 tx39el) 800 basic_machine=mipstx39el-unknown 801 ;; 802 tower | tower-32) 803 basic_machine=m68k-ncr 804 ;; 805 udi29k) 806 basic_machine=a29k-amd 807 os=-udi 808 ;; 809 ultra3) 810 basic_machine=a29k-nyu 811 os=-sym1 812 ;; 813 v810 | necv810) 814 basic_machine=v810-nec 815 os=-none 816 ;; 817 vaxv) 818 basic_machine=vax-dec 819 os=-sysv 820 ;; 821 vms) 822 basic_machine=vax-dec 823 os=-vms 824 ;; 825 vpp*|vx|vx-*) 826 basic_machine=f301-fujitsu 827 ;; 828 vxworks960) 829 basic_machine=i960-wrs 830 os=-vxworks 831 ;; 832 vxworks68) 833 basic_machine=m68k-wrs 834 os=-vxworks 835 ;; 836 vxworks29k) 837 basic_machine=a29k-wrs 838 os=-vxworks 839 ;; 840 w65*) 841 basic_machine=w65-wdc 842 os=-none 843 ;; 844 w89k-*) 845 basic_machine=hppa1.1-winbond 846 os=-proelf 847 ;; 848 xmp) 849 basic_machine=xmp-cray 850 os=-unicos 851 ;; 852 xps | xps100) 853 basic_machine=xps100-honeywell 854 ;; 855 z8k-*-coff) 856 basic_machine=z8k-unknown 857 os=-sim 858 ;; 859 none) 860 basic_machine=none-none 861 os=-none 862 ;; 863 864# Here we handle the default manufacturer of certain CPU types. It is in 865# some cases the only manufacturer, in others, it is the most popular. 866 w89k) 867 basic_machine=hppa1.1-winbond 868 ;; 869 op50n) 870 basic_machine=hppa1.1-oki 871 ;; 872 op60c) 873 basic_machine=hppa1.1-oki 874 ;; 875 mips) 876 if [ x$os = x-linux-gnu ]; then 877 basic_machine=mips-unknown 878 else 879 basic_machine=mips-mips 880 fi 881 ;; 882 romp) 883 basic_machine=romp-ibm 884 ;; 885 rs6000) 886 basic_machine=rs6000-ibm 887 ;; 888 vax) 889 basic_machine=vax-dec 890 ;; 891 pdp11) 892 basic_machine=pdp11-dec 893 ;; 894 we32k) 895 basic_machine=we32k-att 896 ;; 897 sh3 | sh4) 898 base_machine=sh-unknown 899 ;; 900 sparc | sparcv9) 901 basic_machine=sparc-sun 902 ;; 903 cydra) 904 basic_machine=cydra-cydrome 905 ;; 906 orion) 907 basic_machine=orion-highlevel 908 ;; 909 orion105) 910 basic_machine=clipper-highlevel 911 ;; 912 mac | mpw | mac-mpw) 913 basic_machine=m68k-apple 914 ;; 915 pmac | pmac-mpw) 916 basic_machine=powerpc-apple 917 ;; 918 c4x*) 919 basic_machine=c4x-none 920 os=-coff 921 ;; 922 *) 923 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 924 exit 1 925 ;; 926esac 927 928# Here we canonicalize certain aliases for manufacturers. 929case $basic_machine in 930 *-digital*) 931 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 932 ;; 933 *-commodore*) 934 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 935 ;; 936 *) 937 ;; 938esac 939 940# Decode manufacturer-specific aliases for certain operating systems. 941 942if [ x"$os" != x"" ] 943then 944case $os in 945 # First match some system type aliases 946 # that might get confused with valid system types. 947 # -solaris* is a basic system type, with this one exception. 948 -solaris1 | -solaris1.*) 949 os=`echo $os | sed -e 's|solaris1|sunos4|'` 950 ;; 951 -solaris) 952 os=-solaris2 953 ;; 954 -svr4*) 955 os=-sysv4 956 ;; 957 -unixware*) 958 os=-sysv4.2uw 959 ;; 960 -gnu/linux*) 961 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 962 ;; 963 # First accept the basic system types. 964 # The portable systems comes first. 965 # Each alternative MUST END IN A *, to match a version number. 966 # -sysv* is not here because it comes later, after sysvr4. 967 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 968 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 969 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 970 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 971 | -aos* \ 972 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 973 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 974 | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ 975 | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 976 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 977 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 978 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 979 | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ 980 | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ 981 | -openstep* | -oskit*) 982 # Remember, each alternative MUST END IN *, to match a version number. 983 ;; 984 -qnx*) 985 case $basic_machine in 986 x86-* | i[34567]86-*) 987 ;; 988 *) 989 os=-nto$os 990 ;; 991 esac 992 ;; 993 -nto*) 994 os=-nto-qnx 995 ;; 996 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 997 | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ 998 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 999 ;; 1000 -mac*) 1001 os=`echo $os | sed -e 's|mac|macos|'` 1002 ;; 1003 -linux*) 1004 os=`echo $os | sed -e 's|linux|linux-gnu|'` 1005 ;; 1006 -sunos5*) 1007 os=`echo $os | sed -e 's|sunos5|solaris2|'` 1008 ;; 1009 -sunos6*) 1010 os=`echo $os | sed -e 's|sunos6|solaris3|'` 1011 ;; 1012 -opened*) 1013 os=-openedition 1014 ;; 1015 -wince*) 1016 os=-wince 1017 ;; 1018 -osfrose*) 1019 os=-osfrose 1020 ;; 1021 -osf*) 1022 os=-osf 1023 ;; 1024 -utek*) 1025 os=-bsd 1026 ;; 1027 -dynix*) 1028 os=-bsd 1029 ;; 1030 -acis*) 1031 os=-aos 1032 ;; 1033 -386bsd) 1034 os=-bsd 1035 ;; 1036 -ctix* | -uts*) 1037 os=-sysv 1038 ;; 1039 -ns2 ) 1040 os=-nextstep2 1041 ;; 1042 -nsk) 1043 os=-nsk 1044 ;; 1045 # Preserve the version number of sinix5. 1046 -sinix5.*) 1047 os=`echo $os | sed -e 's|sinix|sysv|'` 1048 ;; 1049 -sinix*) 1050 os=-sysv4 1051 ;; 1052 -triton*) 1053 os=-sysv3 1054 ;; 1055 -oss*) 1056 os=-sysv3 1057 ;; 1058 -svr4) 1059 os=-sysv4 1060 ;; 1061 -svr3) 1062 os=-sysv3 1063 ;; 1064 -sysvr4) 1065 os=-sysv4 1066 ;; 1067 # This must come after -sysvr4. 1068 -sysv*) 1069 ;; 1070 -ose*) 1071 os=-ose 1072 ;; 1073 -es1800*) 1074 os=-ose 1075 ;; 1076 -xenix) 1077 os=-xenix 1078 ;; 1079 -*mint | -*MiNT) 1080 os=-mint 1081 ;; 1082 -none) 1083 ;; 1084 *) 1085 # Get rid of the `-' at the beginning of $os. 1086 os=`echo $os | sed 's/[^-]*-//'` 1087 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1088 exit 1 1089 ;; 1090esac 1091else 1092 1093# Here we handle the default operating systems that come with various machines. 1094# The value should be what the vendor currently ships out the door with their 1095# machine or put another way, the most popular os provided with the machine. 1096 1097# Note that if you're going to try to match "-MANUFACTURER" here (say, 1098# "-sun"), then you have to tell the case statement up towards the top 1099# that MANUFACTURER isn't an operating system. Otherwise, code above 1100# will signal an error saying that MANUFACTURER isn't an operating 1101# system, and we'll never get to this point. 1102 1103case $basic_machine in 1104 *-acorn) 1105 os=-riscix1.2 1106 ;; 1107 arm*-rebel) 1108 os=-linux 1109 ;; 1110 arm*-semi) 1111 os=-aout 1112 ;; 1113 pdp11-*) 1114 os=-none 1115 ;; 1116 *-dec | vax-*) 1117 os=-ultrix4.2 1118 ;; 1119 m68*-apollo) 1120 os=-domain 1121 ;; 1122 i386-sun) 1123 os=-sunos4.0.2 1124 ;; 1125 m68000-sun) 1126 os=-sunos3 1127 # This also exists in the configure program, but was not the 1128 # default. 1129 # os=-sunos4 1130 ;; 1131 m68*-cisco) 1132 os=-aout 1133 ;; 1134 mips*-cisco) 1135 os=-elf 1136 ;; 1137 mips*-*) 1138 os=-elf 1139 ;; 1140 *-tti) # must be before sparc entry or we get the wrong os. 1141 os=-sysv3 1142 ;; 1143 sparc-* | *-sun) 1144 os=-sunos4.1.1 1145 ;; 1146 *-be) 1147 os=-beos 1148 ;; 1149 *-ibm) 1150 os=-aix 1151 ;; 1152 *-wec) 1153 os=-proelf 1154 ;; 1155 *-winbond) 1156 os=-proelf 1157 ;; 1158 *-oki) 1159 os=-proelf 1160 ;; 1161 *-hp) 1162 os=-hpux 1163 ;; 1164 *-hitachi) 1165 os=-hiux 1166 ;; 1167 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1168 os=-sysv 1169 ;; 1170 *-cbm) 1171 os=-amigaos 1172 ;; 1173 *-dg) 1174 os=-dgux 1175 ;; 1176 *-dolphin) 1177 os=-sysv3 1178 ;; 1179 m68k-ccur) 1180 os=-rtu 1181 ;; 1182 m88k-omron*) 1183 os=-luna 1184 ;; 1185 *-next ) 1186 os=-nextstep 1187 ;; 1188 *-sequent) 1189 os=-ptx 1190 ;; 1191 *-crds) 1192 os=-unos 1193 ;; 1194 *-ns) 1195 os=-genix 1196 ;; 1197 i370-*) 1198 os=-mvs 1199 ;; 1200 *-next) 1201 os=-nextstep3 1202 ;; 1203 *-gould) 1204 os=-sysv 1205 ;; 1206 *-highlevel) 1207 os=-bsd 1208 ;; 1209 *-encore) 1210 os=-bsd 1211 ;; 1212 *-sgi) 1213 os=-irix 1214 ;; 1215 *-siemens) 1216 os=-sysv4 1217 ;; 1218 *-masscomp) 1219 os=-rtu 1220 ;; 1221 f301-fujitsu) 1222 os=-uxpv 1223 ;; 1224 *-rom68k) 1225 os=-coff 1226 ;; 1227 *-*bug) 1228 os=-coff 1229 ;; 1230 *-apple) 1231 os=-macos 1232 ;; 1233 *-atari*) 1234 os=-mint 1235 ;; 1236 *) 1237 os=-none 1238 ;; 1239esac 1240fi 1241 1242# Here we handle the case where we know the os, and the CPU type, but not the 1243# manufacturer. We pick the logical manufacturer. 1244vendor=unknown 1245case $basic_machine in 1246 *-unknown) 1247 case $os in 1248 -riscix*) 1249 vendor=acorn 1250 ;; 1251 -sunos*) 1252 vendor=sun 1253 ;; 1254 -aix*) 1255 vendor=ibm 1256 ;; 1257 -beos*) 1258 vendor=be 1259 ;; 1260 -hpux*) 1261 vendor=hp 1262 ;; 1263 -mpeix*) 1264 vendor=hp 1265 ;; 1266 -hiux*) 1267 vendor=hitachi 1268 ;; 1269 -unos*) 1270 vendor=crds 1271 ;; 1272 -dgux*) 1273 vendor=dg 1274 ;; 1275 -luna*) 1276 vendor=omron 1277 ;; 1278 -genix*) 1279 vendor=ns 1280 ;; 1281 -mvs* | -opened*) 1282 vendor=ibm 1283 ;; 1284 -ptx*) 1285 vendor=sequent 1286 ;; 1287 -vxsim* | -vxworks*) 1288 vendor=wrs 1289 ;; 1290 -aux*) 1291 vendor=apple 1292 ;; 1293 -hms*) 1294 vendor=hitachi 1295 ;; 1296 -mpw* | -macos*) 1297 vendor=apple 1298 ;; 1299 -*mint | -*MiNT) 1300 vendor=atari 1301 ;; 1302 esac 1303 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1304 ;; 1305esac 1306 1307echo $basic_machine$os 1308exit 0 1309 1310# Local variables: 1311# eval: (add-hook 'write-file-hooks 'time-stamp) 1312# time-stamp-start: "version='" 1313# time-stamp-format: "%:y-%02m-%02d" 1314# time-stamp-end: "'" 1315# End: 1316