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