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